On Sat, Oct 15, 2022 at 11:30:50PM +0200, Gerhard Engleder wrote: > xdp2_kern rewrites and forwards packets out on the same interface. > Forwarding still works but rewrite got broken when xdp multibuffer > support has been added. > > With xdp multibuffer a local copy of the packet has been introduced. The > MAC address is now swapped in the local copy, but the local copy in not > written back. > > Fix MAC address swapping be adding write back of modified packet. > Nice catch! Thanks for posting this. > Fixes: 772251742262 ("samples/bpf: fixup some tools to be able to support xdp multibuffer") > Signed-off-by: Gerhard Engleder <gerhard@xxxxxxxxxxxxxxxxxxxxx> Reviewed-by: Andy Gospodarek <gospo@xxxxxxxxxxxx> > --- > samples/bpf/xdp2_kern.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/samples/bpf/xdp2_kern.c b/samples/bpf/xdp2_kern.c > index 3332ba6bb95f..67804ecf7ce3 100644 > --- a/samples/bpf/xdp2_kern.c > +++ b/samples/bpf/xdp2_kern.c > @@ -112,6 +112,10 @@ int xdp_prog1(struct xdp_md *ctx) > > if (ipproto == IPPROTO_UDP) { > swap_src_dst_mac(data); > + > + if (bpf_xdp_store_bytes(ctx, 0, pkt, sizeof(pkt))) > + return rc; > + > rc = XDP_TX; > } > > -- > 2.30.2 >