Author: arekm
Date: Thu Jan 22 09:56:42 2009
New Revision: 10088

Modified:
   rc-scripts/trunk/sysconfig/network-scripts/functions.network
   rc-scripts/trunk/sysconfig/network-scripts/ifup-vlan
Log:
Prefer vlan creation using iproute2, fallback to vconfig.

Modified: rc-scripts/trunk/sysconfig/network-scripts/functions.network
==============================================================================
--- rc-scripts/trunk/sysconfig/network-scripts/functions.network        
(original)
+++ rc-scripts/trunk/sysconfig/network-scripts/functions.network        Thu Jan 
22 09:56:42 2009
@@ -174,16 +174,6 @@
        fi
 }
 
-vlan_setup()
-{
-       if [ -x /sbin/vconfig -a -e /proc/net/vlan/config ] && echo $DEVICE | 
grep -q ^eth; then
-               /sbin/vconfig set_name_type DEV_PLUS_VID_NO_PAD 2>&1 > /dev/null
-               ETH_VLANS="yes"
-       else
-               ETH_VLANS="no"
-       fi
-}
-
 # Set up all IP && IP parameter variables
 setup_ip_param ()
 {

Modified: rc-scripts/trunk/sysconfig/network-scripts/ifup-vlan
==============================================================================
--- rc-scripts/trunk/sysconfig/network-scripts/ifup-vlan        (original)
+++ rc-scripts/trunk/sysconfig/network-scripts/ifup-vlan        Thu Jan 22 
09:56:42 2009
@@ -51,11 +51,6 @@
        exit 1
 fi
 
-if [ ! -x /sbin/vconfig ]; then
-       nls "%s is missing. Can't continue." "/sbin/vconfig"
-       exit 1
-fi
-
 modprobe -s -k 8021q
 
 if [ ! -e /proc/net/vlan/config ]; then
@@ -66,10 +61,22 @@
 # set all major variables
 setup_ip_param
 
-/sbin/vconfig set_name_type DEV_PLUS_VID_NO_PAD
-/sbin/ip link set ${VLAN_DEV} up
-/sbin/vconfig add ${VLAN_DEV} ${VLAN_ID}
-/sbin/vconfig set_flag ${DEVICE} 1 ${VLAN_REORDER_HDR:-1}
+if (ip link add type vlan help 2>&1 | grep -q "VLANID :="); then
+       /sbin/ip link set ${VLAN_DEV} up
+       /sbin/ip link add link ${VLAN_DEV} name ${DEVICE} type vlan id 
${VLAN_ID}
+       # default yes
+       is_no "${VLAN_REORDER_HDR}" && VLAN_REORDER_HDR=off || 
VLAN_REORDER_HDR=on
+       # default no
+       is_yes "$VLAN_GVRP" && VLAN_GVRP=on || VLAN_GVRP=off
+       /sbin/ip link set ${DEVICE} type vlan reorder_hdr ${VLAN_REORDER_HDR} 
gvrp ${VLAN_GVRP}
+elif [ -x /sbin/vconfig ] ; then
+       /sbin/vconfig set_name_type DEV_PLUS_VID_NO_PAD
+       /sbin/ip link set ${VLAN_DEV} up
+       /sbin/vconfig add ${VLAN_DEV} ${VLAN_ID}
+       /sbin/vconfig set_flag ${DEVICE} 1 ${VLAN_REORDER_HDR:-1}
+else
+       nls "/sbin/vconfig or iproute2 with vlan support is missing. Can't 
continue."
+fi
 RESULT=$?
 
 # XXX: more VLAN specific options support
_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to