[dpdk-dev] [PATCH v4 12/12] examples/l3fwd: add option to parse ptype

2016-02-26 Thread Jianfeng Tan
packets with extensions or ip packets which are neither tcp nor udp cannot work well because it needs the 5 tuples to caculate hash. Signed-off-by: Jianfeng Tan --- doc/guides/sample_app_ug/l3_forward.rst | 6 +- examples/l3fwd/main.c | 128 2

[dpdk-dev] [PATCH v5 00/11] Add API to get packet type info

2016-02-26 Thread Jianfeng Tan
code style issues. Signed-off-by: Jianfeng Tan Jianfeng Tan (11): ethdev: add API to query packet type filling info pmd/cxgbe: add dev_ptype_info_get implementation pmd/e1000: add dev_ptype_info_get implementation pmd/enic: add dev_ptype_info_get implementation pmd/fm10k: add

[dpdk-dev] [PATCH v5 01/11] ethdev: add API to query packet type filling info

2016-02-26 Thread Jianfeng Tan
Add a new API rte_eth_dev_get_ptype_info to query whether/what packet type can be filled by given pmd rx burst function. Signed-off-by: Jianfeng Tan --- lib/librte_ether/rte_ethdev.c | 26 ++ lib/librte_ether/rte_ethdev.h | 26 ++ 2 files changed

[dpdk-dev] [PATCH v5 02/11] pmd/cxgbe: add dev_ptype_info_get implementation

2016-02-26 Thread Jianfeng Tan
Signed-off-by: Jianfeng Tan --- drivers/net/cxgbe/cxgbe_ethdev.c | 14 ++ 1 file changed, 14 insertions(+) diff --git a/drivers/net/cxgbe/cxgbe_ethdev.c b/drivers/net/cxgbe/cxgbe_ethdev.c index 97ef152..33bd815 100644 --- a/drivers/net/cxgbe/cxgbe_ethdev.c +++ b/drivers/net/cxgbe

[dpdk-dev] [PATCH v5 03/11] pmd/e1000: add dev_ptype_info_get implementation

2016-02-26 Thread Jianfeng Tan
Signed-off-by: Jianfeng Tan --- drivers/net/e1000/igb_ethdev.c | 30 ++ 1 file changed, 30 insertions(+) diff --git a/drivers/net/e1000/igb_ethdev.c b/drivers/net/e1000/igb_ethdev.c index 4ed5e95..b3a3ee6 100644 --- a/drivers/net/e1000/igb_ethdev.c +++ b/drivers/net

[dpdk-dev] [PATCH v5 04/11] pmd/enic: add dev_ptype_info_get implementation

2016-02-26 Thread Jianfeng Tan
Signed-off-by: Jianfeng Tan --- drivers/net/enic/enic_ethdev.c | 17 + 1 file changed, 17 insertions(+) diff --git a/drivers/net/enic/enic_ethdev.c b/drivers/net/enic/enic_ethdev.c index 2a88043..fbeab6f 100644 --- a/drivers/net/enic/enic_ethdev.c +++ b/drivers/net/enic

[dpdk-dev] [PATCH v5 05/11] pmd/fm10k: add dev_ptype_info_get implementation

2016-02-26 Thread Jianfeng Tan
Signed-off-by: Jianfeng Tan --- drivers/net/fm10k/fm10k_ethdev.c | 50 ++ drivers/net/fm10k/fm10k_rxtx.c | 3 +++ drivers/net/fm10k/fm10k_rxtx_vec.c | 3 +++ 3 files changed, 56 insertions(+) diff --git a/drivers/net/fm10k/fm10k_ethdev.c b/drivers/net

[dpdk-dev] [PATCH v5 06/11] pmd/i40e: add dev_ptype_info_get implementation

2016-02-26 Thread Jianfeng Tan
Signed-off-by: Jianfeng Tan --- drivers/net/i40e/i40e_ethdev.c| 1 + drivers/net/i40e/i40e_ethdev_vf.c | 1 + drivers/net/i40e/i40e_rxtx.c | 46 ++- drivers/net/i40e/i40e_rxtx.h | 1 + 4 files changed, 48 insertions(+), 1 deletion(-) diff

[dpdk-dev] [PATCH v5 07/11] pmd/ixgbe: add dev_ptype_info_get implementation

2016-02-26 Thread Jianfeng Tan
Signed-off-by: Jianfeng Tan --- drivers/net/ixgbe/ixgbe_ethdev.c | 38 ++ drivers/net/ixgbe/ixgbe_ethdev.h | 2 ++ drivers/net/ixgbe/ixgbe_rxtx.c | 4 +++- 3 files changed, 43 insertions(+), 1 deletion(-) diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b

[dpdk-dev] [PATCH v5 08/11] pmd/mlx4: add dev_ptype_info_get implementation

2016-02-26 Thread Jianfeng Tan
Signed-off-by: Jianfeng Tan --- drivers/net/mlx4/mlx4.c | 21 + 1 file changed, 21 insertions(+) diff --git a/drivers/net/mlx4/mlx4.c b/drivers/net/mlx4/mlx4.c index ee00151..58f4e1a 100644 --- a/drivers/net/mlx4/mlx4.c +++ b/drivers/net/mlx4/mlx4.c @@ -2835,6 +2835,8

[dpdk-dev] [PATCH v5 09/11] pmd/mlx5: add dev_ptype_info_get implementation

2016-02-26 Thread Jianfeng Tan
Signed-off-by: Jianfeng Tan --- drivers/net/mlx5/mlx5.c| 1 + drivers/net/mlx5/mlx5.h| 1 + drivers/net/mlx5/mlx5_ethdev.c | 20 drivers/net/mlx5/mlx5_rxtx.c | 2 ++ 4 files changed, 24 insertions(+) diff --git a/drivers/net/mlx5/mlx5.c b/drivers/net

[dpdk-dev] [PATCH v5 10/11] pmd/nfp: add dev_ptype_info_get implementation

2016-02-26 Thread Jianfeng Tan
Signed-off-by: Jianfeng Tan --- drivers/net/nfp/nfp_net.c | 19 +++ 1 file changed, 19 insertions(+) diff --git a/drivers/net/nfp/nfp_net.c b/drivers/net/nfp/nfp_net.c index fd4dd39..5894a9d 100644 --- a/drivers/net/nfp/nfp_net.c +++ b/drivers/net/nfp/nfp_net.c @@ -1073,6

