All of lore.kernel.org
 help / color / mirror / Atom feed
From: Maxim Mikityanskiy <maximmi@mellanox.com>
To: "Björn Töpel" <bjorn.topel@intel.com>,
	"Jesper Dangaard Brouer" <brouer@redhat.com>,
	sameehj@amazon.com
Cc: intel-wired-lan@lists.osuosl.org,
	"Magnus Karlsson" <magnus.karlsson@intel.com>,
	netdev@vger.kernel.org, bpf@vger.kernel.org, zorik@amazon.com,
	akiyano@amazon.com, gtzalik@amazon.com,
	"Toke Høiland-Jørgensen" <toke@redhat.com>,
	"Daniel Borkmann" <borkmann@iogearbox.net>,
	"Alexei Starovoitov" <alexei.starovoitov@gmail.com>,
	"John Fastabend" <john.fastabend@gmail.com>,
	"Alexander Duyck" <alexander.duyck@gmail.com>,
	"Jeff Kirsher" <jeffrey.t.kirsher@intel.com>,
	"David Ahern" <dsahern@gmail.com>,
	"Willem de Bruijn" <willemdebruijn.kernel@gmail.com>,
	"Ilias Apalodimas" <ilias.apalodimas@linaro.org>,
	"Lorenzo Bianconi" <lorenzo@kernel.org>,
	"Saeed Mahameed" <saeedm@mellanox.com>
Subject: Re: [PATCH RFC v2 28/33] xdp: for Intel AF_XDP drivers add XDP frame_sz
Date: Thu, 9 Apr 2020 12:33:37 +0300	[thread overview]
Message-ID: <efb24e4f-610e-5793-dde4-76b42ebca826@mellanox.com> (raw)
In-Reply-To: <55b6684d-9097-e2c1-c939-bf3273bd70f6@intel.com>

On 2020-04-08 20:31, Björn Töpel wrote:
> On 2020-04-08 13:52, Jesper Dangaard Brouer wrote:
>> Intel drivers implement native AF_XDP zerocopy in separate C-files,
>> that have its own invocation of bpf_prog_run_xdp(). The setup of
>> xdp_buff is also handled in separately from normal code path.
>>
>> This patch update XDP frame_sz for AF_XDP zerocopy drivers i40e, ice
>> and ixgbe, as the code changes needed are very similar.  Introduce a
>> helper function xsk_umem_xdp_frame_sz() for calculating frame size.
>>
>> Cc: intel-wired-lan@lists.osuosl.org
>> Cc: Björn Töpel <bjorn.topel@intel.com>
>> Cc: Magnus Karlsson <magnus.karlsson@intel.com>
>> Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com>
> 
> Thanks for the patch, Jesper! Note that mlx5 has AF_XDP support as well,
> and might need similar changes. Adding Max for input!

Thanks for drawing my attention to this series, Björn! I commented 
regarding frame_sz calculation under the mlx5 patch (17/33).

