[Bridge] Re :Re: Re :Re: Re :Re: Bridging LACP (802.3ad) frames not working

Yavetskiy Yuriy yavetskiy at kpi.ua
Wed Jan 20 08:31:06 PST 2010


Hello.

I solve my problem without ebtables.
Just add to net/bridge/br_input.c next strings (with +):

        if (unlikely(is_link_local(dest))) {
                /* Pause frames shouldn't be passed up by driver anyway */
                if (skb->protocol == htons(ETH_P_PAUSE))
                        goto drop;

+                /* Don't touch SLOW frames (LACP, etc.) */
+               if (skb->protocol == htons(ETH_P_SLOW))
+                        goto forward;

                /* If STP is turned off, then forward */
                if (p->br->stp_enabled == BR_NO_STP && dest[5] == 0)
                        goto forward;

                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 */
        }

and after I've compiled it to kernel 802.3ad frames became pass through 
linux bridge.


yavetskiy at kpi.ua wrote:
> Hello.
>
> I have the same problem with bridging 802.3ad frames.
>
> But rules:
> ebtables -A INPUT -p 0x8809 -j ACCEPT
> ebtables -A FORWARD -p 0x8809 -j ACCEPT
> are not enough to solve this problem, it still doesn't work for me.
> I have vanila kernel 2.6.32 with no patches, Debian squeeze, eth1 and  
> eth2 interfaces in bridge with stp disabled.
> Maybe I've missed something? Do you have any ideas?
> Thank you.
>
>
> --
> WBR
> Yavetkiy Yuriy
>
> ----------------------------------------------------------------
> This message was sent using IMP, the Internet Messaging Program.
>
> _______________________________________________
> Bridge mailing list
> Bridge at lists.linux-foundation.org
> https://lists.linux-foundation.org/mailman/listinfo/bridge
>   


-- 
WBR
Yavetskiy Yuriy
ULTI-RIPE



More information about the Bridge mailing list