Browse Source

add bridging firewall stuff

- tested with a transparent squid proxy
- fix some minor other stuff
- not completely ready
Waldemar Brodkorb 14 years ago
parent
commit
b3a54c5201

+ 39 - 0
mk/modules.mk

@@ -268,6 +268,45 @@ $(eval $(call KMOD_template,INET_XFRM_MODE_BEET,net-ipsec-beet,\
 ##
 ##
 ## Filtering / Firewalling
 ## Filtering / Firewalling
 ##
 ##
+#
+# Ethernet Bridging firewall
+#
+$(eval $(call KMOD_template,BRIDGE_NF_EBTABLES,nf-ebtables,\
+	$(MODULES_DIR)/kernel/net/bridge/netfilter/ebtables \
+,55))
+
+$(eval $(call KMOD_template,BRIDGE_EBT_BROUTE,nf-ebtables-broute,\
+	$(MODULES_DIR)/kernel/net/bridge/netfilter/ebtable_broute \
+,60))
+
+$(eval $(call KMOD_template,BRIDGE_EBT_T_FILTER,nf-ebtables-filter,\
+	$(MODULES_DIR)/kernel/net/bridge/netfilter/ebtable_filter \
+,60))
+
+$(eval $(call KMOD_template,BRIDGE_EBT_T_NAT,nf-ebtables-nat,\
+	$(MODULES_DIR)/kernel/net/bridge/netfilter/ebtable_nat \
+,60))
+
+$(eval $(call KMOD_template,BRIDGE_EBT_802_3,nf-ebtables-802-3,\
+	$(MODULES_DIR)/kernel/net/bridge/netfilter/ebt_802_3 \
+,65))
+
+$(eval $(call KMOD_template,BRIDGE_EBT_AMONG,nf-ebtables-among,\
+	$(MODULES_DIR)/kernel/net/bridge/netfilter/ebt_among \
+,65))
+
+$(eval $(call KMOD_template,BRIDGE_EBT_ARP,nf-ebtables-arp,\
+	$(MODULES_DIR)/kernel/net/bridge/netfilter/ebt_arpreply \
+,65))
+
+$(eval $(call KMOD_template,BRIDGE_EBT_IP,nf-ebtables-ip,\
+	$(MODULES_DIR)/kernel/net/bridge/netfilter/ebt_ip \
+,65))
+
+$(eval $(call KMOD_template,BRIDGE_EBT_REDIRECT,nf-ebtables-redirect,\
+	$(MODULES_DIR)/kernel/net/bridge/netfilter/ebt_redirect \
+,65))
+
 #
 #
 # Netfilter Core
 # Netfilter Core
 #
 #

+ 1 - 2
package/base-files/extra/init

@@ -1,5 +1,5 @@
 #!/bin/sh
 #!/bin/sh
-echo "Pre-boot initializing"
+echo "Starting system ..."
 export PATH=/bin:/sbin:/usr/bin:/usr/sbin
 export PATH=/bin:/sbin:/usr/bin:/usr/sbin
 mount -nt proc proc /proc
 mount -nt proc proc /proc
 mount -o nosuid,nodev,noexec -t sysfs sysfs /sys
 mount -o nosuid,nodev,noexec -t sysfs sysfs /sys
@@ -19,5 +19,4 @@ mount -o remount,rw /
 cat /etc/.rnd >/dev/urandom 2>&1
 cat /etc/.rnd >/dev/urandom 2>&1
 [ -f /etc/fstab ] && mount -a
 [ -f /etc/fstab ] && mount -a
 [ -x /sbin/cfgfs ] && { cfgfs setup; mount -o remount,ro /;}
 [ -x /sbin/cfgfs ] && { cfgfs setup; mount -o remount,ro /;}
-echo "Starting system"
 exec /sbin/init
 exec /sbin/init

+ 4 - 5
package/base-files/extra/sbin/update

@@ -18,17 +18,17 @@ check_exit() {
 }
 }
 
 
 extract_from_file() {
 extract_from_file() {
-        cat $1 | gunzip -c | tar -xvf -
+        cat $1 | gunzip -c | tar -xf -
 	check_exit
 	check_exit
 }
 }
 
 
 extract_from_ssh() {
 extract_from_ssh() {
-        ssh $1 "cat $2" | gunzip -c | tar -xvf -
+        ssh $1 "cat $2" | gunzip -c | tar -xf -
 	check_exit
 	check_exit
 }
 }
 
 
 extract_from_http() {
 extract_from_http() {
-        wget -O - $1 | gunzip -c | tar -xvf -
+        wget -O - $1 | gunzip -c | tar -xf -
 	check_exit
 	check_exit
 }
 }
                 
                 
@@ -61,5 +61,4 @@ esac
 sync
 sync
 mount -o bind /etc /tmp/.cfgfs/root
 mount -o bind /etc /tmp/.cfgfs/root
 
 
-echo "Check with cfgfs status if you need to merge and save any changes in /etc."
-echo "You should reboot now."
+echo "Update sucessful. You should reboot now."

+ 1 - 1
package/busybox/config/procps/Config.in

@@ -64,7 +64,7 @@ config BUSYBOX_PIDOF
 
 
 config BUSYBOX_FEATURE_PIDOF_SINGLE
 config BUSYBOX_FEATURE_PIDOF_SINGLE
 	bool "Enable argument for single shot (-s)"
 	bool "Enable argument for single shot (-s)"
-	default n
+	default y
 	depends on BUSYBOX_PIDOF
 	depends on BUSYBOX_PIDOF
 	help
 	help
 	  Support argument '-s' for returning only the first pid found.
 	  Support argument '-s' for returning only the first pid found.

+ 1 - 1
package/cfinstall/src/cfinstall

@@ -35,7 +35,7 @@ chroot /mnt mount -t proc /proc /proc
 chroot /mnt mount -t sysfs /sys /sys
 chroot /mnt mount -t sysfs /sys /sys
 cat << EOF > /mnt/boot/grub/grub.cfg
 cat << EOF > /mnt/boot/grub/grub.cfg
 set default=0
 set default=0
-set timeout=5
+set timeout=1
 serial --unit=0 --speed=$speed
 serial --unit=0 --speed=$speed
 terminal_output serial 
 terminal_output serial 
 terminal_input serial 
 terminal_input serial 

+ 2 - 0
package/ebtables/Makefile

@@ -23,7 +23,9 @@ BUILD_STYLE:=		auto
 INSTALL_STYLE:=		auto
 INSTALL_STYLE:=		auto
 
 
 post-install:
 post-install:
+	${INSTALL_DIR} ${IDIR_EBTABLES}/etc
 	${INSTALL_DIR} ${IDIR_EBTABLES}/usr/sbin ${IDIR_EBTABLES}/usr/lib
 	${INSTALL_DIR} ${IDIR_EBTABLES}/usr/sbin ${IDIR_EBTABLES}/usr/lib
+	${INSTALL_DATA} ${WRKINST}/etc/ethertypes ${IDIR_EBTABLES}/etc
 	${INSTALL_BIN} ${WRKINST}/usr/sbin/ebtables ${IDIR_EBTABLES}/usr/sbin
 	${INSTALL_BIN} ${WRKINST}/usr/sbin/ebtables ${IDIR_EBTABLES}/usr/sbin
 	${CP} ${WRKINST}/usr/lib/*.so ${IDIR_EBTABLES}/usr/lib
 	${CP} ${WRKINST}/usr/lib/*.so ${IDIR_EBTABLES}/usr/lib
 
 

+ 22 - 4
package/ebtables/patches/patch-Makefile

@@ -1,6 +1,6 @@
 --- ebtables-v2.0.9-1.orig/Makefile	2009-06-21 15:13:25.000000000 +0200
 --- ebtables-v2.0.9-1.orig/Makefile	2009-06-21 15:13:25.000000000 +0200
-+++ ebtables-v2.0.9-1/Makefile	2009-11-29 12:54:31.000000000 +0100
-@@ -8,10 +8,10 @@ PROGDATE:=June\ 2009
++++ ebtables-v2.0.9-1/Makefile	2009-11-29 15:39:30.000000000 +0100
+@@ -8,17 +8,16 @@ PROGDATE:=June\ 2009
  
  
  # default paths
  # default paths
  LIBDIR:=/usr/lib
  LIBDIR:=/usr/lib
@@ -14,7 +14,25 @@
  SYSCONFIGDIR:=/etc/sysconfig
  SYSCONFIGDIR:=/etc/sysconfig
  DESTDIR:=
  DESTDIR:=
  
  
-@@ -154,28 +154,29 @@ tmp3:=$(shell printf $(PIPE) | sed 's/\/
+-CFLAGS:=-Wall -Wunused
++CFLAGS?=-Wall -Wunused
+ CFLAGS_SH_LIB:=-fPIC
+-CC:=gcc
+-LD:=ld
++CC?=gcc
+ 
+ ifeq ($(shell uname -m),sparc64)
+ CFLAGS+=-DEBT_MIN_ALIGN=8 -DKERNEL_64_USERSPACE_32
+@@ -85,7 +84,7 @@ ebtables-standalone.o: ebtables-standalo
+ 
+ .PHONY: libebtc
+ libebtc: $(OBJECTS2)
+-	$(LD) -shared -soname libebtc.so -o libebtc.so -lc $(OBJECTS2)
++	$(CC) -shared -o libebtc.so -lc $(OBJECTS2)
+ 
+ ebtables: $(OBJECTS) ebtables-standalone.o libebtc
+ 	$(CC) $(CFLAGS) $(CFLAGS_SH_LIB) -o $@ ebtables-standalone.o -I$(KERNEL_INCLUDES) -L. -Lextensions -lebtc $(EXT_LIBSI) \
+@@ -154,28 +153,29 @@ tmp3:=$(shell printf $(PIPE) | sed 's/\/
  .PHONY: scripts
  .PHONY: scripts
  scripts: ebtables-save ebtables.sysv ebtables-config
  scripts: ebtables-save ebtables.sysv ebtables-config
  	cat ebtables-save | sed 's/__EXEC_PATH__/$(tmp1)/g' > ebtables-save_
  	cat ebtables-save | sed 's/__EXEC_PATH__/$(tmp1)/g' > ebtables-save_
@@ -51,7 +69,7 @@
  
  
  .PHONY: install
  .PHONY: install
  install: $(MANDIR)/man8/ebtables.8 $(ETHERTYPESFILE) exec scripts
  install: $(MANDIR)/man8/ebtables.8 $(ETHERTYPESFILE) exec scripts
-@@ -199,18 +200,18 @@ release:
+@@ -199,18 +199,18 @@ release:
  	rm -f extensions/ebt_inat.c
  	rm -f extensions/ebt_inat.c
  	rm -rf $(CVSDIRS)
  	rm -rf $(CVSDIRS)
  	mkdir -p include/linux/netfilter_bridge
  	mkdir -p include/linux/netfilter_bridge

+ 1 - 1
package/grub-bin/Makefile

@@ -8,7 +8,7 @@ include ${TOPDIR}/rules.mk
 PKG_NAME:=		grub-bin
 PKG_NAME:=		grub-bin
 PKG_VERSION:=		1.97.1
 PKG_VERSION:=		1.97.1
 PKG_RELEASE:=		1
 PKG_RELEASE:=		1
-PKG_MD5SUM:=		99ddead9dcb689a7ec2431c1e6b3cf0d
+PKG_MD5SUM:=		24961a39e63d8ec16d765aad3a301cda
 PKG_DESCR:=		GRUB bootloader
 PKG_DESCR:=		GRUB bootloader
 PKG_SECTION:=		sys
 PKG_SECTION:=		sys
 PKG_SITES:=		http://openadk.org/distfiles/
 PKG_SITES:=		http://openadk.org/distfiles/

+ 3 - 0
package/squid/Makefile

@@ -146,6 +146,9 @@ post-configure:
 	${SED} 's#postdeps="-lstdc.*#postdeps="-lm"#' \
 	${SED} 's#postdeps="-lstdc.*#postdeps="-lm"#' \
 	    ${WRKBUILD}/libtool
 	    ${WRKBUILD}/libtool
 endif
 endif
+post-configure:
+	${SED} 's#\(hardcode_into_libs=\).*$$#\1no#' \
+		${WRKBUILD}/libtool
 
 
 post-install: ${INSTALL_MODS_y} ${INSTALL_MODS_m}
 post-install: ${INSTALL_MODS_y} ${INSTALL_MODS_m}
 	${INSTALL_DIR} ${IDIR_SQUID}/etc/squid
 	${INSTALL_DIR} ${IDIR_SQUID}/etc/squid

+ 14 - 25
package/squid/files/squid.conf

@@ -1,27 +1,16 @@
 visible_hostname linux
 visible_hostname linux
+# for transparent proxy use following
+# http_port 3128 transparent
 http_port 3128
 http_port 3128
-# acl
-acl manager proto cache_object
-acl localhost src 127.0.0.1/32
-acl to_localhost dst 127.0.0.0/8 0.0.0.0/32
-acl localnet src 10.0.0.0/8	# RFC1918 possible internal network
-acl localnet src 172.16.0.0/12	# RFC1918 possible internal network
-acl localnet src 192.168.0.0/16	# RFC1918 possible internal network
-acl SSL_ports port 443
-acl Safe_ports port 80		# http
-acl Safe_ports port 21		# ftp
-acl Safe_ports port 443		# https
-acl Safe_ports port 70		# gopher
-acl Safe_ports port 210		# wais
-acl Safe_ports port 1025-65535	# unregistered ports
-acl Safe_ports port 280		# http-mgmt
-acl Safe_ports port 488		# gss-http
-acl Safe_ports port 591		# filemaker
-acl Safe_ports port 777		# multiling http
-acl CONNECT method CONNECT
-http_access allow manager localhost
-http_access deny manager
-http_access deny !Safe_ports
-http_access deny CONNECT !SSL_ports
-http_access allow localnet
-http_access deny all
+pid_filename /var/run/squid.pid
+# logging
+access_log syslog
+cache_store_log none
+cache_log /var/log/squid-cache.log
+# security
+cache_effective_user squid
+cache_effective_group squid
+# cache dir
+cache_dir ufs /var/squid/cache 10M 16 256
+# allow all
+http_access allow all

+ 37 - 0
package/squid/files/squid.init

@@ -0,0 +1,37 @@
+#!/bin/sh
+#PKG squid
+#INIT 70
+
+. /etc/rc.conf
+
+case $1 in
+autostop) ;;
+autostart)
+	test x"${squid:-NO}" = x"NO" && exit 0
+	exec sh $0 start
+	;;
+start)
+	if [ ! -f /var/log/squid-cache.log ];then
+		touch /var/log/squid-cache.log
+		chown squid:squid /var/log/squid-cache.log
+	fi
+	if [ ! -d /var/squid/cache ];then
+		mkdir -p /var/squid/cache
+		chown squid:squid /var/squid/cache
+		squid -z 
+	fi
+	squid
+	;;
+stop)
+	squid -k kill
+	;;
+restart)
+	sh $0 stop
+	sh $0 start
+	;;
+
+*)
+	echo "usage: $0 {start | stop | restart}"
+	exit 1
+esac
+exit $?

+ 6 - 0
package/squid/files/squid.postinst

@@ -0,0 +1,6 @@
+#!/bin/sh
+. $IPKG_INSTROOT/etc/functions.sh
+gid=$(get_next_gid)
+add_user squid $(get_next_uid) $gid /var/squid/cache
+add_group squid $gid
+add_rcconf squid squid NO

+ 243 - 4
target/linux/config/Config.in.netfilter

@@ -8,6 +8,10 @@ config ADK_KERNEL_NETFILTER_ADVANCED
 	bool
 	bool
 	default n
 	default n
 
 
+config ADK_KERNEL_BRIDGE_NETFILTER
+	bool
+	default n
+
 config ADK_KERNEL_NETFILTER_XTABLES
 config ADK_KERNEL_NETFILTER_XTABLES
 	bool
 	bool
 	select ADK_KERNEL_NETFILTER
 	select ADK_KERNEL_NETFILTER
@@ -397,7 +401,7 @@ config ADK_KPACKAGE_KMOD_IP_NF_TARGET_ULOG
 
 
 config ADK_KPACKAGE_KMOD_IP_NF_TARGET_REDIRECT
 config ADK_KPACKAGE_KMOD_IP_NF_TARGET_REDIRECT
 	tristate 'REDIRECT target support'
 	tristate 'REDIRECT target support'
-	depends on ADK_KPACKAGE_KMOD_IP_NF_NAT
+	depends on ADK_KPACKAGE_KMOD_NF_NAT
 	help
 	help
 	  REDIRECT is a special case of NAT: all incoming connections are
 	  REDIRECT is a special case of NAT: all incoming connections are
 	  mapped onto the incoming interface's address, causing the packets to
 	  mapped onto the incoming interface's address, causing the packets to
@@ -406,7 +410,7 @@ config ADK_KPACKAGE_KMOD_IP_NF_TARGET_REDIRECT
 
 
 config ADK_KPACKAGE_KMOD_IP_NF_TARGET_NETMAP
 config ADK_KPACKAGE_KMOD_IP_NF_TARGET_NETMAP
 	tristate 'NETMAP target support'
 	tristate 'NETMAP target support'
-	depends on ADK_KPACKAGE_KMOD_IP_NF_NAT
+	depends on ADK_KPACKAGE_KMOD_NF_NAT
 	help
 	help
 	  NETMAP is an implementation of static 1:1 NAT mapping of network
 	  NETMAP is an implementation of static 1:1 NAT mapping of network
 	  addresses. It maps the network address part, while keeping the host
 	  addresses. It maps the network address part, while keeping the host
@@ -415,14 +419,14 @@ config ADK_KPACKAGE_KMOD_IP_NF_TARGET_NETMAP
 
 
 config ADK_KPACKAGE_KMOD_IP_NF_TARGET_SAME
 config ADK_KPACKAGE_KMOD_IP_NF_TARGET_SAME
 	tristate 'SAME target support'
 	tristate 'SAME target support'
-	depends on ADK_KPACKAGE_KMOD_IP_NF_NAT
+	depends on ADK_KPACKAGE_KMOD_NF_NAT
 	help
 	help
 	  This option adds a `SAME' target, which works like the standard SNAT
 	  This option adds a `SAME' target, which works like the standard SNAT
 	  target, but attempts to give clients the same IP for all connections.
 	  target, but attempts to give clients the same IP for all connections.
 
 
 config ADK_KPACKAGE_KMOD_IP_NF_MANGLE
 config ADK_KPACKAGE_KMOD_IP_NF_MANGLE
 	tristate 'Packet mangling'
 	tristate 'Packet mangling'
-	depends on ADK_KPACKAGE_KMOD_IP_NF_IPTABLES
+	depends on ADK_KPACKAGE_KMOD_NF_NAT
 	help
 	help
 	  This option adds a `mangle' table to iptables: see the man page for
 	  This option adds a `mangle' table to iptables: see the man page for
 	  iptables(8).  This table is used for various packet alterations
 	  iptables(8).  This table is used for various packet alterations
@@ -441,4 +445,239 @@ config ADK_KPACKAGE_KMOD_IP_NF_TARGET_ECN
 	  ECN support in general.
 	  ECN support in general.
 
 
 endmenu
 endmenu
+
+menu "Ethernet bridge firewalling"
+
+config ADK_KPACKAGE_KMOD_BRIDGE_NF_EBTABLES
+	tristate 'Ethernet Bridge tables (ebtables) support'
+	select ADK_KERNEL_BRIDGE_NETFILTER
+	help
+	  ebtables is a general, extensible frame/packet identification
+	  framework. Say 'Y' or 'M' here if you want to do Ethernet
+	  filtering/NAT/brouting on the Ethernet bridge.
+
+config ADK_KPACKAGE_KMOD_BRIDGE_EBT_BROUTE
+	tristate "ebt: broute table support"
+	depends on ADK_KPACKAGE_KMOD_BRIDGE_NF_EBTABLES
+	help
+	  The ebtables broute table is used to define rules that decide between
+	  bridging and routing frames, giving Linux the functionality of a
+	  brouter. See the man page for ebtables(8) and examples on the ebtables
+	  website.
+
+	  To compile it as a module, choose M here.  If unsure, say N.
+
+config ADK_KPACKAGE_KMOD_BRIDGE_EBT_T_FILTER
+	tristate "ebt: filter table support"
+	depends on ADK_KPACKAGE_KMOD_BRIDGE_NF_EBTABLES
+	help
+	  The ebtables filter table is used to define frame filtering rules at
+	  local input, forwarding and local output. See the man page for
+	  ebtables(8).
+
+	  To compile it as a module, choose M here.  If unsure, say N.
+
+config ADK_KPACKAGE_KMOD_BRIDGE_EBT_T_NAT
+	tristate "ebt: nat table support"
+	depends on ADK_KPACKAGE_KMOD_BRIDGE_NF_EBTABLES
+	help
+	  The ebtables nat table is used to define rules that alter the MAC
+	  source address (MAC SNAT) or the MAC destination address (MAC DNAT).
+	  See the man page for ebtables(8).
+
+	  To compile it as a module, choose M here.  If unsure, say N.
+#
+# matches
+#
+config ADK_KPACKAGE_KMOD_BRIDGE_EBT_802_3
+	tristate "ebt: 802.3 filter support"
+	depends on ADK_KPACKAGE_KMOD_BRIDGE_NF_EBTABLES
+	help
+	  This option adds matching support for 802.3 Ethernet frames.
+
+	  To compile it as a module, choose M here.  If unsure, say N.
+
+config ADK_KPACKAGE_KMOD_BRIDGE_EBT_AMONG
+	tristate "ebt: among filter support"
+	depends on ADK_KPACKAGE_KMOD_BRIDGE_NF_EBTABLES
+	help
+	  This option adds the among match, which allows matching the MAC source
+	  and/or destination address on a list of addresses. Optionally,
+	  MAC/IP address pairs can be matched, f.e. for anti-spoofing rules.
+
+	  To compile it as a module, choose M here.  If unsure, say N.
+
+config ADK_KPACKAGE_KMOD_BRIDGE_EBT_ARP
+	tristate "ebt: ARP filter support"
+	depends on ADK_KPACKAGE_KMOD_BRIDGE_NF_EBTABLES
+	help
+	  This option adds the ARP match, which allows ARP and RARP header field
+	  filtering.
+
+	  To compile it as a module, choose M here.  If unsure, say N.
+
+config ADK_KPACKAGE_KMOD_BRIDGE_EBT_IP
+	tristate "ebt: IP filter support"
+	depends on ADK_KPACKAGE_KMOD_BRIDGE_NF_EBTABLES
+	help
+	  This option adds the IP match, which allows basic IP header field
+	  filtering.
+
+	  To compile it as a module, choose M here.  If unsure, say N.
+
+config ADK_KPACKAGE_KMOD_BRIDGE_EBT_IP6
+	tristate "ebt: IP6 filter support"
+	depends on ADK_KPACKAGE_KMOD_BRIDGE_NF_EBTABLES && ADK_KPACKAGE_KMOD_IPV6
+	help
+	  This option adds the IP6 match, which allows basic IPV6 header field
+	  filtering.
+
+	  To compile it as a module, choose M here.  If unsure, say N.
+
+config ADK_KPACKAGE_KMOD_BRIDGE_EBT_LIMIT
+	tristate "ebt: limit match support"
+	depends on ADK_KPACKAGE_KMOD_BRIDGE_NF_EBTABLES
+	help
+	  This option adds the limit match, which allows you to control
+	  the rate at which a rule can be matched. This match is the
+	  equivalent of the iptables limit match.
+
+	  If you want to compile it as a module, say M here and read
+	  <file:Documentation/kbuild/modules.txt>.  If unsure, say `N'.
+
+config ADK_KPACKAGE_KMOD_BRIDGE_EBT_MARK
+	tristate "ebt: mark filter support"
+	depends on ADK_KPACKAGE_KMOD_BRIDGE_NF_EBTABLES
+	help
+	  This option adds the mark match, which allows matching frames based on
+	  the 'nfmark' value in the frame. This can be set by the mark target.
+	  This value is the same as the one used in the iptables mark match and
+	  target.
+
+	  To compile it as a module, choose M here.  If unsure, say N.
+
+config ADK_KPACKAGE_KMOD_BRIDGE_EBT_PKTTYPE
+	tristate "ebt: packet type filter support"
+	depends on ADK_KPACKAGE_KMOD_BRIDGE_NF_EBTABLES
+	help
+	  This option adds the packet type match, which allows matching on the
+	  type of packet based on its Ethernet "class" (as determined by
+	  the generic networking code): broadcast, multicast,
+	  for this host alone or for another host.
+
+	  To compile it as a module, choose M here.  If unsure, say N.
+
+config ADK_KPACKAGE_KMOD_BRIDGE_EBT_STP
+	tristate "ebt: STP filter support"
+	depends on ADK_KPACKAGE_KMOD_BRIDGE_NF_EBTABLES
+	help
+	  This option adds the Spanning Tree Protocol match, which
+	  allows STP header field filtering.
+
+	  To compile it as a module, choose M here.  If unsure, say N.
+
+config ADK_KPACKAGE_KMOD_BRIDGE_EBT_VLAN
+	tristate "ebt: 802.1Q VLAN filter support"
+	depends on ADK_KPACKAGE_KMOD_BRIDGE_NF_EBTABLES
+	help
+	  This option adds the 802.1Q vlan match, which allows the filtering of
+	  802.1Q vlan fields.
+
+	  To compile it as a module, choose M here.  If unsure, say N.
+#
+# targets
+#
+config ADK_KPACKAGE_KMOD_BRIDGE_EBT_ARPREPLY
+	tristate "ebt: arp reply target support"
+	depends on ADK_KPACKAGE_KMOD_BRIDGE_NF_EBTABLES
+	help
+	  This option adds the arp reply target, which allows
+	  automatically sending arp replies to arp requests.
+
+	  To compile it as a module, choose M here.  If unsure, say N.
+
+config ADK_KPACKAGE_KMOD_BRIDGE_EBT_DNAT
+	tristate "ebt: dnat target support"
+	depends on ADK_KPACKAGE_KMOD_BRIDGE_NF_EBTABLES
+	help
+	  This option adds the MAC DNAT target, which allows altering the MAC
+	  destination address of frames.
+
+	  To compile it as a module, choose M here.  If unsure, say N.
+
+config ADK_KPACKAGE_KMOD_BRIDGE_EBT_MARK_T
+	tristate "ebt: mark target support"
+	depends on ADK_KPACKAGE_KMOD_BRIDGE_NF_EBTABLES
+	help
+	  This option adds the mark target, which allows marking frames by
+	  setting the 'nfmark' value in the frame.
+	  This value is the same as the one used in the iptables mark match and
+	  target.
+
+	  To compile it as a module, choose M here.  If unsure, say N.
+
+config ADK_KPACKAGE_KMOD_BRIDGE_EBT_REDIRECT
+	tristate "ebt: redirect target support"
+	depends on ADK_KPACKAGE_KMOD_BRIDGE_NF_EBTABLES
+	help
+	  This option adds the MAC redirect target, which allows altering the MAC
+	  destination address of a frame to that of the device it arrived on.
+
+	  To compile it as a module, choose M here.  If unsure, say N.
+
+config ADK_KPACKAGE_KMOD_BRIDGE_EBT_SNAT
+	tristate "ebt: snat target support"
+	depends on ADK_KPACKAGE_KMOD_BRIDGE_NF_EBTABLES
+	help
+	  This option adds the MAC SNAT target, which allows altering the MAC
+	  source address of frames.
+
+	  To compile it as a module, choose M here.  If unsure, say N.
+#
+# watchers
+#
+config ADK_KPACKAGE_KMOD_BRIDGE_EBT_LOG
+	tristate "ebt: log support"
+	depends on ADK_KPACKAGE_KMOD_BRIDGE_NF_EBTABLES
+	help
+	  This option adds the log watcher, that you can use in any rule
+	  in any ebtables table. It records info about the frame header
+	  to the syslog.
+
+	  To compile it as a module, choose M here.  If unsure, say N.
+
+config ADK_KPACKAGE_KMOD_BRIDGE_EBT_ULOG
+	tristate "ebt: ulog support (OBSOLETE)"
+	depends on ADK_KPACKAGE_KMOD_BRIDGE_NF_EBTABLES
+	help
+	  This option enables the old bridge-specific "ebt_ulog" implementation
+	  which has been obsoleted by the new "nfnetlink_log" code (see
+	  CONFIG_NETFILTER_NETLINK_LOG).
+
+	  This option adds the ulog watcher, that you can use in any rule
+	  in any ebtables table. The packet is passed to a userspace
+	  logging daemon using netlink multicast sockets. This differs
+	  from the log watcher in the sense that the complete packet is
+	  sent to userspace instead of a descriptive text and that
+	  netlink multicast sockets are used instead of the syslog.
+
+	  To compile it as a module, choose M here.  If unsure, say N.
+
+config ADK_KPACKAGE_KMOD_BRIDGE_EBT_NFLOG
+	tristate "ebt: nflog support"
+	depends on ADK_KPACKAGE_KMOD_BRIDGE_NF_EBTABLES
+	help
+	  This option enables the nflog watcher, which allows to LOG
+	  messages through the netfilter logging API, which can use
+	  either the old LOG target, the old ULOG target or nfnetlink_log
+	  as backend.
+
+	  This option adds the nflog watcher, that you can use in any rule
+	  in any ebtables table.
+
+	  To compile it as a module, choose M here.  If unsure, say N.
+
+
+endmenu
+
 endmenu
 endmenu