busy polling")
Signed-off-by: Ciara Loftus
---
drivers/net/af_xdp/compat.h | 14 --
drivers/net/af_xdp/rte_eth_af_xdp.c | 4 ++--
2 files changed, 14 insertions(+), 4 deletions(-)
diff --git a/drivers/net/af_xdp/compat.h b/drivers/net/af_xdp/compat.h
index 545c8aa395..
stead of poll syscall")
Signed-off-by: Ciara Loftus
---
drivers/net/af_xdp/compat.h | 28 ++--
drivers/net/af_xdp/rte_eth_af_xdp.c | 10 +++---
2 files changed, 25 insertions(+), 13 deletions(-)
diff --git a/drivers/net/af_xdp/compat.h b/drivers/net/af
Linking with libbpf v0.8.0 causes deprication warnings. As a temporary
measure, prevent linking with libbpf versions v0.8.0 and greater. This
limitation should be removed in the future when appropriate
compatibility measures are introduced.
Signed-off-by: Ciara Loftus
---
doc/guides/nics
lso prevent linking with libbpf versions > v0.8.0.
Signed-off-by: Ciara Loftus
---
doc/guides/nics/af_xdp.rst | 3 ++-
drivers/net/af_xdp/compat.h | 36 -
drivers/net/af_xdp/meson.build | 7 ++
drivers/net/af_xdp/rte_eth_af_xdp.
off-by: Ciara Loftus
---
v2:
* Updated release notes
* Removed version limiting to libbpf v0.8.0
---
doc/guides/nics/af_xdp.rst | 3 ++-
doc/guides/rel_notes/release_22_07.rst | 4 +++
drivers/net/af_xdp/compat.h| 36 +-
drivers/net/af_xdp/meson.bu
secondary process is disabled. However other operations
including retrieval of stats are permitted.
Signed-off-by: Ciara Loftus
---
RFC -> v1:
* Added newline to af_xdp.rst
* Fixed spelling errors
* Fixed potential NULL dereference in init_internals
* Fixed potential free of address-of expression
the version of libxdp on the system, so it is
necessary that the library is discoverable using pkg-config in order for
the PMD to use it. To verify this, you can run:
pkg-config --modversion libxdp
[1] https://github.com/libbpf/libbpf/commit/277846bc6c15
Signed-off-by: Ciara Loftus
---
RFC -&
the version of libxdp on the system, so it is
necessary that the library is discoverable using pkg-config in order for
the PMD to use it. To verify this, you can run:
pkg-config --modversion libxdp
[1] https://github.com/libbpf/libbpf/commit/277846bc6c15
Signed-off-by: Ciara Loftus
---
v2:
*
the version of libxdp on the system, so it is necessary that the
library is discoverable using pkg-config in order for the PMD to use it. To
verify this, you can run: pkg-config --modversion libxdp
[1] https://github.com/libbpf/libbpf/commit/277846bc6c15
Signed-off-by: Ciara Loftus
---
v3:
*
secondary process is disabled. However other operations
including retrieval of stats are permitted.
Signed-off-by: Ciara Loftus
---
v1 -> v2:
* Rebase to next-net
RFC -> v1:
* Added newline to af_xdp.rst
* Fixed spelling errors
* Fixed potential NULL dereference in init_internals
* Fixed potentia
secondary process is disabled. However other operations
including retrieval of stats are permitted.
Signed-off-by: Ciara Loftus
---
v2 -> v3:
* Rebase to next-net
* Updated logs to be more specific about multi-process IPC
* Free process_private in _close and _remove functions
*
AF_XDP rings being assigned by the kernel in the primary process only.
However other operations including retrieval of stats are permitted.
Signed-off-by: Ciara Loftus
---
v3 -> v4:
* Rebase to next-net
* Reword limitation which requires Rx and Tx to be disabled.
v2 -> v3:
* Rebase to ne
found. Document this requirement.
Also, mention that the following logs which are generated on application
launch can be ignored:
libbpf: elf: skipping unrecognized data section(7) .xdp_run_config
libbpf: elf: skipping unrecognized data section(8) xdp_metadata
Signed-off-by: Ciara Loftus
, bpf_link will be
used for the AF_XDP netdev.
Signed-off-by: Ciara Loftus
Signed-off-by: Maciej Fijalkowski
---
drivers/net/af_xdp/compat.h | 120
drivers/net/af_xdp/meson.build | 7 ++
drivers/net/af_xdp/rte_eth_af_xdp.c | 13 +--
3 files ch
, bpf_link will be
used for the AF_XDP netdev.
Signed-off-by: Ciara Loftus
Signed-off-by: Maciej Fijalkowski
---
drivers/net/af_xdp/compat.h | 124
drivers/net/af_xdp/meson.build | 7 ++
drivers/net/af_xdp/rte_eth_af_xdp.c | 13 +--
3 files ch
etting the max_rx_pktlen equal to the max size of the
Ethernet frame as expected, and the max MTU equal to the max_rx_pktlen
less the overhead which is set to the size of an Ethernet header plus
CRC.
Fixes: 1bb4a528c41f ("ethdev: fix max Rx packet length")
Signed-off-by: Ciara Loftus
---
0cc6e893b ("net/af_xdp: use BPF link for XDP programs")
Signed-off-by: Ciara Loftus
---
drivers/net/af_xdp/compat.h | 124
drivers/net/af_xdp/meson.build | 7 --
drivers/net/af_xdp/rte_eth_af_xdp.c | 13 ++-
3 files changed, 5 insertions(+
e new bpf link based method.
Signed-off-by: Ciara Loftus
---
drivers/net/af_xdp/rte_eth_af_xdp.c | 29 ++---
1 file changed, 22 insertions(+), 7 deletions(-)
diff --git a/drivers/net/af_xdp/rte_eth_af_xdp.c
b/drivers/net/af_xdp/rte_eth_af_xdp.c
index 1c7689c9b4..96c2c9d939
.@dpdk.org
Signed-off-by: Ciara Loftus
---
drivers/net/af_xdp/rte_eth_af_xdp.c | 121 ++--
1 file changed, 60 insertions(+), 61 deletions(-)
diff --git a/drivers/net/af_xdp/rte_eth_af_xdp.c
b/drivers/net/af_xdp/rte_eth_af_xdp.c
index 96c2c9d939..b3ed704b36 100644
--- a/drivers/
prior to v0.7.0 are
allowed, as they still contain the required AF_XDP functionality.
libbpf still remains a dependency even if libxdp is present, as we
use libbpf APIs for program loading.
[1] https://github.com/libbpf/libbpf/commit/277846bc6c15
Signed-off-by: Ciara Loftus
---
doc/guides/nics
secondary process is disabled. However other operations
including retrieval of stats are permitted.
Signed-off-by: Ciara Loftus
---
doc/guides/nics/af_xdp.rst | 9 ++
doc/guides/nics/features/af_xdp.ini| 1 +
doc/guides/rel_notes/release_22_03.rst | 4 +
drivers/net/af_xdp
dev=net_af_xdp0,iface=eth0,busy_budget=512
14.32Mpps
To disable preferred busy polling:
./dpdk-testpmd --vdev=net_af_xdp0,iface=eth0,busy_budget=0
[1] https://lwn.net/Articles/837010/
Ciara Loftus (3):
net/af_xdp: Increase max batch size to 512
net/af_xdp: Use recvfrom() instead of poll
Prior to this the max size was 32 which was unnecessarily
small. Also enforce the max batch size for TX for both
copy and zero copy modes. Prior to this only copy mode
enforced the max size.
Signed-off-by: Ciara Loftus
---
drivers/net/af_xdp/rte_eth_af_xdp.c | 8
1 file changed, 4
poll() is more expensive and requires more tuning
when used with the upcoming busy polling functionality.
Signed-off-by: Ciara Loftus
---
drivers/net/af_xdp/rte_eth_af_xdp.c | 7 ---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/drivers/net/af_xdp/rte_eth_af_xdp.c
b/drivers
.
Signed-off-by: Ciara Loftus
---
doc/guides/nics/af_xdp.rst | 38 +-
drivers/net/af_xdp/compat.h | 13 +
drivers/net/af_xdp/rte_eth_af_xdp.c | 80 -
3 files changed, 116 insertions(+), 15 deletions(-)
diff --git a/doc/guides/nics/af_
FC->v1:
* Fixed behaviour of busy_budget=0
* Ensure we bail out if any of the new setsockopts fail
[1] https://lwn.net/Articles/837010/
Ciara Loftus (3):
net/af_xdp: Increase max batch size to 512
net/af_xdp: Use recvfrom() instead of poll()
net/af_xdp: preferred busy polling
doc/guid
Prior to this the max size was 32 which was unnecessarily
small. Also enforce the max batch size for TX for both
copy and zero copy modes. Prior to this only copy mode
enforced the max size.
Signed-off-by: Ciara Loftus
---
drivers/net/af_xdp/rte_eth_af_xdp.c | 8
1 file changed, 4
poll() is more expensive and requires more tuning
when used with the upcoming busy polling functionality.
Signed-off-by: Ciara Loftus
---
drivers/net/af_xdp/rte_eth_af_xdp.c | 7 ---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/drivers/net/af_xdp/rte_eth_af_xdp.c
b/drivers
.
Signed-off-by: Ciara Loftus
---
doc/guides/nics/af_xdp.rst | 38 -
drivers/net/af_xdp/compat.h | 13 +
drivers/net/af_xdp/rte_eth_af_xdp.c | 85 -
3 files changed, 121 insertions(+), 15 deletions(-)
diff --git a/doc/guides/nics/af_
("net/af_xdp: support unaligned umem chunks")
Cc: sta...@dpdk.org
Signed-off-by: Ciara Loftus
---
drivers/net/af_xdp/rte_eth_af_xdp.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/net/af_xdp/rte_eth_af_xdp.c
b/drivers/net/af_xdp/rte_eth_af_xdp.c
index
Record the port id in the af_xdp rx queue structure and use it
to set the port id of the mbuf of a received packed.
Bugzilla ID: 1428
Fixes: f1debd77efaf ("net/af_xdp: introduce AF_XDP PMD")
cc: sta...@dpdk.og
Reported-by: Stephen Hemminger
Signed-off-by: Ciara Loftus
---
drivers/
Failures to allocate mbufs in the receive path were not being
accounted for in the ethdev statistics. Fix this.
Bugzilla ID: 1429
Fixes: f1debd77efaf ("net/af_xdp: introduce AF_XDP PMD")
cc: sta...@dpdk.og
Reported-by: Stephen Hemminger
Signed-off-by: Ciara Loftus
---
drivers/
t;net/af_xdp: introduce AF_XDP PMD")
cc: sta...@dpdk.og
Reported-by: Stephen Hemminger
Signed-off-by: Ciara Loftus
---
drivers/net/af_xdp/rte_eth_af_xdp.c | 19 +--
1 file changed, 17 insertions(+), 2 deletions(-)
diff --git a/drivers/net/af_xdp/rte_eth_af_xdp.c
b/drivers/
Series of fixes for the AF_XDP PMD.
Ciara Loftus (4):
net/af_xdp: fix port ID not set in Rx mbuf
net/af_xdp: fix mbuf alloc failed statistic
net/af_xdp: fix stats reset
net/af_xdp: remove unused local statistic
drivers/net/af_xdp/rte_eth_af_xdp.c | 30 +
1
Record the port id in the af_xdp rx queue structure and use it
to set the port id of the mbuf of a received packed.
Bugzilla ID: 1428
Fixes: f1debd77efaf ("net/af_xdp: introduce AF_XDP PMD")
cc: sta...@dpdk.org
Reported-by: Stephen Hemminger
Signed-off-by: Ciara Loftus
Acked-by: Mar
Failures to allocate mbufs in the receive path were not being
accounted for in the ethdev statistics. Fix this.
Bugzilla ID: 1429
Fixes: f1debd77efaf ("net/af_xdp: introduce AF_XDP PMD")
cc: sta...@dpdk.org
Reported-by: Stephen Hemminger
Signed-off-by: Ciara Loftus
---
v2:
* Fix
t;net/af_xdp: introduce AF_XDP PMD")
cc: sta...@dpdk.org
Reported-by: Stephen Hemminger
Signed-off-by: Ciara Loftus
Acked-by: Maryam Tahhan
---
v2:
* Removed whitespace in rx_stats struct
* Fixed typo in commit message
drivers/net/af_xdp/rte_eth_af_xdp.c | 18 --
1 file c
The rx_dropped statistic is never incremented so its existence
is pointless. Remove it.
Fixes: f1debd77efaf ("net/af_xdp: introduce AF_XDP PMD")
cc: sta...@dpdk.org
Reported-by: Stephen Hemminger
Signed-off-by: Ciara Loftus
---
drivers/net/af_xdp/rte_eth_af_xdp.c | 2 --
1 file
rg
Signed-off-by: Ciara Loftus
Reported-by: Stephen Hemminger
---
drivers/net/af_xdp/rte_eth_af_xdp.c | 15 +--
1 file changed, 5 insertions(+), 10 deletions(-)
diff --git a/drivers/net/af_xdp/rte_eth_af_xdp.c
b/drivers/net/af_xdp/rte_eth_af_xdp.c
index 9bea0a895a..d61cb0aa7c 10
using rte_mp_msg to pass the state to the
secondary process that it requires in order to work.
Bugzilla ID: 805
Fixes: f1debd77efaf ("net/af_xdp: introduce AF_XDP PMD")
Cc: sta...@dpdk.org
Signed-off-by: Ciara Loftus
Reported-by: Stephen Hemminger
---
doc/guides/rel_notes/release_21_1
olling via setsockopt instead of using the presence
of the flag
RFC->v1:
* Fixed behaviour of busy_budget=0
* Ensure we bail out any of the new setsockopts fail
[1] https://lwn.net/Articles/837010/
Ciara Loftus (3):
net/af_xdp: allow bigger batch sizes
net/af_xdp: Use recvfrom() instea
rx/tx need to be sized at compile-time.
Allowing a larger batch size allows for fewer batches and thus larger bulk
operations, fewer ring accesses and fewer syscalls which should yield
improved performance.
Signed-off-by: Ciara Loftus
---
drivers/net/af_xdp/rte_eth_af_
poll() is more expensive and requires more tuning
when used with the upcoming busy polling functionality.
Signed-off-by: Ciara Loftus
---
drivers/net/af_xdp/rte_eth_af_xdp.c | 6 --
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/net/af_xdp/rte_eth_af_xdp.c
b/drivers
.
Signed-off-by: Ciara Loftus
---
doc/guides/nics/af_xdp.rst | 38 +++-
doc/guides/rel_notes/release_21_05.rst | 4 +
drivers/net/af_xdp/compat.h| 14 +++
drivers/net/af_xdp/rte_eth_af_xdp.c| 117 ++---
4 files changed, 161 insertions(+),
iour of busy_budget=0
* Ensure we bail out any of the new setsockopts fail
[1] https://lwn.net/Articles/837010/
Ciara Loftus (3):
net/af_xdp: allow bigger batch sizes
net/af_xdp: Use recvfrom() instead of poll()
net/af_xdp: preferred busy polling
doc/guides/nics/af_xdp.rst |
rx/tx need to be sized at compile-time.
Allowing a larger batch size allows for fewer batches and thus larger bulk
operations, fewer ring accesses and fewer syscalls which should yield
improved performance.
Signed-off-by: Ciara Loftus
---
drivers/net/af_xdp/rte_eth_af_
poll() is more expensive and requires more tuning
when used with the upcoming busy polling functionality.
Signed-off-by: Ciara Loftus
---
drivers/net/af_xdp/rte_eth_af_xdp.c | 6 --
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/net/af_xdp/rte_eth_af_xdp.c
b/drivers
.
Signed-off-by: Ciara Loftus
---
doc/guides/nics/af_xdp.rst | 38 ++-
doc/guides/rel_notes/release_21_05.rst | 4 +
drivers/net/af_xdp/compat.h| 14 +++
drivers/net/af_xdp/rte_eth_af_xdp.c| 135 +++--
4 files changed, 179 insertions(+),
'void'.
Coverity issue: 369671
Fixes: 63e8989fe5a4 ("net/af_xdp: use recvfrom instead of poll syscall")
Signed-off-by: Ciara Loftus
---
drivers/net/af_xdp/rte_eth_af_xdp.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/af_xdp/rte_eth_af_xd
Test if the libbpf version is >= v0.7.0 at the beginning of the meson
build. Later when we want to check if the version is <= v0.6.0 just use
the inverse of the first check ie. ! >= v0.7.0.
Signed-off-by: Ciara Loftus
---
drivers/net/af_xdp/meson.build | 12 ++--
1 file c
Instead of using pkg-config to query the version of the libbpf library,
search for symbols in the library and use their presence or absence to
determine what version of the library is being linked.
Suggested-by: Andrew Rybchenko
Signed-off-by: Ciara Loftus
---
drivers/net/af_xdp/meson.build
Generate af_xdp_autoconf.h which contains the different features
detected by the meson build instead of using cflags.
Suggested-by: Andrew Rybchenko
Signed-off-by: Ciara Loftus
---
drivers/net/af_xdp/compat.h| 8 +---
drivers/net/af_xdp/meson.build | 15 ---
2 files
libbpf v0.7.0 deprecates the bpf_prog_load function. Use meson to detect
if libbpf >= v0.7.0 is linked and if so, use the recommended replacement
functions bpf_object__open_file and bpf_oject__load.
Signed-off-by: Ciara Loftus
---
drivers/net/af_xdp/compat.h |
libbpf v0.7.0 deprecates the bpf_prog_load function. Use meson to detect
if libbpf >= v0.7.0 is linked and if so, use the recommended replacement
functions bpf_object__open_file and bpf_object__load.
Signed-off-by: Ciara Loftus
---
v1 -> v2:
* Fix typo in commit message
* Fix typo in meson
nd custom program loading")
Cc: sta...@dpdk.org
Signed-off-by: Ciara Loftus
---
drivers/net/af_xdp/rte_eth_af_xdp.c | 17 +
1 file changed, 9 insertions(+), 8 deletions(-)
diff --git a/drivers/net/af_xdp/rte_eth_af_xdp.c
b/drivers/net/af_xdp/rte_eth_af_xdp.c
index 6ac710c6bd..5f
are available before creating the
socket, instead of after.
Signed-off-by: Ciara Loftus
---
drivers/net/af_xdp/rte_eth_af_xdp.c | 28 ++--
1 file changed, 14 insertions(+), 14 deletions(-)
diff --git a/drivers/net/af_xdp/rte_eth_af_xdp.c
b/drivers/net/af_xdp
queues. In this case, traffic might land on for example queue 18 which
means it will never reach the socket.
This commit updates the AF_XDP documentation with instructions on how to
configure the interface to ensure the traffic will land on queue 0 and
thus reach the socket successfully.
Signed-off
t creation, depending on the refcnt value.
The kernel logs will still be seen for the shared umem queues.
Fixes: 81fe6720f84f ("net/af_xdp: reserve fill queue before socket create")
Signed-off-by: Ciara Loftus
---
drivers/net/af_xdp/rte_eth_af_xdp.c | 22 ++
. Doing this removes a build warning
on kernels before 5.4 which complained about the second function
being defined but not used.
Fixes: 2aa51cdd559e ("net/af_xdp: fix trigger for syscall on Tx")
Signed-off-by: Ciara Loftus
---
drivers/net/af_xdp/compat.h
rte_eth_vhost function that returns the
'vid' associated with a given port id. This allows the PMD user to call
vHost library functions which require the 'vid' value.
Signed-off-by: Ciara Loftus
---
drivers/net/vhost/rte_eth_vhost.c | 29
rte_eth_vhost_get_vid_from_port_id returns a value of 0 if called before
the first call to the new_device callback. A vid value >=0 suggests the
device is active which is not the case in this instance. Initialise vid
to a negative value to prevent this.
Signed-off-by: Ciara Loftus
---
driv
rte_eth_vhost_get_vid_from_port_id returns a value of 0 if called before
the first call to the new_device callback. A vid value >=0 suggests the
device is active which is not the case in this instance. Initialise vid
to a negative value to prevent this.
Signed-off-by: Ciara Loftus
Fi
correct
socket_id to the device during the new_device callback.
Signed-off-by: Ciara Loftus
---
drivers/net/vhost/rte_eth_vhost.c | 28 ++--
1 file changed, 14 insertions(+), 14 deletions(-)
diff --git a/drivers/net/vhost/rte_eth_vhost.c
b/drivers/net/vhost/rte_eth_vhost.c
Replace Xiaolong Ye with Ciara Loftus.
Signed-off-by: Ciara Loftus
---
MAINTAINERS | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/MAINTAINERS b/MAINTAINERS
index 1cce93a0f8..6cdd8bd1e4 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -565,7 +565,7 @@ F: drivers/net/af_packet
value
The maximum MTU for af_xdp zero copy is equal to the page size less the
frame overhead introduced by AF_XDP (XDP HR = 256) and DPDK (frame hr =
320). The patch updates this value to reflect this, and removes some
unneeded constants for both zero-copy and copy mode.
Ciara Loftus (3):
arger
packets which are close to the size of the mbuf.
Fixes: d8a210774e1d ("net/af_xdp: support unaligned umem chunks")
Cc: sta...@dpdk.org
Signed-off-by: Ciara Loftus
---
drivers/net/af_xdp/rte_eth_af_xdp.c | 24
1 file changed, 16 insertions(+), 8 deletions(-
rectly used
mb_pool->private_data_size and didn't include mb_pool->header_size or the
mbuf priv size. Fix this.
Fixes: d8a210774e1d ("net/af_xdp: support unaligned umem chunks")
Cc: sta...@dpdk.org
Signed-off-by: Ciara Loftus
---
drivers/net/af_xdp/rte_eth_af_xdp.c | 13
mode.
Fixes: d8a210774e1d ("net/af_xdp: support unaligned umem chunks")
Cc: sta...@dpdk.org
Signed-off-by: Ciara Loftus
---
drivers/net/af_xdp/rte_eth_af_xdp.c | 23 +++
1 file changed, 11 insertions(+), 12 deletions(-)
diff --git a/drivers/net/af_xdp/rte_eth_a
value
The maximum MTU for af_xdp zero copy is equal to the page size less the
frame overhead introduced by AF_XDP (XDP HR = 256) and DPDK (frame hr =
320). The patch updates this value to reflect this, and removes some
unneeded constants for both zero-copy and copy mode.
v2:
* Include mbuf priv
rectly used
mb_pool->private_data_size and didn't include mb_pool->header_size or the
mbuf priv size. Fix this.
Fixes: d8a210774e1d ("net/af_xdp: support unaligned umem chunks")
Cc: sta...@dpdk.org
Signed-off-by: Ciara Loftus
---
drivers/net/af_xdp/rte_eth_af_xdp.c | 13
mode.
Fixes: d8a210774e1d ("net/af_xdp: support unaligned umem chunks")
Cc: sta...@dpdk.org
Signed-off-by: Ciara Loftus
---
drivers/net/af_xdp/rte_eth_af_xdp.c | 23 +++
1 file changed, 11 insertions(+), 12 deletions(-)
diff --git a/drivers/net/af_xdp/rte_eth_a
arger packets which are close to the size of the mbuf.
Fixes: d8a210774e1d ("net/af_xdp: support unaligned umem chunks")
Cc: sta...@dpdk.org
Signed-off-by: Ciara Loftus
---
v2:
* Include mbuf priv size in rx mbuf data_off calculation
Ciara Loftus (3):
net/af_xdp: fix umem frame
arger packets which are close to the size of the mbuf.
Fixes: d8a210774e1d ("net/af_xdp: support unaligned umem chunks")
Cc: sta...@dpdk.org
Signed-off-by: Ciara Loftus
---
drivers/net/af_xdp/rte_eth_af_xdp.c | 25 +
1 file changed, 17 insertions(+), 8 deletions(-
rectly used
mb_pool->private_data_size and didn't include mb_pool->header_size or the
mbuf priv size. Fix this.
Fixes: d8a210774e1d ("net/af_xdp: support unaligned umem chunks")
Cc: sta...@dpdk.org
Signed-off-by: Ciara Loftus
---
drivers/net/af_xdp/rte_eth_af_xdp.c | 13
issue - use in-reply-to
v2:
* Include mbuf priv size in rx mbuf data_off calculation
Ciara Loftus (3):
net/af_xdp: fix umem frame size & headroom calculations
net/af_xdp: use correct fill queue addresses
net/af_xdp: fix maximum MTU value
drivers/net/af_xdp/rte_eth_af_xdp.c | 61 ++
mode.
Fixes: d8a210774e1d ("net/af_xdp: support unaligned umem chunks")
Cc: sta...@dpdk.org
Signed-off-by: Ciara Loftus
---
drivers/net/af_xdp/rte_eth_af_xdp.c | 23 +++
1 file changed, 11 insertions(+), 12 deletions(-)
diff --git a/drivers/net/af_xdp/rte_eth_a
mode.
Fixes: d8a210774e1d ("net/af_xdp: support unaligned umem chunks")
Cc: sta...@dpdk.org
Signed-off-by: Ciara Loftus
---
drivers/net/af_xdp/rte_eth_af_xdp.c | 23 +++
1 file changed, 11 insertions(+), 12 deletions(-)
diff --git a/drivers/net/af_xdp/rte_eth_a
ET_HEADROOM from max mtu for copy mode.
v3:
* Fix send-email issue - use in-reply-to
v2:
* Include mbuf priv size in rx mbuf data_off calculation
Ciara Loftus (3):
net/af_xdp: fix umem frame size & headroom calculations
net/af_xdp: use correct fill queue addresses
net/af_xdp: fix maximum
arger packets which are close to the size of the mbuf.
Fixes: d8a210774e1d ("net/af_xdp: support unaligned umem chunks")
Cc: sta...@dpdk.org
Signed-off-by: Ciara Loftus
Reviewed-by: Xiaolong Ye
---
drivers/net/af_xdp/rte_eth_af_xdp.c | 25 +
1 file changed, 17 i
rectly used
mb_pool->private_data_size and didn't include mb_pool->header_size or the
mbuf priv size. Fix this.
Fixes: d8a210774e1d ("net/af_xdp: support unaligned umem chunks")
Cc: sta...@dpdk.org
Signed-off-by: Ciara Loftus
Reviewed-by: Xiaolong Ye
---
drivers/
Explain how kernel driver RX buffer sizes affect the maximum
MTU size in practice.
Signed-off-by: Ciara Loftus
---
doc/guides/nics/af_xdp.rst | 26 +++---
1 file changed, 23 insertions(+), 3 deletions(-)
diff --git a/doc/guides/nics/af_xdp.rst b/doc/guides/nics/af_xdp.rst
the driver.
With these changes, a benchmark which measured the packet rate at which
0.01% packet loss could be reached improved from ~0.1G to ~3Gbps.
Signed-off-by: Ciara Loftus
---
drivers/net/af_xdp/rte_eth_af_xdp.c | 18 ++
1 file changed, 10 insertions(+), 8 deletions(-)
di
to ~3Gbps.
Signed-off-by: Ciara Loftus
Acked-by: Xiaolong Ye
---
v1->v2:
- added emulated tx_free_thresh as suggested by Stephen Hemminger
drivers/net/af_xdp/rte_eth_af_xdp.c | 20
1 file changed, 12 insertions(+), 8 deletions(-)
diff --git a/drivers/net/af_xdp/rte_et
: use single producer/consumer ring")
Cc: sta...@dpdk.org
Signed-off-by: Ciara Loftus
---
drivers/net/af_xdp/rte_eth_af_xdp.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/af_xdp/rte_eth_af_xdp.c
b/drivers/net/af_xdp/rte_eth_af_xdp.c
index 06124ba789..2fab916
Packets larger than this will fail to be transmitted by AF_XDP,
so limit the MTU to 1500.
Signed-off-by: Ciara Loftus
---
drivers/net/af_xdp/rte_eth_af_xdp.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/net/af_xdp/rte_eth_af_xdp.c
b/drivers/net/af_xdp
eature and enable it if so
and otherwise fall back to copy mode if not detected.
When enabled, this feature significantly improves single-core performance
of the PMD.
Signed-off-by: Ciara Loftus
Signed-off-by: Kevin Laatz
---
doc/guides/nics/af_xdp.rst | 1 -
doc/guides/rel_notes/rel
e argument.
The drivers supported for this feature are those with support for
AF_XDP zero copy in the kernel, namely ixgbe, i40e and mlx5_core.
Signed-off-by: Ciara Loftus
Signed-off-by: Bruce Richardson
---
doc/guides/nics/af_xdp.rst | 1 +
doc/guides/rel_notes/release_19_11
eature and enable it if so
and otherwise fall back to copy mode if not detected.
When enabled, this feature significantly improves single-core performance
of the PMD.
Signed-off-by: Ciara Loftus
Signed-off-by: Kevin Laatz
---
v2:
* Updated af_xdp.rst with kernel dependency info
* Fixed case on rx
akeup feature") breaks
above rule by adding some condition to send, this patch fixes it while
still keeps the need_wakeup feature for Tx.
Fixes: 45bba02c95b0 ("net/af_xdp: support need wakeup feature")
Cc: sta...@dpdk.org
Signed-off-by: Xiaolong Ye
Tested-by: Ciara Loftus
---
e argument.
The drivers supported for this feature are those with support for
AF_XDP zero copy in the kernel, namely ixgbe, i40e and mlx5_core.
Signed-off-by: Ciara Loftus
Signed-off-by: Bruce Richardson
---
doc/guides/nics/af_xdp.rst | 15 ++
doc/guides/rel_notes/release_19_11
0 88.36%
2 1 1 122.86%
Ciara Loftus (2):
net/af_xdp: support pinning of IRQs
net/af_xdp: enable support for unaligned umem chunks
Xiaolong Ye (1):
net/af_xdp: fix Tx halt when no recv packets
doc/guides/nics/af_xdp.rst | 17 +-
doc/guides
eature and enable it if so
and otherwise fall back to copy mode if not detected.
Signed-off-by: Ciara Loftus
Signed-off-by: Kevin Laatz
---
doc/guides/nics/af_xdp.rst | 2 +-
doc/guides/rel_notes/release_19_11.rst | 4 +
drivers/net/af_xdp/rte_eth_af_xdp.c| 375 ++
out of reserve_fill_queue
* Free correct mbuf on reserve fail for tx
The performance of the new zero copy implementation was measured to be within 5%
of the previous zero copy implementation, generally with an improvement observed
for single-core (with need wakeup) and multiple-PMD test cases.
Ciara Lof
e argument.
The drivers supported for this feature are those with support for
AF_XDP zero copy in the kernel, namely ixgbe, i40e and mlx5_core.
Signed-off-by: Ciara Loftus
Signed-off-by: Bruce Richardson
---
doc/guides/nics/af_xdp.rst | 15 +
doc/guides/rel_notes/release_19_11
eature and enable it if so
and otherwise fall back to copy mode if not detected.
Signed-off-by: Ciara Loftus
Signed-off-by: Kevin Laatz
---
doc/guides/nics/af_xdp.rst | 2 +-
doc/guides/rel_notes/release_19_11.rst | 4 +
drivers/net/af_xdp/rte_eth_af_xdp.c| 402 ++
akeup feature") breaks
above rule by adding some condition to send, this patch fixes it while
still keeps the need_wakeup feature for Tx.
Fixes: 45bba02c95b0 ("net/af_xdp: support need wakeup feature")
Cc: sta...@dpdk.org
Signed-off-by: Xiaolong Ye
Tested-by: Ciara Loftus
---
ixes: d8a210774e1d ("net/af_xdp: support unaligned umem chunks")
Cc: sta...@dpdk.org
Signed-off-by: Ciara Loftus
---
doc/guides/nics/af_xdp.rst | 1 +
drivers/net/af_xdp/rte_eth_af_xdp.c | 6 +++---
2 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/doc/guides/
AF_XDP will not work on 32-bit kernels before version 5.4.
Document this restriction in the driver guide.
Signed-off-by: Ciara Loftus
---
doc/guides/nics/af_xdp.rst | 1 +
1 file changed, 1 insertion(+)
diff --git a/doc/guides/nics/af_xdp.rst b/doc/guides/nics/af_xdp.rst
index 052e59a3ae
Other PMDs may be using the mempool, so don't free it when destroying the
UMEM.
Fixes: d8a210774e1d ("net/af_xdp: support unaligned umem chunks")
Cc: sta...@dpdk.org
Signed-off-by: Ciara Loftus
---
drivers/net/af_xdp/rte_eth_af_xdp.c | 1 -
1 file changed, 1 deletion(-)
diff
The af_xdp rx function was returning a negative value on error, when an
unsigned value is expected. Fix this.
Fixes: d8a210774e1d ("net/af_xdp: support unaligned umem chunks")
Cc: sta...@dpdk.org
Signed-off-by: Ciara Loftus
---
drivers/net/af_xdp/rte_eth_af_xdp.c | 2 +-
1 file
1 - 100 of 121 matches
Mail list logo