]> git.pld-linux.org Git - projects/rc-scripts.git/blobdiff - lib/ifup
If an iface type is specified NEVER override it
[projects/rc-scripts.git] / lib / ifup
index 013c3558b99d4874e33119e1170c0e85ac07bb41..c53444235e1b2f49ee6c3cbdc073e686e48afa35 100755 (executable)
--- a/lib/ifup
+++ b/lib/ifup
@@ -1,6 +1,5 @@
 #!/bin/sh
 #
-#      $Id$
 #
 PATH=/sbin:/usr/sbin:/bin:/usr/bin
 
@@ -24,8 +23,6 @@ need_hostname
 # device name must be ifcfg-somename
 DEV=$1
 
-SYSCTLDEVICE=$(echo ${DEVICE} | sed 's/\./\//g')
-
 [ -z "$DEV" ] && {
        nls "Usage: %s <device name>" "ifup" >&2
        exit 1
@@ -66,6 +63,8 @@ IPSETUP=no
 # set all major variables
 setup_ip_param
 
+SYSCTLDEVICE=$(echo ${DEVICE} | sed 's/\./\//g')
+
 OTHERSCRIPT="/lib/rc-scripts/ifup-${DEVICETYPE}"
 
 if [ -x "$OTHERSCRIPT" ]; then
@@ -81,7 +80,7 @@ fi
 
 if [ -n "$MACVLAN_DEV" -a -n "$MACVLAN_MACADDR" ]; then
        ip link del link ${MACVLAN_DEV} ${DEVICE} type macvlan > /dev/null 2>&1
-       ip link add link ${MACVLAN_DEV} address ${MACVLAN_MACADDR} ${DEVICE} type macvlan
+       ip link add link ${MACVLAN_DEV} address ${MACVLAN_MACADDR} name ${DEVICE} type macvlan
 fi
 
 # is this device available? (this catches PCMCIA devices for us)
@@ -90,25 +89,6 @@ if ! /sbin/ip link set multicast ${MULTICAST} dev ${DEVICE} > /dev/null 2>&1; th
        exit 1
 fi
 
-if is_yes "$SLAVE" && [ ! -x /sbin/ifenslave ]; then
-       nls "%s is missing. Can't continue." "/sbin/ifenslave"
-       exit 1
-fi
-
-if is_yes "$SLAVE" && [ -n "$MASTER" -a -x /sbin/ifenslave ]; then
-       RFLAG="" && is_yes "${RECIEVE-ONLY}" && RFLAG="-r"
-
-       ip link set ${DEVICE} down
-       nls "Enslaving %s to %s" "$DEVICE" "$MASTER"
-       ifenslave $RFLAG "$MASTER" "$DEVICE"
-
-       if [ -n "$ETHTOOL_OPTS" ] ; then
-               /sbin/ethtool -s $DEVICE $ETHTOOL_OPTS
-       fi
-
-       exit 0
-fi
-
 if [ -n "$MACADDR" ]; then
        ip link set ${DEVICE} address ${MACADDR}
 fi
@@ -135,6 +115,18 @@ if is_yes "${WLAN_WPA}"; then
        check_link_down ${DEVICE} $(( $WLAN_WPA_WAIT_TIMEOUT * 2 ))
 fi
 
+if [ -n "$ETHTOOL_OPTS" ] ; then
+    /sbin/ethtool -s $DEVICE $ETHTOOL_OPTS
+fi
+
+if is_yes "$SLAVE" && [ -n "$MASTER" ] ; then
+    nls "Enslaving %s to %s" "$DEVICE" "$MASTER"
+    ip link set "$DEVICE" master "$MASTER"
+    ip link set "$DEVICE" up
+
+    exit 0
+fi
+
 if [ "$HANDLING" = "2" ]; then
        exit 0
 fi
@@ -146,7 +138,8 @@ if [ -n "$BOOTPROTO" -a "$BOOTPROTO" != "none" -a "$BOOTPROTO" != "static" ]; th
                DHCP_ARGS=
                if [ -n "$DHCP_CLIENT" ]; then
                        if [ -z "$DHCP_HOSTNAME" ]; then
-                               DHCP_HOSTNAME="$HOSTNAME"
+                               # set DHCP_HOSTNAME only basename
+                               DHCP_HOSTNAME=${HOSTNAME%%.*}
                        fi
                        case ${DHCP_CLIENT##*/} in
                          pump)
This page took 0.061609 seconds and 4 git commands to generate.