code: func PseudoHeaderChecksum(protocol tcpip.TransportProtocolNumber, srcAddr tcpip.Address, dstAddr tcpip.Address, totalLen uint16) uint16 {
  	xsum := Checksum([]byte(srcAddr), 0)
  	xsum = Checksum([]byte(dstAddr), xsum)
  
  	// Add the length portion of the checksum to the pseudo-checksum.
  	tmp := make([]byte, 2)
  	binary.BigEndian.PutUint16(tmp, totalLen)
  	xsum = Checksum(tmp, xsum)
  
  	return Checksum([]byte{0, uint8(protocol)}, xsum)
  }
docs: // PseudoHeaderChecksum calculates the pseudo-header checksum for the given
  // destination protocol and network address. Pseudo-headers are needed by
  // transport layers when calculating their own checksum.