Revision b210de4f8c97d57de051e805686248ec4c6cfc52 authored by Aya Levin on 07 January 2021, 13:50:18 UTC, committed by Jakub Kicinski on 09 January 2021, 22:06:32 UTC
There are cases where GSO segment's length exceeds the egress MTU: - Forwarding of a TCP GRO skb, when DF flag is not set. - Forwarding of an skb that arrived on a virtualisation interface (virtio-net/vhost/tap) with TSO/GSO size set by other network stack. - Local GSO skb transmitted on an NETIF_F_TSO tunnel stacked over an interface with a smaller MTU. - Arriving GRO skb (or GSO skb in a virtualised environment) that is bridged to a NETIF_F_TSO tunnel stacked over an interface with an insufficient MTU. If so: - Consume the SKB and its segments. - Issue an ICMP packet with 'Packet Too Big' message containing the MTU, allowing the source host to reduce its Path MTU appropriately. Note: These cases are handled in the same manner in IPv4 output finish. This patch aligns the behavior of IPv6 and the one of IPv4. Fixes: 9e50849054a4 ("netfilter: ipv6: move POSTROUTING invocation before fragmentation") Signed-off-by: Aya Levin <ayal@nvidia.com> Reviewed-by: Tariq Toukan <tariqt@nvidia.com> Link: https://lore.kernel.org/r/1610027418-30438-1-git-send-email-ayal@nvidia.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
1 parent a2bc221
File | Mode | Size |
---|---|---|
Makefile | -rw-r--r-- | 255 bytes |
pci.c | -rw-r--r-- | 20.0 KB |
pci_bus.c | -rw-r--r-- | 5.8 KB |
pci_bus.h | -rw-r--r-- | 798 bytes |
pci_clp.c | -rw-r--r-- | 15.5 KB |
pci_debug.c | -rw-r--r-- | 4.7 KB |
pci_dma.c | -rw-r--r-- | 16.6 KB |
pci_event.c | -rw-r--r-- | 3.9 KB |
pci_insn.c | -rw-r--r-- | 8.1 KB |
pci_iov.c | -rw-r--r-- | 2.2 KB |
pci_iov.h | -rw-r--r-- | 752 bytes |
pci_irq.c | -rw-r--r-- | 11.4 KB |
pci_mmio.c | -rw-r--r-- | 8.1 KB |
pci_sysfs.c | -rw-r--r-- | 4.6 KB |
Computing file changes ...