Re: [PATCH net 1/1] igc: read before write to SRRCTL register

From: Jacob Keller
Date: Thu Apr 13 2023 - 12:55:07 EST




On 4/13/2023 8:12 AM, Song Yoong Siang wrote:
> igc_configure_rx_ring() function will be called as part of XDP program
> setup. If Rx hardware timestamp is enabled prio to XDP program setup,
> this timestamp enablement will be overwritten when buffer size is
> written into SRRCTL register.
>
> Thus, this commit read the register value before write to SRRCTL
> register. This commit is tested by using xdp_hw_metadata bpf selftest
> tool. The tool enables Rx hardware timestamp and then attach XDP program
> to igc driver. It will display hardware timestamp of UDP packet with
> port number 9092. Below are detail of test steps and results.
>
> Command on DUT:
> sudo ./xdp_hw_metadata <interface name>
>
> Command on Link Partner:
> echo -n skb | nc -u -q1 <destination IPv4 addr> 9092
>
> Result before this patch:
> skb hwtstamp is not found!
>
> Result after this patch:
> found skb hwtstamp = 1677762212.590696226
>
> Fixes: fc9df2a0b520 ("igc: Enable RX via AF_XDP zero-copy")
> Cc: <stable@xxxxxxxxxxxxxxx> # 5.14+
> Signed-off-by: Song Yoong Siang <yoong.siang.song@xxxxxxxxx>

Reviewed-by: Jacob Keller <jacob.e.keller@xxxxxxxxx>