code: func (b UDP) CalculateChecksum(partialChecksum uint16, totalLen uint16) uint16 {
  	// Add the length portion of the checksum to the pseudo-checksum.
  	tmp := make([]byte, 2)
  	binary.BigEndian.PutUint16(tmp, totalLen)
  	checksum := Checksum(tmp, partialChecksum)
  
  	// Calculate the rest of the checksum.
  	return Checksum(b[:UDPMinimumSize], checksum)
  }
docs: // CalculateChecksum calculates the checksum of the udp packet, given the total
  // length of the packet and the checksum of the network-layer pseudo-header
  // (excluding the total length) and the checksum of the payload.