Kernel update [1] introduce new format of representors names.
This patch implements RFC [2], updating MLX5 PMD to support the new
format, while maintaining support of the existing format.
[1] https://github.com/torvalds/linux/commit/c12ecc2
[2] http://mails.dpdk.org/archives/dev/2019-March/125676.
In current kernel implementation, the physical port name for representors is a
numeric string (i.e. '0', '1', etc.).
Kernel patch [1] implements an updated scheme for naming of representors ports.
The new scheme gives a unique name for each port using the PF ID and the VF ID.
Uplink represent
Same question regarding patchwork.
Friday, March 1, 2019 3:27 AM, Yongseok Koh:
> Subject: [RFC] net/mlx4: add secondary process support
>
> In 19.05, mlx4 PMD will start to support secondary process. This will need
> new rdma-core API and small fix in kernel driver, in order for Verbs to allow
https://bugs.dpdk.org/show_bug.cgi?id=219
Bug ID: 219
Summary: DPDK 18.11 builds with MLX4/MLX5 support but testpmd
won't recognize the device
Product: DPDK
Version: 18.11
Hardware: x86
OS: Linux
https://bugs.dpdk.org/show_bug.cgi?id=218
Bug ID: 218
Summary: DPDK 18.02 (stable) won't compile when MLX4/MLX5
support is enabled
Product: DPDK
Version: 19.02
Hardware: All
OS: All
Status: CONFI
https://bugs.dpdk.org/show_bug.cgi?id=217
Bug ID: 217
Summary: DPDK-19.02 will not build when MLX4/MLX5 is enabled.
In comparison DPDK 18-11 builds fine
Product: DPDK
Version: 19.02
Hardware: All
OS: All
Signed-off-by: Igor Russkikh
---
drivers/net/atlantic/atl_ethdev.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/atlantic/atl_ethdev.c
b/drivers/net/atlantic/atl_ethdev.c
index c2ba19830..d40645283 100644
--- a/drivers/net/atlantic/atl_ethdev.c
+++ b/drivers
Default rxtx logging used ERR level, that caused logger to always
trigger. That caused perf degradation even if logger was not enabled but
compiled in.
Signed-off-by: Igor Russkikh
---
drivers/net/atlantic/atl_rxtx.c | 16
1 file changed, 4 insertions(+), 12 deletions(-)
diff -
Signed-off-by: Igor Russkikh
---
drivers/net/atlantic/atl_ethdev.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/net/atlantic/atl_ethdev.c
b/drivers/net/atlantic/atl_ethdev.c
index ad4e5a717..c2ba19830 100644
--- a/drivers/net/atlantic/atl_ethdev.c
+++ b/drivers/n
Found by Coverity
Signed-off-by: Igor Russkikh
---
drivers/net/atlantic/hw_atl/hw_atl_utils.c | 5 +
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/drivers/net/atlantic/hw_atl/hw_atl_utils.c
b/drivers/net/atlantic/hw_atl/hw_atl_utils.c
index f11093a50..13f02b9f9 100644
--- a/d
From: Pavel Belous
Signed-off-by: Igor Russkikh
Signed-off-by: Pavel Belous
---
.../net/atlantic/hw_atl/hw_atl_utils_fw2x.c | 27 ---
1 file changed, 23 insertions(+), 4 deletions(-)
diff --git a/drivers/net/atlantic/hw_atl/hw_atl_utils_fw2x.c
b/drivers/net/atlantic/hw_atl/
In case link speed is re configured after port start, it does not
takes the requested speed value, but instead just sets full autoneg
mask.
Signed-off-by: Igor Russkikh
---
drivers/net/atlantic/atl_ethdev.c | 44 ++-
1 file changed, 20 insertions(+), 24 deletions(-)
Found by coverity scan
Signed-off-by: Igor Russkikh
---
drivers/net/atlantic/hw_atl/hw_atl_b0.c | 6 +-
1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/drivers/net/atlantic/hw_atl/hw_atl_b0.c
b/drivers/net/atlantic/hw_atl/hw_atl_b0.c
index 9400e0edb..53fd8e9f0 100644
--- a/driv
Signed-off-by: Igor Russkikh
---
drivers/net/atlantic/atl_rxtx.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/atlantic/atl_rxtx.c b/drivers/net/atlantic/atl_rxtx.c
index 40c913795..aea58c0d5 100644
--- a/drivers/net/atlantic/atl_rxtx.c
+++ b/drivers/net/atla
From: Pavel Belous
Found by Coverity
Signed-off-by: Igor Russkikh
Signed-off-by: Pavel Belous
---
drivers/net/atlantic/hw_atl/hw_atl_utils_fw2x.c | 8
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/net/atlantic/hw_atl/hw_atl_utils_fw2x.c
b/drivers/net/atlantic
From: Pavel Belous
Default dev addr is replaced with magic field from the request.
Length is allowed to be less than maximum.
SMBUS access bit definitions also better organised now.
Signed-off-by: Igor Russkikh
Signed-off-by: Pavel Belous
---
drivers/net/atlantic/atl_ethdev.c | 20
The patchset mainly fixes some Coverity issues,
couple of minor bugs and overflows.
It also improves eeprom get/set logic with ability of custom
device address and dump length.
Igor Russkikh (7):
net/atlantic: Fix negative error codes
net/atlantic: remove unused variable
net/atlantic: check
Hi everyone,
Suppose QEMU and DPDK support is not a requirement, is there any alternative
that could theoretically outperform virtio/vhost-user?
I'm asking this weird question because the existing virtio/vhost-user
interface, while regarded as the de facto path to VM, is currently one of
the maj
The VLAN fields in the NIC filter use little endian. The VLAN item is
in big endian, so swap bytes.
Fixes: 6ced137607d0 ("net/enic: flow API for NICs with advanced filters
enabled")
Cc: sta...@dpdk.org
Signed-off-by: Hyong Youb Kim
---
doc/guides/nics/enic.rst | 10 --
drivers/net/
Inner packet matching is currently buggy in many cases.
1. Mishandling null spec ("match any").
The copy_item functions do nothing if spec is null. This is incorrect,
as all patterns should be appended to the L5 pattern buffer even for
null spec (treated as all zeros).
2. Accessing null spec caus
Currently, the driver resets the vxlan port register only if overlay
offload is enabled. But, the register is actually tied to hardware
vxlan parsing, which is an independent feature and is always enabled
even if overlay offload is disabled. If left uninitialized, it can
affect flow rules that matc
The filter API does not have flags for "match VXLAN". Explicitly set
the UDP destination port and mask in the L4 pattern. Otherwise, UDP
packets with non-VXLAN ports may be falsely reported as VXLAN.
1400 series VIC adapters have hardware VXLAN parsing. The L5 buffer on
the NIC starts with the inn
Some apps like VPP use a raw item to match UDP tunnel headers like
VXLAN or GENEVE. The NIC hardware supports such usage via L5 match,
which does pattern match on packet data immediately following the
outer L4 header. Accept raw items for these limited use cases.
Signed-off-by: Hyong Youb Kim
---
There are many copy_item functions, all with the same arguments, which
makes it difficult to add/change arguments. Move the arguments into a
struct to help subsequent commits that will add/fix features. Also
remove self-explanatory verbose comments for these local functions.
These changes are pure
Some apps like VPP use PASSTHRU+MARK flow rules to offload packet
matching to the NIC. Just like MARK+RSS used by OVS-DPDK and others,
PASSTHRU+MARK is used to "mark and then receive normally". Recent VIC
adapters support such flow rules, so enable PASSTHRU for this limited
use case.
Signed-off-by
Some apps like OVS-DPDK use MARK+RSS flow rules in order to offload
packet matching to the NIC. The RSS action in such flow rules simply
indicates "receive packet normally", not trying to override the port
wide RSS. The action is included in the flow rules simply to terminate
them, as MARK is not a
Currently a pattern with an unsupported item type causes segfault,
because the flow handler is using the type as an array index without
checking bounds. Add an explicit check for unsupported item types and
avoid out-of-bound accesses.
Fixes: 6ced137607d0 ("net/enic: flow API for NICs with advanced
The driver currently accepts mark ID 0 but does not report it in
matching packet's mbuf. For example, the following testpmd command
succeeds. But, the mbuf of a matching IPv4 UDP packet does not have
PKT_RX_FDIR_ID set.
flow create 0 ingress pattern ... actions mark id 0 / queue index 0 / end
The
This patch series fixes bugs in enic's implementation of flow API and
adds very limited support for RAW, RSS, and PASSTHRU. Limited RSS and
PASSTHRU are intended to support partial offloads in OVS-DPDK and
VPP. These apps use MARK + default RSS and PASSTHRU + MARK to "mark
packet and then receive n
The firmware filter API does not have flags indicating "match SCTP
packet". Instead, the driver needs to explicitly add an IP match and
set the protocol number (132 for SCTP) in the IP header.
The existing code (copy_fltr_v2) has two bugs.
1. It sets the protocol number (132) in the match value,
The driver needs to explicitly set the protocol number (132) in the IP
header pattern, as the current firmware filter API lacks "match SCTP
packet" flag. Otherwise, the resulting NIC filter may lead to false
positives (i.e. NIC reporting non-SCTP packets as SCTP packets). The
flow director handler
Remove unused functions. Specifically, vnic_set_rss_key() is
obsolete. enic_{add,del}_vlan() has never been supported in the
firmware. And, remove vnic_rss.c altogether as it becomes empty. These
were discovered by cppcheck.
Signed-off-by: Hyong Youb Kim
Reviewed-by: John Daley
---
drivers/net/
Hi, Luca
Thanks for your review.
On 03/01, Luca Boccassi wrote:
>On Fri, 2019-03-01 at 16:09 +0800, Xiaolong Ye wrote:
>> Add a new PMD driver for AF_XDP which is a proposed faster version of
>> AF_PACKET interface in Linux. More info about AF_XDP, please refer to
>> [1]
>> [2].
>>
>> This is th
Hi,
On 03/01, Stephen Hemminger wrote:
>On Fri, 1 Mar 2019 16:09:42 +0800
>Xiaolong Ye wrote:
>
>> +if (umem->buffer)
>> +free(umem->buffer);
>
>Minor nit: you don't need to check for NULL free() already handles this.
Thanks for the suggestion, will change accordingly.
Hi,
On 03/01, Stephen Hemminger wrote:
>On Fri, 1 Mar 2019 16:09:42 +0800
>Xiaolong Ye wrote:
>
>> +
>> +static int
>> +rte_pmd_af_xdp_probe(struct rte_vdev_device *dev)
>> +{
>> +struct rte_kvargs *kvlist;
>> +char *if_name = NULL;
>> +int queue_idx = ETH_AF_XDP_DFLT_QUEUE_IDX;
>> +
Hi,
On 03/01, Stephen Hemminger wrote:
>On Fri, 1 Mar 2019 16:09:47 +0800
>Xiaolong Ye wrote:
>
>> When create rte_mempool, flags can be parsed from command line.
>> Now, it is possible for testpmd to create a af_xdp friendly
>> mempool (which enable zero copy).
>>
>> Signed-off-by: Qi Zhang
>
36 matches
Mail list logo