[dpdk-dev] [PATCH v5 11/11] pmd/vmxnet3: add dev_ptype_info_get implementation

2016-02-26 Thread Jianfeng Tan
Signed-off-by: Jianfeng Tan --- drivers/net/vmxnet3/vmxnet3_ethdev.c | 16 1 file changed, 16 insertions(+) diff --git a/drivers/net/vmxnet3/vmxnet3_ethdev.c b/drivers/net/vmxnet3/vmxnet3_ethdev.c index c363bf6..ac120a1 100644 --- a/drivers/net/vmxnet3/vmxnet3_ethdev.c +++ b

[dpdk-dev] [PATCH v6 00/11] Add API to get packet type info

2016-03-01 Thread Jianfeng Tan
function from each PMDs into ether layer. - Add ixgbe vPMD's ptype info. - Fix code style issues. Signed-off-by: Jianfeng Tan Acked-by: Konstantin Ananyev Acked-by: Adrien Mazarguil Jianfeng Tan (11): ethdev: add API to query packet type filling info pmd/cxgbe: add dev_ptype_info_get

[dpdk-dev] [PATCH v6 01/11] ethdev: add API to query packet type filling info

2016-03-01 Thread Jianfeng Tan
Add a new API rte_eth_dev_get_ptype_info to query whether/what packet type can be filled by given pmd rx burst function. Signed-off-by: Jianfeng Tan --- lib/librte_ether/rte_ethdev.c | 26 ++ lib/librte_ether/rte_ethdev.h | 24

[dpdk-dev] [PATCH v6 02/11] pmd/cxgbe: add dev_ptype_info_get implementation

2016-03-01 Thread Jianfeng Tan
Signed-off-by: Jianfeng Tan --- drivers/net/cxgbe/cxgbe_ethdev.c | 14 ++ 1 file changed, 14 insertions(+) diff --git a/drivers/net/cxgbe/cxgbe_ethdev.c b/drivers/net/cxgbe/cxgbe_ethdev.c index 97ef152..33bd815 100644 --- a/drivers/net/cxgbe/cxgbe_ethdev.c +++ b/drivers/net/cxgbe

[dpdk-dev] [PATCH v6 03/11] pmd/e1000: add dev_ptype_info_get implementation

2016-03-01 Thread Jianfeng Tan
Signed-off-by: Jianfeng Tan --- drivers/net/e1000/igb_ethdev.c | 30 ++ 1 file changed, 30 insertions(+) diff --git a/drivers/net/e1000/igb_ethdev.c b/drivers/net/e1000/igb_ethdev.c index 4ed5e95..b3a3ee6 100644 --- a/drivers/net/e1000/igb_ethdev.c +++ b/drivers/net

[dpdk-dev] [PATCH v6 04/11] pmd/enic: add dev_ptype_info_get implementation

2016-03-01 Thread Jianfeng Tan
Signed-off-by: Jianfeng Tan --- drivers/net/enic/enic_ethdev.c | 17 + 1 file changed, 17 insertions(+) diff --git a/drivers/net/enic/enic_ethdev.c b/drivers/net/enic/enic_ethdev.c index 2a88043..fbeab6f 100644 --- a/drivers/net/enic/enic_ethdev.c +++ b/drivers/net/enic

[dpdk-dev] [PATCH v6 05/11] pmd/fm10k: add dev_ptype_info_get implementation

2016-03-01 Thread Jianfeng Tan
Signed-off-by: Jianfeng Tan --- drivers/net/fm10k/fm10k_ethdev.c | 50 ++ drivers/net/fm10k/fm10k_rxtx.c | 3 +++ drivers/net/fm10k/fm10k_rxtx_vec.c | 3 +++ 3 files changed, 56 insertions(+) diff --git a/drivers/net/fm10k/fm10k_ethdev.c b/drivers/net

[dpdk-dev] [PATCH v6 06/11] pmd/i40e: add dev_ptype_info_get implementation

2016-03-01 Thread Jianfeng Tan
Signed-off-by: Jianfeng Tan --- drivers/net/i40e/i40e_ethdev.c| 1 + drivers/net/i40e/i40e_ethdev_vf.c | 1 + drivers/net/i40e/i40e_rxtx.c | 46 ++- drivers/net/i40e/i40e_rxtx.h | 1 + 4 files changed, 48 insertions(+), 1 deletion(-) diff

[dpdk-dev] [PATCH v6 07/11] pmd/ixgbe: add dev_ptype_info_get implementation

2016-03-01 Thread Jianfeng Tan
Signed-off-by: Jianfeng Tan --- drivers/net/ixgbe/ixgbe_ethdev.c | 38 ++ drivers/net/ixgbe/ixgbe_ethdev.h | 2 ++ drivers/net/ixgbe/ixgbe_rxtx.c | 4 +++- 3 files changed, 43 insertions(+), 1 deletion(-) diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b

[dpdk-dev] [PATCH v6 08/11] pmd/mlx4: add dev_ptype_info_get implementation

2016-03-01 Thread Jianfeng Tan
Signed-off-by: Jianfeng Tan --- drivers/net/mlx4/mlx4.c | 21 + 1 file changed, 21 insertions(+) diff --git a/drivers/net/mlx4/mlx4.c b/drivers/net/mlx4/mlx4.c index ee00151..58f4e1a 100644 --- a/drivers/net/mlx4/mlx4.c +++ b/drivers/net/mlx4/mlx4.c @@ -2835,6 +2835,8

[dpdk-dev] [PATCH v6 09/11] pmd/mlx5: add dev_ptype_info_get implementation

2016-03-01 Thread Jianfeng Tan
Signed-off-by: Jianfeng Tan --- drivers/net/mlx5/mlx5.c| 1 + drivers/net/mlx5/mlx5.h| 1 + drivers/net/mlx5/mlx5_ethdev.c | 20 drivers/net/mlx5/mlx5_rxtx.c | 2 ++ 4 files changed, 24 insertions(+) diff --git a/drivers/net/mlx5/mlx5.c b/drivers/net

[dpdk-dev] [PATCH v6 10/11] pmd/nfp: add dev_ptype_info_get implementation

