Bug 8476

Summary: ifup/ifdown должны работать с любыми интерфейсами индивидуально.
Product: Sisyphus Reporter: Sergey Y. Afonin <asy>
Component: etcnetAssignee: Mikhail Efremov <sem>
Status: CLOSED NOTABUG QA Contact: qa-sisyphus
Severity: enhancement    
Priority: P2 CC: ldv, rider, sem, shaba, solo, vseleznv
Version: unstable   
Hardware: all   
OS: Linux   

Description Sergey Y. Afonin 2005-11-12 12:20:21 MSK
Если сделать несколько алиасов, то они не обрабатываются раздельно. Например,   
если eth1/ipv4address содержит  
  
192.168.1.1/24 
192.168.2.1/24 label eth1:2 
192.168.3.1/24 label eth1:3 
 
то ifdown eth1:2, к примеру, не вызовет никакого эффекта. А хотелось бы... 
Причем, хотелось бы даже в том случае, если строчка закомментирована. То есть 
еще и на активные интерфейсы смотреть неплохо бы. А может и только на активные 
и в конфиги вообще не лазить из ifdown. И, соответственно, хотелось бы 
аналогичного для интерфейсов из vlantab (хотя это я еще не проверил, вдруг 
работает ? :-) ).
Comment 1 Denis Ovsienko 2005-11-12 13:35:51 MSK
Мне кажется, вы путаете интерфейсы и адреса. В вашем случае интерфейс один, а
адресов несколько. Добавлять и удалять адреса можно с помощью /sbin/ip.
/sbin/ifup и /sbin/ifdown оперируют интерфейсами.
Comment 2 Sergey Y. Afonin 2005-11-12 14:29:19 MSK
Я имел ввиду именно IP-интерфейсы, а не физические. Один он на физическом или    
их там несколько, как мне кажется, дело десятое. И, в общем-то, ifup/ifdown в    
net-scripts именно с ip-интерфейсом и работали. То есть, там ifdown/ifup   
eth1:2 отрабатывается вполне корректно в этом плане.   
   
Про то, что это можно сделать с помощью ip, я в курсе, но это не сильно   
удобно, особенно, если это приходится делать достаточно регулярно.  
   
Я бы сделал reopen... Думаю, такое поведение не только мне бы понравилось. 
Сейчас в рассылку ссылку напишу, посмотрим что скажут... 
Comment 3 Denis Ovsienko 2005-11-12 15:07:47 MSK
В Linux существуют сетевые интерфейсы, которые нумеруются по ifindex. У них
может быть произвольное количество адресов произвольного количества протоколов
(в данном случае IPv4, IPv6 и IPX). Этот интерфейс может как соответствовать
hardware (eth), так и не соответствовать (dummy), и в общем случае вы их никак
не отличите. То, что здесь было названо "IP-интерфейсом", является IP-адресом.
Вы предлагаете дополнительные скрипты labelup/labeldown?
Comment 4 Sergey Y. Afonin 2005-11-12 18:04:00 MSK
Про терминологию можно спорить. :-)  
Да, в каждом конкретном случае (linux/не Linux) может что-то отличаться в  
нюансах. Я привык IP-адрес, который имеется на хосте, называть IP-интерфейсом.  
  
Что касается скриптов. В принципе, если есть объективные препятствия по  
доработке ifup/ifdown, можно и вторую пару скриптов сделать, но, вообще-то, 
хотелось бы именно поведение ifup/ifdown видеть таким, как у net-scripts и, 
даже, лучше :-). То есть, если даунится eth, даунится все, что с ним связано, 
если валится ethN:xxx, даунить по лейбл. Можно еще подумать в этом направлении. 
Кстати, если посмотреть на ip addr show 
 
3: eth1: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 1000 
    link/ether 00:04:23:bd:b3:d4 brd ff:ff:ff:ff:ff:ff 
    inet 192.168.1.1/30 scope global eth1 
    inet 192.168.2.1/30 scope global eth1:0 
    inet 192.168.3.1/28 scope global eth1:4 
    inet 193.168.4.1/28 scope global eth1:5 
 
То справа, как раз те самые метки, к которым можно и попробовать 
привязаться. 
 
Comment 5 Sergey Y. Afonin 2005-11-12 21:37:20 MSK
И, похоже, есть болезнь, которая передалась по наследству от net-scripts, хотя 
в общем-то, не должно быть ничего общего. Если что-то подправить в 
конфигурации, а потом сделать reload, далеко не всегда это проходит нормально, 
иногда мешают хвосты предыдущей конфигурации. Возможно, в случае etcnet, это 
последствия наличия опции NEVER_RMMOD=yes. Но оставлять ее опасно ввиду попыток 
(успешных) выгрузить драйвер из-под других физических интерфейсов. 
 
Comment 6 Denis Ovsienko 2005-12-14 14:58:40 MSK
rmmod по умолчанию был в своё время введён именно из-за "хвостов".