On 2/28/19 10:57 AM, Peter Oskolkov wrote:
David: I'm not sure how to test GSO (I assume we are talking about GSO
here) in
the selftest: the encapping code sets SKB_GSO_DODGY flag, and veth does
not support
dodginess: "tx-gso-robust: off [fixed]".
If the "dodgy" flag is not set, then gso validation in dev.c passes, and
large GSO packets
happily go through; if the "dodgy" flag is set, "dodgy" GSO packets are
rejected, TCP does
segmentation, and non-GSO packets happily go through (with an mtu tweak
to the LWT tunnel).
So I see three options:
- add a sysctl to _not_ set SKB_GSO_DODGY flag in lwt_bpf.c =>
handle_gso_type();
- change veth to accept "dodgy" GSO packets
- test the code "as is", meaning that GSO will be tried and disabled by
TCP stack
Which approach would you prefer?
definitely not a sysctl.
After that, I don't have a suggestion for GSO at the moment.