Przeglądaj źródła

make dsl work via ifup, add vlan support

add kernel vlan support.
Waldemar Brodkorb 14 lat temu
rodzic
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 \
 	$(MODULES_DIR)/kernel/net/atm/br2684 \
 ,51))
 ,51))
 
 
+$(eval $(call KMOD_template,VLAN_8021Q,vlan,\
+	$(MODULES_DIR)/kernel/net/8021q/8021q \
+,5))
+
 $(eval $(call KMOD_template,BRIDGE,bridge,\
 $(eval $(call KMOD_template,BRIDGE,bridge,\
 	$(MODULES_DIR)/kernel/net/llc/llc \
 	$(MODULES_DIR)/kernel/net/llc/llc \
 	$(MODULES_DIR)/kernel/net/802/stp \
 	$(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
   exit 0
 fi
 fi
 
 
-[ "$METHOD" == "atm" ] || exit 0
+[ "${IFACE%%[0-9]*}" = "nas" ] || exit 0
 
 
 [ "$IF_ATM_ENCAPS" ] || encap=0
 [ "$IF_ATM_ENCAPS" ] || encap=0
 [ "$IF_ATM_PAYLOAD" ] || payload=1
 [ "$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)
 bridged)
         payload=1
         payload=1
         ;;
         ;;
@@ -25,7 +25,7 @@ routed)
         ;;
         ;;
 esac
 esac
 
 
-case "$IF_ATM_ENCAPS" in
+[ "$IF_ATM_ENCAPS" ] && case "$IF_ATM_ENCAPS" in
 llc)
 llc)
         encap=0
         encap=0
         ;;
         ;;
@@ -38,6 +38,6 @@ vc)
         ;;
         ;;
 esac
 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
 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;
 	buflen = 0;
 	quiet = 0;
 	quiet = 0;
 
 
-	while ((ch = getopt(argc, argv, "Fqe:")) != -1)
+	while ((ch = getopt(argc, argv, "Fqre:")) != -1)
 		switch (ch) {
 		switch (ch) {
 			case 'F':
 			case 'F':
 				quiet = 1;
 				quiet = 1;

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

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

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

@@ -66,7 +66,7 @@ config ADK_KPACKAGE_KMOD_ATM_BR2684
 	help
 	help
 
 
 config ADK_KPACKAGE_KMOD_BRIDGE
 config ADK_KPACKAGE_KMOD_BRIDGE
-	prompt "kmod-net-bridge................... 802.1d Ethernet Bridging"
+	prompt "kmod-bridge....................... 802.1d Ethernet Bridging"
 	tristate
 	tristate
 	select ADK_KERNEL_LLC
 	select ADK_KERNEL_LLC
 	default n
 	default n
@@ -91,6 +91,19 @@ config ADK_KPACKAGE_KMOD_BRIDGE
 	  Enabling arptables support when bridging will let arptables see
 	  Enabling arptables support when bridging will let arptables see
 	  bridged ARP traffic in the arptables FORWARD chain.
 	  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
 config ADK_KPACKAGE_KMOD_INET_TUNNEL
 	tristate
 	tristate
 	default n
 	default n