ipv4_network_int64¶
Description¶
Converts IPv4 network addresses to integer representation.
Given an IPv4 network address string in dotted-quad format, convert the address to an integer representing the address in big-endian (network) byte order, masked either to the slash-masksize mask, or to the natural class A, B, C, or private network format.
CIDR formatting (in which the dotted-quad address is followed by a slash and a netmask size component) is supported.
Using this function you can decode CIDR network addresses, as well as classic “class” and “private” subnet addresses.
Masks formats, and derived masks, are:
Value |
Mask |
Explanation |
---|---|---|
8.8.4.4 |
255.0.0.0 |
Class A |
10.0.0.0 |
255.0.0.0 |
Private 10.x.y.z |
10.0.0.0/16 |
255.255.0.0 |
Mask /16 |
127.0.0.1 |
255.0.0.0 |
Class A |
127.0.0.1/24 |
255.255.255.0 |
Mask /24 |
128.1.2.3 |
255.255.0.0 |
Class B |
172.30.2.3 |
255.240.0.0 |
Private 172.{16-31}.x.y |
192.168.0.3 |
255.255.0.0 |
Private 192.168.x.y |
200.1.2.3 |
255.255.255.0 |
Class C |
Return type¶
int64
Domain¶
This is a scalar function (calculates a single output value for a single input row.)
Categories¶
Usage¶
ipv4_network_int64(ipv4)
Argument |
Type |
Optional |
Repeatable |
Restrictions |
---|---|---|---|---|
ipv4 |
string |
no |
no |
none |
Examples¶
make_col ipint:ipv4_network_int64(ipstr)
Assuming there’s a string input column with IP addresses, outputs the corresponding network addresses as integers in network byte order.
ipstr (input) |
ipint (output) |
---|---|
8.8.4.4 |
134217728 |
10.0.0.1 |
167772160 |
10.0.0.1/16 |
167772160 |
127.0.0.1 |
2130706432 |
127.0.0.1/24 |
2130706432 |
128.1.2.3 |
2147549184 |
172.30.2.3 |
2887647232 |
192.168.0.3 |
3232235520 |
200.1.2.3 |
3355509248 |
1.2.3.300 |
null |
1.2.3.4.5 |
null |
1.2.3 |
null |
localhost |
null |