[P4] L2_L3-fixed.p4

Dániel Horpácsi daniel-h at elte.hu
Tue Jul 19 11:36:20 CEST 2016


A tábla nem jött létre egyik esetben sem, csak az újabb DPDK teljesen el 
is fedte a hibát. A hiba eredete az volt, hogy túl nagy hash táblákat 
hoztunk létre, amiből nem fér el sok a jelenlegi memóriamedencékben. 
Átmeneti megoldásként lecsökkentettem a hash-tábla méretet is 1024-re az 
LPM-hez hasonlóan, így lehet tesztelni a kódot, de a későbbiekben azzal 
kellene kísérletezni, hogy nagyobb mempoolt, több mbufot hozunk létre a 
dpdk initben.

Üdv,
Dani

On 2016-07-18 16:31, Sándor Laki wrote:
> Hi,
>
> Sajnos az L2-L3 példánk nem igazán működik éles DPDK-val. Az 
> elhasalási pontok lent mind 2.2.0, mind 16.04 esetén. Ezek eltérők. 
> Igazából nem látom, hogy hol lehet a gond. Az első esetben már a 
> dmac_classifier tábla létrehozásakor elszáll. Svn-ben fent van az 
> aktuális változat...
>
> A futtatási argumentumok:
> P4_GCC_OPTS="-DP4DPDK_DEBUG -g" ./launch.sh examples/l2_l3-fixed.p4 -- 
> -c 0x3 -n 4 - --log-level 3 -- -p 0x3 --config "\"(0,0,0),(1,0,1)\""
>
> -------------------------
>
> DPDK 2.2.0:
>
> [DEBUG] Initializing stateful memories...
> [DEBUG] Initializing tables on socket 0...
> [DEBUG] Creating instances for table smac on socket 0 (2 copies)
> [DEBUG] Created table smac on socket 0.
> [DEBUG] Created table smac on socket 0.
> [DEBUG] Creating instances for table dmac on socket 0 (2 copies)
> [DEBUG] Created table dmac on socket 0.
> [DEBUG] Created table dmac on socket 0.
> [DEBUG] Creating instances for table ipv4_lpm on socket 0 (2 copies)
> [DEBUG] Created table ipv4_lpm on socket 0.
> [DEBUG] Created table ipv4_lpm on socket 0.
> [DEBUG] Creating instances for table ipv4_forward on socket 0 (2 copies)
> [DEBUG] Created table ipv4_forward on socket 0.
> [DEBUG] Created table ipv4_forward on socket 0.
> [DEBUG] Creating instances for table send_frame on socket 0 (2 copies)
> [DEBUG] Created table send_frame on socket 0.
> [DEBUG] Created table send_frame on socket 0.
> [DEBUG] Creating instances for table dmac_classifier on socket 0 (2 
> copies)
> [DEBUG] Created table dmac_classifier on socket 0.
> EAL: Error - exiting with code: 1
>   Cause: DPDK: Unable to create the hash on socket 0: missing entry
>
> gdb: bt esetén No stack.
>
> --------------------------
>
> DPDP 16.04:
>
>   :::: Handle msg: 0
>   :::: ADD_TABLE_ENTRY
>     :: rval=0
> [DEBUG] MSG from controller 104 dmac_classifier
> [DEBUG] Reply from the control plane arrived.
> [DEBUG] Addig new entry to dmac_classifier with action set_fwd_mode
>
> Program received signal SIGSEGV, Segmentation fault.
> [Switching to Thread 0x7fff753fe700 (LWP 9706)]
> 0x000000000046948c in rte_hash_add_key ()
> (gdb) bt
> #0  0x000000000046948c in rte_hash_add_key ()
> #1  0x0000000000435ea6 in exact_add (t=0xa39750,
>     key=key at entry=0x7fff753fdb40 "", value=value at entry=0x7fff753fdb20 
> "\b")
>     at 
> /home/laki/svn/repos/trunk/build/l2_l3-fixed//../../src/hardware_dep/dpdk/data_plane/dpdk_tables.c:213
> #2  0x0000000000433e8c in exact_add_promote (tableid=tableid at entry=5,
>     key=key at entry=0x7fff753fdb40 "", value=value at entry=0x7fff753fdb20 
> "\b")
>     at 
> /home/laki/svn/repos/trunk/build/l2_l3-fixed//../../src/hardware_dep/dpdk/data_plane/dpdk_lib.c:626
> #3  0x000000000043909d in dmac_classifier_add (action=...,
>     field_instance_ethernet_dstAddr=0xc46700 "")
>     at 
> /home/laki/svn/repos/trunk/build/l2_l3-fixed//src_hardware_indep/controlplane.c:105
> #4  dmac_classifier_add_table_entry (ctrl_m=0x7fff753fdba0)
>     at 
> /home/laki/svn/repos/trunk/build/l2_l3-fixed//src_hardware_indep/controlplane.c:249
> #5  recv_from_controller (ctrl_m=ctrl_m at entry=0x7fff753fdba0)
>     at 
> /home/laki/svn/repos/trunk/build/l2_l3-fixed//src_hardware_indep/controlplane.c:391
> #6  0x0000000000432a0d in handle_p4_msg (buffer=<optimized out>,
>     length=<optimized out>, cb=0x438d30 <recv_from_controller>)
>     at 
> /home/laki/svn/repos/trunk/build/l2_l3-fixed//../../src/hardware_dep/shared/ctrl_plane/handlers.c:32
> #7  0x0000000000431b38 in input_processor (bg=0xa397d0)
>     at 
> /home/laki/svn/repos/trunk/build/l2_l3-fixed//../../src/hardware_dep/shared/ctrl_plane/ctrl_plane_backend.c:103
> #8  0x000000000043365c in do_work (p=0xc51f90)
>     at 
> /home/laki/svn/repos/trunk/build/l2_l3-fixed//../../src/hardware_dep/shared/ctrl_plane/threadpool.c:80
> #9  0x00007ffff74b2184 in start_thread (arg=0x7fff753fe700)
>     at pthread_create.c:312
> #10 0x00007ffff71df37d in clone ()
>     at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
>
>
> Bármi ötlet?
>
> Üdv.
>
> Sanyi
>
>



More information about the P4 mailing list