Skip to content

Waffle20/Router

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Router Dataplane Implementation

Am implementat dataplaneul unui router.Cand vine un pachet pe o interfata,verificam daca pachetul este prea mic,apoi comparam cu adr de broadcast si cu macul interfetei si daca nu e niciuna dam drop la pachet. Vedem tipul pachetului si mergem intr una dintre cele 2 functii:pt arp si pt ipv4.Daca pachetul este ipv4 verificam tipul icmp si de asemenea ttl si checksumul.Fiecare tip de icmp are o functie dedicata.in continuare daca avem de dirijat un pachet cautam in tabela de rutare urmatorul hop,si daca exista ii cautam macul in vectorul de structuri adica practic lista de arp.Daca nu avem o intrare acolo pentru ipul cerut dam enqueue la pachet si trimitem un arp req. Daca avem intrarea luam macul si trimitem pachetul. Acum daca vine un arp request trimitem inapoi acelasi pachet doar ca modificat cu macul nostru.Am mers pe rescrierea pachetelor decat pe creearea de la 0 ,desi la icmp setez toate campurile manual.

About

Impelementarea dataplaneului unui router, adica partea care implementeaza procesul de dirijare propriu-zis, pe baza intrarilor din tabela de routare.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors