Table
9-31 shows the operators available for the cidr and inet types. The
operators <<, <<=, >>, and
>>= test for subnet inclusion.
They consider only the network parts of the two addresses,
ignoring any host part, and determine whether one network part is
identical to or a subnet of the other.

Table 9-31. cidr and
inet Operators

Operator

Description

Example

<

is less than

inet '192.168.1.5' < inet
'192.168.1.6'

<=

is less than or equal

inet '192.168.1.5' <= inet
'192.168.1.5'

=

equals

inet '192.168.1.5' = inet
'192.168.1.5'

>=

is greater or equal

inet '192.168.1.5' >= inet
'192.168.1.5'

>

is greater than

inet '192.168.1.5' > inet
'192.168.1.4'

<>

is not equal

inet '192.168.1.5' <> inet
'192.168.1.4'

<<

is contained within

inet '192.168.1.5' << inet
'192.168.1/24'

<<=

is contained within or equals

inet '192.168.1/24' <<=
inet '192.168.1/24'

>>

contains

inet'192.168.1/24' >> inet
'192.168.1.5'

>>=

contains or equals

inet '192.168.1/24' >>=
inet '192.168.1/24'

Table
9-32 shows the functions available for use with the
cidr and inet types.
The host, text, and abbrev
functions are primarily intended to offer alternative display
formats. You can cast a text value to inet
using normal casting syntax: inet(expression) or colname::inet.

Table 9-32. cidr and
inet Functions

Function

Return Type

Description

Example

Result

broadcast(inet)

inet

broadcast address for network

broadcast('192.168.1.5/24')

192.168.1.255/24

host(inet)

text

extract IP address as text

host('192.168.1.5/24')

192.168.1.5

masklen(inet)

integer

extract netmask length

masklen('192.168.1.5/24')

24

set_masklen(inet,
integer)

inet

set netmask length for inet
value

set_masklen('192.168.1.5/24',
16)

192.168.1.5/16

netmask(inet)

inet

construct netmask for network

netmask('192.168.1.5/24')

255.255.255.0

hostmask(inet)

inet

construct host mask for network

hostmask('192.168.23.20/30')

0.0.0.3

network(inet)

cidr

extract network part of address

network('192.168.1.5/24')

192.168.1.0/24

text(inet)

text

extract IP address and netmask length as text

text(inet
'192.168.1.5')

192.168.1.5/32

abbrev(inet)

text

abbreviated display format as text

abbrev(cidr
'10.1.0.0/16')

10.1/16

Table
9-33 shows the functions available for use with the
macaddr type. The function trunc(macaddr) returns a MAC address with the last 3
bytes set to zero. This can be used to associate the remaining
prefix with a manufacturer. The directory contrib/mac in the source distribution contains
some utilities to create and maintain such an association
table.