package ip import ( "math/big" "net" ) type IPv4HeaderBitOffset uint32 const ( // see IPv4 Header (RFC 791) - https://wiki.sans.blue/Tools/tcpip/ip.html SrcAddressBitOffset IPv4HeaderBitOffset = 12 DstAddressBitOffset IPv4HeaderBitOffset = 16 OptionsBitOffset IPv4HeaderBitOffset = 20 ) var ( DstPortMask uint32 = 0x0000ffff SrcPortMask uint32 = 0xffff0000 ) var ( IPIPHeaderSize = 20 // IPIP header 20 bytes length ) // converts ipv4 address to unsigned, 32 bit integer func IPv4ToUInt32(ip net.IP) uint32 { ipv4 := ip.To4() ipInt := big.NewInt(0) ipInt.SetBytes(ipv4) return uint32(ipInt.Uint64()) /* #nosec G115 */ }