[P4] két control plane kérdés (főleg) Sanyihoz

Kitlei Róbert kitlei at elte.hu
Wed Nov 4 11:50:45 CET 2015


Szia, Sanyi!

Az a legvalószínűbb, hogy te tudsz hozzászólni az alábbiakhoz.

1. Az users/laki/p4API/test_controller programot, majd a 
trunk/tests/dpdk_actions+tables/test.sh-t elindítva HDani (DPDK 2.0, és 
nincsen teljes DPDK rendszer konfigurálva nála) a következő kimenetet 
kapja (csak a releváns részletet mellékelve, a felesleges üres sorok 
nélkül):

### Control plane initialized.
### Waiting for fake digests to be applied...
   :::: ADD_TABLE_ENTRY
     :: rval=0
LPM: Added 0x41d0e4df / 32 (0)
   :::: Handle msg: 0
   :::: ADD_TABLE_ENTRY
     :: rval=0
LPM: Added 0x41d0e4df / 24 (1)
   :::: Handle msg: 0
### Control plane filled the tables.


Nálam viszont (DPDK 2.1, a doc.md szerint konfigurálva) csak ennyi jön ki:


### Control plane initialized.
### Waiting for fake digests to be applied...
### Control plane filled the tables.


... újra lefuttattam a leírtakat, és most kiírta az "LPM: Added" 
részeket, de a kettőspontosakat (azok jeleznék a control plane 
válaszának megkapását) nem).

Nálad melyik a helyzet a kettő közül? Van-e ötleted arra, hogy nálam 
miért nem válaszol a control plane? (Illetve, mivel nincsen :::: Handle 
sor, el sem jut hozzá.)



2. Megtaláltam, hogy a /trunk/test_dpdk1.sh hol száll el: a 
trunk/src/hardware_dep/dpdk/ctrl_plane/ctrl_plane_backend.c 284-es 
sorában (a touch_mem_cell ilyen sorában: bgt->unused_head = 
result->next;). Pl. ha a nemiver debugger telepítve van, a

sudo nemiver ./build/example_dpdk1 ${P4DPDK_OPTS}

parancs, majd egy "Continue" gyorsan megmutatja, ha a common.mk fájlban 
szerepel egy  CFLAGS += -g  is.

Ez van akkor is, ha

export P4DPDK_OPTS="-c 0x3 -n 2 -- -P -p 0x3 --config \"(0,0,0),(1,0,0)\""

és akkor is, ha

export P4DPDK_OPTS="-c 0x1 -n 1 -- -P -p 0x1 --config \"(0,0,0)\""

konfigurációval indítom el, és akkor is, ha a 
trunk/src/hardware_dep/dpdk/main_ctrl_plane.c fájlban az 
init_control_plane nem 3, csak 1 szállal indítja a create_backend-et.

Tudsz-e ezzel kapcsolatban valami okosat mondani?

Más, ugyanide: a touch_mem_cell kódján belül a teljes lockolt résznek az 
if törzsének kellene lennie (a kód behúzása erre utal), vagy csak az 
első utasításnak (amit a kód jelenleg jelent)?


Robi



More information about the P4 mailing list