All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 net-next 0/3] ipv6: avoid atomic fragment on GSO output
@ 2023-10-20  5:32 Yan Zhai
  2023-10-20  5:32 ` [PATCH v3 net-next 1/3] ipv6: remove dst_allfrag test on ipv6 output Yan Zhai
                   ` (2 more replies)
  0 siblings, 3 replies; 10+ messages in thread
From: Yan Zhai @ 2023-10-20  5:32 UTC (permalink / raw)
  To: netdev
  Cc: David S. Miller, David Ahern, Eric Dumazet, Jakub Kicinski,
	Paolo Abeni, Aya Levin, Tariq Toukan, linux-kernel, kernel-team,
	Florian Westphal, Willem de Bruijn, Alexander H Duyck

When the ipv6 stack output a GSO packet, if its gso_size is larger than
dst MTU, then all segments would be fragmented. However, it is possible
for a GSO packet to have a trailing segment with smaller actual size
than both gso_size as well as the MTU, which leads to an "atomic
fragment". Atomic fragments are considered harmful in RFC-8021. An
Existing report from APNIC also shows that atomic fragments are more
likely to be dropped even it is equivalent to a no-op [1].

The series contains following changes on IPv6 output:
* drop dst_allfrag check, which is always false now
* refactor __ip6_finish_output code to separate GSO and non-GSO packet processing,
  mirroring IPv4 side logic
* avoid generating atomic fragment on GSO packets

Link: https://www.potaroo.net/presentations/2022-03-01-ipv6-frag.pdf [1]

change log:
V2 -> V3: split the changes to separate commits as Willem de Bruijn suggested
V1 is incorrect and omitted

V2: https://lore.kernel.org/netdev/ZS1%2Fqtr0dZJ35VII@debian.debian/

Yan Zhai (3):
  ipv6: remove dst_allfrag test on ipv6 output
  ipv6: refactor ip6_finish_output for GSO handling
  ipv6: avoid atomic fragment on GSO packets

 net/ipv6/ip6_output.c | 31 ++++++++++++++++++++++---------
 1 file changed, 22 insertions(+), 9 deletions(-)

-- 
2.30.2



^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2023-10-20 19:16 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-10-20  5:32 [PATCH v3 net-next 0/3] ipv6: avoid atomic fragment on GSO output Yan Zhai
2023-10-20  5:32 ` [PATCH v3 net-next 1/3] ipv6: remove dst_allfrag test on ipv6 output Yan Zhai
2023-10-20  6:06   ` Eric Dumazet
2023-10-20  6:39     ` Yan Zhai
2023-10-20  9:23       ` Eric Dumazet
2023-10-20 10:00         ` Florian Westphal
2023-10-20 13:57           ` Yan Zhai
2023-10-20  5:32 ` [PATCH v3 net-next 2/3] ipv6: refactor ip6_finish_output for GSO handling Yan Zhai
2023-10-20 19:16   ` Willem de Bruijn
2023-10-20  5:32 ` [PATCH v3 net-next 3/3] ipv6: avoid atomic fragment on GSO packets Yan Zhai

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.