2016-03-01 Thread Jianfeng Tan
Signed-off-by: Jianfeng Tan --- drivers/net/nfp/nfp_net.c | 19 +++ 1 file changed, 19 insertions(+) diff --git a/drivers/net/nfp/nfp_net.c b/drivers/net/nfp/nfp_net.c index fd4dd39..5894a9d 100644 --- a/drivers/net/nfp/nfp_net.c +++ b/drivers/net/nfp/nfp_net.c @@ -1073,6

[dpdk-dev] [PATCH v6 11/11] pmd/vmxnet3: add dev_ptype_info_get implementation

2016-03-01 Thread Jianfeng Tan
Signed-off-by: Jianfeng Tan --- drivers/net/vmxnet3/vmxnet3_ethdev.c | 16 1 file changed, 16 insertions(+) diff --git a/drivers/net/vmxnet3/vmxnet3_ethdev.c b/drivers/net/vmxnet3/vmxnet3_ethdev.c index c363bf6..ac120a1 100644 --- a/drivers/net/vmxnet3/vmxnet3_ethdev.c +++ b

[dpdk-dev] [PATCH] pmd/virtio: fix cannot start virtio dev after stop

2016-01-05 Thread Jianfeng Tan
Fix the issue that virtio device cannot be started after stopped. The field, hw->started, should be changed by virtio_dev_start/stop instead of virtio_dev_close. Signed-off-by: Jianfeng Tan --- drivers/net/virtio/virtio_ethdev.c | 13 - 1 file changed, 8 insertions(+), 5 deleti

[dpdk-dev] [PATCH 0/4] virtio support for container

2016-01-10 Thread Jianfeng Tan
awei Xie Signed-off-by: Jianfeng Tan Jianfeng Tan (4): mem: add --single-file to create single mem-backed file mem: add API to obstain memory-backed file info virtio/vdev: add ways to interact with vhost virtio/vdev: add a new vdev named eth_cvio config/common_linuxapp

[dpdk-dev] [PATCH 1/4] mem: add --single-file to create single mem-backed file

2016-01-10 Thread Jianfeng Tan
instead of file-backed way to create memory. Signed-off-by: Huawei Xie Signed-off-by: Jianfeng Tan --- lib/librte_eal/common/eal_common_options.c | 17 +++ lib/librte_eal/common/eal_internal_cfg.h | 1 + lib/librte_eal/common/eal_options.h| 2 ++ lib/librte_eal/linuxapp/eal

[dpdk-dev] [PATCH 2/4] mem: add API to obstain memory-backed file info

2016-01-10 Thread Jianfeng Tan
A new API named rte_eal_get_backfile_info() and a new data struct back_file is added to obstain information of memory- backed file info. Signed-off-by: Huawei Xie Signed-off-by: Jianfeng Tan --- lib/librte_eal/common/include/rte_memory.h | 16 + lib/librte_eal/linuxapp/eal

[dpdk-dev] [PATCH 3/4] virtio/vdev: add ways to interact with vhost

2016-01-10 Thread Jianfeng Tan
-by: Jianfeng Tan --- config/common_linuxapp | 5 + drivers/net/virtio/Makefile| 4 + drivers/net/virtio/vhost.c | 734 + drivers/net/virtio/vhost.h | 192 ++ drivers/net/virtio/virtio_ethdev.h | 5 +- drivers/net

[dpdk-dev] [PATCH 4/4] virtio/vdev: add a new vdev named eth_cvio

2016-01-10 Thread Jianfeng Tan
/l2fwd -c 0x10 -n 4 -m 1024 \ --no-pci --single-file --file-prefix=l2fwd \ --vdev=eth_cvio0,mac=00:01:02:03:04:05,path= \ -- -p 0x1 Signed-off-by: Huawei Xie Signed-off-by: Jianfeng Tan --- drivers/net/virtio/virtio_ethdev.c | 338 +--- drivers/net

[dpdk-dev] [PATCH v2] pmd/virtio: fix cannot start virtio dev after stop

2016-01-11 Thread Jianfeng Tan
v2 changes: - Address compiling error. - Add Reported-by. Fix the issue that virtio device cannot be started after stopped. The field, hw->started, should be changed by virtio_dev_start/stop instead of virtio_dev_close. Reported-by: Pavel Fedin Signed-off-by: Jianfeng Tan Ac

[dpdk-dev] [PATCH v2 00/12] Add API to get packet type info

2016-01-15 Thread Jianfeng Tan
it, it means it will not provide any ptype info. v2: - Move ptype_mask filter function from each PMDs into ether layer. - Add ixgbe vPMD's ptype info. - Fix code style issues. Jianfeng Tan (12): ethdev: add API to query packet type filling info pmd/cxgbe: add dev_ptype_info_get implementation

[dpdk-dev] [PATCH v2 01/12] ethdev: add API to query packet type filling info

2016-01-15 Thread Jianfeng Tan
Add a new API rte_eth_dev_get_ptype_info to query wether/what packet type will be filled by given pmd rx burst function. Signed-off-by: Jianfeng Tan --- lib/librte_ether/rte_ethdev.c | 20 lib/librte_ether/rte_ethdev.h | 27 +++ lib/librte_mbuf

[dpdk-dev] [PATCH v2 02/12] pmd/cxgbe: add dev_ptype_info_get implementation

2016-01-15 Thread Jianfeng Tan
Signed-off-by: Jianfeng Tan --- drivers/net/cxgbe/cxgbe_ethdev.c | 14 ++ 1 file changed, 14 insertions(+) diff --git a/drivers/net/cxgbe/cxgbe_ethdev.c b/drivers/net/cxgbe/cxgbe_ethdev.c index 97ef152..1699d8e 100644 --- a/drivers/net/cxgbe/cxgbe_ethdev.c +++ b/drivers/net/cxgbe

[dpdk-dev] [PATCH v2 03/12] pmd/e1000: add dev_ptype_info_get implementation

2016-01-15 Thread Jianfeng Tan
Signed-off-by: Jianfeng Tan --- drivers/net/e1000/igb_ethdev.c | 30 ++ 1 file changed, 30 insertions(+) diff --git a/drivers/net/e1000/igb_ethdev.c b/drivers/net/e1000/igb_ethdev.c index d1bbcda..1eb1091 100644 --- a/drivers/net/e1000/igb_ethdev.c +++ b/drivers/net

[dpdk-dev] [PATCH v2 04/12] pmd/enic: add dev_ptype_info_get implementation

