Learn R Programming

ipaddress (version 0.5.0)

netmask: Network mask

Description

prefix_length(), netmask() and hostmask() extract different (but equivalent) representations of the network mask. They accept an ip_network or ip_interface vector.

The functions can also convert between these alternative representations. For example, prefix_length() can infer the prefix length from an ip_address vector of netmasks and/or hostmasks, while netmask() and hostmask() can accept a vector of prefix lengths.

Usage

prefix_length(...)

netmask(...)

hostmask(...)

# S3 method for ip_network prefix_length(x, ...)

# S3 method for ip_network netmask(x, ...)

# S3 method for ip_network hostmask(x, ...)

# S3 method for ip_interface prefix_length(x, ...)

# S3 method for ip_interface netmask(x, ...)

# S3 method for ip_interface hostmask(x, ...)

# S3 method for default prefix_length(mask, ...)

# S3 method for default netmask(prefix_length, is_ipv6, ...)

# S3 method for default hostmask(prefix_length, is_ipv6, ...)

Arguments

...

Arguments to be passed to other methods

x
mask

An ip_address vector of netmasks and/or hostmasks. Ambiguous cases (all zeros, all ones) are treated as netmasks.

prefix_length

An integer vector

is_ipv6

A logical vector

Value

  • prefix_length() returns an integer vector

  • netmask() and hostmask() return an ip_address vector

See Also

max_prefix_length()

Examples

Run this code
# NOT RUN {
x <- ip_network(c("192.168.0.0/22", "2001:db00::0/26"))

prefix_length(x)

netmask(x)

hostmask(x)

# construct netmask/hostmask from prefix length
netmask(c(22L, 26L), c(FALSE, TRUE))

hostmask(c(22L, 26L), c(FALSE, TRUE))

# extract prefix length from netmask/hostmask
prefix_length(ip_address(c("255.255.255.0", "0.255.255.255")))

# invalid netmask/hostmask raise a warning and return NA
prefix_length(ip_address("255.255.255.1"))
# }

Run the code above in your browser using DataLab