code: func crcIP(ip net.IP, rand uint8) uint32 {
  	if ip4 := ip.To4(); ip4 != nil {
  		ip = ip4
  	}
  	// Copy IP so we can make changes. Go sux at this.
  	ip = append(make(net.IP, 0, len(ip)), ip...)
  	mask := maskForIP(ip)
  	for i := range mask {
  		ip[i] &= mask[i]
  	}
  	r := rand & 7
  	ip[0] |= r << 5
  	return crc32.Checksum(ip[:len(mask)], crc32.MakeTable(crc32.Castagnoli))
  }
docs: // Generate the CRC used to make or validate secure node ID.