2016-01-15 Thread Jianfeng Tan
Signed-off-by: Jianfeng Tan --- drivers/net/enic/enic_ethdev.c | 17 + 1 file changed, 17 insertions(+) diff --git a/drivers/net/enic/enic_ethdev.c b/drivers/net/enic/enic_ethdev.c index 2a88043..9d3659d 100644 --- a/drivers/net/enic/enic_ethdev.c +++ b/drivers/net/enic

[dpdk-dev] [PATCH v2 05/12] pmd/fm10k: add dev_ptype_info_get implementation

2016-01-15 Thread Jianfeng Tan
Signed-off-by: Jianfeng Tan --- drivers/net/fm10k/fm10k_ethdev.c | 43 ++ drivers/net/fm10k/fm10k_rxtx.c | 5 + drivers/net/fm10k/fm10k_rxtx_vec.c | 5 + 3 files changed, 53 insertions(+) diff --git a/drivers/net/fm10k/fm10k_ethdev.c b/drivers

[dpdk-dev] [PATCH v2 06/12] pmd/i40e: add dev_ptype_info_get implementation

2016-01-15 Thread Jianfeng Tan
Signed-off-by: Jianfeng Tan --- drivers/net/i40e/i40e_ethdev.c| 1 + drivers/net/i40e/i40e_ethdev_vf.c | 1 + drivers/net/i40e/i40e_rxtx.c | 46 ++- drivers/net/i40e/i40e_rxtx.h | 1 + 4 files changed, 48 insertions(+), 1 deletion(-) diff

[dpdk-dev] [PATCH v2 07/12] pmd/ixgbe: add dev_ptype_info_get implementation

2016-01-15 Thread Jianfeng Tan
Signed-off-by: Jianfeng Tan --- drivers/net/ixgbe/ixgbe_ethdev.c | 38 ++ drivers/net/ixgbe/ixgbe_ethdev.h | 2 ++ drivers/net/ixgbe/ixgbe_rxtx.c | 5 - 3 files changed, 44 insertions(+), 1 deletion(-) diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b

[dpdk-dev] [PATCH v2 08/12] pmd/mlx4: add dev_ptype_info_get implementation

2016-01-15 Thread Jianfeng Tan
Signed-off-by: Jianfeng Tan --- drivers/net/mlx4/mlx4.c | 20 1 file changed, 20 insertions(+) diff --git a/drivers/net/mlx4/mlx4.c b/drivers/net/mlx4/mlx4.c index 207bfe2..b906a14 100644 --- a/drivers/net/mlx4/mlx4.c +++ b/drivers/net/mlx4/mlx4.c @@ -2836,6 +2836,8

[dpdk-dev] [PATCH v2 09/12] pmd/mlx5: add dev_ptype_info_get implementation

2016-01-15 Thread Jianfeng Tan
Signed-off-by: Jianfeng Tan --- drivers/net/mlx5/mlx5.c| 1 + drivers/net/mlx5/mlx5.h| 1 + drivers/net/mlx5/mlx5_ethdev.c | 18 ++ drivers/net/mlx5/mlx5_rxtx.c | 2 ++ 4 files changed, 22 insertions(+) diff --git a/drivers/net/mlx5/mlx5.c b/drivers/net/mlx5

[dpdk-dev] [PATCH v2 10/12] pmd/nfp: add dev_ptype_info_get implementation

2016-01-15 Thread Jianfeng Tan
Signed-off-by: Jianfeng Tan --- drivers/net/nfp/nfp_net.c | 17 + 1 file changed, 17 insertions(+) diff --git a/drivers/net/nfp/nfp_net.c b/drivers/net/nfp/nfp_net.c index bc2089f..b8da71e 100644 --- a/drivers/net/nfp/nfp_net.c +++ b/drivers/net/nfp/nfp_net.c @@ -1075,6 +1075,22

[dpdk-dev] [PATCH v2 11/12] pmd/vmxnet3: add dev_ptype_info_get implementation

2016-01-15 Thread Jianfeng Tan
Signed-off-by: Jianfeng Tan --- drivers/net/vmxnet3/vmxnet3_ethdev.c | 16 1 file changed, 16 insertions(+) diff --git a/drivers/net/vmxnet3/vmxnet3_ethdev.c b/drivers/net/vmxnet3/vmxnet3_ethdev.c index c363bf6..ed9cd14 100644 --- a/drivers/net/vmxnet3/vmxnet3_ethdev.c +++ b

[dpdk-dev] [PATCH v2 12/12] examples/l3fwd: add option to parse ptype

2016-01-15 Thread Jianfeng Tan
As a example to use ptype info, l3fwd needs firstly to use rte_eth_dev_get_ptype_info() API to check if device and/or PMD driver will parse and fill the needed packet type. If not, use the newly added option, --parse-ptype, to analyze it in the callback softly. Signed-off-by: Jianfeng Tan

[dpdk-dev] [PATCH] examples/vhost: fix out of sequence packets

2016-01-20 Thread Jianfeng Tan
Issue description: when packets go through vhost example to virtio device and come back to another virtio device or physical NIC, the sequence of packets will be changed. Reported-by: Thomas Long Signed-off-by: Jianfeng Tan --- examples/vhost/main.c | 4 ++-- 1 file changed, 2 insertions(+), 2

[dpdk-dev] [RFC] eal: add cgroup-aware resource self discovery

2016-01-25 Thread Jianfeng Tan
\ ./examples/l2fwd/build/l2fwd --self-discovery=cgroup -n 4 -- -p 3 Signed-off-by: Jianfeng Tan --- lib/librte_eal/common/eal_common_options.c | 39 lib/librte_eal/common/eal_internal_cfg.h| 1 + lib/librte_eal/common/eal_options.h | 2 + lib/librte_eal/common/include

[dpdk-dev] [PATCH] eal: make resource initialization more robust

2016-01-29 Thread Jianfeng Tan
/l2fwd/build/l2fwd -n 4 -- -p 3 Signed-off-by: Jianfeng Tan --- lib/librte_eal/common/eal_common_lcore.c | 10 +++- lib/librte_eal/linuxapp/eal/eal_memory.c | 78 2 files changed, 79 insertions(+), 9 deletions(-) diff --git a/lib/librte_eal/common

[dpdk-dev] [PATCH] examples/vhost: fix failure without hints

