Subject: Re: PATCH: fix bridged 802.3ad bonding

From: Jiri Bohac <[email-masked]>
Date: Thu, 5 Jun 2008 12:13:20 +0200

On Wed, Jun 04, 2008 at 09:06:33AM -0700, Stephen Hemminger wrote:
> On Wed, 4 Jun 2008 10:24:25 +0200
> Jiri Bohac <[email-masked]> wrote:
> 
> > On Tue, Jun 03, 2008 at 09:55:19PM -0700, Stephen Hemminger wrote:
> > >
> > > --- a/net/bridge/br_input.c	2008-06-03 21:44:54.000000000 -0700
> > > +++ b/net/bridge/br_input.c	2008-06-03 21:52:20.000000000 -0700
> > > @@ -135,15 +135,12 @@ struct sk_buff *br_handle_frame(struct n
> > >  		/* Pause frames shouldn't be passed up by driver anyway */
> > >  		if (skb->protocol == htons(ETH_P_PAUSE))
> > >  			goto drop;
> > > -
> > > -		/* Process STP BPDU's through normal netif_receive_skb() path */
> > > -		if (p->br->stp_enabled != BR_NO_STP) {
> > > -			if (NF_HOOK(PF_BRIDGE, NF_BR_LOCAL_IN, skb, skb->dev,
> > > -				    NULL, br_handle_local_finish))
> > > -				return NULL;
> > > -			else
> > > -				return skb;
> > > -		}
> > > +
> > > +		if (NF_HOOK(PF_BRIDGE, NF_BR_LOCAL_IN, skb, skb->dev,
> > > +			    NULL, br_handle_local_finish))
> > > +			return NULL;	/* frame consumed by filter */
> > > +		else
> > > +			return skb;	/* continue processing */
> > >  	}
> > >  
> > >  	switch (p->state) {
> > 
> > where did the "if (p->br->stp_enabled != BR_NO_STP)" condition
> > go? Is it not needed? I thought it was there to prevent the STP
> > BPDUs from being handled when STP is turned off.
> > 
> 
> That is already done in br_stp_rcv so the check here was not
> needed.

Ah, I see. So can we get one of the patches in? I still think
that running the LACP frames through the bridging NF hooks does
not make sense, but it's your call.

-- 
Jiri Bohac <[email-masked]>
SUSE Labs, SUSE CZ