On Tue, Apr 24, 2007 at 04:12:26PM -0700, Stephen Hemminger wrote:

> The bridge code by default captures all spanning tree packets and
> doesn't forward them. I propose that this might not be a good idea.

As far as I remember, the original bridge code did pass through BPDUs
when STP was disabled.  I think that that is the only right way to
behave.


> --- bridge-2.6.22.orig/net/bridge/br_input.c
> +++ bridge-2.6.22/net/bridge/br_input.c
> @@ -131,8 +131,16 @@ struct sk_buff *br_handle_frame(struct n
>       if (!is_valid_ether_addr(eth_hdr(skb)->h_source))
>               goto drop;
>  
> -     if (unlikely(is_link_local(dest))) {
> -             skb->pkt_type = PACKET_HOST;
> +     /*
> +      * If STP is running, then trap all link-local (802.1x) frames
> +      * process through normal receive path.
> +      *
> +      * For safety, if not running STP then act as a completely transparent
> +      * device. This means that if STP is running on another machine, it
> +      * can still detect cycles.
> +      */
> +     if (p->br->stp_enabled != BR_NO_STP && is_link_local(dest)) {
> +             /* skb->pkt_type should already be PACKET_MULTICAST */

(Does this check include PAUSE frames?  We still don't want to
forward PAUSE frames in any case..)
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to