Яка точна поведінка команди: Зміна адреси ip?


12

Я співаюсь з IPv6 та адресами життя. Я з'ясував, що valid_lftатрибут змусить v6-адресу зникнути автоматично, якщо його правильно використовувати. Щоб продовжити життя, я б хотів

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

Використання ip addr changeне відображається на жодних сторінках, до яких я маю доступ (Debian, Ubuntu та в Інтернеті ), а також не в офіційній документації . Я знайшов це у статті, що стосується електронного листа з 2009 року до списку розсилки ipv6-ops.

З того, що я міг би визначити, як грати, я думаю, що завжди можна використовувати ip addr changeзамість цього ip addr add, тому що якщо адреса не існує, ipвона додасть її, як тільки вона ip addr addбула використана.

Це правильно, тобто чи може хтось пояснити, що саме ip addr changeробить і чим він відрізняється ip addr add?

Відповіді:


6

Якщо ви не впевнені, що щось робить, а документація не говорить, ви потрапили до джерел, а саме до рядка 1588 :

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

Отже, що це робить? Повертає результат виконання ipaddr_modify()функції, визначеної у рядку 1379, з аргументами RTM_NEWADDRта NLM_F_REPLACE.

З того, що я міг би визначити, як грати, я думаю, що завжди можна використовувати ip addr changeзамість цього ip addr add, тому що якщо адреса не існує, ipвона додасть її, як тільки вона ip addr addбула використана.

Це правильно, тобто чи може хтось пояснити, що саме ip addr changeробить і чим він відрізняється ip addr add?

Ні, addстворить або виконає наведені аргументи (якщо такі є), тоді як changeшукатиме аргумент та замінює його.

До речі, replaceздається, компроміс між addі changeяк це використовувати змішаний набір аргументів.


І який ефект мають ці прапори? Тому що в командному рядку вони насправді не відображаються. Тим більше, що changeпрацює, addякби адреса для зміни ще не існує. Я не думав, що мені доведеться перекопати джерело ядра (тому що там, в кінцевому підсумку, передаються прапори), щоб дізнатися, що робить один із найпопулярніших інструментів командного рядка для управління мережею. Це не 90-ті ... :-) Але дякую все одно!
Bananguin
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.