So I've [finally] started looking into implementing XDP for qede, and there's one thing I feel like I'm missing in regard to XDP_TX - what's the guarantee/requirement that the bpf program isn't going to transmute some fields of the rx packet in a way that would prevent the forwarding?
E.g., can a BPF change the TCP payload of an incoming packet without correcting its TCP checksum, and then expect the driver to transmit it [via XDP_TX]? If not, how is this enforced [if at all]? [Looked at samples/bpf/xdp2_kern.c which manipulates the UDP header; so I'm not certain what prevents it from doing the same when checksum modifications would be required]