[Comm] vlan'ы и BOOTPROTO=none (и ifconfig?-)
Dmytro O. Redchuk
=?iso-8859-1?q?dor_=CE=C1_ldc=2Enet?=
Пн Янв 17 19:23:01 MSK 2005
Добрый вечер.
Может, я чего не понял, но у меня не пошли вилановые интерфейсы при
загрузке для без-айпишных интерфейсов.
VLAN_NAMING=DEV_PLUS_VID_NO_PAD
Прилагаю diff'ы изменений, после которых работает.
Честно говоря, не понимаю, как оно могло работать для даже айпишных,
так как /sbin/ifup, по-моему, неправильно определял REALDEVICE и
vlan_id для DEV_PLUS_VID_NO_PAD. Или как?..
Но я стогал сразу всё, поэтому... и не было времени тестировать
"попроблемно".
Кроме этого, не обрабатывалась ситуация BOOTPROTO=none, поэтому
оставался лежачим транковый интерфейс, после чего и вилановые не хотели
подыматься. Видимо, потому, что vconfig не хочет цеплять на
неподнятый...
Будьте добры, посмотрите бегло (кому интересно + pilot@) на патчи...
Или я свсем неправ, или таки да. Если что -- понакидаю всех конфигов.
(в двух словах -- у меня три карточки, и только на одной из них на
виланах есть пара ip, а оставшиеся две -- мост).
ps. А давайте перейдём с /sbin/ifconfig на /sbin/ip ?..
"Просто так!" (с) мультфильм такой ;О)
pps. Изменения, наверное, грязноватые, но я пока хочу понять, что я не
совсем неправ :-)
ppps. Кстати, а придуман уже /etc/sysconfig/bridge или что-то подобное?
--
_,-=._ /|_/|
`-.} `=._,.-=-._., @ @._,
`._ _,-. ) _,.-'
` G.m-"^m`m' Dmytro O. Redchuk
----------- следующая часть -----------
52c52
< REALDEVICE=`echo "$DEVICE" | sed 's/[.:].*//g'`
---
> REALDEVICE=`echo "$DEVICE" | sed 's/:.*//g'`
111c111
< vlan_id=`echo $DEVICE | sed "s/^[a-z0-9]*\.0*//g"`
---
> vlan_id=`echo $DEVICE | sed "s/^[a-z0-9]\+\.0*//g"`
322c322
< elif [ "$BOOTPROTO" = static ]; then
---
> else
357,359d356
< else
< # "$DEVICE: BOOTPROTO=none?"
< /sbin/ip link set up dev "$DEVICE"
367d363
< # ???
----------- следующая часть -----------
*** ifup Mon Jan 17 17:57:51 2005
--- ifup.alt Mon Jan 17 16:55:38 2005
***************
*** 49,55 ****
IPSETUP=no
DEVICETYPE=`echo "$DEVICE" | sed "s/[0-9]*$//"`
! REALDEVICE=`echo "$DEVICE" | sed 's/[.:].*//g'`
if echo "$DEVICE" | fgrep -qs ':'; then
ISALIAS=yes
else
--- 49,55 ----
IPSETUP=no
DEVICETYPE=`echo "$DEVICE" | sed "s/[0-9]*$//"`
! REALDEVICE=`echo "$DEVICE" | sed 's/:.*//g'`
if echo "$DEVICE" | fgrep -qs ':'; then
ISALIAS=yes
else
***************
*** 108,114 ****
vlan_id=`echo $DEVICE | sed "s/^vlan0*//g"`
;;
DEV_PLUS_VID|DEV_PLUS_VID_NO_PAD)
! vlan_id=`echo $DEVICE | sed "s/^[a-z0-9]*\.0*//g"`
;;
esac
--- 108,114 ----
vlan_id=`echo $DEVICE | sed "s/^vlan0*//g"`
;;
DEV_PLUS_VID|DEV_PLUS_VID_NO_PAD)
! vlan_id=`echo $DEVICE | sed "s/^[a-z0-9]\+\.0*//g"`
;;
esac
***************
*** 319,325 ****
exit 1
fi
fi
! elif [ "$BOOTPROTO" = static ]; then
if [ -z "$NETMASK" ]; then
eval `/bin/ipcalc --netmask "$IPADDR"`
fi
--- 319,325 ----
exit 1
fi
fi
! else
if [ -z "$NETMASK" ]; then
eval `/bin/ipcalc --netmask "$IPADDR"`
fi
***************
*** 354,362 ****
ip route add default dev "$DEVICE"
fi
fi
- else
- # "$DEVICE: BOOTPROTO=none?"
- /sbin/ip link set up dev "$DEVICE"
fi
SYSCTL_PREFIX=net.ipv4.conf.$DEVICE
--- 354,359 ----
***************
*** 364,370 ****
[ -n "$SYSCTL_RP_FILTER" ] && sysctl -w $SYSCTL_PREFIX.rp_filter=$SYSCTL_RP_FILTER
[ -n "$SYSCTL_LOG_MARTIANS" ] && sysctl -w $SYSCTL_PREFIX.log_martians=$SYSCTL_LOG_MARTIANS
- # ???
. /etc/sysconfig/network
if is_yes "$IPX"; then
--- 361,366 ----
Подробная информация о списке рассылки community