2016-07-01 Thread Jianfeng Tan
("examples/vhost: import userspace vhost application") Reported-by: Yulong Pei Signed-off-by: Jianfeng Tan --- examples/vhost/main.c | 20 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/examples/vhost/main.c b/examples/vhost/main.c index 3aff2c

[dpdk-dev] [PATCH] net/virtio: fix null pointer dereference

2016-07-05 Thread Jianfeng Tan
if (!cvq && !cvq->vq) { ... } Coverity issue: 127480 Fixes: 01ad44fd374f ("net/virtio: split Rx/Tx queue") Signed-off-by: Jianfeng Tan --- drivers/net/virtio/virtio_ethdev.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/v

[dpdk-dev] [PATCH] examples/vhost: fix perf regression

2016-07-19 Thread Jianfeng Tan
of vhost example, to avoid VM kernel virtio driver go into big_packets path. Fixes: 859b480d5afd ("vhost: add guest offload setting") Reported-by: Qian Xu Signed-off-by: Jianfeng Tan --- examples/vhost/main.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/examples/vhost/main.c

[dpdk-dev] [PATCH v2] examples/vhost: fix perf regression

2016-07-21 Thread Jianfeng Tan
of vhost example, to avoid VM kernel virtio driver go into big_packets path. Fixes: 9fd72e3cbd29 ("examples/vhost: add virtio offload") Reported-by: Qian Xu Signed-off-by: Jianfeng Tan --- v2: change the Fixes line to point to proper commit to fix. examples/vhost/main.c | 2 ++ 1 file

[dpdk-dev] [PATCH v3] examples/vhost: fix perf regression

2016-07-21 Thread Jianfeng Tan
VM kernel virtio driver go into big_packets path. Fixes: 9fd72e3cbd29 ("examples/vhost: add virtio offload") Reported-by: Qian Xu Signed-off-by: Jianfeng Tan --- v3: reword commit log. v2: change the Fixes line to point to proper commit to fix. examples/vhost/main.c | 2 ++ 1 file c

[dpdk-dev] [PATCH] net/virtio_user: fix inconsistent name

2016-07-22 Thread Jianfeng Tan
ice as per the docs. This patch updates related strings in the docs and source code. Fixes: cb6696d22023 ("drivers: update registration macro usage") Reported-by: Tiwei Bie Signed-off-by: Jianfeng Tan --- doc/guides/rel_notes/release_16_07.rst | 2 +- doc/guides/sample_app_ug

[dpdk-dev] [PATCH v5 0/8] virtio support for container

2016-05-30 Thread Jianfeng Tan
f. Used with vhost-net $: modprobe vhost $: modprobe vhost-net $: docker run -i -t --privileged \ -v /dev/vhost-net:/dev/vhost-net \ -v /dev/net/tun:/dev/net/tun \ -v /dev/hugepages:/dev/hugepages \ dpdk-app-l2fwd l2fwd -c 0x4 -n 4 -m 1024 --no-pci \ --vde

[dpdk-dev] [PATCH v5 1/8] virtio: hide phys addr check inside pci ops

2016-05-30 Thread Jianfeng Tan
This patch is to move phys addr check from virtio_dev_queue_setup to pci ops. To makt that happen, make sure virtio_ops.setup_queue return the result if we pass through the check. Signed-off-by: Jianfeng Tan Signed-off-by: Huawei Xie Acked-by: Yuanhan Liu --- drivers/net/virtio

[dpdk-dev] [PATCH v5 2/8] virtio: clean up virtio_dev_queue_setup

2016-05-30 Thread Jianfeng Tan
Abstract vring hdr desc init as an inline method. Signed-off-by: Huawei Xie Signed-off-by: Jianfeng Tan --- drivers/net/virtio/virtio_ethdev.c | 42 ++ 1 file changed, 24 insertions(+), 18 deletions(-) diff --git a/drivers/net/virtio/virtio_ethdev.c b

[dpdk-dev] [PATCH v5 3/8] virtio: enable use virtual address to fill desc

2016-05-30 Thread Jianfeng Tan
here. It basically means: a. when set_base_addr, VA address is used; b. when preparing RX's descriptors, VA address is used; c. when transmitting packets, VA is filled in TX's descriptors; d. in TX and CQ's header, VA is used. Signed-off-by: Huawei Xie Signed-off-by: Jianfeng Tan Acked

[dpdk-dev] [PATCH v5 4/8] virtio-user: add vhost adapter layer

2016-05-30 Thread Jianfeng Tan
t backend | -- Signed-off-by: Huawei Xie Signed-off-by: Jianfeng Tan Acked-by: Neil Horman --- config/common_linuxapp| 3 + drivers/net/virtio/Makefile | 6 + drivers/net/virtio/virtio_user/vhost.c| 105 +++ drivers/net/virtio/vi

[dpdk-dev] [PATCH v5 5/8] virtio-user: add device emulation layer APIs

2016-05-30 Thread Jianfeng Tan
_dev.c, virtio_user_dev.h) | || | | | vhost adapter | | | -- | -- | | | -- | vhost backend | -- Signed-off-by: Huawei Xie Signed-off-by: Jianfeng Tan Acked-by

[dpdk-dev] [PATCH v5 6/8] virtio-user: add new virtual pci driver for virtio

2016-05-30 Thread Jianfeng Tan
vhost adapter | | | -- | -- | | | -- | vhost backend | -- Signed-off-by: Huawei Xie Signed-off-by: Jianfeng Tan Acked-by: Neil Horman --- drivers/net/virtio/Ma

[dpdk-dev] [PATCH v5 7/8] virtio-user: add a new vdev named virtio-user

2016-05-30 Thread Jianfeng Tan
there are more than VHOST_MEMORY_MAX_NREGIONS(8) hugepages. - Root privilege is a must (mainly becase of sorting hugepages according to physical address). - Applications should not use file name like HUGEFILE_FMT ("%smap_%d"). Signed-off-by: Huawei Xie Signed-off-by: Jianfeng

[dpdk-dev] [PATCH v5 8/8] doc: update doc for virtio-user

2016-05-30 Thread Jianfeng Tan
Signed-off-by: Huawei Xie Signed-off-by: Jianfeng Tan --- doc/guides/rel_notes/release_16_07.rst | 4 1 file changed, 4 insertions(+) diff --git a/doc/guides/rel_notes/release_16_07.rst b/doc/guides/rel_notes/release_16_07.rst index f6d543c..b1054b6 100644 --- a/doc/guides/rel_notes

