Subject: Re: [PATCH bpf-next v4 3/4] net: stmmac: Add launch time support to XDP ZC

From: Stanislav Fomichev <[email-masked]>
Date: Tue, 7 Jan 2025 09:07:40 -0800

On 01/06, Song Yoong Siang wrote:
> Enable launch time (Time-Based Scheduling) support to XDP zero copy via XDP
> Tx metadata framework.
> 
> This patch is tested with tools/testing/selftests/bpf/xdp_hw_metadata on
> Intel Tiger Lake platform. Below are the test steps and result.
> 
> Test Steps:
> 1. Add mqprio qdisc:
>    $ sudo tc qdisc add dev enp0s30f4 handle 8001: parent root mqprio num_tc
>      4 map 0 1 2 3 3 3 3 3 3 3 3 3 3 3 3 3 queues 1@0 1@1 1@2 1@3 hw 0
> 
> 2. Enable launch time hardware offload on hardware queue 1:
>    $ sudo tc qdisc replace dev enp0s30f4 parent 8001:2 etf offload clockid
>      CLOCK_TAI delta 500000
> 
> 3. Add an ingress qdisc:
>    $ sudo tc qdisc add dev enp0s30f4 ingress
> 
> 4. Add a flower filter to route incoming packet with VLAN priority 1 into
>    hardware queue 1:
>    $ sudo tc filter add dev enp0s30f4 parent ffff: protocol 802.1Q flower
>      vlan_prio 1 hw_tc 1
> 
> 5. Enable VLAN tag stripping:
>    $ sudo ethtool -K enp0s30f4 rxvlan on
> 
> 6. Start xdp_hw_metadata selftest application:
>    $ sudo ./xdp_hw_metadata enp0s30f4 -l 1000000000
> 
> 7. Send an UDP packet with VLAN priority 1 to port 9091 of DUT.

Tangential: I wonder whether we can add the setup steps to the
xdp_hw_metadata tool? It is useful to have one command to run that
takes care of all the details. Same way it already enables HW
tstamping.. 

Or, if not the full setup, some kind of detection we can signal to the
user that some things might be missing?