Hi,
inet6_protocol's INET6_PROTO_FINAL flag denotes handler is expected not
to request resubmission for local delivery.
For an INET6_PROTO_FINAL handler, the following actions gets executed
prior delivery, in ip6_input_finish:
nf_reset(skb);
skb_postpull_rcsum(skb, skb_network_header(skb),
skb_network_header_len(skb));
For some reason, l2tp_ip6_protocol handler is NOT marked as
INET6_PROTO_FINAL. Probably an oversight.
Since 'l2tp_ip6_recv' never results in a resubmission, the above actions
are not applied to skbs passed to l2tp_ip6.
Any reason why l2tp_ip6_protocol should NOT be marked INET6_PROTO_FINAL?
What's the consequences not executing the above actions for l2tp_ip6
packets?
Thanks,
Shmulik