[dpdk-dev] [PATCH v5] eal: fix allocating all free hugepages

2016-05-31 Thread Jianfeng Tan
\ ./examples/helloworld/build/helloworld -c 0x2 -n 4 Fixes: af75078fece ("first public release") Signed-off-by: Jianfeng Tan Acked-by: Neil Horman --- v5: - Make this method as default instead of using an option. - When SIGBUS is triggered in the case of RTE_EAL_SINGLE_FILE_SEGMENTS, j

[dpdk-dev] [PATCH] maintainers: claim responsability for xen

2016-11-07 Thread Jianfeng Tan
As some users are still using xen as the hypervisor, I suggest to continue support for xen in DPDK. And from 16.11, I will be the maintainer of all xen-related files. Signed-off-by: Jianfeng Tan --- MAINTAINERS | 1 + 1 file changed, 1 insertion(+) diff --git a/MAINTAINERS b/MAINTAINERS index

[dpdk-dev] [PATCH] examples/l3fwd: fix using packet type blindly

2016-03-01 Thread Jianfeng Tan
supported by the devices. Currently we can: option 1, remove this requirements; option 2, wait for virtio front end (pmd) to support it. Signed-off-by: Jianfeng Tan --- doc/guides/rel_notes/release_16_04.rst | 5 ++ doc/guides/sample_app_ug/l3_forward.rst | 6 ++- examples/l3fwd/l3fwd.h

[dpdk-dev] [PATCH v2] examples/l3fwd: fix using packet type blindly

2016-03-04 Thread Jianfeng Tan
, "cannot run l3fwd on virtio or other devices", because hw_ip_checksum may be not supported by the devices. Currently we can: a. remove this requirements; b. wait for virtio front end (pmd) to support it. Signed-off-by: Jianfeng Tan --- v2: - Add patchset dependence in commit log.

[dpdk-dev] [PATCH] eal: add option --avail-cores to detect lcores

2016-03-04 Thread Jianfeng Tan
\ --avail-cores -m 1024 Signed-off-by: Jianfeng Tan Acked-by: Neil Horman --- lib/librte_eal/common/eal_common_options.c | 52 ++ lib/librte_eal/common/eal_options.h| 2 ++ 2 files changed, 54 insertions(+) diff --git a/lib/librte_eal/common

[dpdk-dev] [PATCH] eal: make hugetlb initialization more robust

2016-03-04 Thread Jianfeng Tan
(). Test example: a. cgcreate -g hugetlb:/test-subgroup b. cgset -r hugetlb.1GB.limit_in_bytes=2147483648 test-subgroup c. cgexec -g hugetlb:test-subgroup \ ./examples/helloworld/build/helloworld -c 0x2 -n 4 --huge-trybest Signed-off-by: Jianfeng Tan Acked-by: Neil Horman --- lib

[dpdk-dev] [PATCH v2] eal: make hugetlb initialization more robust

2016-03-08 Thread Jianfeng Tan
(). Test example: a. cgcreate -g hugetlb:/test-subgroup b. cgset -r hugetlb.1GB.limit_in_bytes=2147483648 test-subgroup c. cgexec -g hugetlb:test-subgroup \ ./examples/helloworld/build/helloworld -c 0x2 -n 4 --huge-trybest Signed-off-by: Jianfeng Tan --- v2: - Address the compiling

[dpdk-dev] [PATCH v7 00/11] Add API to get packet type info

2016-03-10 Thread Jianfeng Tan
OWN. - Fix l3fwd parse_packet_type() when EXACT_MATCH is enabled. - Fix l3fwd memory leak when calling the API. v2: - Move ptype_mask filter function from each PMDs into ether layer. - Add ixgbe vPMD's ptype info. - Fix code style issues. Signed-off-by: Jianfeng Tan Acked-by: Konstan

[dpdk-dev] [PATCH v7 01/11] ethdev: add API to query packet type filling info

2016-03-10 Thread Jianfeng Tan
Add a new API rte_eth_dev_get_ptype_info to query whether/what packet type can be filled by given already started device or its pmd rx burst function has already been decided). Signed-off-by: Jianfeng Tan Acked-by: Konstantin Ananyev Acked-by: Adrien Mazarguil --- doc/guides/rel_notes

[dpdk-dev] [PATCH v7 02/11] pmd/cxgbe: add dev_ptype_info_get implementation

2016-03-10 Thread Jianfeng Tan
Signed-off-by: Jianfeng Tan Acked-by: Konstantin Ananyev Acked-by: Adrien Mazarguil --- drivers/net/cxgbe/cxgbe_ethdev.c | 14 ++ 1 file changed, 14 insertions(+) diff --git a/drivers/net/cxgbe/cxgbe_ethdev.c b/drivers/net/cxgbe/cxgbe_ethdev.c index 97ef152..33bd815 100644

[dpdk-dev] [PATCH v7 03/11] pmd/e1000: add dev_ptype_info_get implementation

2016-03-10 Thread Jianfeng Tan
Signed-off-by: Jianfeng Tan Acked-by: Konstantin Ananyev Acked-by: Adrien Mazarguil --- drivers/net/e1000/igb_ethdev.c | 30 ++ 1 file changed, 30 insertions(+) diff --git a/drivers/net/e1000/igb_ethdev.c b/drivers/net/e1000/igb_ethdev.c index 4ed5e95..b3a3ee6

[dpdk-dev] [PATCH v7 04/11] pmd/enic: add dev_ptype_info_get implementation

2016-03-10 Thread Jianfeng Tan
Signed-off-by: Jianfeng Tan Acked-by: Konstantin Ananyev Acked-by: Adrien Mazarguil --- drivers/net/enic/enic_ethdev.c | 17 + 1 file changed, 17 insertions(+) diff --git a/drivers/net/enic/enic_ethdev.c b/drivers/net/enic/enic_ethdev.c index 2a88043..fbeab6f 100644

[dpdk-dev] [PATCH v7 05/11] pmd/fm10k: add dev_ptype_info_get implementation

2016-03-10 Thread Jianfeng Tan
Signed-off-by: Jianfeng Tan Acked-by: Konstantin Ananyev Acked-by: Adrien Mazarguil --- drivers/net/fm10k/fm10k_ethdev.c | 50 ++ drivers/net/fm10k/fm10k_rxtx.c | 3 +++ drivers/net/fm10k/fm10k_rxtx_vec.c | 3 +++ 3 files changed, 56 insertions

