Remove duplicate and incorrect size check

Minimum header sizes are already checked in each `case` arm below. Worse, the
ICMP entries in transportProtocolMinSizes are incorrect, and produce false "raw
packet" logs.

PiperOrigin-RevId: 315730073
This commit is contained in:
Tamir Duberstein
2020-06-10 11:25:58 -07:00
committed by gVisor bot
parent 9d2b2c121f
commit f004bb8703
-14
View File
@@ -47,13 +47,6 @@ var LogPackets uint32 = 1
// LogPacketsToPCAP must be accessed atomically.
var LogPacketsToPCAP uint32 = 1
var transportProtocolMinSizes map[tcpip.TransportProtocolNumber]int = map[tcpip.TransportProtocolNumber]int{
header.ICMPv4ProtocolNumber: header.IPv4MinimumSize,
header.ICMPv6ProtocolNumber: header.IPv6MinimumSize,
header.UDPProtocolNumber: header.UDPMinimumSize,
header.TCPProtocolNumber: header.TCPMinimumSize,
}
type endpoint struct {
dispatcher stack.NetworkDispatcher
lower stack.LinkEndpoint
@@ -299,13 +292,6 @@ func logPacket(prefix string, protocol tcpip.NetworkProtocolNumber, pkt *stack.P
return
}
// We aren't guaranteed to have a transport header - it's possible for
// writes via raw endpoints to contain only network headers.
if minSize, ok := transportProtocolMinSizes[tcpip.TransportProtocolNumber(transProto)]; ok && vv.Size() < minSize {
log.Infof("%s %v -> %v transport protocol: %d, but no transport header found (possible raw packet)", prefix, src, dst, transProto)
return
}
// Figure out the transport layer info.
transName := "unknown"
srcPort := uint16(0)