Is it guaranteed that skb->transport_header
is always correctly set on ingress path? Specifically, I'm setting a tc qdisc
on interface, and attach to it filter
with tc
action; this path qdisc->filter->action
exists before the packet hits TCP/IP stack, therefore I'm assuming that packet layers, networking and transport, should be set by the driver.
I was testing with virtio_net
and veth
drivers and it skb_transport_header_was_set
always returns true, which I'm assuming means that the transport header is always initialized. But this may depend on the driver?