summaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
Diffstat (limited to 'kernel')
-rw-r--r--kernel/linux/include/linux/if_bridge.h2
-rw-r--r--kernel/linux/net/Config.in24
-rw-r--r--kernel/linux/net/Makefile4
-rw-r--r--kernel/linux/net/bridge/br.c2
-rw-r--r--kernel/linux/net/bridge/br_input.c5
-rw-r--r--kernel/linux/net/bridge/br_private.h10
6 files changed, 30 insertions, 17 deletions
diff --git a/kernel/linux/include/linux/if_bridge.h b/kernel/linux/include/linux/if_bridge.h
index 926b45f..a41b185 100644
--- a/kernel/linux/include/linux/if_bridge.h
+++ b/kernel/linux/include/linux/if_bridge.h
@@ -4,7 +4,7 @@
* Authors:
* Lennert Buytenhek <buytenh@gnu.org>
*
- * $Id: if_bridge.h,v 1.1 2002/06/01 19:24:08 bdschuym Exp $
+ * $Id: if_bridge.h,v 1.2 2002/08/22 17:50:19 bdschuym Exp $
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
diff --git a/kernel/linux/net/Config.in b/kernel/linux/net/Config.in
index 76b32b4..1e6279f 100644
--- a/kernel/linux/net/Config.in
+++ b/kernel/linux/net/Config.in
@@ -43,18 +43,23 @@ if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
if [ "$CONFIG_INET" = "y" -a "$CONFIG_ATM_LANE" != "n" ]; then
tristate ' Multi-Protocol Over ATM (MPOA) support' CONFIG_ATM_MPOA
fi
+ tristate ' RFC1483/2684 Bridged protocols' CONFIG_ATM_BR2684
+ if [ "$CONFIG_ATM_BR2684" != "n" ]; then
+ bool ' Per-VC IP filter kludge' CONFIG_ATM_BR2684_IPFILTER
+ fi
fi
-
- dep_tristate '802.1Q VLAN Support (EXPERIMENTAL)' CONFIG_VLAN_8021Q $CONFIG_EXPERIMENTAL
-
fi
+tristate '802.1Q VLAN Support' CONFIG_VLAN_8021Q
comment ' '
tristate 'The IPX protocol' CONFIG_IPX
if [ "$CONFIG_IPX" != "n" ]; then
source net/ipx/Config.in
fi
+
tristate 'Appletalk protocol support' CONFIG_ATALK
+source drivers/net/appletalk/Config.in
+
tristate 'DECnet Support' CONFIG_DECNET
if [ "$CONFIG_DECNET" != "n" ]; then
source net/decnet/Config.in
@@ -76,10 +81,10 @@ if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
# fi
if [ "$CONFIG_INET" = "y" ]; then
tristate 'Acorn Econet/AUN protocols (EXPERIMENTAL)' CONFIG_ECONET
- fi
- if [ "$CONFIG_ECONET" != "n" ]; then
- bool ' AUN over UDP' CONFIG_ECONET_AUNUDP
- bool ' Native Econet' CONFIG_ECONET_NATIVE
+ if [ "$CONFIG_ECONET" != "n" ]; then
+ bool ' AUN over UDP' CONFIG_ECONET_AUNUDP
+ bool ' Native Econet' CONFIG_ECONET_NATIVE
+ fi
fi
tristate 'WAN router' CONFIG_WAN_ROUTER
bool 'Fast switching (read help!)' CONFIG_NET_FASTROUTE
@@ -95,4 +100,9 @@ fi
#bool 'Network code profiler' CONFIG_NET_PROFILE
endmenu
+mainmenu_option next_comment
+comment 'Network testing'
+tristate 'Packet Generator (USE WITH CAUTION)' CONFIG_NET_PKTGEN
+endmenu
+
endmenu
diff --git a/kernel/linux/net/Makefile b/kernel/linux/net/Makefile
index 6b1fcf6..0e9b28f 100644
--- a/kernel/linux/net/Makefile
+++ b/kernel/linux/net/Makefile
@@ -7,8 +7,8 @@
O_TARGET := network.o
-mod-subdirs := bridge/netfilter ipv4/netfilter ipv6/netfilter ipx irda \
- bluetooth atm netlink sched
+mod-subdirs := ipv4/netfilter ipv6/netfilter bridge/netfilter ipx irda \
+ bluetooth atm netlink sched core
export-objs := netsyms.o
subdir-y := core ethernet
diff --git a/kernel/linux/net/bridge/br.c b/kernel/linux/net/bridge/br.c
index e60e348..15ce0ca 100644
--- a/kernel/linux/net/bridge/br.c
+++ b/kernel/linux/net/bridge/br.c
@@ -5,7 +5,7 @@
* Authors:
* Lennert Buytenhek <buytenh@gnu.org>
*
- * $Id: br.c,v 1.1 2002/07/29 22:21:14 bdschuym Exp $
+ * $Id: br.c,v 1.2 2002/08/22 17:49:34 bdschuym Exp $
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
diff --git a/kernel/linux/net/bridge/br_input.c b/kernel/linux/net/bridge/br_input.c
index 0a5d3eb..1ac96f5 100644
--- a/kernel/linux/net/bridge/br_input.c
+++ b/kernel/linux/net/bridge/br_input.c
@@ -5,7 +5,7 @@
* Authors:
* Lennert Buytenhek <buytenh@gnu.org>
*
- * $Id: br_input.c,v 1.1 2002/06/01 19:24:03 bdschuym Exp $
+ * $Id: br_input.c,v 1.2 2002/08/22 17:49:34 bdschuym Exp $
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -23,6 +23,7 @@
defined(CONFIG_BRIDGE_EBT_BROUTE_MODULE)
#include <linux/netfilter.h>
#endif
+
unsigned char bridge_ula[6] = { 0x01, 0x80, 0xc2, 0x00, 0x00, 0x00 };
static int br_pass_frame_up_finish(struct sk_buff *skb)
@@ -170,9 +171,11 @@ err_nolock:
handle_special_frame:
if (!dest[5]) {
br_stp_handle_bpdu(skb);
+ read_unlock(&br->lock);
return 0;
}
+ read_unlock(&br->lock);
kfree_skb(skb);
return 0;
}
diff --git a/kernel/linux/net/bridge/br_private.h b/kernel/linux/net/bridge/br_private.h
index 5e33c9b..1f41044 100644
--- a/kernel/linux/net/bridge/br_private.h
+++ b/kernel/linux/net/bridge/br_private.h
@@ -4,7 +4,7 @@
* Authors:
* Lennert Buytenhek <buytenh@gnu.org>
*
- * $Id: br_private.h,v 1.1 2002/06/01 19:24:03 bdschuym Exp $
+ * $Id: br_private.h,v 1.2 2002/08/22 17:49:34 bdschuym Exp $
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -120,7 +120,7 @@ extern void br_dec_use_count(void);
extern void br_inc_use_count(void);
/* br_device.c */
-extern int br_dev_xmit(struct sk_buff *skb, struct net_device *dev);
+extern int br_dev_xmit(struct sk_buff *skb, struct net_device *dev);
extern void br_dev_setup(struct net_device *dev);
extern int br_dev_xmit(struct sk_buff *skb, struct net_device *dev);
@@ -145,10 +145,10 @@ extern void br_fdb_insert(struct net_bridge *br,
/* br_forward.c */
extern void br_deliver(struct net_bridge_port *to,
struct sk_buff *skb);
-extern int br_dev_queue_push_xmit(struct sk_buff *skb);
+extern int br_dev_queue_push_xmit(struct sk_buff *skb);
extern void br_forward(struct net_bridge_port *to,
struct sk_buff *skb);
-extern int br_forward_finish(struct sk_buff *skb);
+extern int br_forward_finish(struct sk_buff *skb);
extern void br_flood_deliver(struct net_bridge *br,
struct sk_buff *skb,
int clone);
@@ -169,7 +169,7 @@ extern void br_get_port_ifindices(struct net_bridge *br,
int *ifindices);
/* br_input.c */
-extern int br_handle_frame_finish(struct sk_buff *skb);
+extern int br_handle_frame_finish(struct sk_buff *skb);
extern int br_handle_frame(struct sk_buff *skb);
/* br_ioctl.c */