[dpdk-dev] [PATCH v3 4/4] bonding: remove memcpy from burst functions

2016-09-11 Thread Yuanhan Liu
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

2016-09-11 Thread Yuanhan Liu
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

2016-09-11 Thread Yuanhan Liu
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

2016-09-11 Thread Yuanhan Liu
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

2016-09-11 Thread Yuanhan Liu
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

2016-09-11 Thread Yuanhan Liu
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

2016-09-11 Thread Yuanhan Liu
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

2016-09-11 Thread Yuanhan Liu
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

2016-09-11 Thread Yuanhan Liu
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

2016-09-11 Thread Yuanhan Liu
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

2016-09-11 Thread zhouyangchao
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