Bug 5891

Summary: no vlan support for BOOTPROTO=none and VLAN_NAMING=DEV_PLUS_VID_NO_PAD
Product: ALT Linux 2.4 Reporter: Dmytro O. Redchuk <dor>
Component: net-scriptsAssignee: Denis Ovsienko <pilot>
Status: CLOSED FIXED QA Contact: Andrey Cherepanov <cas>
Severity: normal    
Priority: P2 CC: pilot
Version: 2.4   
Hardware: all   
OS: Linux   
Attachments:
Description Flags
исправление none

Description Dmytro O. Redchuk 2005-01-18 10:54:52 MSK
1. В скрипте /sbin/ifup неправильно определяются REALDEVICE и vlan_id для
ситуации VLAN_NAMING=DEV_PLUS_VID_NO_PAD.
2. В скрипте /sbin/ifup не обрабатывается ситуация BOOTPROTO=none, вследствие
чего соотв. интерфейс остаётся down. После чего сабинтерфейсы (devN.vid) не
могут быть созданы.
Steps to Reproduce:
1. Создать файл ifcfg-eth0, оставить только BOOTPROTO=none и ONBOOT=yes.
2. # cp ifcfg-eth0 ifcfg-eth0.100   # и добавить туда VLAN_TRUNK_IF=eth0
3. Остановить службу network, rmmod модули карточек.
4. Запустить службу network.
Actual Results:  
vconfig не может создать eth0.100,
eth0 остаётся в down.

Expected Results:  
А должно всё работать, по идее.
Патчи для /sbin/ifup нехитрые.
Comment 1 Denis Ovsienko 2005-02-07 19:03:13 MSK
Пробую, не вижу ошибку:

[root@pilot network-scripts]# cat ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=none

[root@pilot network-scripts]# cat ifcfg-eth0.100
DEVICE=eth0.100
ONBOOT=yes
BOOTPROTO=none
VLAN_TRUNK_IF=eth0
[root@pilot network-scripts]# cat /etc/sysconfig/vlan
# VLAN subsystem

# Change this to yes if you want VLANS.
DOT1Q_VLANS=yes

# VLAN name types:
#       VLAN_PLUS_VID           = vlan0005
#       VLAN_PLUS_VID_NO_PAD    = vlan5
#       DEV_PLUS_VID            = eth0.0005
#       DEV_PLUS_VID_NO_PAD     = eth0.5
#VLAN_NAMING=VLAN_PLUS_VID
VLAN_NAMING=DEV_PLUS_VID_NO_PAD

# cat /proc/net/vlan/config
VLAN Dev name    | VLAN ID
Name-Type: VLAN_NAME_TYPE_RAW_PLUS_VID_NO_PAD
eth0.100       | 100  | eth0
Comment 2 Dmytro O. Redchuk 2005-02-08 11:39:01 MSK
Пробую -- и вижу:
--------------------------------------
# cat ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=none

# cat ifcfg-eth0.100
DEVICE=eth0.100
ONBOOT=yes
BOOTPROTO=static
IPADDR=10.10.10.1
NETMASK=255.255.255.0
NETWORK=10.10.10.0
BROADCAST=10.10.10.255
VLAN_TRUNK_IF=eth0

# cat /etc/sysconfig/vlan
DOT1Q_VLANS=yes
VLAN_NAMING=DEV_PLUS_VID_NO_PAD
--------------------------------------
# service network stop
# rmmod pcnet32
# service network start
Configuring kernel parameters:                                          [ DONE ]
Bringing up interface lo:                                               [ DONE ]
Bringing up interface eth0:                                             [ DONE ]
Bringing up interface eth0.100: Delaying eth0.100 initialization.
                                                                        [FAILED]

# cat /proc/net/vlan/config
VLAN Dev name    | VLAN ID
Name-Type: VLAN_NAME_TYPE_RAW_PLUS_VID_NO_PAD
--------------------------------------

Об этом и шла речь -- я нужно оставить BOOTPROTO на ethX =none, но активировать
на *некоторых* виланах tcp/ip протокол.
Если master device оставлен в none -- его скрипт ifup не подымает, после чего
"дочерние" не подымаются тоже.
Comment 3 Denis Ovsienko 2005-02-08 15:53:46 MSK
Created attachment 723 [details]
исправление

Прикрепляю исходный патч в более традиционном виде.
Comment 4 Denis Ovsienko 2005-02-08 15:54:16 MSK
Принято в 0.5.3
Comment 5 Denis Ovsienko 2005-02-16 20:01:17 MSK
Для истории: правка этого бага приводит к неработоспособности lo без
BOOTPROTO=static в ifcfg-lo. Да здравствует /etc/net!