Browse Source

make vlan configuration work with ifup/ifdown

Waldemar Brodkorb 14 years ago
parent
commit
8d7b67dcc1

+ 1 - 4
mk/vars.mk

@@ -14,10 +14,7 @@ TARGET_DEBUGGING:=	-g3 -fno-omit-frame-pointer
 else
 TARGET_DEBUGGING:=	-fomit-frame-pointer
 endif
-ifeq ($(ADK_SSP),y)
-TARGET_SSP:=		-fstack-protector-all
-endif
-TARGET_CFLAGS:=		$(TARGET_OPTIMIZATION) $(TARGET_CFLAGS_ARCH) $(TARGET_DEBUGGING) $(TARGET_SSP)
+TARGET_CFLAGS:=		$(TARGET_OPTIMIZATION) $(TARGET_CFLAGS_ARCH) $(TARGET_DEBUGGING)
 
 BASE_DIR:=		$(TOPDIR)
 DISTDIR?=		${BASE_DIR}/dl

+ 5 - 0
package/Config.in

@@ -467,10 +467,15 @@ source "package/opencdk/Config.in"
 source "package/obexftp/Config.in.lib"
 source "package/openobex/Config.in"
 source "package/libosip2/Config.in"
+source "package/libosip2/Config.in.lib"
 source "package/libowfat/Config.in"
+source "package/libowfat/Config.in.lib"
 source "package/libp11/Config.in"
+source "package/libp11/Config.in.lib"
 source "package/libpcap/Config.in"
+source "package/libpcap/Config.in.lib"
 source "package/libpri/Config.in"
+source "package/libpri/Config.in.lib"
 source "package/pango/Config.in"
 source "package/pcre/Config.in"
 source "package/libpng/Config.in"

+ 2 - 0
package/base-files/extra/etc/network/if-post-down.d/01-bridge

@@ -22,3 +22,5 @@ for IF in $INTERFACES; do
 done
 
 ip link set down dev $IFACE || exit 1
+brctl delbr $IFACE
+exit 0

+ 10 - 0
package/base-files/extra/etc/network/if-post-down.d/02-vlan

@@ -0,0 +1,10 @@
+#!/bin/sh
+  
+[ -x /sbin/vconfig ] || exit 0
+
+[ -e /proc/net/vlan/$IFACE ] && (
+	ip link set down dev $IFACE 
+	vconfig rem $IFACE
+)
+
+exit 0

+ 2 - 4
package/base-files/extra/etc/network/if-pre-up.d/01-atm

@@ -1,9 +1,6 @@
 #!/bin/sh
 
-if [ ! -x /usr/sbin/br2684ctl ]
-then
-  exit 0
-fi
+[ -x /usr/sbin/br2684ctl ] || exit 0
 
 [ "${IFACE%%[0-9]*}" = "nas" ] || exit 0
 
@@ -40,4 +37,5 @@ esac
 
 br2684ctl -b -c ${IFACE##*[a-z]} -e $encap -p $payload -a $IF_ATM_VPI.$IF_ATM_VCI
 ifconfig nas${IFACE##*[a-z]} up
+
 exit 0

+ 35 - 0
package/base-files/extra/etc/network/if-pre-up.d/02-vlan

@@ -0,0 +1,35 @@
+#!/bin/sh
+
+[ -x /sbin/vconfig ] || exit 0
+
+case "$IFACE" in
+        vlan*)
+               	vconfig set_name_type VLAN_PLUS_VID_NO_PAD
+               	VLANID=`echo $IFACE|sed "s/vlan*//"`
+		;;
+	eth*.*)
+		vconfig set_name_type DEV_PLUS_VID_NO_PAD
+		VLANID=`echo $IFACE|sed "s/eth[0-9][0-9]*\.*//g"`
+		IF_VLAN_RAW_DEVICE=`echo $IFACE|sed "s/\(eth[0-9][0-9]*\)\..*/\1/"`
+		;;
+	*)
+		exit 0
+		;;
+esac
+
+if [ "$IF_VLAN_RAW_DEVICE" != "" ]; then
+	if ! grep -q "$IF_VLAN_RAW_DEVICE" /proc/net/dev
+	then
+		echo "$IF_VLAN_RAW_DEVICE does not exist, unable to create $IFACE"
+		exit 1
+	fi
+	ip link set up dev $IF_VLAN_RAW_DEVICE
+	vconfig add $IF_VLAN_RAW_DEVICE $VLANID
+	if [ "$IF_MAC_ADDRESS" != "" ]
+	then
+		ip link set $IF_VLAN_RAW_DEVICE.$VLANID address $IF_MAC_ADDRESS
+	fi
+	ip link set up dev $IF_VLAN_RAW_DEVICE.$VLANID
+fi
+
+exit 0

+ 1 - 4
package/base-files/extra/etc/network/if-pre-up.d/02-bridge → package/base-files/extra/etc/network/if-pre-up.d/03-bridge

@@ -1,9 +1,6 @@
 #!/bin/sh
 
-if [ ! -x /usr/sbin/brctl ]
-then
-  exit 0
-fi
+[ -x /usr/sbin/brctl ] || exit 0
 
 case "$IF_BRIDGE_PORTS" in
     "")

+ 1 - 0
package/base-files/extra/etc/network/if-up.d/01-bridge

@@ -1,3 +1,4 @@
 #!/bin/sh
 
 [ "${IFACE%%[0-9]*}" = "br" ] && ip link set up dev $IFACE
+exit 0

+ 1 - 1
package/tcpdump/Makefile

@@ -6,11 +6,11 @@ include ${TOPDIR}/rules.mk
 PKG_NAME:=		tcpdump
 PKG_VERSION:=		4.0.0
 PKG_RELEASE:=		1
-PKG_BUILDDEP+=		libpcap
 PKG_MD5SUM:=		b22ca72890df2301d922c9f2d17867f9
 PKG_DESCR:=		A tool for network monitoring and data acquisition.
 PKG_SECTION:=		net
 PKG_DEPENDS:=		libpcap
+PKG_BUILDDEP+=		libpcap
 PKG_URL:=		http://www.tcpdump.org
 PKG_SITES:=		http://www.tcpdump.org/release/ \
 			http://www.sfr-fresh.com/unix/misc/ \