> For the Intel drivers, and core AF_XDP:
> Acked-by: Björn Töpel <bjorn.topel@intel.com>
> 
>> ---
>>   drivers/net/ethernet/intel/i40e/i40e_xsk.c   |    2 ++
>>   drivers/net/ethernet/intel/ice/ice_xsk.c     |    2 ++
>>   drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c |    2 ++
>>   include/net/xdp_sock.h                       |   11 +++++++++++
>>   4 files changed, 17 insertions(+)
>>
>> diff --git a/drivers/net/ethernet/intel/i40e/i40e_xsk.c 
>> b/drivers/net/ethernet/intel/i40e/i40e_xsk.c
>> index 0b7d29192b2c..2b9184aead5f 100644
>> --- a/drivers/net/ethernet/intel/i40e/i40e_xsk.c
>> +++ b/drivers/net/ethernet/intel/i40e/i40e_xsk.c
>> @@ -531,12 +531,14 @@ int i40e_clean_rx_irq_zc(struct i40e_ring 
>> *rx_ring, int budget)
>>   {
>>       unsigned int total_rx_bytes = 0, total_rx_packets = 0;
>>       u16 cleaned_count = I40E_DESC_UNUSED(rx_ring);
>> +    struct xdp_umem *umem = rx_ring->xsk_umem;
>>       unsigned int xdp_res, xdp_xmit = 0;
>>       bool failure = false;
>>       struct sk_buff *skb;
>>       struct xdp_buff xdp;
>>       xdp.rxq = &rx_ring->xdp_rxq;
>> +    xdp.frame_sz = xsk_umem_xdp_frame_sz(umem);
>>       while (likely(total_rx_packets < (unsigned int)budget)) {
>>           struct i40e_rx_buffer *bi;
>> diff --git a/drivers/net/ethernet/intel/ice/ice_xsk.c 
>> b/drivers/net/ethernet/intel/ice/ice_xsk.c
>> index 8279db15e870..23e5515d4527 100644
>> --- a/drivers/net/ethernet/intel/ice/ice_xsk.c
>> +++ b/drivers/net/ethernet/intel/ice/ice_xsk.c
>> @@ -840,11 +840,13 @@ int ice_clean_rx_irq_zc(struct ice_ring 
>> *rx_ring, int budget)
>>   {
>>       unsigned int total_rx_bytes = 0, total_rx_packets = 0;
>>       u16 cleaned_count = ICE_DESC_UNUSED(rx_ring);
>> +    struct xdp_umem *umem = rx_ring->xsk_umem;
>>       unsigned int xdp_xmit = 0;
>>       bool failure = false;
>>       struct xdp_buff xdp;
>>       xdp.rxq = &rx_ring->xdp_rxq;
>> +    xdp.frame_sz = xsk_umem_xdp_frame_sz(umem);
>>       while (likely(total_rx_packets < (unsigned int)budget)) {
>>           union ice_32b_rx_flex_desc *rx_desc;
>> diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c 
>> b/drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c
>> index 74b540ebb3dc..a656ee9a1fae 100644
>> --- a/drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c
>> +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c
>> @@ -431,12 +431,14 @@ int ixgbe_clean_rx_irq_zc(struct ixgbe_q_vector 
>> *q_vector,
>>       unsigned int total_rx_bytes = 0, total_rx_packets = 0;
>>       struct ixgbe_adapter *adapter = q_vector->adapter;
>>       u16 cleaned_count = ixgbe_desc_unused(rx_ring);
>> +    struct xdp_umem *umem = rx_ring->xsk_umem;
>>       unsigned int xdp_res, xdp_xmit = 0;
>>       bool failure = false;
>>       struct sk_buff *skb;
>>       struct xdp_buff xdp;
>>       xdp.rxq = &rx_ring->xdp_rxq;
>> +    xdp.frame_sz = xsk_umem_xdp_frame_sz(umem);
>>       while (likely(total_rx_packets < budget)) {
>>           union ixgbe_adv_rx_desc *rx_desc;
>> diff --git a/include/net/xdp_sock.h b/include/net/xdp_sock.h
>> index e86ec48ef627..1cd1ec3cea97 100644
>> --- a/include/net/xdp_sock.h
>> +++ b/include/net/xdp_sock.h
>> @@ -237,6 +237,12 @@ static inline u64 xsk_umem_adjust_offset(struct 
>> xdp_umem *umem, u64 address,
>>       else
>>           return address + offset;
>>   }
>> +
>> +static inline u32 xsk_umem_xdp_frame_sz(struct xdp_umem *umem)
>> +{
>> +    return umem->chunk_size_nohr + umem->headroom;
>> +}
>> +

This new function may be used in mlx5 for mlx5e_build_xsk_param.

>>   #else
>>   static inline int xsk_generic_rcv(struct xdp_sock *xs, struct 
>> xdp_buff *xdp)
>>   {
>> @@ -367,6 +373,11 @@ static inline u64 xsk_umem_adjust_offset(struct 
>> xdp_umem *umem, u64 handle,
>>       return 0;
>>   }
>> +static inline u32 xsk_umem_xdp_frame_sz(struct xdp_umem *umem)
>> +{
>> +    return 0;
>> +}
>> +
>>   static inline int __xsk_map_redirect(struct xdp_sock *xs, struct 
>> xdp_buff *xdp)
>>   {
>>       return -EOPNOTSUPP;
>>
>>


WARNING: multiple messages have this Message-ID (diff)
From: Maxim Mikityanskiy <maximmi@mellanox.com>
To: intel-wired-lan@osuosl.org
Subject: [Intel-wired-lan] [PATCH RFC v2 28/33] xdp: for Intel AF_XDP drivers add XDP frame_sz
Date: Thu, 9 Apr 2020 12:33:37 +0300	[thread overview]
Message-ID: <efb24e4f-610e-5793-dde4-76b42ebca826@mellanox.com> (raw)
In-Reply-To: <55b6684d-9097-e2c1-c939-bf3273bd70f6@intel.com>

On 2020-04-08 20:31, Bj?rn T?pel wrote:
> On 2020-04-08 13:52, Jesper Dangaard Brouer wrote:
>> Intel drivers implement native AF_XDP zerocopy in separate C-files,
>> that have its own invocation of bpf_prog_run_xdp(). The setup of
>> xdp_buff is also handled in separately from normal code path.
>>
>> This patch update XDP frame_sz for AF_XDP zerocopy drivers i40e, ice
>> and ixgbe, as the code changes needed are very similar.? Introduce a
>> helper function xsk_umem_xdp_frame_sz() for calculating frame size.
>>
>> Cc: intel-wired-lan at lists.osuosl.org
>> Cc: Bj?rn T?pel <bjorn.topel@intel.com>
>> Cc: Magnus Karlsson <magnus.karlsson@intel.com>
>> Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com>
> 
> Thanks for the patch, Jesper! Note that mlx5 has AF_XDP support as well,
> and might need similar changes. Adding Max for input!

Thanks for drawing my attention to this series, Bj?rn! I commented 
regarding frame_sz calculation under the mlx5 patch (17/33).

> For the Intel drivers, and core AF_XDP:
> Acked-by: Bj?rn T?pel <bjorn.topel@intel.com>
> 
>> ---
>> ? drivers/net/ethernet/intel/i40e/i40e_xsk.c?? |??? 2 ++
>> ? drivers/net/ethernet/intel/ice/ice_xsk.c???? |??? 2 ++
>> ? drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c |??? 2 ++
>> ? include/net/xdp_sock.h?????????????????????? |?? 11 +++++++++++
>> ? 4 files changed, 17 insertions(+)
>>
>> diff --git a/drivers/net/ethernet/intel/i40e/i40e_xsk.c 
>> b/drivers/net/ethernet/intel/i40e/i40e_xsk.c
>> index 0b7d29192b2c..2b9184aead5f 100644
>> --- a/drivers/net/ethernet/intel/i40e/i40e_xsk.c
>> +++ b/drivers/net/ethernet/intel/i40e/i40e_xsk.c
>> @@ -531,12 +531,14 @@ int i40e_clean_rx_irq_zc(struct i40e_ring 
>> *rx_ring, int budget)
>> ? {
>> ????? unsigned int total_rx_bytes = 0, total_rx_packets = 0;
>> ????? u16 cleaned_count = I40E_DESC_UNUSED(rx_ring);
>> +??? struct xdp_umem *umem = rx_ring->xsk_umem;
>> ????? unsigned int xdp_res, xdp_xmit = 0;
>> ????? bool failure = false;
>> ????? struct sk_buff *skb;
>> ????? struct xdp_buff xdp;
>> ????? xdp.rxq = &rx_ring->xdp_rxq;
>> +??? xdp.frame_sz = xsk_umem_xdp_frame_sz(umem);
>> ????? while (likely(total_rx_packets < (unsigned int)budget)) {
>> ????????? struct i40e_rx_buffer *bi;
>> diff --git a/drivers/net/ethernet/intel/ice/ice_xsk.c 
>> b/drivers/net/ethernet/intel/ice/ice_xsk.c
>> index 8279db15e870..23e5515d4527 100644
>> --- a/drivers/net/ethernet/intel/ice/ice_xsk.c
>> +++ b/drivers/net/ethernet/intel/ice/ice_xsk.c
>> @@ -840,11 +840,13 @@ int ice_clean_rx_irq_zc(struct ice_ring 
>> *rx_ring, int budget)
>> ? {
>> ????? unsigned int total_rx_bytes = 0, total_rx_packets = 0;
>> ????? u16 cleaned_count = ICE_DESC_UNUSED(rx_ring);
>> +??? struct xdp_umem *umem = rx_ring->xsk_umem;
>> ????? unsigned int xdp_xmit = 0;
>> ????? bool failure = false;
>> ????? struct xdp_buff xdp;
>> ????? xdp.rxq = &rx_ring->xdp_rxq;
>> +??? xdp.frame_sz = xsk_umem_xdp_frame_sz(umem);
>> ????? while (likely(total_rx_packets < (unsigned int)budget)) {
>> ????????? union ice_32b_rx_flex_desc *rx_desc;
>> diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c 
>> b/drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c
>> index 74b540ebb3dc..a656ee9a1fae 100644
>> --- a/drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c
>> +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c
>> @@ -431,12 +431,14 @@ int ixgbe_clean_rx_irq_zc(struct ixgbe_q_vector 
>> *q_vector,
>> ????? unsigned int total_rx_bytes = 0, total_rx_packets = 0;
>> ????? struct ixgbe_adapter *adapter = q_vector->adapter;
>> ????? u16 cleaned_count = ixgbe_desc_unused(rx_ring);
>> +??? struct xdp_umem *umem = rx_ring->xsk_umem;
>> ????? unsigned int xdp_res, xdp_xmit = 0;
>> ????? bool failure = false;
>> ????? struct sk_buff *skb;
>> ????? struct xdp_buff xdp;
>> ????? xdp.rxq = &rx_ring->xdp_rxq;
>> +??? xdp.frame_sz = xsk_umem_xdp_frame_sz(umem);
>> ????? while (likely(total_rx_packets < budget)) {
>> ????????? union ixgbe_adv_rx_desc *rx_desc;
>> diff --git a/include/net/xdp_sock.h b/include/net/xdp_sock.h
>> index e86ec48ef627..1cd1ec3cea97 100644
>> --- a/include/net/xdp_sock.h
>> +++ b/include/net/xdp_sock.h
>> @@ -237,6 +237,12 @@ static inline u64 xsk_umem_adjust_offset(struct 
>> xdp_umem *umem, u64 address,
>> ????? else
>> ????????? return address + offset;
>> ? }
>> +
>> +static inline u32 xsk_umem_xdp_frame_sz(struct xdp_umem *umem)
>> +{
>> +??? return umem->chunk_size_nohr + umem->headroom;
>> +}
>> +

This new function may be used in mlx5 for mlx5e_build_xsk_param.

>> ? #else
>> ? static inline int xsk_generic_rcv(struct xdp_sock *xs, struct 
>> xdp_buff *xdp)
>> ? {
>> @@ -367,6 +373,11 @@ static inline u64 xsk_umem_adjust_offset(struct 
>> xdp_umem *umem, u64 handle,
>> ????? return 0;
>> ? }
>> +static inline u32 xsk_umem_xdp_frame_sz(struct xdp_umem *umem)
>> +{
>> +??? return 0;
>> +}
>> +
>> ? static inline int __xsk_map_redirect(struct xdp_sock *xs, struct 
>> xdp_buff *xdp)
>> ? {
>> ????? return -EOPNOTSUPP;
>>
>>


  reply	other threads:[~2020-04-09  9:33 UTC|newest]

Thread overview: 78+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-04-08 11:50 [Intel-wired-lan] [PATCH RFC v2 00/33] XDP extend with knowledge of frame size Jesper Dangaard Brouer
2020-04-08 11:50 ` [PATCH RFC v2 01/33] xdp: add frame size to xdp_buff Jesper Dangaard Brouer
2020-04-08 17:53   ` Jakub Kicinski
2020-04-09  0:48     ` Saeed Mahameed
2020-04-09  1:13       ` Jakub Kicinski
2020-04-09 23:07         ` Saeed Mahameed
2020-04-09 23:27           ` Jakub Kicinski
2020-04-14 14:16     ` Jesper Dangaard Brouer
2020-04-09  0:50   ` Saeed Mahameed
2020-04-16 13:02     ` Jesper Dangaard Brouer
2020-04-17 23:09       ` Saeed Mahameed
2020-04-08 11:50 ` [PATCH RFC v2 02/33] bnxt: add XDP frame size to driver Jesper Dangaard Brouer
2020-04-08 11:50 ` [PATCH RFC v2 03/33] sfc: add XDP frame size Jesper Dangaard Brouer
2020-04-08 11:50 ` [PATCH RFC v2 04/33] mvneta: add XDP frame size to driver Jesper Dangaard Brouer
2020-04-08 11:50 ` [PATCH RFC v2 05/33] net: netsec: Add support for XDP frame size Jesper Dangaard Brouer
2020-04-08 13:09   ` Lorenzo Bianconi
2020-04-14  8:07     ` Jesper Dangaard Brouer
2020-04-08 11:51 ` [PATCH RFC v2 06/33] net: XDP-generic determining " Jesper Dangaard Brouer
2020-04-08 11:51 ` [PATCH RFC v2 07/33] xdp: xdp_frame add member frame_sz and handle in convert_to_xdp_frame Jesper Dangaard Brouer
2020-04-08 11:51 ` [PATCH RFC v2 08/33] xdp: cpumap redirect use frame_sz and increase skb_tailroom Jesper Dangaard Brouer
2020-04-08 11:51 ` [PATCH RFC v2 09/33] veth: adjust hard_start offset on redirect XDP frames Jesper Dangaard Brouer
2020-04-08 11:51 ` [PATCH RFC v2 10/33] veth: xdp using frame_sz in veth driver Jesper Dangaard Brouer
2020-04-08 11:51 ` [PATCH RFC v2 11/33] dpaa2-eth: add XDP frame size Jesper Dangaard Brouer
2020-04-08 11:51 ` [PATCH RFC v2 12/33] hv_netvsc: add XDP frame size to driver Jesper Dangaard Brouer
2020-04-08 14:56   ` Haiyang Zhang
2020-04-08 11:51 ` [PATCH RFC v2 13/33] qlogic/qede: " Jesper Dangaard Brouer
2020-04-08 11:51 ` [PATCH RFC v2 14/33] net: ethernet: ti: add XDP frame size to driver cpsw Jesper Dangaard Brouer
2020-04-08 11:51 ` [PATCH RFC v2 15/33] ena: add XDP frame size to amazon NIC driver Jesper Dangaard Brouer
2020-04-22  8:39   ` Jubran, Samih
2020-04-08 11:51 ` [PATCH RFC v2 16/33] mlx4: add XDP frame size and adjust max XDP MTU Jesper Dangaard Brouer
2020-04-08 12:57   ` Tariq Toukan
2020-04-14  8:19     ` Jesper Dangaard Brouer
2020-04-08 11:52 ` [PATCH RFC v2 17/33] mlx5: rx queue setup time determine frame_sz for XDP Jesper Dangaard Brouer
2020-04-08 12:52   ` Tariq Toukan
2020-04-16 12:04     ` Jesper Dangaard Brouer
2020-04-09  9:28   ` Maxim Mikityanskiy
2020-04-08 11:52 ` [PATCH RFC v2 18/33] net: thunderx: add XDP frame size Jesper Dangaard Brouer
2020-04-08 11:52 ` [PATCH RFC v2 19/33] nfp: add XDP frame size to netronome driver Jesper Dangaard Brouer
2020-04-08 17:53   ` Jakub Kicinski
2020-04-14 14:02     ` Jesper Dangaard Brouer
2020-04-08 11:52 ` [PATCH RFC v2 20/33] tun: add XDP frame size Jesper Dangaard Brouer
2020-04-08 11:52 ` [PATCH RFC v2 21/33] vhost_net: also populate " Jesper Dangaard Brouer
2020-04-08 11:52 ` [PATCH RFC v2 22/33] virtio_net: add XDP frame size in two code paths Jesper Dangaard Brouer
2020-04-08 11:52 ` [PATCH RFC v2 23/33] ixgbe: fix XDP redirect on archs with PAGE_SIZE above 4K Jesper Dangaard Brouer
2020-04-08 11:52 ` [PATCH RFC v2 24/33] ixgbe: add XDP frame size to driver Jesper Dangaard Brouer
2020-04-08 11:52   ` [Intel-wired-lan] " Jesper Dangaard Brouer
2020-04-08 11:52 ` [PATCH RFC v2 25/33] ixgbevf: add XDP frame size to VF driver Jesper Dangaard Brouer
2020-04-08 11:52   ` [Intel-wired-lan] " Jesper Dangaard Brouer
2020-04-08 11:52 ` [PATCH RFC v2 26/33] i40e: add XDP frame size to driver Jesper Dangaard Brouer
2020-04-08 11:52   ` [Intel-wired-lan] " Jesper Dangaard Brouer
2020-04-08 21:48   ` David Miller
2020-04-08 21:48     ` [Intel-wired-lan] " David Miller
2020-04-14 10:16     ` Jesper Dangaard Brouer
2020-04-14 10:16       ` [Intel-wired-lan] " Jesper Dangaard Brouer
2020-04-08 11:52 ` [PATCH RFC v2 27/33] ice: " Jesper Dangaard Brouer
2020-04-08 11:52   ` [Intel-wired-lan] " Jesper Dangaard Brouer
2020-04-10  0:59   ` kbuild test robot
2020-04-14 10:39     ` Jesper Dangaard Brouer
2020-04-08 11:52 ` [PATCH RFC v2 28/33] xdp: for Intel AF_XDP drivers add XDP frame_sz Jesper Dangaard Brouer
2020-04-08 11:52   ` [Intel-wired-lan] " Jesper Dangaard Brouer
2020-04-08 17:31   ` Björn Töpel
2020-04-08 17:31     ` [Intel-wired-lan] " =?unknown-8bit?q?Bj=C3=B6rn_T=C3=B6pel?=
2020-04-09  9:33     ` Maxim Mikityanskiy [this message]
2020-04-09  9:33       ` Maxim Mikityanskiy
2020-04-08 11:53 ` [PATCH RFC v2 29/33] xdp: allow bpf_xdp_adjust_tail() to grow packet size Jesper Dangaard Brouer
2020-04-09  3:31   ` Saeed Mahameed
2020-04-14 12:46     ` Jesper Dangaard Brouer
2020-04-18  3:33       ` Saeed Mahameed
2020-04-14  9:56   ` Jesper Dangaard Brouer
2020-04-14 10:11     ` Toke Høiland-Jørgensen
2020-04-08 11:53 ` [PATCH RFC v2 30/33] xdp: clear grow memory in bpf_xdp_adjust_tail() Jesper Dangaard Brouer
2020-04-08 21:49   ` David Miller
2020-04-14  9:43     ` Jesper Dangaard Brouer
2020-04-08 11:53 ` [PATCH RFC v2 31/33] bpf: add xdp.frame_sz in bpf_prog_test_run_xdp() Jesper Dangaard Brouer
2020-04-08 11:53 ` [PATCH RFC v2 32/33] selftests/bpf: adjust BPF selftest for xdp_adjust_tail Jesper Dangaard Brouer
2020-04-08 11:53 ` [PATCH RFC v2 33/33] selftests/bpf: xdp_adjust_tail add grow tail tests Jesper Dangaard Brouer
2020-04-08 16:55 ` [PATCH RFC v2 00/33] XDP extend with knowledge of frame size Alexei Starovoitov
2020-04-08 16:55   ` [Intel-wired-lan] " Alexei Starovoitov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=efb24e4f-610e-5793-dde4-76b42ebca826@mellanox.com \
    --to=maximmi@mellanox.com \
    --cc=akiyano@amazon.com \
    --cc=alexander.duyck@gmail.com \
    --cc=alexei.starovoitov@gmail.com \
    --cc=bjorn.topel@intel.com \
    --cc=borkmann@iogearbox.net \
    --cc=bpf@vger.kernel.org \
    --cc=brouer@redhat.com \
    --cc=dsahern@gmail.com \
    --cc=gtzalik@amazon.com \
    --cc=ilias.apalodimas@linaro.org \
    --cc=intel-wired-lan@lists.osuosl.org \
    --cc=jeffrey.t.kirsher@intel.com \
    --cc=john.fastabend@gmail.com \
    --cc=lorenzo@kernel.org \
    --cc=magnus.karlsson@intel.com \
    --cc=netdev@vger.kernel.org \
    --cc=saeedm@mellanox.com \
    --cc=sameehj@amazon.com \
    --cc=toke@redhat.com \
    --cc=willemdebruijn.kernel@gmail.com \
    --cc=zorik@amazon.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.