From 753af453eff6556dfba60e4ab0162e94f4032662 Mon Sep 17 00:00:00 2001 From: Matthias Radestock Date: Thu, 28 Aug 2014 14:17:00 +0100 Subject: [PATCH] fix off-by-14 error in fragmentation This was harmless since it simply meant our fragments were not as long as they could be. --- forwarder.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/forwarder.go b/forwarder.go index 7c9c7baa..7a15a25b 100644 --- a/forwarder.go +++ b/forwarder.go @@ -129,7 +129,7 @@ func fragment(eth layers.Ethernet, ip layers.IPv4, pmtu int, frame *ForwardedFra headerSize := int(ip.IHL) * 4 // &^ is bit clear (AND NOT). So here we're clearing the lowest 3 // bits. - maxSegmentSize := (pmtu - EthernetOverhead - headerSize) &^ 7 + maxSegmentSize := (pmtu - headerSize) &^ 7 opts := gopacket.SerializeOptions{ FixLengths: false, ComputeChecksums: true}