# ulib/ipcalc

## `get_random_kvm_macaddr`
~~~
Obtenir une adresse mac au hasard commençant par 52:54:00 pour KVM
~~~
## `ipcalc_splitipmask`
~~~
Découper $1 de la forme ip[/mask] entre l'adresse ip, qui est placé dans
la variable $2(=ip) et le masque, qui est placée dans la variable
$3(=mask)
~~~
## `ipcalc_checkip`
~~~
Vérifier l'adresse ip $1 pour voir si elle est valide. Si l'adresse est
valide, l'afficher. Sinon, retourner 1
~~~
## `ipcalc_checkmask`
~~~
vérifier le masque de sous-réseau $1 pour voir si elle est valide. Si oui,
afficher le suffixe (0, 8, 16, 24, 32) associé. Sinon retourner 1
~~~
## `ipcalc_netmask`
~~~
à partir d'un suffixe (0, 8, 16, 24, 32) ou d'un masque de sous-réseau,
afficher le masque de sous-réseau. si le suffixe ou le masque ne sont pas
reconnus, retourner 1
~~~
## `ipcalc_network`
~~~
Calculer l'adresse de réseau correspondant à l'adresse ip $1. Le masque
de sous-réseau peut-être indiqué dans l'adresse ip avec le suffixe /n ou
/x.x.x.x ou donné dans l'argument $2. Seuls les suffixes 0, 8, 16, 24, 32
sont supportés.
Retourner 1 si un erreur s'est produite, par exemple si l'adresse ou le
suffixe sont invalides ou non supportés.
~~~
## `ipcalc_broadcast`
~~~
Calculer l'adresse de broadcast correspondant à l'adresse ip $1. Le masque
de sous-réseau peut-être indiqué dans l'adresse ip avec le suffixe /n ou
/x.x.x.x ou donné dans l'argument $2. Seuls les suffixes 0, 8, 16, 24, 32
sont supportés.
Retourner 1 si un erreur s'est produite, par exemple si l'adresse ou le
suffixe sont invalides ou non supportés.
~~~
## `ipcalc_gateway`
~~~
Calculer l'adresse du gateway correspondant à l'adresse ip $1, en
considérant que le gateway est la première adresse du réseau. Le masque de
sous-réseau peut-être indiqué dans l'adresse ip avec le suffixe /n ou
/x.x.x.x ou donné dans l'argument $2. Seuls les suffixes 0, 8, 16, 24, 32
sont supportés.
Retourner 1 si un erreur s'est produite, par exemple si l'adresse ou le
suffixe sont invalides ou non supportés.
~~~
## `ipcalc_match`
~~~
Vérifier si l'adresse $1 correspond au modèle $2, e.g.:
ipcalc_match 10.75.0.23 10/8         --> TRUE
ipcalc_match 10.75.0.23 10.75.0.0/24 --> TRUE
ipcalc_match 10.75.0.23 10.75.0.28   --> FALSE
~~~
## `ipcalc_fqdn`
~~~
Calculer si possible le nom pleinement qualifié correspondant à l'hôte $1.
Dans tous les cas, afficher l'hôte, mais retourner 1 si la calcul n'a pas
pu être effectué.
~~~
## `ipcalc_fqdn_maybe`
~~~
Si $1 *semble* déjà être un nom d'hôte pleinement qualifié, l'afficher tel
quel. Sinon utiliser ipcalc_fqdn() pour afficher le nom d'hôte pleinement
qualifié correspondant.
~~~
## `network_parse_confbr`
~~~
network_parse_confbr "$confbr" br ifaces
~~~
## `network_format_confbr`
~~~
network_format_confbr "$br" ifaces --> "br:ifaces"
~~~
## `network_parse_confip`
~~~
network_parse_confip "$confip" iface gateway ipsuffixes
~~~
## `network_parse_ipsuffix`
~~~
network_parse_ipsuffix "$ipsuffix" ip suffix
~~~
## `network_format_confip`
~~~
network_format_confip "$iface" "$gateway" ipsuffixes --> "iface//gateway:ipsuffixes"
~~~
## `network_format_ipsuffix`
~~~
network_format_ipsuffix "$ip" "$suffix" --> "ip/suffix"
~~~
## `network_fix_confbrs`
~~~
normaliser le tableau $1(=confbrs): fusionner les doublons
~~~
## `network_fix_confips`
~~~
normaliser le tableau $1(=confips): fusionner les doublons, spécifier le
suffixe /24 par défaut, etc. $2 est le cas échéant l'interface associée
aux adresses ip non qualifiées
~~~
## `network_fix_mainiface`
~~~
A partir des valeurs des tableaux $1(=confbrs) et $2(=confips), et de
l'interface principale $3, déterminer l'interface principale. Si $3 est
spécifié, c'est la valeur sélectionnée. Sinon, si un bridge existe, c'est
le premier bridge qui est sélectionné. Sinon, la première interface est
sélectionnée. Sinon, on prend eth0.
Ensuite, réorganiser les tableaux de façon que confips[0] devienne la
configuration ip de l'interface principale.
~~~
## `network_fix_confs`
## `network_set_confbrs`
~~~
initialiser $1(=confbrs) avec l'état des bridges sur le système courant
~~~
## `network_set_confips`
~~~
initialiser le tableau $1(=confips) avec l'état des interfaces sur le
système courant
~~~
## `network_fix_exim4`
## `network_fix_postfix`
## `network_fix_hosts`

-*- coding: utf-8 mode: markdown -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8:noeol:binary