[P4] két control plane kérdés (főleg) Sanyihoz
Sandor Laki
lakis at elte.hu
Fri Nov 6 10:57:51 CET 2015
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
>
>
--
Sándor Laki, PhD
Department of Information Systems
Eötvös Loránd University
Pázmány Péter stny. 1/C
H-1117, Budapest, Hungary
Room 2.506
Web: http://lakis.web.elte.hu
Phone: +36 1 372 2869 / 8477
Cell: +36 70 374 2646
More information about the P4
mailing list