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!

Reply via email to