[dpdk-dev] [PATCH v7 06/11] pmd/i40e: add dev_ptype_info_get implementation

2016-03-10 Thread Jianfeng Tan
Signed-off-by: Jianfeng Tan Acked-by: Konstantin Ananyev Acked-by: Adrien Mazarguil --- drivers/net/i40e/i40e_ethdev.c| 1 + drivers/net/i40e/i40e_ethdev_vf.c | 1 + drivers/net/i40e/i40e_rxtx.c | 46 ++- drivers/net/i40e/i40e_rxtx.h | 1

[dpdk-dev] [PATCH v7 07/11] pmd/ixgbe: add dev_ptype_info_get implementation

2016-03-10 Thread Jianfeng Tan
Signed-off-by: Jianfeng Tan Acked-by: Konstantin Ananyev Acked-by: Adrien Mazarguil --- drivers/net/ixgbe/ixgbe_ethdev.c | 38 ++ drivers/net/ixgbe/ixgbe_ethdev.h | 2 ++ drivers/net/ixgbe/ixgbe_rxtx.c | 4 +++- 3 files changed, 43 insertions(+), 1

[dpdk-dev] [PATCH v7 08/11] pmd/mlx4: add dev_ptype_info_get implementation

2016-03-10 Thread Jianfeng Tan
Signed-off-by: Jianfeng Tan Acked-by: Konstantin Ananyev Acked-by: Adrien Mazarguil --- drivers/net/mlx4/mlx4.c | 21 + 1 file changed, 21 insertions(+) diff --git a/drivers/net/mlx4/mlx4.c b/drivers/net/mlx4/mlx4.c index ee00151..58f4e1a 100644 --- a/drivers/net/mlx4/mlx4

[dpdk-dev] [PATCH v7 09/11] pmd/mlx5: add dev_ptype_info_get implementation

2016-03-10 Thread Jianfeng Tan
Signed-off-by: Jianfeng Tan Acked-by: Konstantin Ananyev Acked-by: Adrien Mazarguil --- drivers/net/mlx5/mlx5.c| 1 + drivers/net/mlx5/mlx5.h| 1 + drivers/net/mlx5/mlx5_ethdev.c | 20 drivers/net/mlx5/mlx5_rxtx.c | 2 ++ 4 files changed, 24 insertions

[dpdk-dev] [PATCH v7 10/11] pmd/nfp: add dev_ptype_info_get implementation

2016-03-10 Thread Jianfeng Tan
Signed-off-by: Jianfeng Tan Acked-by: Konstantin Ananyev Acked-by: Adrien Mazarguil --- drivers/net/nfp/nfp_net.c | 19 +++ 1 file changed, 19 insertions(+) diff --git a/drivers/net/nfp/nfp_net.c b/drivers/net/nfp/nfp_net.c index 9c4f218..ad6eebd 100644 --- a/drivers/net/nfp

[dpdk-dev] [PATCH v7 11/11] pmd/vmxnet3: add dev_ptype_info_get implementation

2016-03-10 Thread Jianfeng Tan
Signed-off-by: Jianfeng Tan Acked-by: Konstantin Ananyev Acked-by: Adrien Mazarguil --- drivers/net/vmxnet3/vmxnet3_ethdev.c | 16 1 file changed, 16 insertions(+) diff --git a/drivers/net/vmxnet3/vmxnet3_ethdev.c b/drivers/net/vmxnet3/vmxnet3_ethdev.c index c363bf6..ac120a1

[dpdk-dev] [PATCH v3 0/2] examples/l3fwd: fix using packet type blindly

2016-03-10 Thread Jianfeng Tan
typo fixed. - Change the position to call rte_eth_dev_get_ptype_info after rte_eth_dev_start(). Patch 1: add an option in l3fwd. Patch 2: enable vector pmd in i40e by default. Signed-off-by: Jianfeng Tan Jianfeng Tan (2): examples/l3fwd: fix using packet type blindly config: enable i40e ve

[dpdk-dev] [PATCH v3 1/2] examples/l3fwd: fix using packet type blindly

2016-03-10 Thread Jianfeng Tan
supported by the devices. Currently we can: a. remove this requirements; b. wait for virtio front end (pmd) to support it. Signed-off-by: Jianfeng Tan --- doc/guides/rel_notes/release_16_04.rst | 9 +++ doc/guides/sample_app_ug/l3_forward.rst | 6 +- examples/l3fwd/l3fwd.h

[dpdk-dev] [PATCH v3 2/2] config: enable vector driver by default

2016-03-10 Thread Jianfeng Tan
Previously, vector driver is not the first (default) choice for i40e, as it cannot fill packet type info for l3fwd to work well. Now there is an option for l3fwd to analysis packet type softly. So enable it by default. Signed-off-by: Jianfeng Tan --- config/common_base | 2

[dpdk-dev] [PATCH v8 00/11] Add API to get supported packet types

2016-03-14 Thread Jianfeng Tan
API. v2: - Move ptype_mask filter function from each PMDs into ether layer. - Add ixgbe vPMD's ptype info. - Fix code style issues. Signed-off-by: Jianfeng Tan Acked-by: Konstantin Ananyev Acked-by: Adrien Mazarguil Jianfeng Tan (11): ethdev: add API to query supported packet types c

[dpdk-dev] [PATCH v8 01/11] ethdev: add API to query supported packet types

2016-03-14 Thread Jianfeng Tan
Add a new API rte_eth_dev_get_supported_ptypes to query what packet types can be filled by given already started device (or its pmd rx burst function has already been decided). Signed-off-by: Jianfeng Tan Acked-by: Konstantin Ananyev Acked-by: Adrien Mazarguil --- lib/librte_ether

[dpdk-dev] [PATCH v8 02/11] cxgbe: add dev_supported_ptypes_get implementation

2016-03-14 Thread Jianfeng Tan
Signed-off-by: Jianfeng Tan Acked-by: Konstantin Ananyev Acked-by: Adrien Mazarguil --- drivers/net/cxgbe/cxgbe_ethdev.c | 15 +++ 1 file changed, 15 insertions(+) diff --git a/drivers/net/cxgbe/cxgbe_ethdev.c b/drivers/net/cxgbe/cxgbe_ethdev.c index 8c6dd59..1ee80b0 100644

