[P4] két control plane kérdés (főleg) Sanyihoz
Tejfel Máté
matej at caesar.elte.hu
Fri Nov 6 13:54:03 CET 2015
Sziasztok!
Én hétfőn és kedden is ~1-4 között "ráérek", akkor megbeszélhetnénk
a teendőket. HDani, Robi, LDani ti elérhetőek vagytok akkor?
M.
2015-11-06 10:57 keltezéssel, Sandor Laki írta:
> Sziasztok,
>
> Szerintem közel van az a pont, hogy működjön az első demo. Szerda
> előtt tudunk beszélni valamikor (itt inkább kódolásra gondolok, hogy
> eljussunk addig, hogy menjen)?
>
> Üdv.
> Sanyi
>
> 2015.11.04. 21:02 keltezéssel, Sandor Laki írta:
>> Szia,
>>
>> Válaszok a szövegben:
>>
>> 2015.11.04. 11:50 keltezéssel, Kitlei Róbert írta:
>>>
>>> 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á.)
>>>
>>
>> Itt nem a dpdk verzió a gond. Mindkettővel megy. Azonban csak a
>> trunk-ban írtam át a controllert, azaz a
>> /repos/trunk/src/hardware_dep/dpdk/ctrl_plane alatti controller.c-t
>> kell fordítani és futtatni.
>>
>> gcc controller.c fifo.c dpdk_controller.c handlers.c messages.c
>> sock_helpers.c threadpool.c -o controller -lpthread
>>
>> Nem adtam még hozzá a make fájlhoz. Ezzel menni fog.
>>
>>>
>>>
>>> 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?
>> Itt annyit sikerült kiderítenem, hogy a create, launch és a
>> touch_mem_cell egyszer-egyszer fut le összesen. A create és a launch
>> esetén még ugyanaz a memória cím a mem_cell lista elején, majd a
>> touch_mem_cell hívásnál teljesen más cím van ott. A kód alapján nem
>> az a backend van használva a generate_digest hívásban, mint amelyik
>> létre lett hozva és el lett indítva korábban. Így nem is csoda a seg
>> fault. Backend-ből csak egy kellene, hogy legyen! Azt kellene mindütt
>> használni.
>>
>>> 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)?
>>>
>>>
>>
>> Igen, ez nem volt jó. Túl sokat pythonoztam mostanában... Javítottam.
>>
>> Üdv.
>> Sanyi
>>
>>> Robi
>>>
>>> _______________________________________________
>>> P4 mailing list
>>> P4 at plc.inf.elte.hu
>>> https://plc.inf.elte.hu/mailman/listinfo/p4
>>
>>
>
>
More information about the P4
mailing list