On Mon, 10 Apr 2006 19:28:39 +0200
Ingo Oeser <[EMAIL PROTECTED]> wrote:

> Hi Vlad,
> 
> Vlad Drukker wrote:
> > diff --git a/net/core/dev.c b/net/core/dev.c
> > index 434220d..a351687 100644
> > --- a/net/core/dev.c
> > +++ b/net/core/dev.c
> > @@ -1614,6 +1614,8 @@ static __inline__ int handle_bridge(stru
> >         struct net_bridge_port *port;
> >  
> >         if ((*pskb)->pkt_type == PACKET_LOOPBACK ||
> > +           ((*pskb)->dev->priv_flags & IFF_MASTER_8023AD && 
> > +           (*pskb)->protocol == __constant_htons(ETH_P_SLOW)) ||
> >             (port = rcu_dereference((*pskb)->dev->br_port)) == NULL)
> >                 return 0;
> >  
> 
> Please use "htons(ETH_P_SLOW)", since the compiler will constant fold this 
> and it is more readable this way.
> 

I still don't think it is correct to special case bonding this way.
The only way bonding frames would ever arrive at handle_bridge is
in the case of a bridge being added to a bonded device.

Bridge's should not be part of a bonded interface. Either the bonded device
should be added to the bridge:

                | br0
           +----------+
           |  bridge  |
           +----------+
                | bond0
           +----------+
           |  bonding |
           +----------+
             |eth0  | eth1

In this case bonding driver should already the multicasts before passing up to
bridge.

Or for failover both eth0 and eth1 should be added to bridge (no bonding).
-
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