[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