[P4] l2 példa dpdk
Dániel Horpácsi
daniel-h at elte.hu
Mon Nov 16 15:17:31 CET 2015
Kedves Mindenki!
Hetek óta nem akart összeállni a fordító; rászántam a hétvégémet és
összerántottam a kódot. Ez persze azzal járt, hogy sok mindent újra
kellett írnom a milliónyi inkonzisztencia miatt, amit a hetek alatt
felhalmoztunk, és amit Robi legnagyobb igyekezete ellenére sem tudott
maradéktalanul feloldani. Kérlek nézzetek majd rá a megbeszélésig, hogy
mik változtak, hogy tudjunk beszélni a következő lépésekről.
A munkámnak lett eredménye: a tegnap este feltöltött verzió egy (kicsit
módosított) L2 kódot fordít core kódra, ami most már tökéletesen
kompatibilis a dpdk backenddel és futtatható. Kipróbálni egyelőre a
szimulációs móddal lehet, a következő szcenárió zajlik le:
- inicializálás, üres táblákkal elindul a switch,
- érkezik négy kamucsomag négy különböző kamuporton (1, 2, 3, 4),
amelyek hatására a P4 kód szerint a dataplane megkéri a controlplane-t,
hogy tanítsa meg neki, hogy ezek a portok tartoznak a kamucsomagok
_forrás_ mac címeihez (smac és dmac táblák is bővülnek),
- majd érkezik még négy kamucsomag, amelyeknek a _cél_ mac címei az
előbb tanultak, így a P4 kódnak megfelelően a dataplane beállítja az
egress portokat az előbbiekben tanult portokra;
- végül a kimeneten látszik, hogy tényleg az 1-estől 4-esig terjedő
portokra küldi (küldené) ki a dataplane a második körben érkezett
csomagokat.
Robinak köszönhetően most már nem kell a controller külön fordításával
és futtatásával sem bajlódni, mert a test_dpdk1 script minden fordítást
elintéz helyettünk és futtatja a controlplane és dataplane programot is.
Üdv,
Dani
More information about the P4
mailing list