acrn-kernel/net/ieee802154
Martin KaFai Lau 335c8cf3b5 net: ipv6: Handle delivery_time in ipv6 defrag
A latter patch will postpone the delivery_time clearing until the stack
knows the skb is being delivered locally (i.e. calling
skb_clear_delivery_time() at ip_local_deliver_finish() for IPv4
and at ip6_input_finish() for IPv6).  That will allow other kernel
forwarding path (e.g. ip[6]_forward) to keep the delivery_time also.

A very similar IPv6 defrag codes have been duplicated in
multiple places: regular IPv6, nf_conntrack, and 6lowpan.

Unlike the IPv4 defrag which is done before ip_local_deliver_finish(),
the regular IPv6 defrag is done after ip6_input_finish().
Thus, no change should be needed in the regular IPv6 defrag
logic because skb_clear_delivery_time() should have been called.

6lowpan also does not need special handling on delivery_time
because it is a non-inet packet_type.

However, cf_conntrack has a case in NF_INET_PRE_ROUTING that needs
to do the IPv6 defrag earlier.  Thus, it needs to save the
mono_delivery_time bit in the inet_frag_queue which is similar
to how it is handled in the previous patch for the IPv4 defrag.

This patch chooses to do it consistently and stores the mono_delivery_time
in the inet_frag_queue for all cases such that it will be easier
for the future refactoring effort on the IPv6 reasm code.

Signed-off-by: Martin KaFai Lau <kafai@fb.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2022-03-03 14:38:48 +00:00
..
6lowpan net: ipv6: Handle delivery_time in ipv6 defrag 2022-03-03 14:38:48 +00:00
Kconfig
Makefile
core.c
core.h
header_ops.c
ieee802154.h
netlink.c
nl-mac.c
nl-phy.c net: ieee802154: Use the IEEE802154_MAX_PAGE define when relevant 2022-01-28 11:23:30 +01:00
nl802154.c net: ieee802154: Return meaningful error codes from the netlink helpers 2022-01-27 08:20:47 +01:00
nl802154.h
nl_policy.c
rdev-ops.h
socket.c net: drop nopreempt requirement on sock_prot_inuse_add() 2021-11-16 13:20:45 +00:00
sysfs.c
sysfs.h
trace.c
trace.h