Quel est le comportement exact de la commande: changement d'adresse IP?

12

J'ai tripoté IPv6 et traité les durées de vie. J'ai découvert que l' valid_lftattribut fera disparaître une adresse v6 automatiquement, s'il est utilisé correctement. Pour prolonger la durée de vie d'une adresse, je

ip addr change 1:2:3:4::1/112 dev eth0 valid_lft 86000

L'utilisation de ip addr changen'apparaît dans aucune page de manuel à laquelle j'ai accès (Debian, Ubuntu et en ligne ) et pas dans la documentation officielle . Je l'ai trouvé dans un article faisant référence à un e-mail de 2009 à la liste de diffusion ipv6-ops.

D'après ce que j'ai pu déterminer, je suppose que l'on peut toujours utiliser à la ip addr changeplace de ip addr add, car si une adresse n'existe pas, ipelle en ajoutera une, juste si elle a ip addr addété utilisée.

Est-ce exact, c.-à-d. Que quelqu'un peut-il expliquer ce que fait précisément ip addr changeet en quoi il diffère ip addr add?

Bananguin
la source

Réponses:

6

Lorsque vous n'êtes pas sûr de ce que fait quelque chose et que la documentation ne le dit pas, vous êtes arrivé aux sources, à savoir la ligne 1588 :

if (matches(*argv, "change") == 0 ||
    strcmp(*argv, "chg") == 0)
    return ipaddr_modify(RTM_NEWADDR, NLM_F_REPLACE, argc-1, argv+1);

Alors, qu'est-ce que ça fait? Renvoie le résultat de l'exécution de la ipaddr_modify()fonction définie à la ligne 1379 avec les arguments RTM_NEWADDRet NLM_F_REPLACE.

D'après ce que j'ai pu déterminer, je suppose que l'on peut toujours utiliser à la ip addr changeplace de ip addr add, car si une adresse n'existe pas, ipelle en ajoutera une, juste si elle a ip addr addété utilisée.

Est-ce exact, c.-à-d. Que quelqu'un peut-il expliquer ce que fait précisément ip addr changeet en quoi il diffère ip addr add?

Non, addcréera ou exécutera les arguments donnés (le cas échéant), tandis que changerecherchera l'argument et le remplacera.

BTW, replacesemble être un compromis entre addet changecar il utilise un mélange d'arguments.

Braiam
la source
Et quel est l'effet de ces drapeaux? Parce que sur la ligne de commande, ils ne s'affichent pas vraiment. D'autant plus que changefonctionne comme addsi l'adresse à changer n'existe pas encore. Je ne pensais pas que je devrais fouiller dans la source du noyau (car c'est là que les drapeaux sont finalement passés), afin de découvrir ce que fait l'un des outils de ligne de commande les plus populaires pour la gestion de réseau. Ce n'est pas les années 90 ... :-) Mais merci quand même!
Bananguin le