summaryrefslogtreecommitdiffhomepage
path: root/pkg/tcpip/network/ipv4/icmp.go
diff options
context:
space:
mode:
authorgVisor bot <gvisor-bot@google.com>2020-10-22 05:15:02 +0000
committergVisor bot <gvisor-bot@google.com>2020-10-22 05:15:02 +0000
commit4aeb88453ff28369e76eefcd4957ad23bd216559 (patch)
tree078844d25f69fafd9c3cba00939c473aa053eb6f /pkg/tcpip/network/ipv4/icmp.go
parent5e18bb6c3270315dda1ccbd2c3530f05c353120f (diff)
parent58a3c2d44f9596c22ef6b226cb6f2fa61617ba88 (diff)
Merge release-20201019.0-29-g58a3c2d44 (automated)
Diffstat (limited to 'pkg/tcpip/network/ipv4/icmp.go')
-rw-r--r--pkg/tcpip/network/ipv4/icmp.go7
1 files changed, 5 insertions, 2 deletions
diff --git a/pkg/tcpip/network/ipv4/icmp.go b/pkg/tcpip/network/ipv4/icmp.go
index 3407755ed..ac66403fa 100644
--- a/pkg/tcpip/network/ipv4/icmp.go
+++ b/pkg/tcpip/network/ipv4/icmp.go
@@ -182,8 +182,11 @@ func (e *endpoint) handleICMP(r *stack.Route, pkt *stack.PacketBuffer) {
e.handleControl(stack.ControlPortUnreachable, 0, pkt)
case header.ICMPv4FragmentationNeeded:
- mtu := uint32(h.MTU())
- e.handleControl(stack.ControlPacketTooBig, calculateMTU(mtu), pkt)
+ networkMTU, err := calculateNetworkMTU(uint32(h.MTU()), header.IPv4MinimumSize)
+ if err != nil {
+ networkMTU = 0
+ }
+ e.handleControl(stack.ControlPacketTooBig, networkMTU, pkt)
}
case header.ICMPv4SrcQuench: