. This is practical if wanting to measure the
overhead of writing/updating payload for other action types.
Signed-off-by: Jesper Dangaard Brouer
Signed-off-by: Toke Høiland-Jørgensen
---
samples/bpf/xdp_rxq_info_kern.c | 26 +-
samples/bpf/xdp_rxq_info_user.c | 11
either using less RXQs or by
reducing NICs the RX-ring size.
Signed-off-by: Jesper Dangaard Brouer
Signed-off-by: Toke Høiland-Jørgensen
---
samples/bpf/xdp_rxq_info_kern.c | 19 +++
samples/bpf/xdp_rxq_info_user.c | 34 --
2 files changed, 47
While writing an article about XDP, the samples/bpf xdp_rxq_info
program were extended to cover some more use-cases.
---
Jesper Dangaard Brouer (2):
samples/bpf: extend xdp_rxq_info to read packet payload
samples/bpf: xdp_rxq_info action XDP_TX must adjust MAC-addrs
samples/bpf
The driver was combining the XDP_TX tail flush and XDP_REDIRECT
map flushing (xdp_do_flush_map). This is suboptimal, these two
flush operations should be kept separate.
Fixes: 11393cc9b9be ("xdp: Add batching support to redirect map")
Signed-off-by: Jesper Dangaard Brouer
---
d
ned-off-by: Jesper Dangaard Brouer
---
drivers/net/ethernet/intel/i40e/i40e_txrx.c | 24 +++-
1 file changed, 15 insertions(+), 9 deletions(-)
diff --git a/drivers/net/ethernet/intel/i40e/i40e_txrx.c
b/drivers/net/ethernet/intel/i40e/i40e_txrx.c
index 8ffb7454e67c..c1
ve it up-to
the patchwork assigner ;-)
Jesper Dangaard Brouer (3):
ixgbe: split XDP_TX tail and XDP_REDIRECT map flushing
i40e: split XDP_TX tail and XDP_REDIRECT map flushing
virtio_net: split XDP_TX kick and XDP_REDIRECT map flushing
drivers/net/ethernet/intel/i40e/i40e_t
ckets").
Fixes: 9267c430c6b6 ("virtio-net: add missing virtqueue kick when flushing
packets")
Signed-off-by: Jesper Dangaard Brouer
---
drivers/net/virtio_net.c | 30 +++---
1 file changed, 19 insertions(+), 11 deletions(-)
diff --git a/drivers/net/virtio
/* since we know hash will appear first */
> +if (hash + 1 > data)
> + return XDP_ABORTED;
> +
> +#if 0
> + // Just for testing
> + /* We know that vlan will appear after the hash */
> + vlan = (void *)((char *)data_meta + sizeof(*hash));
> + if (vlan + 1 > data) {
> + return XDP_ABORTED;
> + }
> +#endif
--
Best regards,
Jesper Dangaard Brouer
MSc.CS, Principal Kernel Engineer at Red Hat
LinkedIn: http://www.linkedin.com/in/brouer
On Tue, 26 Jun 2018 17:09:01 -0700
Song Liu wrote:
> On Mon, Jun 25, 2018 at 7:27 AM, Jesper Dangaard Brouer
> wrote:
> > XDP_TX requires also changing the MAC-addrs, else some hardware
> > may drop the TX packet before reaching the wire. This was
> > observed with
flags added).
Sure, and do I handle this correctly in the next patch.
I'm uncertain what you want me to change?
Do you want me to drop the enum, and use #define instead?
--
Best regards,
Jesper Dangaard Brouer
MSc.CS, Principal Kernel Engineer at Red Hat
LinkedIn: http://www.linkedin.com/in/brouer
dp)
> xdp->data_meta = xdp->data + 1;
> }
>
> +static __always_inline void
> +xdp_reset_data_meta(struct xdp_buff *xdp)
> +{
> + xdp->data_meta = xdp->data_hard_start;
> +}
This is WRONG ... it should be:
xdp->data_meta = xdp->data;
--
Best reg
i40e_get_stats_count(netdev) *
ETH_GSTRING_LEN,
1907 "stat strings count mismatch!");
1908}
1909
1910static void i40e_get_priv_flag_strings(struct net_device *netdev, u8
*data)
--
Best regards,
Jesper Dangaard Brouer
MSc.CS, Principal Kernel Engineer at Red Ha
, and a crash occurs in validate_xmit_skb_list().
This patch only fixes the crash, but there is a huge potential for
a performance boost if we can pass an SKB-list through to ip_forward.
Fixes: 5fa12739a53d ("net: ipv4: listify ip_rcv_finish")
Signed-off-by: Jesper Dangaard Brouer
---
Only d
On Wed, 11 Jul 2018 19:05:20 +
Saeed Mahameed wrote:
> On Wed, 2018-07-11 at 17:01 +0200, Jesper Dangaard Brouer wrote:
> > Only driver sfc actually uses this, but I don't have this NIC, so I
> > tested this on mlx5, with my own changes to make it use
> > netif_r
On Wed, 11 Jul 2018 16:41:35 +0100
Edward Cree wrote:
> On 11/07/18 16:01, Jesper Dangaard Brouer wrote:
> > In commit 5fa12739a53d ("net: ipv4: listify ip_rcv_finish") calling
> > dst_input(skb) was split-out. The ip_sublist_rcv_finish() just calls
> > dst_in
0)
> > goto err_redirect;
> > rcu_read_unlock();
> > local_bh_enable();
>
> Acked-by: Jason Wang
Acked-by: Jesper Dangaard Brouer
Thanks for catching and fixing this!
--
Best regards,
Jesper Dangaard Brouer
MSc.CS, Principal Kernel Engineer at Red Hat
LinkedIn: http://www.linkedin.com/in/brouer
On Thu, 12 Jul 2018 23:10:28 +0300 Or Gerlitz wrote:
> On Wed, Jul 11, 2018 at 11:06 PM, Jesper Dangaard Brouer
> wrote:
>
> > Well, I would prefer you to implement those. I just did a quick
> > implementation (its trivially easy) so I have something to benchmark
>
Marek Majkowski
Signed-off-by: Jesper Dangaard Brouer
---
Suricata code pointer:
https://github.com/OISF/suricata/blob/master/ebpf/xdp_filter.c#L234-L245
I'm controlled via Twitter:
https://twitter.com/majek04/status/1017492418227331073
samples/bpf/xdp_redirect_cpu_kern.c | 11 +
On Fri, 13 Jul 2018 15:19:40 +0100
Edward Cree wrote:
> On 12/07/18 21:10, Or Gerlitz wrote:
> > On Wed, Jul 11, 2018 at 11:06 PM, Jesper Dangaard Brouer
> > wrote:
> >> One reason I didn't "just" send a patch, is that Edward so-fare only
> >&
On Wed, 7 Mar 2018 13:50:19 +0200
Tariq Toukan wrote:
> On 06/03/2018 11:48 PM, Jesper Dangaard Brouer wrote:
> > Now all the users of ndo_xdp_xmit have been converted to use
> > xdp_return_frame.
> > This enable a different memory model, thus activating another
On Wed, 7 Mar 2018 14:11:36 +0200
Tariq Toukan wrote:
> On 06/03/2018 11:48 PM, Jesper Dangaard Brouer wrote:
> > This patch shows how it is possible to have both the driver local page
> > cache, which uses elevated refcnt for "catching"/avoiding SKB
> > put_pa
Introduce an xdp_return_frame API, and convert over cpumap as
the first user, given it have queued XDP frame structure to leverage.
Signed-off-by: Jesper Dangaard Brouer
---
include/net/xdp.h | 32 +++
kernel/bpf/cpumap.c | 60
and xdp_return_frame
APIs to support bulking. As this will address some known limits.
V2: Updated according to Tariq's feedback
---
Jesper Dangaard Brouer (15):
mlx5: basic XDP_REDIRECT forward support
xdp: introduce xdp_return_frame API and use in cpumap
ixgbe
ff-by: Jesper Dangaard Brouer
---
drivers/net/ethernet/mellanox/mlx5/core/en.h|1 +
drivers/net/ethernet/mellanox/mlx5/core/en_rx.c | 27 ---
2 files changed, 25 insertions(+), 3 deletions(-)
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en.h
b/drivers/net/eth
Extend struct ixgbe_tx_buffer to store the xdp_mem_info.
Signed-off-by: Jesper Dangaard Brouer
---
drivers/net/ethernet/intel/ixgbe/ixgbe.h |1 +
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c |6 --
2 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/drivers/net
Now all the users of ndo_xdp_xmit have been converted to use xdp_return_frame.
This enable a different memory model, thus activating another code path
in the xdp_return_frame API.
V2: Fixed issues pointed out by Tariq.
Signed-off-by: Jesper Dangaard Brouer
---
drivers/net/ethernet/mellanox
ot be trused/used when dequeueing the frame.
Signed-off-by: Jesper Dangaard Brouer
---
drivers/net/tun.c | 45 +++--
drivers/vhost/net.c|7 ---
include/linux/if_tun.h |4 ++--
3 files changed, 29 insertions(+), 27 deletions(-)
diff
This is done to prepare for the next patch, and it is also
nice to move this XDP related struct out of filter.h.
Signed-off-by: Jesper Dangaard Brouer
---
include/linux/filter.h | 24 +---
include/net/xdp.h | 22 ++
2 files changed, 23 insertions
the page_pool helper page_pool_destroy_rcu() (which
avoids touching any driver code during the RCU callback, which could
happen after the driver have been unloaded).
Signed-off-by: Jesper Dangaard Brouer
---
include/net/xdp.h |4 +++-
net/core/xdp.c| 23 ---
2 files
This is needed to convert drivers tuntap and virtio_net.
This is a generalization of what is done inside cpumap, which will be
converted later.
Signed-off-by: Jesper Dangaard Brouer
---
include/net/xdp.h | 40
1 file changed, 40 insertions(+)
diff
Dangaard Brouer
---
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 21 +++--
drivers/net/tun.c | 11 +--
drivers/net/virtio_net.c | 24 ++--
include/linux/netdevice.h |4 ++--
net
allow us to use the xdp_return_frame API,
when releasing the frame.
Signed-off-by: Jesper Dangaard Brouer
---
drivers/net/virtio_net.c | 31 +--
1 file changed, 21 insertions(+), 10 deletions(-)
diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c
index
not depend the page allocator and
integration into struct page. The DMA mapping feature is kept,
even-though it will not be activated/used in this patchset.
[1]
http://people.netfilter.org/hawk/presentations/MM-summit2016/generic_page_pool_mm_summit2016.pdf
Signed-off-by: Jesper Dangaard Brouer
age_pool_create return codes not return NULL, only
ERR_PTR, as this simplifies err handling in drivers.
- Save a branch in mlx5e_page_release
- Correct page_pool size calc for MLX5_WQ_TYPE_LINKED_LIST_STRIDING_RQ
Signed-off-by: Jesper Dangaard Brouer
---
drivers/net/ethernet/mellanox/mlx5/
allocator
pointer or invoking the allocator destructor function. In any case,
this must happen via RCU freeing.
Use the IDA infrastructure for getting a cyclic increasing ID number,
that is used for keeping track of each registered allocator per
RX-queue xdp_rxq_info.
Signed-off-by: Jesper Dangaard
The generic xdp_frame format, was inspired by the cpumap own internal
xdp_pkt format. It is now time to convert it over to the generic
xdp_frame format. The cpumap needs one extra field dev_rx.
Signed-off-by: Jesper Dangaard Brouer
---
include/net/xdp.h |1 +
kernel/bpf/cpumap.c | 100
rency protocol about our access pattern. My benchmarks show that
this prefetchw is enough to compensate the ixgbe driver.
Signed-off-by: Jesper Dangaard Brouer
---
drivers/net/ethernet/intel/ixgbe/ixgbe.h|4 +---
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 17 +++--
Hi Jason,
Please see below FIXME, which is actually a question to you.
On Thu, 08 Mar 2018 14:08:11 +0100 Jesper Dangaard Brouer
wrote:
> diff --git a/drivers/net/tun.c b/drivers/net/tun.c
> index 475088f947bb..cd046cf31b77 100644
> --- a/drivers/net/tun.c
> +++ b/drive
On Thu, 8 Mar 2018 07:03:07 -0800
Alexander Duyck wrote:
> On Thu, Mar 8, 2018 at 5:07 AM, Jesper Dangaard Brouer
> wrote:
> > This patchset works towards supporting different XDP RX-ring memory
> > allocators. As this will be needed by the AF_XDP zero-copy mode.
> >
&g
On Fri, 9 Mar 2018 15:16:35 +0800
Jason Wang wrote:
> On 2018年03月08日 23:16, Jesper Dangaard Brouer wrote:
> > Hi Jason,
> >
> > Please see below FIXME, which is actually a question to you.
> >
> > On Thu, 08 Mar 2018 14:08:11 +0100 Jesper Dangaard Brouer
&g
On Fri, 9 Mar 2018 15:24:10 +0800
Jason Wang wrote:
> On 2018年03月08日 21:07, Jesper Dangaard Brouer wrote:
> > Introduce an xdp_return_frame API, and convert over cpumap as
> > the first user, given it have queued XDP frame structure to leverage.
> >
> > Signed-off
On Fri, 9 Mar 2018 16:08:58 +0800
Jason Wang wrote:
> On 2018年03月08日 21:08, Jesper Dangaard Brouer wrote:
> > Use the IDA infrastructure for getting a cyclic increasing ID number,
> > that is used for keeping track of each registered allocator per
> > RX-queue xdp_rxq_info.
On Fri, 9 Mar 2018 16:03:28 +0800
Jason Wang wrote:
> On 2018年03月08日 21:08, Jesper Dangaard Brouer wrote:
> > The virtio_net driver assumes XDP frames are always released based on
> > page refcnt (via put_page). Thus, is only queues the XDP data pointer
> > address and u
On Fri, 9 Mar 2018 21:04:23 +0800
Jason Wang wrote:
> On 2018年03月09日 17:35, Jesper Dangaard Brouer wrote:
> > On Fri, 9 Mar 2018 15:24:10 +0800
> > Jason Wang wrote:
> >
> >> On 2018年03月08日 21:07, Jesper Dangaard Brouer wrote:
> >>> Introduce an xdp
On Fri, 9 Mar 2018 21:07:36 +0800
Jason Wang wrote:
> >>> Use the IDA infrastructure for getting a cyclic increasing ID number,
> >>> that is used for keeping track of each registered allocator per
> >>> RX-queue xdp_rxq_info.
> >>>
> >>&
ff-by: Jesper Dangaard Brouer
---
drivers/net/ethernet/mellanox/mlx5/core/en.h|1 +
drivers/net/ethernet/mellanox/mlx5/core/en_rx.c | 27 ---
2 files changed, 25 insertions(+), 3 deletions(-)
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en.h
b/drivers/net/eth
and xdp_return_frame
APIs to support bulking. As this will address some known limits.
V2: Updated according to Tariq's feedback
V3: Feedback from Jason Wang and Alex Duyck
---
Jesper Dangaard Brouer (15):
mlx5: basic XDP_REDIRECT forward support
xdp: introduce xdp_return_fram
This is needed to convert drivers tuntap and virtio_net.
This is a generalization of what is done inside cpumap, which will be
converted later.
Signed-off-by: Jesper Dangaard Brouer
---
include/net/xdp.h | 40
1 file changed, 40 insertions(+)
diff
This is done to prepare for the next patch, and it is also
nice to move this XDP related struct out of filter.h.
Signed-off-by: Jesper Dangaard Brouer
---
include/linux/filter.h | 24 +---
include/net/xdp.h | 22 ++
2 files changed, 23 insertions
Extend struct ixgbe_tx_buffer to store the xdp_mem_info.
Signed-off-by: Jesper Dangaard Brouer
---
drivers/net/ethernet/intel/ixgbe/ixgbe.h |1 +
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c |6 --
2 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/drivers/net
ot be trused/used when dequeueing the frame.
V3: Remove check based on feedback from Jason
Signed-off-by: Jesper Dangaard Brouer
---
drivers/net/tun.c | 43 ---
drivers/vhost/net.c|7 ---
include/linux/if_tun.h |4 ++--
3 files ch
Introduce an xdp_return_frame API, and convert over cpumap as
the first user, given it have queued XDP frame structure to leverage.
V3: Cleanup and remove C99 style comments, pointed out by Alex Duyck.
Signed-off-by: Jesper Dangaard Brouer
---
include/net/xdp.h | 28
not depend the page allocator and
integration into struct page. The DMA mapping feature is kept,
even-though it will not be activated/used in this patchset.
[1]
http://people.netfilter.org/hawk/presentations/MM-summit2016/generic_page_pool_mm_summit2016.pdf
Signed-off-by: Jesper Dangaard Brouer
allocator
pointer or invoking the allocator destructor function. In any case,
this must happen via RCU freeing.
Use the IDA infrastructure for getting a cyclic increasing ID number,
that is used for keeping track of each registered allocator per
RX-queue xdp_rxq_info.
Signed-off-by: Jesper Dangaard
Now all the users of ndo_xdp_xmit have been converted to use xdp_return_frame.
This enable a different memory model, thus activating another code path
in the xdp_return_frame API.
V2: Fixed issues pointed out by Tariq.
Signed-off-by: Jesper Dangaard Brouer
---
drivers/net/ethernet/mellanox
the page_pool helper page_pool_destroy_rcu() (which
avoids touching any driver code during the RCU callback, which could
happen after the driver have been unloaded).
Signed-off-by: Jesper Dangaard Brouer
---
include/net/xdp.h |3 +++
net/core/xdp.c| 23 ---
2 files
rency protocol about our access pattern. My benchmarks show that
this prefetchw is enough to compensate the ixgbe driver.
Signed-off-by: Jesper Dangaard Brouer
---
drivers/net/ethernet/intel/ixgbe/ixgbe.h|4 +---
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 17 +++--
allow us to use the xdp_return_frame API,
when releasing the frame.
Signed-off-by: Jesper Dangaard Brouer
---
drivers/net/virtio_net.c | 31 +--
1 file changed, 21 insertions(+), 10 deletions(-)
diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c
index
The generic xdp_frame format, was inspired by the cpumap own internal
xdp_pkt format. It is now time to convert it over to the generic
xdp_frame format. The cpumap needs one extra field dev_rx.
Signed-off-by: Jesper Dangaard Brouer
---
include/net/xdp.h |1 +
kernel/bpf/cpumap.c | 100
Dangaard Brouer
---
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 21 +++--
drivers/net/tun.c |7 +--
drivers/net/virtio_net.c | 24 ++--
include/linux/netdevice.h |4 ++--
net/core
age_pool_create return codes not return NULL, only
ERR_PTR, as this simplifies err handling in drivers.
- Save a branch in mlx5e_page_release
- Correct page_pool size calc for MLX5_WQ_TYPE_LINKED_LIST_STRIDING_RQ
Signed-off-by: Jesper Dangaard Brouer
---
drivers/net/ethernet/mellanox/mlx5/
y depend on page_frag_cache API,
but similar pagecnt_bias tricks).
--
Best regards,
Jesper Dangaard Brouer
MSc.CS, Principal Kernel Engineer at Red Hat
LinkedIn: http://www.linkedin.com/in/brouer
On Fri, 16 Mar 2018 16:45:30 +0800
Jason Wang wrote:
> On 2018年03月10日 00:07, Jesper Dangaard Brouer wrote:
> > On Fri, 9 Mar 2018 21:07:36 +0800
> > Jason Wang wrote:
> >
> >>>>> Use the IDA infrastructure for getting a cyclic increasing ID number,
&g
et, and then we
avoid any implicit assumptions. And makes it more clear that
XDP_REDIRECT support use the memory model return API.
--
Best regards,
Jesper Dangaard Brouer
MSc.CS, Principal Kernel Engineer at Red Hat
LinkedIn: http://www.linkedin.com/in/brouer
On Mon, 12 Mar 2018 15:20:06 +0200 Tariq Toukan wrote:
> On 12/03/2018 12:16 PM, Tariq Toukan wrote:
> >
> > On 12/03/2018 12:08 PM, Tariq Toukan wrote:
> >>
> >> On 09/03/2018 10:56 PM, Jesper Dangaard Brouer wrote:
> >>> This patch shows how
On Tue, 20 Mar 2018 10:26:50 +0800
Jason Wang wrote:
> On 2018年03月19日 17:48, Jesper Dangaard Brouer wrote:
> > On Fri, 16 Mar 2018 16:45:30 +0800
> > Jason Wang wrote:
> >
> >> On 2018年03月10日 00:07, Jesper Dangaard Brouer wrote:
> >>> On Fri,
as Jason previously told me that it is not
strictly necessary (so lets avoid playing with endianness here).
>452 xdpf->len += vi->hdr_len;
>453
--
Best regards,
Jesper Dangaard Brouer
MSc.CS, Principal Kernel Engineer at Red Hat
LinkedIn: http://www.linkedin.com/in/brouer
for perf test
V6: Updated based on feedback from Eric Dumazet and Alex Duyck
V7: Adapt to i40e that got XDP_REDIRECT support in-between
V8: Updated based on feedback kbuild test robot, and adjust for mlx5 changes
---
Jesper Dangaard Brouer (16):
mlx5: basic XDP_REDIRECT forward sup
xdp_mem_type (found by kbuild test robot)
Signed-off-by: Jesper Dangaard Brouer
---
include/net/xdp.h | 27 +++
kernel/bpf/cpumap.c | 60 +++
net/core/xdp.c | 18 +++
3 files changed, 81 insertions(+), 24
Extend struct ixgbe_tx_buffer to store the xdp_mem_info.
Notice that this could be optimized further by putting this into
a union in the struct ixgbe_tx_buffer, but this patchset
works towards removing this again. Thus, this is not done.
Signed-off-by: Jesper Dangaard Brouer
---
drivers/net
This is done to prepare for the next patch, and it is also
nice to move this XDP related struct out of filter.h.
Signed-off-by: Jesper Dangaard Brouer
---
include/linux/filter.h | 24 +---
include/net/xdp.h | 22 ++
2 files changed, 23 insertions
This is needed to convert drivers tuntap and virtio_net.
This is a generalization of what is done inside cpumap, which will be
converted later.
Signed-off-by: Jesper Dangaard Brouer
---
include/net/xdp.h | 40
1 file changed, 40 insertions(+)
diff
ff-by: Jesper Dangaard Brouer
Reviewed-by: Tariq Toukan
Acked-by: Saeed Mahameed
---
drivers/net/ethernet/mellanox/mlx5/core/en.h|1 +
drivers/net/ethernet/mellanox/mlx5/core/en_rx.c | 27 ---
2 files changed, 25 insertions(+), 3 deletions(-)
diff --git a/drivers/net/eth
The generic xdp_frame format, was inspired by the cpumap own internal
xdp_pkt format. It is now time to convert it over to the generic
xdp_frame format. The cpumap needs one extra field dev_rx.
Signed-off-by: Jesper Dangaard Brouer
---
include/net/xdp.h |1 +
kernel/bpf/cpumap.c | 100
t in dma_sync call")
Signed-off-by: Jesper Dangaard Brouer
---
drivers/net/ethernet/intel/i40e/i40e_txrx.c |5 ++---
drivers/net/ethernet/intel/ixgbe/ixgbe.h|4 +---
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 17 +++--
drivers/net/ethernet/mellanox/mlx5/
e_pool size calc for MLX5_WQ_TYPE_LINKED_LIST_STRIDING_RQ
V5: Updated patch desc
V8: Adjust for b0cedc844c00 ("net/mlx5e: Remove rq_headroom field from params")
Signed-off-by: Jesper Dangaard Brouer
Reviewed-by: Tariq Toukan
---
drivers/net/ethernet/mellanox/mlx5/core/en.h |3 ++
drivers/n
From: Jesper Dangaard Brouer
The tuntap driver invented it's own driver specific way of queuing
XDP packets, by storing the xdp_buff information in the top of
the XDP frame data.
Convert it over to use the more generic xdp_frame structure. The
main problem with the in-driver method is tha
Now all the users of ndo_xdp_xmit have been converted to use xdp_return_frame.
This enable a different memory model, thus activating another code path
in the xdp_return_frame API.
V2: Fixed issues pointed out by Tariq.
Signed-off-by: Jesper Dangaard Brouer
Reviewed-by: Tariq Toukan
Acked-by
Signed-off-by: Jesper Dangaard Brouer
---
include/net/page_pool.h | 14 +++
include/net/xdp.h |3 ++
net/core/xdp.c | 60 ++-
3 files changed, 65 insertions(+), 12 deletions(-)
diff --git a/include/net/page_pool.h b
allow us to use the xdp_return_frame API,
when releasing the frame.
V8: Avoid endianness issues (found by kbuild test robot)
Signed-off-by: Jesper Dangaard Brouer
---
drivers/net/virtio_net.c | 30 --
1 file changed, 20 insertions(+), 10 deletions(-)
diff --git a
Also convert driver i40e, which very recently got XDP_REDIRECT support
in commit d9314c474d4f ("i40e: add support for XDP_REDIRECT").
V7: This patch got added in V7 of this patchset.
Signed-off-by: Jesper Dangaard Brouer
---
drivers/net/ethernet/intel/i40e/i40e_txr
n two patches
Signed-off-by: Jesper Dangaard Brouer
---
drivers/net/ethernet/mellanox/mlx5/core/Kconfig |1
include/net/page_pool.h | 129 +
net/Kconfig |3
net/core/Makefile |1
net
should be static warnings (from kbuild test robot)
Signed-off-by: Jesper Dangaard Brouer
---
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c |9 +
drivers/net/tun.c |6 +
drivers/net/virtio_net.c |7 +
include
59655a5b6c83 ("tuntap: XDP_TX can use native XDP")
V7: Adjust for commit d9314c474d4f ("i40e: add support for XDP_REDIRECT")
Signed-off-by: Jesper Dangaard Brouer
---
drivers/net/ethernet/intel/i40e/i40e_txrx.c | 30 ++---
drivers/net/ethernet/intel/i40e/
On Sat, 31 Mar 2018 14:06:57 +0200 Jesper Dangaard Brouer
wrote:
> This patch shows how it is possible to have both the driver local page
> cache, which uses elevated refcnt for "catching"/avoiding SKB
> put_page returns the page through the page allocator. And at the
>
xdp_mem_type (found by kbuild test robot)
Signed-off-by: Jesper Dangaard Brouer
---
include/net/xdp.h | 27 +++
kernel/bpf/cpumap.c | 60 +++
net/core/xdp.c | 18 +++
3 files changed, 81 insertions(+), 24
allow us to use the xdp_return_frame API,
when releasing the frame.
V8: Avoid endianness issues (found by kbuild test robot)
V9: Change __virtnet_xdp_xmit from bool to int return value (found by Dan
Carpenter)
Signed-off-by: Jesper Dangaard Brouer
---
drivers/net/virtio_net.c | 54
Extend struct ixgbe_tx_buffer to store the xdp_mem_info.
Notice that this could be optimized further by putting this into
a union in the struct ixgbe_tx_buffer, but this patchset
works towards removing this again. Thus, this is not done.
Signed-off-by: Jesper Dangaard Brouer
---
drivers/net
From: Jesper Dangaard Brouer
The tuntap driver invented it's own driver specific way of queuing
XDP packets, by storing the xdp_buff information in the top of
the XDP frame data.
Convert it over to use the more generic xdp_frame structure. The
main problem with the in-driver method is tha
ler decide what to inline
Fix return value in virtio_net driver
Adjust for mlx5 changes in-between submissions
---
Jesper Dangaard Brouer (16):
mlx5: basic XDP_REDIRECT forward support
xdp: introduce xdp_return_frame API and use in cpumap
ixgbe: use xdp_return_frame API
t for commit 121e89275471 ("net/mlx5e: Refactor RQ XDP_TX indication")
Signed-off-by: Jesper Dangaard Brouer
Reviewed-by: Tariq Toukan
Acked-by: Saeed Mahameed
---
drivers/net/ethernet/mellanox/mlx5/core/en.h|1 +
drivers/net/ethernet/mellanox/mlx5/core/en_rx.c | 27 +++
This is done to prepare for the next patch, and it is also
nice to move this XDP related struct out of filter.h.
Signed-off-by: Jesper Dangaard Brouer
---
include/linux/filter.h | 24 +---
include/net/xdp.h | 22 ++
2 files changed, 23 insertions
The generic xdp_frame format, was inspired by the cpumap own internal
xdp_pkt format. It is now time to convert it over to the generic
xdp_frame format. The cpumap needs one extra field dev_rx.
Signed-off-by: Jesper Dangaard Brouer
---
include/net/xdp.h |1 +
kernel/bpf/cpumap.c | 100
This is needed to convert drivers tuntap and virtio_net.
This is a generalization of what is done inside cpumap, which will be
converted later.
Signed-off-by: Jesper Dangaard Brouer
---
include/net/xdp.h | 40
1 file changed, 40 insertions(+)
diff
n two patches
Signed-off-by: Jesper Dangaard Brouer
---
drivers/net/ethernet/mellanox/mlx5/core/Kconfig |1
include/net/page_pool.h | 129 +
net/Kconfig |3
net/core/Makefile |1
net
Also convert driver i40e, which very recently got XDP_REDIRECT support
in commit d9314c474d4f ("i40e: add support for XDP_REDIRECT").
V7: This patch got added in V7 of this patchset.
Signed-off-by: Jesper Dangaard Brouer
---
drivers/net/ethernet/intel/i40e/i40e_txr
Now all the users of ndo_xdp_xmit have been converted to use xdp_return_frame.
This enable a different memory model, thus activating another code path
in the xdp_return_frame API.
V2: Fixed issues pointed out by Tariq.
Signed-off-by: Jesper Dangaard Brouer
Reviewed-by: Tariq Toukan
Acked-by
V9: Remove inline from .c file, compiler knows best
Signed-off-by: Jesper Dangaard Brouer
---
include/net/page_pool.h | 14 +++
include/net/xdp.h |3 ++
net/core/xdp.c | 60 ++-
3 files changed, 65 insertions(+), 12
should be static warnings (from kbuild test robot)
Signed-off-by: Jesper Dangaard Brouer
---
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c |9 +
drivers/net/tun.c |6 +
drivers/net/virtio_net.c |7 +
include
t in dma_sync call")
Signed-off-by: Jesper Dangaard Brouer
---
drivers/net/ethernet/intel/i40e/i40e_txrx.c |5 ++---
drivers/net/ethernet/intel/ixgbe/ixgbe.h|4 +---
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 17 +++--
drivers/net/ethernet/mellanox/mlx5/
701 - 800 of 2426 matches
Mail list logo