[PATCH bpf-next 1/3] xsk: add launch time support to XDP Tx metadata

Willem de Bruijn willemdebruijn.kernel at gmail.com
Thu Nov 30 12:28:36 PST 2023


Song Yoong Siang wrote:
> This patch extends the XDP Tx metadata framework to include Time-Based
> Scheduling (TBS) support where the NIC will schedule a packet for
> transmission at a pre-determined time called launch time. The value of
> launch time is communicated from user space to Ethernet driver via
> launch_time field of struct xsk_tx_metadata.
> 
> Suggested-by: Stanislav Fomichev <sdf at google.com>
> Signed-off-by: Song Yoong Siang <yoong.siang.song at intel.com>
> ---
>  Documentation/netlink/specs/netdev.yaml      |  4 ++++
>  Documentation/networking/xsk-tx-metadata.rst |  5 +++++
>  include/net/xdp_sock.h                       | 10 ++++++++++
>  include/net/xdp_sock_drv.h                   |  1 +
>  include/uapi/linux/if_xdp.h                  |  9 +++++++++
>  include/uapi/linux/netdev.h                  |  3 +++
>  net/core/netdev-genl.c                       |  2 ++
>  net/xdp/xsk.c                                |  3 +++
>  tools/include/uapi/linux/if_xdp.h            |  9 +++++++++
>  tools/include/uapi/linux/netdev.h            |  3 +++
>  tools/net/ynl/generated/netdev-user.c        |  1 +
>  11 files changed, 50 insertions(+)
> 
> diff --git a/Documentation/netlink/specs/netdev.yaml b/Documentation/netlink/specs/netdev.yaml
> index 00439bcbd2e3..a602776bbfb4 100644
> --- a/Documentation/netlink/specs/netdev.yaml
> +++ b/Documentation/netlink/specs/netdev.yaml
> @@ -66,6 +66,10 @@ definitions:
>          name: tx-checksum
>          doc:
>            L3 checksum HW offload is supported by the driver.
> +      -
> +        name: launch-time
> +        doc:
> +          HW Time-Based Scheduling (TBS) is supported by the driver.

Can we avoid introducing another term? We already have too many:
launchtime, earliest delivery time (EDT), SO_TXTIME,
pacing offload, earliest txtime first (ETF).  





More information about the linux-arm-kernel mailing list