[dpdk-dev] [PATCH v8 03/11] e1000: add dev_supported_ptypes_get implementation

2016-03-14 Thread Jianfeng Tan
Signed-off-by: Jianfeng Tan Acked-by: Konstantin Ananyev Acked-by: Adrien Mazarguil --- drivers/net/e1000/igb_ethdev.c | 30 ++ 1 file changed, 30 insertions(+) diff --git a/drivers/net/e1000/igb_ethdev.c b/drivers/net/e1000/igb_ethdev.c index f889876..413c794

[dpdk-dev] [PATCH v8 04/11] enic: add dev_supported_ptypes_get implementation

2016-03-14 Thread Jianfeng Tan
Signed-off-by: Jianfeng Tan Acked-by: Konstantin Ananyev Acked-by: Adrien Mazarguil --- drivers/net/enic/enic_ethdev.c | 14 ++ 1 file changed, 14 insertions(+) diff --git a/drivers/net/enic/enic_ethdev.c b/drivers/net/enic/enic_ethdev.c index 6f2ada5..bab0f7d 100644 --- a/drivers

[dpdk-dev] [PATCH v8 05/11] fm10k: add dev_supported_ptypes_get implementation

2016-03-14 Thread Jianfeng Tan
Signed-off-by: Jianfeng Tan Acked-by: Konstantin Ananyev Acked-by: Adrien Mazarguil --- drivers/net/fm10k/fm10k_ethdev.c | 50 ++ drivers/net/fm10k/fm10k_rxtx.c | 3 +++ drivers/net/fm10k/fm10k_rxtx_vec.c | 3 +++ 3 files changed, 56 insertions

[dpdk-dev] [PATCH v8 06/11] i40e: add dev_supported_ptypes_get implementation

2016-03-14 Thread Jianfeng Tan
Signed-off-by: Jianfeng Tan Acked-by: Konstantin Ananyev Acked-by: Adrien Mazarguil --- drivers/net/i40e/i40e_ethdev.c| 1 + drivers/net/i40e/i40e_ethdev_vf.c | 1 + drivers/net/i40e/i40e_rxtx.c | 46 ++- drivers/net/i40e/i40e_rxtx.h | 1

[dpdk-dev] [PATCH v8 07/11] ixgbe: add dev_supported_ptypes_get implementation

2016-03-14 Thread Jianfeng Tan
Signed-off-by: Jianfeng Tan Acked-by: Konstantin Ananyev Acked-by: Adrien Mazarguil --- drivers/net/ixgbe/ixgbe_ethdev.c | 38 ++ drivers/net/ixgbe/ixgbe_ethdev.h | 3 +++ drivers/net/ixgbe/ixgbe_rxtx.c | 4 +++- 3 files changed, 44 insertions(+), 1

[dpdk-dev] [PATCH v8 08/11] mlx4: add dev_supported_ptypes_get implementation

2016-03-14 Thread Jianfeng Tan
Signed-off-by: Jianfeng Tan Acked-by: Konstantin Ananyev Acked-by: Adrien Mazarguil --- drivers/net/mlx4/mlx4.c | 21 + 1 file changed, 21 insertions(+) diff --git a/drivers/net/mlx4/mlx4.c b/drivers/net/mlx4/mlx4.c index 67025c7..61ecf08 100644 --- a/drivers/net/mlx4/mlx4

[dpdk-dev] [PATCH v8 09/11] mlx5: add dev_supported_ptypes_get implementation

2016-03-14 Thread Jianfeng Tan
Signed-off-by: Jianfeng Tan Acked-by: Konstantin Ananyev Acked-by: Adrien Mazarguil --- drivers/net/mlx5/mlx5.c| 1 + drivers/net/mlx5/mlx5.h| 1 + drivers/net/mlx5/mlx5_ethdev.c | 20 drivers/net/mlx5/mlx5_rxtx.c | 2 ++ 4 files changed, 24 insertions

[dpdk-dev] [PATCH v8 10/11] nfp: add dev_supported_ptypes_get implementation

2016-03-14 Thread Jianfeng Tan
Signed-off-by: Jianfeng Tan Acked-by: Konstantin Ananyev Acked-by: Adrien Mazarguil --- drivers/net/nfp/nfp_net.c | 19 +++ 1 file changed, 19 insertions(+) diff --git a/drivers/net/nfp/nfp_net.c b/drivers/net/nfp/nfp_net.c index 573b6bc..163cac8 100644 --- a/drivers/net/nfp

[dpdk-dev] [PATCH v8 11/11] vmxnet3: add dev_supported_ptypes_get implementation

2016-03-14 Thread Jianfeng Tan
Signed-off-by: Jianfeng Tan Acked-by: Konstantin Ananyev Acked-by: Adrien Mazarguil --- drivers/net/vmxnet3/vmxnet3_ethdev.c | 17 + 1 file changed, 17 insertions(+) diff --git a/drivers/net/vmxnet3/vmxnet3_ethdev.c b/drivers/net/vmxnet3/vmxnet3_ethdev.c index a5c9ba5

[dpdk-dev] [PATCH v9 01/11] ethdev: add API to query supported packet types

2016-03-15 Thread Jianfeng Tan
Add a new API rte_eth_dev_get_supported_ptypes to query what packet types can be filled by given already started device (or its pmd rx burst function has already been decided). Signed-off-by: Jianfeng Tan Acked-by: Konstantin Ananyev Acked-by: Adrien Mazarguil --- v9: - Fix

[dpdk-dev] [PATCH] doc: update supported features of virtio

2016-04-05 Thread Jianfeng Tan
Update the overview.rst for virtio. Signed-off-by: Jianfeng Tan --- doc/guides/nics/overview.rst | 40 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/doc/guides/nics/overview.rst b/doc/guides/nics/overview.rst index ec1af46..bbe1394

[dpdk-dev] [PATCH v2] [PATCH] doc: update supported features of virtio

2016-04-05 Thread Jianfeng Tan
Update the overview.rst for virtio. Note: virtio is a para-virtualization device, which indicates that its features depend on not only front end but also back end. Here by X, we just mean the feature is supported in front end. Signed-off-by: Jianfeng Tan --- v2: - unicast MAC filter (yes

<    1   2   3   >