Skip to content

Latest commit

 

History

History
59 lines (36 loc) · 1.94 KB

xdp_issues.org

File metadata and controls

59 lines (36 loc) · 1.94 KB

Identify XDP issues

Issue: Missing update of ifconfig counters

Progress: @dsahern (David Ahern) have started an email thread on the subject: consistency for statistics with XDP mode

Some drivers are not updating the “ifconfig” stats counters, when in XDP mode. This makes receive or send via XDP invisible to sysadm/management tools. This for-sure is going to cause confusion.

Closer look at other drivers.

  • ixgbe driver is doing the right thing.
  • i40e had a bug, where RX/TX stats are swapped (fixed in commit cdec2141c24e(v4.20-rc1) (“i40e: report correct statistics when XDP is enabled”)).
  • mlx5 driver is not updating the regular RX/TX counters, but A LOT of other ethtool stats counters (which are the ones I usually monitor when testing).

Need to have an upstream discussion, on what is the semantic. IHMO the regular RX/TX counters must be updated even for XDP frames.

Issue: XDP_REDIRECT is few drivers

Very few drivers support XDP_REDIRECT.

HW drivers: ixgbe, i40e, mlx5

SW drivers: veth, tun (tuntap), virtio_net

Issue: ndo_xdp_xmit bound to XDP_REDIRECT

Driver resources needed to handle a ndo_xdp_xmit() is currently tied to the driver having loaded an RX XDP program. This is strange, as allocating these Driver TX HW resources is independend.

This can quickly lead to exhausting HW resources, like IRQs lines or NIC TX HW queues, given it is assumed a TX queue is alloc/dedicated for each CPU core.

Issue: usability of xdp_redirect + xdp_redirect_map

The samples/bpf programs xdp_redirect + xdp_redirect_map are very user unfriendly. #1 they use raw ifindex’es as input + output. #2 the pkt/s number count RX packets, not TX’ed packets which can be dropped silently.

Red Hat QA, got very confused by #2.

Issue: BTF-based metadata for XDP

Waiting for tracing people to work out the details of BTF.