[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