[dpdk-dev] [PATCH v3 4/4] bonding: remove memcpy from burst functions
On Sun, Jun 12, 2016 at 06:11:29PM +0100, Bernard Iremonger wrote: > Now that the queue spinlocks have been added to the rx and > tx burst functions the memcpy of the slave data is no > longer necessary, so it has been removed. > > Signed-off-by: Bernard Iremonger > Acked-by: Konstantin Ananyev Hi, FYI, my testrobot caught some errors when this patch is applied. --yliu --- x86_64-native-linuxapp-clang: config-all-yes grep: /lib/modules/4.6.0/build/include/generated/utsrelease.h: No such file or directory grep: /lib/modules/4.6.0/build/include/generated/utsrelease.h: No such file or directory /root/dpdk/drivers/net/bonding/rte_eth_bond_pmd.c:753:41: error: use of undeclared identifier 'slaves' mode6_debug("TX IPv4:", ether_hdr, slaves[i], ); ^ 1 error generated. make[6]: *** [rte_eth_bond_pmd.o] Error 1 make[5]: *** [bonding] Error 2 make[5]: *** Waiting for unfinished jobs make[4]: *** [net] Error 2 make[3]: *** [drivers] Error 2 make[2]: *** [all] Error 2 make[1]: *** [pre_install] Error 2 make: *** [install] Error 2 error: build failed
[dpdk-dev] [PATCH v2] examples/exception_path: fix shift operation in lcore setup
On Tue, Aug 09, 2016 at 02:37:15PM +0200, Daniel Mrzyglod wrote: > The operaton may have an undefined behavior or yield to an unexpected result. > A bit shift operation has a shift amount which is too large or has a negative > value. > > As was mentioned in mailing list core list was limited to 64 so i changed > bitmask > to core array > > Coverity issue: 30688 > Fixes: ea977ff1cb0b ("examples/exception_path: fix shift operation in lcore > setup") > > Signed-off-by: Daniel Mrzyglod > --- ... > + if ((end == _char)) > + return -1; Hi, FYI, my testrobot caught some errors when this patch is applied. (BTW, gcc builds fine) --yliu --- x86_64-native-linuxapp-clang /root/dpdk/examples/exception_path/main.c:410:12: error: equality comparison with extraneous parentheses [-Werror,-Wparentheses-equality] if ((end == _char)) ^~~~ /root/dpdk/examples/exception_path/main.c:410:12: note: remove extraneous parentheses around the comparison to silence this warning if ((end == _char)) ~^ ~ /root/dpdk/examples/exception_path/main.c:410:12: note: use '=' to turn this equality comparison into an assignment if ((end == _char)) ^~ = 1 error generated. make[1]: *** [main.o] Error 1 make: *** [all] Error 2 error: build examples/exception_path failed error: build failed
[dpdk-dev] [RFC PATCH v2 5/5] app/test_pmd: add tests for new API's
On Fri, Aug 26, 2016 at 10:10:20AM +0100, Bernard Iremonger wrote: > add test for vf vlan anti spoof > add test for vf mac anti spoof > add test for vf ping > add test for vf vlan strip > add test for vf vlan insert > add test for tx loopback > add test for all queues drop enable bit > add test for vf split drop enable bit > add test for vf mac address > add new API's to the testpmd guide > > Signed-off-by: Bernard Iremonger Hi, FYI, my testrobot caught some errors when this patch is applied. (BTW, gcc builds fine) --yliu --- x86_64-native-linuxapp-clang /root/dpdk/app/test-pmd/cmdline.c:10629:8: error: expression which evaluates to zero treated as a null pointer constant of type 'const char *' [-Werror,-Wnon-literal-null-conversion] on, UINT8); ^ /root/dpdk/x86_64-native-linuxapp-clang/include/cmdline_parse_num.h:107:3: note: expanded from macro 'TOKEN_NUM_INITIALIZER' numtype,/* type */ \ ^~~ /root/dpdk/app/test-pmd/cmdline.c:10710:8: error: expression which evaluates to zero treated as a null pointer constant of type 'const char *' [-Werror,-Wnon-literal-null-conversion] on, UINT8); ^ /root/dpdk/x86_64-native-linuxapp-clang/include/cmdline_parse_num.h:107:3: note: expanded from macro 'TOKEN_NUM_INITIALIZER' numtype,/* type */ \ ^~~ /root/dpdk/app/test-pmd/cmdline.c:10856:8: error: expression which evaluates to zero treated as a null pointer constant of type 'const char *' [-Werror,-Wnon-literal-null-conversion] on, UINT8); ^ /root/dpdk/x86_64-native-linuxapp-clang/include/cmdline_parse_num.h:107:3: note: expanded from macro 'TOKEN_NUM_INITIALIZER' numtype,/* type */ \ ^~~ /root/dpdk/app/test-pmd/cmdline.c:10938:8: error: expression which evaluates to zero treated as a null pointer constant of type 'const char *' [-Werror,-Wnon-literal-null-conversion] on, UINT8); ^ /root/dpdk/x86_64-native-linuxapp-clang/include/cmdline_parse_num.h:107:3: note: expanded from macro 'TOKEN_NUM_INITIALIZER' numtype,/* type */ \ ^~~ /root/dpdk/app/test-pmd/cmdline.c:11010:8: error: expression which evaluates to zero treated as a null pointer constant of type 'const char *' [-Werror,-Wnon-literal-null-conversion] on, UINT8); ^ /root/dpdk/x86_64-native-linuxapp-clang/include/cmdline_parse_num.h:107:3: note: expanded from macro 'TOKEN_NUM_INITIALIZER' numtype,/* type */ \ ^~~ /root/dpdk/app/test-pmd/cmdline.c:11080:8: error: expression which evaluates to zero treated as a null pointer constant of type 'const char *' [-Werror,-Wnon-literal-null-conversion] on, UINT8); ^ /root/dpdk/x86_64-native-linuxapp-clang/include/cmdline_parse_num.h:107:3: note: expanded from macro 'TOKEN_NUM_INITIALIZER' numtype,/* type */ \ ^~~ /root/dpdk/app/test-pmd/cmdline.c:11156:8: error: expression which evaluates to zero treated as a null pointer constant of type 'const char *' [-Werror,-Wnon-literal-null-conversion] on, UINT8); ^ /root/dpdk/x86_64-native-linuxapp-clang/include/cmdline_parse_num.h:107:3: note: expanded from macro 'TOKEN_NUM_INITIALIZER' numtype,/* type */ \ ^~~ 7 errors generated. make[5]: *** [cmdline.o] Error 1 make[5]: *** Waiting for unfinished jobs make[4]: *** [test-pmd] Error 2 make[4]: *** Waiting for unfinished jobs make[3]: *** [app] Error 2 make[2]: *** [all] Error 2 make[1]: *** [pre_install] Error 2 make: *** [install] Error 2 error: build failed
[dpdk-dev] [PATCH] net/bnxt: make driver less verbose
On Thu, Aug 25, 2016 at 12:05:47PM +0100, Ferruh Yigit wrote: > This line printed for every application even if driver is not used at > all. Removing the line to reduce the noise. > > Signed-off-by: Ferruh Yigit > --- > drivers/net/bnxt/bnxt_ethdev.c | 1 - > 1 file changed, 1 deletion(-) > > diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c > index 3795fac..37d0322 100644 > --- a/drivers/net/bnxt/bnxt_ethdev.c > +++ b/drivers/net/bnxt/bnxt_ethdev.c > @@ -1056,7 +1056,6 @@ static struct eth_driver bnxt_rte_pmd = { > > static int bnxt_rte_pmd_init(const char *name, const char *params > __rte_unused) > { > - RTE_LOG(INFO, PMD, "bnxt_rte_pmd_init() called for %s\n", name); Hi, FYI, my testrobot caught some errors when this patch is applied. --yliu --- /root/dpdk/drivers/net/bnxt/bnxt_ethdev.c:1057:42: error: unused parameter 'name' [-Werror,-Wunused-parameter] static int bnxt_rte_pmd_init(const char *name, const char *params __rte_unused) ^ 1 error generated. make[6]: *** [bnxt_ethdev.o] Error 1 make[5]: *** [bnxt] Error 2 make[5]: *** Waiting for unfinished jobs make[4]: *** [net] Error 2 make[3]: *** [drivers] Error 2 make[2]: *** [all] Error 2 make[1]: *** [pre_install] Error 2 make: *** [install] Error 2 error: build failed
[dpdk-dev] [PATCH 1/2] librte_ether: ensure not overwrite device data in mp app
On Fri, Sep 02, 2016 at 10:58:29AM +0200, Marcin Kerlin wrote: > Added prevention not overwrite device data in array rte_eth_dev_data[]. > Secondary process appends in the first free place rather than at the > beginning. This behavior prevents overwriting devices of primary process > by secondary process. > > Signed-off-by: Marcin Kerlin > diff --git a/lib/librte_ether/rte_ether_version.map > b/lib/librte_ether/rte_ether_version.map > index 45ddf44..34e1109 100644 > --- a/lib/librte_ether/rte_ether_version.map > +++ b/lib/librte_ether/rte_ether_version.map > @@ -139,3 +139,10 @@ DPDK_16.07 { > rte_eth_dev_get_port_by_name; > rte_eth_xstats_get_names; > } DPDK_16.04; > + > +DPDK_16.11 { > + global: > + > + rte_eth_dev_data_allocated; > + rte_eth_dev_release_dev_data; > +} DPDK_16.07 Hi, FYI, my testrobot caught some errors when this patch is applied. --yliu --- i686-native-linuxapp-gcc: config-all-yes-shared === /usr/bin/ld:/yeti/vm/ubuntu-initrd-16.04-i386-build/dpdk/lib/librte_ether/rte_ether_version.map:149: syntax error in VERSION script collect2: error: ld returned 1 exit status make[5]: *** [libethdev.so.4.1] Error 1 make[4]: *** [librte_ether] Error 2 make[3]: *** [lib] Error 2 make[2]: *** [all] Error 2 make[1]: *** [pre_install] Error 2 make: *** [install] Error 2 error: build failed
[dpdk-dev] [RFC][PATCH V2 1/3] examples/vhost: Add vswitch (generic switch) framework
On Mon, Sep 05, 2016 at 04:24:29PM +0530, Pankaj Chauhan wrote: > Introduce support for a generic framework for handling of switching between > physical and vhost devices. The vswitch framework introduces the following > concept: > > 1. vswitch_dev: Vswitch device is a logical switch which can have physical and > virtio devices. The devices are operated/used using standard rte_eth API for > physical devices and lib_vhost API for vhost devices, PMD API is not used > for vhost devices. > > 2. vswitch_port: Any physical or virtio device that is added to vswitch. The > port can have its own tx/rx functions for doing data transfer, which are > exposed > to the framework using generic function pointers (vs_port->do_tx/do_rx). This > way > the generic code can do tx/rx without understanding the type of device > (Physical or > virtio). Similarly each port has its own functions to select tx/rx queues. > The framework > provides default tx/rx queue selection functions to the port when port is > added > (for both physical and vhost devices). But the framework allows the switch > implementation > to override the queue selection functions (vs_port->get_txq/rxq) if required. > > 3. vswitch_ops: The ops is set of function pointers which are used to do > operations > like learning, unlearning, add/delete port, lookup_and_forward. The user of > vswitch > framework (vhost/main.[c,h])uses these function pointers to perform above > mentioned > operations, thus it remains agnostic of the underlying implementation. > > Different switching logics can implement their vswitch_device and > vswitch_ops, and > register with the framework. This framework makes vhost-switch application > scalable > in terms of: > > 1. Different switching logics (one of them is vmdq, vhost/vmdq.[c,h] > 2. Number of ports. > 3. Policies of selecting ports for rx and tx. > > Signed-off-by: Pankaj Chauhan Hi, FYI, my testrobot caught some errors when this patch is applied. (And sorry for the late review; hopefully I can make it next week). --yliu --- examples/vhost/main.c: In function 'virtio_xmit': examples/vhost/main.c:815:41: error: 'struct vhost_dev' has no member named 'vs_port' struct vswitch_port *vs_port = dst_vdev->vs_port; ^ examples/vhost/main.c:822:15: error: dereferencing pointer to incomplete type 'struct vswitch_port' txq = vs_port->get_txq(vs_port, rte_lcore_id()); ^ examples/vhost/main.c: In function 'do_drain_mbuf_table': examples/vhost/main.c:952:12: error: implicit declaration of function 'vs_sched_tx_port' [-Werror=implicit-function-declaration] tx_port = vs_sched_tx_port(vswitch_dev_g, VSWITCH_PTYPE_PHYS, ^ examples/vhost/main.c:952:2: error: nested extern declaration of 'vs_sched_tx_port' [-Werror=nested-externs] tx_port = vs_sched_tx_port(vswitch_dev_g, VSWITCH_PTYPE_PHYS, ^ examples/vhost/main.c:952:29: error: 'vswitch_dev_g' undeclared (first use in this function) tx_port = vs_sched_tx_port(vswitch_dev_g, VSWITCH_PTYPE_PHYS, ^ examples/vhost/main.c:952:29: note: each undeclared identifier is reported only once for each function it appears in examples/vhost/main.c:952:44: error: 'VSWITCH_PTYPE_PHYS' undeclared (first use in this function) tx_port = vs_sched_tx_port(vswitch_dev_g, VSWITCH_PTYPE_PHYS, ^ examples/vhost/main.c:958:18: error: dereferencing pointer to incomplete type 'struct vswitch_port' count = tx_port->do_tx(tx_port, tx_q->txq_id, NULL, tx_q->m_table, ^ examples/vhost/main.c:955:6: error: label 'out' used but not defined goto out; ^ examples/vhost/main.c: In function 'drain_eth_rx': examples/vhost/main.c:1096:12: error: implicit declaration of function 'vs_sched_rx_port' [-Werror=implicit-function-declaration] rx_port = vs_sched_rx_port(vswitch_dev_g, VSWITCH_PTYPE_PHYS, ^ examples/vhost/main.c:1096:2: error: nested extern declaration of 'vs_sched_rx_port' [-Werror=nested-externs] rx_port = vs_sched_rx_port(vswitch_dev_g, VSWITCH_PTYPE_PHYS, ^ examples/vhost/main.c:1096:29: error: 'vswitch_dev_g' undeclared (first use in this function) rx_port = vs_sched_rx_port(vswitch_dev_g, VSWITCH_PTYPE_PHYS, ^ examples/vhost/main.c:1096:44: error: 'VSWITCH_PTYPE_PHYS' undeclared (first use in this function) rx_port = vs_sched_rx_port(vswitch_dev_g, VSWITCH_PTYPE_PHYS, ^ examples/vhost/main.c:1105:15: error: dereferencing pointer to incomplete type 'struct vswitch_port' rxq = rx_port->get_rxq(rx_port, vdev, core_id); ^ examples/vhost/main.c:1099:6: error: label 'out' used but not defined goto out; ^ examples/vhost/main.c: In function 'drain_virtio_tx': examples/vhost/main.c:1145:37: error: 'struct vhost_dev' has no member named 'vs_port' struct vswitch_port *vs_port =
[dpdk-dev] [PATCH] vhost: add back support for concurrent enqueue
On Mon, Aug 15, 2016 at 01:00:24PM -0700, Rich Lane wrote: > Concurrent enqueue is an important performance optimization when the number > of cores used for switching is different than the number of vhost queues. > I've observed a 20% performance improvement compared to a strategy that > binds queues to cores. > > The atomic cmpset is only executed when the application calls > rte_vhost_enqueue_burst_mp. Benchmarks show no performance impact > when not using concurrent enqueue. > > Mergeable RX buffers aren't supported by concurrent enqueue to minimize > code complexity. > > Partially reverts 39449e74 ("vhost: remove concurrent enqueue") and > includes a fix from "vhost: avoid reordering of used->idx and last_used_idx > updating". > > Signed-off-by: Rich Lane > --- > lib/librte_vhost/rte_vhost_version.map | 6 +++ > lib/librte_vhost/rte_virtio_net.h | 19 + > lib/librte_vhost/vhost-net.h | 2 + > lib/librte_vhost/vhost_rxtx.c | 77 > ++ > lib/librte_vhost/virtio-net.c | 2 + > 5 files changed, 97 insertions(+), 9 deletions(-) > > diff --git a/lib/librte_vhost/rte_vhost_version.map > b/lib/librte_vhost/rte_vhost_version.map > index 5ceaa8a..ca9d49e 100644 > --- a/lib/librte_vhost/rte_vhost_version.map > +++ b/lib/librte_vhost/rte_vhost_version.map > @@ -30,3 +30,9 @@ DPDK_16.07 { > rte_vhost_get_queue_num; > > } DPDK_2.1; > + > +DPDK_16.11 { > + global: > + > + rte_vhost_enqueue_burst_mp > +} DPDK_16.07; Hi, FYI, my testrobot caught some errors when this patch is applied. --yliu --- x86_64-native-linuxapp-clang: config-all-yes-shared === /usr/bin/ld:/root/dpdk/lib/librte_vhost/rte_vhost_version.map:38: syntax error in VERSION script clang: error: linker command failed with exit code 1 (use -v to see invocation) make[5]: *** [librte_vhost.so.3.1] Error 1 make[4]: *** [librte_vhost] Error 2 make[4]: *** Waiting for unfinished jobs make[3]: *** [lib] Error 2 make[2]: *** [all] Error 2 make[1]: *** [pre_install] Error 2 make: *** [install] Error 2 error: build failed
[dpdk-dev] [PATCH 1/5] eal: make enum rte_kernel_driver non-PCI specific
On Thu, Sep 01, 2016 at 10:11:51AM +0530, Shreyansh Jain wrote: > From: Jan Viktorin > > From: Jan Viktorin > > Signed-off-by: Jan Viktorin > Signed-off-by: Shreyansh Jain Hi, FYI, my testrobot caught some errors when this patch is applied. --yliu --- i686-native-linuxapp-gcc: config-all-yes In file included from lib/librte_eal/linuxapp/eal/eal_pci.c:38:0: i686-native-linuxapp-gcc/include/rte_pci.h:157:25: error: field 'kdrv' has incomplete type enum rte_kernel_driver kdrv;/**< Kernel driver passthrough */ ^ In file included from lib/librte_eal/linuxapp/eal/eal_vfio_mp_sync.c:52:0: i686-native-linuxapp-gcc/include/rte_pci.h:157:25: error: field 'kdrv' has incomplete type enum rte_kernel_driver kdrv;/**< Kernel driver passthrough */ ^ In file included from lib/librte_eal/common/eal_private.h:38:0, from lib/librte_eal/linuxapp/eal/eal_thread.c:55: i686-native-linuxapp-gcc/include/rte_pci.h:157:25: error: field 'kdrv' has incomplete type enum rte_kernel_driver kdrv;/**< Kernel driver passthrough */ ^ make[7]: *** [eal_thread.o] Error 1 make[7]: *** Waiting for unfinished jobs In file included from lib/librte_eal/linuxapp/eal/eal.c:72:0: i686-native-linuxapp-gcc/include/rte_pci.h:157:25: error: field 'kdrv' has incomplete type enum rte_kernel_driver kdrv;/**< Kernel driver passthrough */ ^ In file included from lib/librte_eal/common/eal_private.h:38:0, from lib/librte_eal/linuxapp/eal/eal_memory.c:97: i686-native-linuxapp-gcc/include/rte_pci.h:157:25: error: field 'kdrv' has incomplete type enum rte_kernel_driver kdrv;/**< Kernel driver passthrough */ ^ In file included from lib/librte_eal/common/eal_private.h:38:0, from lib/librte_eal/linuxapp/eal/eal_log.c:50: i686-native-linuxapp-gcc/include/rte_pci.h:157:25: error: field 'kdrv' has incomplete type enum rte_kernel_driver kdrv;/**< Kernel driver passthrough */ ^ make[7]: *** [eal_log.o] Error 1 make[7]: *** [eal_vfio_mp_sync.o] Error 1 In file included from lib/librte_eal/common/eal_private.h:38:0, from lib/librte_eal/linuxapp/eal/eal_vfio.c:45: i686-native-linuxapp-gcc/include/rte_pci.h:157:25: error: field 'kdrv' has incomplete type enum rte_kernel_driver kdrv;/**< Kernel driver passthrough */ ^ make[7]: *** [eal.o] Error 1 make[7]: *** [eal_memory.o] Error 1 make[7]: *** [eal_vfio.o] Error 1 lib/librte_eal/linuxapp/eal/eal_pci.c: In function 'rte_eal_pci_map_device': lib/librte_eal/linuxapp/eal/eal_pci.c:133:7: error: 'RTE_KDRV_VFIO' undeclared (first use in this function) case RTE_KDRV_VFIO: ^ lib/librte_eal/linuxapp/eal/eal_pci.c:133:7: note: each undeclared identifier is reported only once for each function it appears in lib/librte_eal/linuxapp/eal/eal_pci.c:139:7: error: 'RTE_KDRV_IGB_UIO' undeclared (first use in this function) case RTE_KDRV_IGB_UIO: ^ lib/librte_eal/linuxapp/eal/eal_pci.c:140:7: error: 'RTE_KDRV_UIO_GENERIC' undeclared (first use in this function) case RTE_KDRV_UIO_GENERIC: ^ lib/librte_eal/linuxapp/eal/eal_pci.c: In function 'rte_eal_pci_unmap_device': lib/librte_eal/linuxapp/eal/eal_pci.c:160:7: error: 'RTE_KDRV_VFIO' undeclared (first use in this function) case RTE_KDRV_VFIO: ^ lib/librte_eal/linuxapp/eal/eal_pci.c:163:7: error: 'RTE_KDRV_IGB_UIO' undeclared (first use in this function) case RTE_KDRV_IGB_UIO: ^ lib/librte_eal/linuxapp/eal/eal_pci.c:164:7: error: 'RTE_KDRV_UIO_GENERIC' undeclared (first use in this function) case RTE_KDRV_UIO_GENERIC: ^ lib/librte_eal/linuxapp/eal/eal_pci.c: In function 'pci_scan_one': lib/librte_eal/linuxapp/eal/eal_pci.c:381:16: error: 'RTE_KDRV_VFIO' undeclared (first use in this function) dev->kdrv = RTE_KDRV_VFIO; ^ lib/librte_eal/linuxapp/eal/eal_pci.c:383:16: error: 'RTE_KDRV_IGB_UIO' undeclared (first use in this function) dev->kdrv = RTE_KDRV_IGB_UIO; ^ lib/librte_eal/linuxapp/eal/eal_pci.c:385:16: error: 'RTE_KDRV_UIO_GENERIC' undeclared (first use in this function) dev->kdrv = RTE_KDRV_UIO_GENERIC; ^ lib/librte_eal/linuxapp/eal/eal_pci.c:387:16: error: 'RTE_KDRV_UNKNOWN' undeclared (first use in this function) dev->kdrv = RTE_KDRV_UNKNOWN; ^ lib/librte_eal/linuxapp/eal/eal_pci.c:389:15: error: 'RTE_KDRV_NONE' undeclared (first use in this function) dev->kdrv = RTE_KDRV_NONE; ^ lib/librte_eal/linuxapp/eal/eal_pci.c: In function 'rte_eal_pci_ioport_map': lib/librte_eal/linuxapp/eal/eal_pci.c:626:7: error: 'RTE_KDRV_VFIO' undeclared (first use in this function) case RTE_KDRV_VFIO: ^
[dpdk-dev] [PATCH 1/2] examples/tep_term: fix offload on VXLAN failure
On Thu, Aug 04, 2016 at 07:58:48AM +, Jianfeng Tan wrote: > Based on previous fix of offload on VXLAN using i40e, applications > need to set proper tunneling type on ol_flags so that i40e driver > can pass it to NIC. > > Fixes: a50245ede72a ("examples/tep_term: initialize VXLAN sample") > > Signed-off-by: Jianfeng Tan > --- > examples/tep_termination/vxlan.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/examples/tep_termination/vxlan.c > b/examples/tep_termination/vxlan.c > index 5ee1f95..4bad33d 100644 > --- a/examples/tep_termination/vxlan.c > +++ b/examples/tep_termination/vxlan.c > @@ -237,6 +237,8 @@ encapsulation(struct rte_mbuf *m, uint8_t queue_id) > m->outer_l2_len = sizeof(struct ether_hdr); > m->outer_l3_len = sizeof(struct ipv4_hdr); > > + ol_flags |= PKT_TX_TUNNEL_VXLAN; > + Hi, FYI, my testrobot caught some errors when this patch is applied. --yliu --- x86_64-native-linuxapp-clang: config-all-yes /root/dpdk/examples/tep_termination/vxlan.c:240:14: error: use of undeclared identifier 'PKT_TX_TUNNEL_VXLAN' ol_flags |= PKT_TX_TUNNEL_VXLAN; ^ 1 error generated. make[1]: *** [vxlan.o] Error 1 make: *** [all] Error 2 error: build examples/tep_termination failed error: build failed ...
[dpdk-dev] [PATCH v9 17/25] drivers: convert PMD_VDEV drivers to use rte_vdev_driver
On Wed, Sep 07, 2016 at 07:38:09PM +0530, Shreyansh Jain wrote: > All PMD_VDEV drivers can now use rte_vdev_driver instead of the > rte_driver (which is embedded in the rte_vdev_driver). > > Signed-off-by: Jan Viktorin > Signed-off-by: Shreyansh Jain Hi, FYI, my testrobot caught some errors when this patch is applied. --yliu i686-native-linuxapp-gcc: config-all-yes-shared === rte_eth_af_packet.o: In function `vdrvinitfn_pmd_af_packet_drv': rte_eth_af_packet.c:(.text.startup+0x23): undefined reference to `rte_eal_vdrv_register' collect2: error: ld returned 1 exit status make[6]: *** [librte_pmd_af_packet.so.1.1] Error 1 make[5]: *** [af_packet] Error 2 make[5]: *** Waiting for unfinished jobs rte_eth_bond_pmd.o: In function `vdrvinitfn_bond_drv': rte_eth_bond_pmd.c:(.text.startup+0x23): undefined reference to `rte_eal_vdrv_register' collect2: error: ld returned 1 exit status make[6]: *** [librte_pmd_bond.so.1.1] Error 1 make[5]: *** [bonding] Error 2 make[4]: *** [net] Error 2 make[3]: *** [drivers] Error 2 make[2]: *** [all] Error 2 make[1]: *** [pre_install] Error 2 make: *** [install] Error 2 error: build failed
[dpdk-dev] [PATCH] kni: unregister an unregisterd net_device could cause a kernel crash
Signed-off-by: zhouyangchao --- lib/librte_eal/linuxapp/kni/kni_misc.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/librte_eal/linuxapp/kni/kni_misc.c b/lib/librte_eal/linuxapp/kni/kni_misc.c index 67e9b7d..5c58a83 100644 --- a/lib/librte_eal/linuxapp/kni/kni_misc.c +++ b/lib/librte_eal/linuxapp/kni/kni_misc.c @@ -545,7 +545,9 @@ kni_ioctl_create(struct net *net, if (ret) { KNI_ERR("error %i registering device \"%s\"\n", ret, dev_info.name); + kni->net_dev = NULL; kni_dev_remove(kni); + free_netdev(net_dev); return -ENODEV; } -- 2.10.0