Explorar el Código

make dsl work via ifup, add vlan support

add kernel vlan support.
Waldemar Brodkorb hace 14 años
padre
commit
48ed66e5cb

+ 4 - 0
mk/modules.mk

@@ -94,6 +94,10 @@ $(eval $(call KMOD_template,ATM_BR2684,atm-br2684,\
 	$(MODULES_DIR)/kernel/net/atm/br2684 \
 ,51))
 
+$(eval $(call KMOD_template,VLAN_8021Q,vlan,\
+	$(MODULES_DIR)/kernel/net/8021q/8021q \
+,5))
+
 $(eval $(call KMOD_template,BRIDGE,bridge,\
 	$(MODULES_DIR)/kernel/net/llc/llc \
 	$(MODULES_DIR)/kernel/net/802/stp \

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

@@ -5,14 +5,14 @@ then
   exit 0
 fi
 
-[ "$METHOD" == "atm" ] || exit 0
+[ "${IFACE%%[0-9]*}" = "nas" ] || exit 0
 
 [ "$IF_ATM_ENCAPS" ] || encap=0
 [ "$IF_ATM_PAYLOAD" ] || payload=1
-[ "$IF_ATM_VPI" ] || $IF_ATM_VPI=1
-[ "$IF_ATM_VCI" ] || $IF_ATM_VCI=32
+[ "$IF_ATM_VPI" ] || IF_ATM_VPI=1
+[ "$IF_ATM_VCI" ] || IF_ATM_VCI=32
 
-case "$IF_ATM_PAYLOAD" in
+[ "$IF_ATM_PAYLOAD" ] && case "$IF_ATM_PAYLOAD" in
 bridged)
         payload=1
         ;;
@@ -25,7 +25,7 @@ routed)
         ;;
 esac
 
-case "$IF_ATM_ENCAPS" in
+[ "$IF_ATM_ENCAPS" ] && case "$IF_ATM_ENCAPS" in
 llc)
         encap=0
         ;;
@@ -38,6 +38,6 @@ vc)
         ;;
 esac
 
-br2684ctl -b -c 0 -e $encap -p $payload -a $IF_ATM_VPI.$IF_ATM_VCI
-ifconfig nas0 up
+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

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

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

+ 1 - 1
package/mtd/src/mtd.c

@@ -277,7 +277,7 @@ main(int argc, char **argv)
 	buflen = 0;
 	quiet = 0;
 
-	while ((ch = getopt(argc, argv, "Fqe:")) != -1)
+	while ((ch = getopt(argc, argv, "Fqre:")) != -1)
 		switch (ch) {
 			case 'F':
 				quiet = 1;

+ 1 - 1
target/ag241/files/etc/network/interfaces

@@ -2,7 +2,7 @@ auto lo
 iface lo inet loopback
 
 auto nas0
-iface nas0 inet atm
+iface nas0 inet manual
 
 auto br0
 iface br0 inet manual

+ 14 - 1
target/linux/config/Config.in.network

@@ -66,7 +66,7 @@ config ADK_KPACKAGE_KMOD_ATM_BR2684
 	help
 
 config ADK_KPACKAGE_KMOD_BRIDGE
-	prompt "kmod-net-bridge................... 802.1d Ethernet Bridging"
+	prompt "kmod-bridge....................... 802.1d Ethernet Bridging"
 	tristate
 	select ADK_KERNEL_LLC
 	default n
@@ -91,6 +91,19 @@ config ADK_KPACKAGE_KMOD_BRIDGE
 	  Enabling arptables support when bridging will let arptables see
 	  bridged ARP traffic in the arptables FORWARD chain.
 
+config ADK_KPACKAGE_KMOD_VLAN_8021Q
+	prompt "kmod-vlan......................... 802.1q VLAN support"
+	tristate
+	default n
+	help
+          Select this and you will be able to create 802.1Q VLAN interfaces
+          on your ethernet interfaces.  802.1Q VLAN supports almost
+          everything a regular ethernet interface does, including
+          firewalling, bridging, and of course IP traffic.  You will need
+          the 'vconfig' tool from the VLAN project in order to effectively
+          use VLANs.  See the VLAN web page for more information:
+          <http://www.candelatech.com/~greear/vlan.html>
+
 config ADK_KPACKAGE_KMOD_INET_TUNNEL
 	tristate
 	default n