[dpdk-dev] run ip_fragmentation with cores in different socket will cause core dump
The following command will cause ip_fragmentation app fail: examples/ip_fragmentation/build/ip_fragmentation -c 0x40002 -n 4 -- -p 0x3 -q 2 while setting core mask to 0x2 or 0x4 will not cause this issue. error message is shown below: EAL: Not managed by a supported kernel driver, skipped IP_FRAG: Creating direct mempool on socket 0 IP_FRAG: Creating indirect mempool on socket 0 IP_FRAG: Creating LPM table on socket 0 IP_FRAG: Creating LPM6 table on socket 0 IP_FRAG: Creating direct mempool on socket 1 IP_FRAG: Creating indirect mempool on socket 1 IP_FRAG: Creating LPM table on socket 1 IP_FRAG: Creating LPM6 table on socket 1 IP_FRAG: Cannot create LPM table PANIC in main(): Cannot initialize memory structures! 5: [examples/ip_fragmentation/build/ip_fragmentation() [0x42df85]] 4: [/lib64/libc.so.6(__libc_start_main+0xf5) [0x3a8a421d65]] 3: [examples/ip_fragmentation/build/ip_fragmentation() [0x42d163]] 2: [examples/ip_fragmentation/build/ip_fragmentation(__rte_panic+0xc9) [0x426c0c]] 1: [examples/ip_fragmentation/build/ip_fragmentation(rte_dump_stack+0x1a) [0x4980aa]] Aborted (core dumped) And the bisect result: f82f705b635d31a63446a16bc4526dbebf293c5a is the first bad commit commit f82f705b635d31a63446a16bc4526dbebf293c5a Author: Olivier Matz Date: Wed Apr 6 15:27:58 2016 +0200 lpm: fix allocation of an existing object Change rte_lpm*_create() functions to return NULL and set rte_errno to EEXIST when the object name already exists. This is the behavior described in the API documentation in the header file. These functions were returning a pointer to the existing object in that case, but it is a problem as the caller did not know if the object had to be freed or not. Doing this change also makes the lpm API more consistent with the other APIs (mempool, rings, ...). Fixes: 916e4f4f4e ("memory: fix for multi process support") Signed-off-by: Olivier Matz Acked-by: Pablo de Lara :04 04 a7450772f279b8d459c96dd7a7b193d01bb4ecf6 0a41cee86a23d7968218183c93a4b60a6bfff1c3 M app :04 04 88dd7b9fadc50cbf7824e28195d892635d45581d 72e3179c9835c6bea6909a29a56a1c7835540368 M doc :04 04 8478c771116ac841eeca65c6b08e263229a96d57 76e2294cca653e366456a73755efbbff687630d2 M lib Thanks Ding Heng
[dpdk-dev] testpmd could not start up with vmxnet3 port
Testpmd output is as below: ./x86_64-native-linuxapp-gcc/app/testpmd -c f -n 4 -- -i EAL: Detected lcore 0 as core 0 on socket 0 EAL: Detected lcore 1 as core 1 on socket 0 EAL: Detected lcore 2 as core 0 on socket 0 EAL: Detected lcore 3 as core 1 on socket 0 EAL: Support maximum 128 logical core(s) by configuration. EAL: Detected 4 lcore(s) EAL: Probing VFIO support... EAL: Module /sys/module/vfio_pci not found! error 2 (No such file or directory) EAL: VFIO modules not loaded, skipping VFIO support... EAL: Setting up physically contiguous memory... EAL: Ask a virtual area of 0x80 bytes EAL: Virtual area found at 0x7ff3c560 (size = 0x80) EAL: Ask a virtual area of 0x60 bytes EAL: Virtual area found at 0x7ff3c4e0 (size = 0x60) EAL: Ask a virtual area of 0x5680 bytes EAL: Virtual area found at 0x7ff36e40 (size = 0x5680) EAL: Ask a virtual area of 0x2800 bytes EAL: Virtual area found at 0x7ff34620 (size = 0x2800) EAL: Ask a virtual area of 0x20 bytes EAL: Virtual area found at 0x7ff345e0 (size = 0x20) EAL: Ask a virtual area of 0x60 bytes EAL: Virtual area found at 0x7ff34560 (size = 0x60) EAL: Ask a virtual area of 0x20 bytes EAL: Virtual area found at 0x7ff34520 (size = 0x20) EAL: Requesting 1024 pages of size 2MB from socket 0 EAL: TSC frequency is ~2793268 KHz EAL: Master lcore 0 is ready (tid=c62c9940;cpuset=[0]) EAL: lcore 3 is ready (tid=435f0700;cpuset=[3]) EAL: lcore 1 is ready (tid=445f2700;cpuset=[1]) EAL: lcore 2 is ready (tid=43df1700;cpuset=[2]) EAL: PCI device :03:00.0 on NUMA socket -1 EAL: probe driver: 15ad:7b0 rte_vmxnet3_pmd EAL: Not managed by a supported kernel driver, skipped EAL: PCI device :0b:00.0 on NUMA socket -1 EAL: probe driver: 15ad:7b0 rte_vmxnet3_pmd EAL: PCI memory mapped at 0x7ff3c5e0 EAL: PCI memory mapped at 0x7ff3c5e01000 EAL: PCI memory mapped at 0x7ff3c5e02000 EAL: PCI device :13:00.0 on NUMA socket -1 EAL: probe driver: 15ad:7b0 rte_vmxnet3_pmd EAL: PCI memory mapped at 0x7ff3c5e04000 EAL: PCI memory mapped at 0x7ff3c5e05000 EAL: PCI memory mapped at 0x7ff3c5e06000 Interactive-mode selected Configuring Port 0 (socket 0) Fail to configure port 0 tx queues EAL: Error - exiting with code: 1 Cause: Start ports failed From: Yong Wang [mailto:yongw...@vmware.com] Sent: Wednesday, March 23, 2016 1:58 PM To: Xu, Qian Q; Ding, HengX Cc: dev at dpdk.org; Stephen Hemminger Subject: Re: testpmd could not start up with vmxnet3 port From: "Xu, Qian Q" mailto:qian.q...@intel.com>> Date: Tuesday, March 22, 2016 at 8:31 PM To: "Ding, HengX" mailto:hengx.ding at intel.com>>, Yong mailto:yongwang at vmware.com>> Cc: "dev at dpdk.org<mailto:dev at dpdk.org>" mailto:dev at dpdk.org>> Subject: RE: testpmd could not start up with vmxnet3 port It?s a regression, vmxnet3 can work with dpdk2.2, but now it can?t work well. Yong, Heng found that your patch may be the first one to break the function, could you check it? Thx. Thanks Qian From: Ding, HengX Sent: Wednesday, March 23, 2016 11:28 AM To: yongwang at vmware.com<mailto:yongwang at vmware.com> Cc: Xu, Qian Q; dev at dpdk.org<mailto:dev at dpdk.org> Subject: testpmd could not start up with vmxnet3 port Testpmd will fail to start up with vmxnet3 port. You can reproduce this issue follow these steps: 1. Right click your VM and click edit settings 2. Click ?Add?? button. 3. Choose Ethernet Adapter and click next 4. Choose vmxnet3 as the Adapter Type, and select a network connection. Click next and finish config. 5. Add another vmxnet3 port to VM follow step 1-4. 6. Compile dpdk, bind vmxnet3 port to igb_uio and run testpmd: ./x86_64-native-linuxapp-gcc/app/testpmd -c f -n 4 -- -i Here is the bisect result: f598fd063bb17eba9310ff48164014d09f40c759 is the first bad commit commit f598fd063bb17eba9310ff48164014d09f40c759 Author: Yong Wang mailto:yongwang at vmware.com>> Date: Tue Jan 12 18:08:35 2016 -0800 vmxnet3: add Tx L4 checksum offload Support TCP/UDP checksum offload. Signed-off-by: Yong Wang mailto:yongwang at vmware.com>> Acked-by: Stephen Hemminger mailto:stephen at networkplumber.org>> :04 04 4524306879c4c0093ac54b0c66b8a8f895af8337 8e1473e7cc9052003abe6caae8e8b232810972d4 M doc :04 04 ad9cd888717dd976a43cfe05aaf33f3b83a2f7bc 9fbd6fefb95f67bb407bb9a7efcf39e707ab21a7 M drivers Resend due to formatting issues. Currently vmxnet3?s default_txconf.txq_flags is set to the following, which is used by testpmd as there is no explicit txconf passed when initializing tx queue: dev_info->default_txconf.txq_flags = ETH_TXQ_FLAGS_NOMULTSEGS | ETH_TXQ_FLAGS_NOOFFLOADS; With the referred patch that introduced l4 cksum offload, we should update the default txq flags
[dpdk-dev] vmxnet3 can't work now and found the patch which broke it.
Testpmd will fail to start up with vmxnet3 port. You can reproduce this issue follow these steps: 1. Right click your VM and click edit settings 2. Click "Add..." button. 3. Choose Ethernet Adapter and click next 4. Choose vmxnet3 as the Adapter Type, and select a network connection. Click next and finish config. 5. Add another vmxnet3 port to VM follow step 1-4. 6. Compile dpdk, bind vmxnet3 port to igb_uio and run testpmd: ./x86_64-native-linuxapp-gcc/app/testpmd -c f -n 4 -- -i Here is the bisect result: f598fd063bb17eba9310ff48164014d09f40c759 is the first bad commit commit f598fd063bb17eba9310ff48164014d09f40c759 Author: Yong Wang Date: Tue Jan 12 18:08:35 2016 -0800 vmxnet3: add Tx L4 checksum offload Support TCP/UDP checksum offload. Signed-off-by: Yong Wang Acked-by: Stephen Hemminger :04 04 4524306879c4c0093ac54b0c66b8a8f895af8337 8e1473e7cc9052003abe6caae8e8b232810972d4 M doc :04 04 ad9cd888717dd976a43cfe05aaf33f3b83a2f7bc 9fbd6fefb95f67bb407bb9a7efcf39e707ab21a7 M drivers
[dpdk-dev] testpmd could not start up with vmxnet3 port
Testpmd will fail to start up with vmxnet3 port. You can reproduce this issue follow these steps: 1. Right click your VM and click edit settings 2. Click "Add..." button. 3. Choose Ethernet Adapter and click next 4. Choose vmxnet3 as the Adapter Type, and select a network connection. Click next and finish config. 5. Add another vmxnet3 port to VM follow step 1-4. 6. Compile dpdk, bind vmxnet3 port to igb_uio and run testpmd: ./x86_64-native-linuxapp-gcc/app/testpmd -c f -n 4 -- -i Here is the bisect result: f598fd063bb17eba9310ff48164014d09f40c759 is the first bad commit commit f598fd063bb17eba9310ff48164014d09f40c759 Author: Yong Wang Date: Tue Jan 12 18:08:35 2016 -0800 vmxnet3: add Tx L4 checksum offload Support TCP/UDP checksum offload. Signed-off-by: Yong Wang Acked-by: Stephen Hemminger :04 04 4524306879c4c0093ac54b0c66b8a8f895af8337 8e1473e7cc9052003abe6caae8e8b232810972d4 M doc :04 04 ad9cd888717dd976a43cfe05aaf33f3b83a2f7bc 9fbd6fefb95f67bb407bb9a7efcf39e707ab21a7 M drivers
[dpdk-dev] [PATCH v3 00/18] fm10k: update shared code
Tested-by: Heng Ding -Original Message- From: dev [mailto:dev-boun...@dpdk.org] On Behalf Of Wang Xiao W Sent: Friday, February 19, 2016 7:07 PM To: Chen, Jing D Cc: dev at dpdk.org Subject: [dpdk-dev] [PATCH v3 00/18] fm10k: update shared code v3: * Fixed checkpatch.pl warning about long commit message. * Fixed the issue of compile failure about part of patches applied. * Split the misc-small-fixes patch into several patches. v2: * Put the two extra fix patches ahead of the base code patches. This patch set has passed regression test. Wang Xiao W (18): fm10k: use default mailbox message handler for PF fm10k/base: correct typecast in fm10k_update_xc_addr_pf fm10k/base: cleanup namespace pollution fm10k/base: use bitshift for itr_scale fm10k/base: reset max_queues on init_hw_vf failure fm10k/base: document ITR scale workaround in VF TDLEN register fm10k/base: cleanup lines over 80 characters fm10k/base: cleanup useless else fm10k/base: use BIT macro instead of open-coded bit-shifting of 1 fm10k/base: do not use CamelCase fm10k/base: use memcpy for mac addr copy fm10k/base: allow removal of is_slot_appropriate function fm10k/base: consistently use VLAN ID when referencing vid variables fm10k/base: imporve comment per upstream review changes fm10k/base: fix TLV structures alignment fm10k/base: move constants to the right of binary operators fm10k/base: minor cleanups fm10k/base: remove unused struct element drivers/net/fm10k/base/fm10k_api.c | 2 + drivers/net/fm10k/base/fm10k_api.h | 2 + drivers/net/fm10k/base/fm10k_mbx.c | 63 +++- drivers/net/fm10k/base/fm10k_mbx.h | 11 +-- drivers/net/fm10k/base/fm10k_osdep.h | 32 ++ drivers/net/fm10k/base/fm10k_pf.c| 88 + drivers/net/fm10k/base/fm10k_pf.h| 18 ++-- drivers/net/fm10k/base/fm10k_tlv.c | 40 drivers/net/fm10k/base/fm10k_tlv.h | 9 +- drivers/net/fm10k/base/fm10k_type.h | 182 +++ drivers/net/fm10k/base/fm10k_vf.c| 32 -- drivers/net/fm10k/fm10k_ethdev.c | 41 +++- 12 files changed, 222 insertions(+), 298 deletions(-) -- 1.9.3