9.11. Fonctions et opérateurs pour le type des adresses réseau

Tableau 9-31 affiche les opérateurs disponibles pour les types cidr et inet. Les opérateurs de tests <<, <<=, >> et >>= d'inclusion du sous-réseau. Ils considèrent seulement les parties réseau des deux adresses, ignorant toute la partie hôte et déterminent si une partie réseau est identique à un sous-réseau ou à un autre.

Tableau 9-31. Opérateurs cidr et inet

OpérateurDescriptionExemple
< est plus petit queinet '192.168.1.5' < inet '192.168.1.6'
<= est plus petit que ou égal àinet '192.168.1.5' <= inet '192.168.1.5'
= est égal àinet '192.168.1.5' = inet '192.168.1.5'
>= est plus grand ou égal àinet '192.168.1.5' >= inet '192.168.1.5'
> est plus grand queinet '192.168.1.5' > inet '192.168.1.4'
<> n'est pas égal àinet '192.168.1.5' <> inet '192.168.1.4'
<< est contenu dansinet '192.168.1.5' << inet '192.168.1/24'
<<= est contenu dans ou égal àinet '192.168.1/24' <<= inet '192.168.1/24'
>> contientinet'192.168.1/24' >> inet '192.168.1.5'
>>= contient ou est égal àinet '192.168.1/24' >>= inet '192.168.1/24'

Tableau 9-32 affiche les fonctions disponibles, utilisables avec les types cidr et inet. Les fonctions host, text et abbrev ont principalement pour but d'offrir des formatages d'affichage alternatifs. Vous pouvez convertir une valeur de type texte vers un type inet en utilisant la syntaxe de conversion normale : inet(expression) ou colname::inet.

Tableau 9-32. Fonctions cidr et inet

FonctionType de retourDescriptionExempleRésultat
broadcast(inet)inetadresse de broadcast pour le réseaubroadcast('192.168.1.5/24')192.168.1.255/24
host(inet)textextraction de l'adresse IP comme du textehost('192.168.1.5/24')192.168.1.5
masklen(inet)integerextraction de la longueur du masque réseaumasklen('192.168.1.5/24')24
set_masklen(inet, integer)inetinitialise la longueur du masque réseau pour une valeur de type inetset_masklen('192.168.1.5/24', 16)192.168.1.5/16
netmask(inet)inetconstruction du masque réseaunetmask('192.168.1.5/24')255.255.255.0
hostmask(inet)inetconstruction du masque de l'hôte pour le réseauhostmask('192.168.23.20/30')0.0.0.3
network(inet)cidrextraction de la partie réseau de l'adressenetwork('192.168.1.5/24')192.168.1.0/24
text(inet)textextraction de l'adresse IP et de la longueur du masque réseau comme textetext(inet '192.168.1.5')192.168.1.5/32
abbrev(inet)textformat d'affichage raccourci comme texteabbrev(cidr '10.1.0.0/16')10.1/16
family(inet)integerextrait la famille de l'adresse ; 4 pour IPv4, 6 pour IPv6family('::1')6

Tableau 9-33 affiche les fonctions disponibles, à utiliser avec le type macaddr. La fonction trunc(macaddr) renvoie une adresse MAC avec les trois derniers octets initialisés à zéro. Ceci peut être utilisé pour associer le préfixe restant avec un manufacturier. Le répertoire contrib/mac dans la distribution source contient quelques outils pour créer et maintenir une table d'association.

Tableau 9-33. Fonctions macaddr

FonctionType de retourDescriptionExempleRésultat
trunc(macaddr)macaddrinitialiser les trois octets à zérotrunc(macaddr '12:34:56:78:90:ab')12:34:56:00:00:00

Le type macaddr supporte aussi les opérateurs relationnels standards (>, <=, etc.) dans un ordre lexicographique.