(pkt []byte, iphLen, proto uint8, isV6 bool)
| 386 | } |
| 387 | |
| 388 | func checksumValid(pkt []byte, iphLen, proto uint8, isV6 bool) bool { |
| 389 | srcAddrAt := ipv4SrcAddrOffset |
| 390 | addrSize := 4 |
| 391 | if isV6 { |
| 392 | srcAddrAt = ipv6SrcAddrOffset |
| 393 | addrSize = 16 |
| 394 | } |
| 395 | lenForPseudo := uint16(len(pkt) - int(iphLen)) |
| 396 | cSum := pseudoHeaderChecksumNoFold(proto, pkt[srcAddrAt:srcAddrAt+addrSize], pkt[srcAddrAt+addrSize:srcAddrAt+addrSize*2], lenForPseudo) |
| 397 | return ^checksum(pkt[iphLen:], cSum) == 0 |
| 398 | } |
| 399 | |
| 400 | // coalesceResult represents the result of attempting to coalesce two TCP |
| 401 | // packets. |
no test coverage detected