On Fri, Apr 16, 2021 at 11:27:59AM +0200, Sabrina Dubroca wrote: > Jianwen reported that IPv6 Interoperability tests are failing in an > IPsec case where one of the links between the IPsec peers has an MTU > of 1280. The peer generates a packet larger than this MTU, the router > replies with a "Packet too big" message indicating an MTU of 1280. > When the peer tries to send another large packet, xfrm_state_mtu > returns 1280 - ipsec_overhead, which causes ip6_setup_cork to fail > with EINVAL. > > We can fix this by forcing xfrm_state_mtu to return IPV6_MIN_MTU when > IPv6 is used. After going through IPsec, the packet will then be > fragmented to obey the actual network's PMTU, just before leaving the > host. > > Currently, TFC padding is capped to PMTU - overhead to avoid > fragementation: after padding and encapsulation, we still fit within > the PMTU. That behavior is preserved in this patch. > > Fixes: 91657eafb64b ("xfrm: take net hdr len into account for esp payload > size calculation") > Reported-by: Jianwen Ji <j...@redhat.com> > Signed-off-by: Sabrina Dubroca <s...@queasysnail.net>
Applied, thanks Sabrina!