Thanks Steven for helping out. I will look into SoC plugin initialization from bonding perspective.
-----Original Message----- From: Steven Luong (sluong) <[email protected]> Sent: 23 May 2021 01:38 To: [email protected]; [email protected] Subject: Re: [vpp-dev] vnet bonding crashes - need some suggestions to narrow down I set up the same bonding with dot1q and subinterface configuration as given, but using tap interface to connect to Linux instead. It works just fine. I believe the crash was due to using a custom plugin which is cloned from VPP DPDK plugin to handle the Octeon-tx2 SoC. When bonding gets the buffer from the custom plugin, many of the necessary fields were not set/initialized which resulted a crash in calling vnet_feature_next. I believe the bug is in the custom plugin, not bonding. Steven On 5/17/21, 2:20 AM, "[email protected] on behalf of Vikas Aggarwal via lists.fd.io" <[email protected] on behalf of [email protected]> wrote: Hello vpp list/experts, Need some suggestion to understand following vnet bonding crash when I try to ping outside from linux. Configuration: Linux <==> loopback-ports <==> vpp bridge <==> To outside Note: No crash happens if I eliminate vnet bonding from steps below. VPP CLI steps: ============ Summary: Add outbound physical ports eth6 & eth7 into bonding. Create sub-interfaces with tag 2003, 2001. Create access mode on local-linux facing interfaces. Add all into L2 bridge. vpp# create bond mode active-backup vpp# bond add BondEthernet0 eth6 vpp# bond add BondEthernet0 eth7 vpp# set int state eth6 up vpp# set int state eth7 up vpp# set int state BondEthernet0 up vpp# create sub-interfaces BondEthernet0 2001 vpp# set int state BondEthernet0.2001 up vpp# create sub-interfaces BondEthernet0 2003 vpp# set int state BondEthernet0.2003 up vpp# set int l2 bridge BondEthernet0.2001 100 vpp# set int state lbk0 up #A loopback port between linux and VPP vpp# set int l2 bridge lbk0 100 vpp# set int l2 bridge BondEthernet0.2003 100 vpp# set int state lbk2 up #Another loopback port between linux and VPP vpp# set int l2 bridge lbk2 100 vpp# set interface l2 tag-rewrite lbk0 push dot1q 2003 vpp# set interface l2 tag-rewrite lbk2 push dot1q 2001 VPP crash dump once tried to ping out from linux. ======================================== (gdb) #0 0x0000ffffa04b2184 in raise () from /lib64/libc.so.6 #1 0x0000ffffa04b3228 in abort () from /lib64/libc.so.6 #2 0x0000000000407f40 in os_panic () at arm64-soc-sdk-home/src/output/build/vpp/src/vpp/vnet/main.c:355 #3 0x0000ffffa0903950 in debugger () at arm64-soc-sdk-home/src/output/build/vpp/src/vppinfra/error.c:84 #4 0x0000ffffa0903cf8 in _clib_error (how_to_die=2, function_name=0x0, line_number=0, fmt=0xffffa12e6c20 "%s:%d (%s) assertion `%s' fails") at arm64-soc-sdk-home/src/output/build/vpp/src/vppinfra/error.c:143 #5 0x0000ffffa0c06c08 in vnet_get_config_data (cm=0xffff6278a670, config_index=0xfffb415af614, next_index=0xffff638aee14, n_data_bytes=0) at arm64-soc-sdk-home/src/output/build/vpp/src/vnet/config.h:129 #6 0x0000ffffa0c07128 in vnet_feature_next_with_data (next0=0xffff638aee14, b0=0xfffb415af600, n_data_bytes=0) at arm64-soc-sdk-home/src/output/build/vpp/src/vnet/feature/feature.h:296 #7 0x0000ffffa0c07150 in vnet_feature_next (next0=0xffff638aee14, b0=0xfffb415af600) at arm64-soc-sdk-home/src/output/build/vpp/src/vnet/feature/feature.h:304 #8 0x0000ffffa0c07c1c in bond_update_next (vm=0xffff628ed580, node=0xffff62e46280, last_slave_sw_if_index=0xffff638aee0c, slave_sw_if_index=3, bond_sw_if_index=0xffff638aee10, b=0xfffb415af600, next_index=0xffff638aee14, error=0xffff638aee08) at arm64-soc-sdk-home/src/output/build/vpp/src/vnet/bonding/node.c:180 #9 0x0000ffffa0c08570 in bond_input_node_fn_arm64soc (vm=0xffff628ed580, node=0xffff62e46280, frame=0xffff62f07300) at arm64-soc-sdk-home/src/output/build/vpp/src/vnet/bonding/node.c:342 #10 0x0000ffffa0a46834 in dispatch_node (vm=0xffff628ed580, node=0xffff62e46280, type=VLIB_NODE_TYPE_INTERNAL, dispatch_state=VLIB_NODE_STATE_POLLING, frame=0xffff62f07300, last_time_stamp=104222198360858) at arm64-soc-sdk-home/src/output/build/vpp/src/vlib/main.c:1205 #11 0x0000ffffa0a46fc4 in dispatch_pending_node (vm=0xffff628ed580, pending_frame_index=0, last_time_stamp=104222198360858) at arm64-soc-sdk-home/src/output/build/vpp/src/vlib/main.c:1373 #12 0x0000ffffa0a489dc in vlib_main_or_worker_loop (vm=0xffff628ed580, is_main=0) at arm64-soc-sdk-home/src/output/build/vpp/src/vlib/main.c:1835 #13 0x0000ffffa0a491b8 in vlib_worker_loop (vm=0xffff628ed580) at arm64-soc-sdk-home/src/output/build/vpp/src/vlib/main.c:1942 #14 0x0000ffffa0a6c2cc in vlib_worker_thread_fn (arg=0xffff6062bc00) at arm64-soc-sdk-home/src/output/build/vpp/src/vlib/threads.c:1751 #15 0x0000ffffa0914458 in clib_calljmp () from /lib64/libvppinfra.so.19.08.1 Backtrace stopped: not enough registers or memory available to unwind further (gdb) Thank You & appreciate your help - Vikas Aggarwal
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#19441): https://lists.fd.io/g/vpp-dev/message/19441 Mute This Topic: https://lists.fd.io/mt/82882476/21656 Group Owner: [email protected] Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
