2.4.19-pre7 ATM Ethernet bridging support (BR2684)
Subsystems (4)
PATCH 1/1 2.4.19-pre7 ATM Ethernet bridging support (BR2684)
Marcelo,
Dave,
Following patch adds support for ATM Ethernet bridging (RFC 2684) implemented by Marcell GAL.
http://bluez.sourceforge.net/patches/atm-br2684-2.4.19-pre7.gz
Please apply
Thanks
Max
Documentation/Configure.help | 13 arch/sparc/config.in | 6 include/linux/atmbr2684.h | 101 +++++ include/linux/atmdev.h | 4 net/Config.in | 4 net/atm/Makefile | 9 net/atm/br2684.c | 804 +++++++++++++++++++++++++++++++++++++++++++ net/atm/common.c | 15 8 files changed, 955 insertions(+), 1 deletion(-)
# This is a BitKeeper generated patch for the following project:
# Project Name: Linux kernel tree
# This patch format is intended for GNU patch command version 2.5 or higher. # This patch includes the following deltas:
# ChangeSet 1.449 -> 1.450 # arch/sparc/config.in 1.8 -> 1.9 # net/atm/Makefile 1.3 -> 1.4 # net/Config.in 1.8 -> 1.9 # include/linux/atmdev.h 1.3 -> 1.4 # net/atm/common.c 1.8 -> 1.9 # Documentation/Configure.help 1.98 -> 1.99 # (new) -> 1.1 include/linux/atmbr2684.h # (new) -> 1.1 net/atm/br2684.c
#
# The following is the BitKeeper ChangeSet Log
# --------------------------------------------
# 02/04/23 [email protected] 1.450
# Support for ATM Ethernet bridging (BR2684)
# --------------------------------------------
#
Documentation/Configure.help +13 -0
@@ -6209,6 +6209,19 @@ briefly removed during revalidation. If you say Y here, packets to such neighbours are silently discarded instead. +RFC1483/2684 Bridged protocols +CONFIG_ATM_BR2684 + ATM PVCs can carry ethernet PDUs according to rfc2684 (formerly 1483) + This device will act like an ethernet from the kernels point of view, + with the traffic being carried by ATM PVCs (currently 1 PVC/device). + This is sometimes used over DSL lines. If in doubt, say N. + +Per-VC IP filter kludge +CONFIG_ATM_BR2684_IPFILTER + This is an experimental mechanism for users who need to terminating a + large number of IP-only vcc's. Do not enable this unless you are sure + you know what you are doing. + LAN Emulation (LANE) support CONFIG_ATM_LANE LAN Emulation emulates services of existing LANs across an ATM
arch/sparc/config.in +6 -0
@@ -211,6 +211,12 @@ dep_tristate ' PPP support for sync tty ports' CONFIG_PPP_SYNC_TTY $CONFIG_PPP dep_tristate ' PPP Deflate compression' CONFIG_PPP_DEFLATE $CONFIG_PPP dep_tristate ' PPP BSD-Compress compression' CONFIG_PPP_BSDCOMP m + if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then + dep_tristate ' PPP over Ethernet (EXPERIMENTAL)' CONFIG_PPPOE $CONFIG_PPP + if [ "$CONFIG_ATM" = "y" ]; then + dep_tristate ' PPP over ATM (EXPERIMENTAL)' CONFIG_PPPOATM $CONFIG_PPP + fi + fi fi tristate ' SLIP (serial line) support' CONFIG_SLIP if [ "$CONFIG_SLIP" != "n" ]; then
include/linux/atmbr2684.h new file +101 -0
101 lines not on this page · raw message
include/linux/atmdev.h +3 -1
@@ -95,6 +95,8 @@/* enable or disable single-copy */ #define ATM_SETBACKEND _IOW('a',ATMIOC_SPECIAL+2,atm_backend_t)/* set backend handler */ +#define ATM_NEWBACKENDIF _IOW('a',ATMIOC_SPECIAL+3,atm_backend_t) +/* use backend to make new if */ /* * These are backend handkers that can be set via the ATM_SETBACKEND call
@@ -103,7 +105,7 @@*/ #define ATM_BACKEND_RAW 0#define ATM_BACKEND_PPP 1/* PPPoATM - RFC2364 */ -#define ATM_BACKEND_BR_2684 2/* Bridged RFC1483/2684 */ +#define ATM_BACKEND_BR2684 2/* Bridged RFC1483/2684 */ /* for ATM_GETTYPE */ #define ATM_ITFTYP_LEN 8/* maximum length of interface type name */
net/Config.in +4 -0
@@ -43,6 +43,10 @@ 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 fi tristate '802.1Q VLAN Support' CONFIG_VLAN_8021Q
net/atm/Makefile +9 -0
@@ -21,6 +21,15 @@ NEED_IPCOM = ipcommon.o endif +ifeq ($(CONFIG_ATM_BR2684),y) + NEED_IPCOM = ipcommon.o +else + ifeq ($(CONFIG_ATM_BR2684),m) + NEED_IPCOM = ipcommon.o + endif +endif +obj-$(CONFIG_ATM_BR2684) += br2684.o + ifeq ($(CONFIG_NET_SCH_ATM),y) NEED_IPCOM = ipcommon.o endif
net/atm/br2684.c new file +804 -0
804 lines not on this page · raw message
net/atm/common.c +15 -0
@@ -63,6 +63,13 @@EXPORT_SYMBOL (pppoatm_ioctl_hook);#endif +#if defined(CONFIG_ATM_BR2684 ) || defined(CONFIG_ATM_BR2684_MODULE ) +int (*br2684_ioctl_hook)(struct atm_vcc *,unsigned int ,unsigned long ); +#endif +#ifdef CONFIG_ATM_BR2684_MODULE +EXPORT_SYMBOL (br2684_ioctl_hook); +#endif +#include "resources.h" /* atm_find_dev */ #include "common.h" /* prototypes */ #include "protocols.h" /* atm_init_<transport> */
@@ -785,6 +792,14 @@ goto done; }#endif +#if defined(CONFIG_ATM_BR2684 ) || defined(CONFIG_ATM_BR2684_MODULE ) +if (br2684_ioctl_hook) { + ret_val =br2684_ioctl_hook (vcc, cmd, arg); +if (ret_val != -ENOIOCTLCMD ) + goto done; + } +#endif +if (get_user (buf,&((struct atmif_sioc *) arg)->arg)) { ret_val = -EFAULT ; goto done;