linux-stable/net/bridge
stephen hemminger 515853ccec bridge: allow forwarding some link local frames
This is based on an earlier patch by Nick Carter with comments
by David Lamparter but with some refinements. Thanks for their patience
this is a confusing area with overlap of standards, user requirements,
and compatibility with earlier releases.

It adds a new sysfs attribute
   /sys/class/net/brX/bridge/group_fwd_mask
that controls forwarding of frames with address of: 01-80-C2-00-00-0X
The default setting has no forwarding to retain compatibility.

One change from earlier releases is that forwarding of group
addresses is not dependent on STP being enabled or disabled. This
choice was made based on interpretation of tie 802.1 standards.
I expect complaints will arise because of this, but better to follow
the standard than continue acting incorrectly by default.

The filtering mask is writeable, but only values that don't forward
known control frames are allowed. It intentionally blocks attempts
to filter control protocols. For example: writing a 8 allows
forwarding 802.1X PAE addresses which is the most common request.

Reported-by: David Lamparter <equinox@diac24.net>
Original-patch-by: Nick Carter <ncarter100@gmail.com>
Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Tested-by: Benjamin Poirier <benjamin.poirier@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2011-10-06 15:27:56 -04:00
..
netfilter Merge branch 'master' of github.com:davem330/net 2011-09-22 03:23:13 -04:00
Kconfig net: bridge builtin vs. ipv6 modular 2011-03-10 13:45:57 -08:00
Makefile bridge: Add core IGMP snooping support 2010-02-28 00:48:45 -08:00
br.c bridge: allow creating bridge devices with netlink 2011-04-04 17:22:28 -07:00
br_device.c bridge: allow forwarding some link local frames 2011-10-06 15:27:56 -04:00
br_fdb.c bridge: allow updating existing fdb entries 2011-10-03 12:17:33 -04:00
br_forward.c net: bridge: check the length of skb after nf_bridge_maybe_copy_header() 2011-01-06 11:33:05 -08:00
br_if.c bridge: fix ordering of NEWLINK and NEWNEIGH events 2011-10-03 12:17:33 -04:00
br_input.c bridge: allow forwarding some link local frames 2011-10-06 15:27:56 -04:00
br_ioctl.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2011-04-11 13:44:25 -07:00
br_multicast.c bridge: fix a possible use after free 2011-08-24 17:49:24 -07:00
br_netfilter.c net: Add ->neigh_lookup() operation to dst_ops 2011-07-18 00:40:17 -07:00
br_netlink.c bridge: add notification over netlink when STP changes state 2011-07-22 17:01:12 -07:00
br_notify.c Bridge: Always send NETDEV_CHANGEADDR up on br MAC change. 2011-08-09 21:44:44 -07:00
br_private.h bridge: allow forwarding some link local frames 2011-10-06 15:27:56 -04:00
br_private_stp.h bridge: minor cleanups 2011-07-22 17:01:13 -07:00
br_stp.c bridge: minor cleanups 2011-07-22 17:01:13 -07:00
br_stp_bpdu.c bridge: minor cleanups 2011-07-22 17:01:13 -07:00
br_stp_if.c bridge: add notification over netlink when STP changes state 2011-07-22 17:01:12 -07:00
br_stp_timer.c bridge: add notification over netlink when STP changes state 2011-07-22 17:01:12 -07:00
br_sysfs_br.c bridge: allow forwarding some link local frames 2011-10-06 15:27:56 -04:00
br_sysfs_if.c bridge: range check STP parameters 2011-04-04 17:22:29 -07:00