XDP/AF_XDP checksum use case in OVS

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

We are measuring the performance of OVS using AF_XDP, and
have the following use case for XDP checksum:

High level Topology, two physical machines (PM1,2):
  VM1 -> OVS encap with Geneve (PM1) -> physical NIC
  -> network ->
  physical NIC -> OVS decap (PM2) -> VM2

When running an iperf TCP client/tx in a VM1, a tcp packet goes
through:
VM1
  1) VM's virtio net device
  2) by default, tx offload is on
PM1 Hypervisor
  3) OVS receives the tcp packet (no checksum)
  4) OVS encap outer Geneve header (no inner, no outer checksum)
  5) AF_XDP sends this frame to network (no inner, no outer checksum)
PM2 Hypervisor
  6) OVS receives using af_xdp port
  7) OVS removes Geneve UDP header, send to VM port
VM2
  8) VM2 kernel drops the TCP packet

A software work around is at 2) disable tx offload by using
ethtool -K tx off. This cause VM1 vcpu calculates inner tcp
csum but drops performance.

If XDP hints can somehow support TX checksum offload at 5),
this overhead can be avoided.

Thanks!
William




[Index of Archives]     [Linux Networking Development]     [Fedora Linux Users]     [Linux SCTP]     [DCCP]     [Gimp]     [Yosemite Campsites]

  Powered by Linux