From patchwork Tue Jan 19 16:03:35 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tim Gardner X-Patchwork-Id: 43194 X-Patchwork-Delegate: stefan.bader@canonical.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from chlorine.canonical.com (chlorine.canonical.com [91.189.94.204]) by ozlabs.org (Postfix) with ESMTP id BEBFBB7CA1 for ; Wed, 20 Jan 2010 03:02:56 +1100 (EST) Received: from localhost ([127.0.0.1] helo=chlorine.canonical.com) by chlorine.canonical.com with esmtp (Exim 4.69) (envelope-from ) id 1NXGXX-00061R-71; Tue, 19 Jan 2010 16:02:47 +0000 Received: from mail.tpi.com ([70.99.223.143]) by chlorine.canonical.com with esmtp (Exim 4.69) (envelope-from ) id 1NXGXV-000610-8x for kernel-team@lists.ubuntu.com; Tue, 19 Jan 2010 16:02:45 +0000 Received: from sepang.rtg.net (unknown [10.0.2.5]) by mail.tpi.com (Postfix) with ESMTP id CCF9621381D; Tue, 19 Jan 2010 08:02:34 -0800 (PST) Received: by sepang.rtg.net (Postfix, from userid 1000) id DC546F88D8; Tue, 19 Jan 2010 09:03:35 -0700 (MST) To: stefan.bader@canonical.com Subject: Hardy SRU LP508008 Message-Id: <20100119160335.DC546F88D8@sepang.rtg.net> Date: Tue, 19 Jan 2010 09:03:35 -0700 (MST) From: timg@tpi.com (Tim Gardner) Cc: kernel-team@lists.ubuntu.com X-BeenThere: kernel-team@lists.ubuntu.com X-Mailman-Version: 2.1.9 Precedence: list List-Id: Kernel team discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: kernel-team-bounces@lists.ubuntu.com Errors-To: kernel-team-bounces@lists.ubuntu.com From 1259b51d3f18440083e2fdf14fd7e0b3d5d8e900 Mon Sep 17 00:00:00 2001 From: Stephen Hemminger Date: Tue, 17 Jun 2008 16:09:45 -0700 Subject: [PATCH] bridge: handle process all link-local frames BugLink: http://bugs.launchpad.net/bugs/508008 Any frame addressed to link-local addresses should be processed by local receive path. The earlier code would process them only if STP was enabled. Since there are other frames like LACP for bonding, we should always process them. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller (cherry picked from commit 43aa1920117801fe9ae3d1fad886b62511e09bee) Signed-off-by: Tim Gardner Acked-by: Stefan Bader --- net/bridge/br_input.c | 13 +++++-------- 1 files changed, 5 insertions(+), 8 deletions(-) diff --git a/net/bridge/br_input.c b/net/bridge/br_input.c index 0ee79a7..af7ac98 100644 --- a/net/bridge/br_input.c +++ b/net/bridge/br_input.c @@ -136,14 +136,11 @@ struct sk_buff *br_handle_frame(struct net_bridge_port *p, struct sk_buff *skb) 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) {