From patchwork Tue Apr 22 17:50:18 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Maxime Bizon X-Patchwork-Id: 341418 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id DE1D4140086 for ; Wed, 23 Apr 2014 03:59:12 +1000 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933645AbaDVR7G (ORCPT ); Tue, 22 Apr 2014 13:59:06 -0400 Received: from ns.iliad.fr ([212.27.33.1]:41381 "EHLO ns.iliad.fr" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933214AbaDVR7E (ORCPT ); Tue, 22 Apr 2014 13:59:04 -0400 X-Greylist: delayed 524 seconds by postgrey-1.27 at vger.kernel.org; Tue, 22 Apr 2014 13:59:04 EDT Received: from ns.iliad.fr (localhost [127.0.0.1]) by ns.iliad.fr (Postfix) with ESMTP id ECCEC20865; Tue, 22 Apr 2014 19:50:18 +0200 (CEST) Received: from [192.168.108.17] (freebox.vlq16.iliad.fr [213.36.7.13]) by ns.iliad.fr (Postfix) with ESMTP id D88E8205A1; Tue, 22 Apr 2014 19:50:18 +0200 (CEST) Message-ID: <1398189018.19788.2.camel@sakura.staff.proxad.net> Subject: [PATCH][RFC] bridge: mark packets sent to any local mac address as PACKET_HOST From: Maxime Bizon Reply-To: mbizon@freebox.fr To: Stephen Hemminger Cc: bridge@lists.linux-foundation.org, netdev Date: Tue, 22 Apr 2014 19:50:18 +0200 Organization: Freebox X-Mailer: Evolution 3.2.3-0ubuntu6 Mime-Version: 1.0 X-Virus-Scanned: ClamAV using ClamSMTP ; ns.iliad.fr ; Tue Apr 22 19:50:18 2014 +0200 (CEST) Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org The bridge code only set PACKET_HOST on packets sent to the bridge mac address, packets sent to other local mac addresses are sent to upper layer, but ignored because they are marked as PACKET_OTHERHOST. --- net/bridge/br_input.c | 1 + 1 file changed, 1 insertion(+) diff --git a/net/bridge/br_input.c b/net/bridge/br_input.c index 7985dea..b942561 100644 --- a/net/bridge/br_input.c +++ b/net/bridge/br_input.c @@ -120,6 +120,7 @@ int br_handle_frame_finish(struct sk_buff *skb) dst->is_local) { skb2 = skb; /* Do not forward the packet since it's local. */ + skb2->pkt_type = PACKET_HOST; skb = NULL; }