[ovs-git] [openvswitch/ovs] 161773: netdev-afxdp: Fix transmission freeze in native mo...

Ilya Maximets noreply at github.com
Mon Jan 6 19:54:27 UTC 2020


  Branch: refs/heads/master
  Home:   https://github.com/openvswitch/ovs
  Commit: 161773c72a33a86a23d4892e3c7448cee9946317
      https://github.com/openvswitch/ovs/commit/161773c72a33a86a23d4892e3c7448cee9946317
  Author: Ilya Maximets <i.maximets at ovn.org>
  Date:   2020-01-06 (Mon, 06 Jan 2020)

  Changed paths:
    M lib/netdev-afxdp.c

  Log Message:
  -----------
  netdev-afxdp: Fix transmission freeze in native mode without zerocopy.

Kernel uses 'xsk_generic_xmit()' for all modes where zerocopy is
not enabled:

   net/xdp/xsk.c
   433  static int __xsk_sendmsg(struct sock *sk)
   434  {
            ...
   442      return xs->zc ? xsk_zc_xmit(xs) : xsk_generic_xmit(sk);
   443  }

'xsk_generic_xmit ()' sends packets synchronously and no more than 16
packets at a time.  This means that we have to kick Tx with sendmsg()
for every 16 packets in simple native mode too, otherwise the packets
may never be sent.

Reported-by: William Tu <u9012063 at gmail.com>
Reported-at: https://mail.openvswitch.org/pipermail/ovs-dev/2019-November/365076.html
Fixes: e8f5634484e8 ("netdev-afxdp: Best-effort configuration of XDP mode.")
Signed-off-by: Ilya Maximets <i.maximets at ovn.org>
Signed-off-by: William Tu <u9012063 at gmail.com>




More information about the git mailing list