From patchwork Sun Jul 19 01:24:49 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Scott Feldman X-Patchwork-Id: 497436 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 70CEE140DC2 for ; Sun, 19 Jul 2015 11:22:51 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b=Mtywa/oT; dkim-atps=neutral Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752703AbbGSBWk (ORCPT ); Sat, 18 Jul 2015 21:22:40 -0400 Received: from mail-pd0-f180.google.com ([209.85.192.180]:36813 "EHLO mail-pd0-f180.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752368AbbGSBWi (ORCPT ); Sat, 18 Jul 2015 21:22:38 -0400 Received: by pdjr16 with SMTP id r16so83495228pdj.3 for ; Sat, 18 Jul 2015 18:22:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=DaDInfI7vBtKDEXkzn9ddKyGQGzsK4c+H/qSwrpKV0Q=; b=Mtywa/oTMbjU1l/L7BLQrc5rXq7FDirSTY9FhXV6WKduut4aH4PDHebCtQ10Dz154W doGZPc2O+WxKT8OU6FD2qkw6s52ACkj2xeDs+2V92ZS5EDUkdlyfOZYBXj20ReZNdW6M ggR7mdEDVmAWJm6H4THWBdmJ1dNyBNc3vd+fqqkpSEUWFOuSt1h7sK9+gI7/j5hTnUTy tG2qkIRBZ104XTS1SIghmwn/BLtO2NJ7y3OZuBEvseu5PfT3gWVqm7ciluSTD1qWRygI AJCLFxVsTbda43Voq3D0Xoft9fAkuJCQYaxKrJTy5B9KcsFzsco9nucNXV8E3J0paVpP SNXA== X-Received: by 10.70.126.133 with SMTP id my5mr36728630pdb.14.1437268957342; Sat, 18 Jul 2015 18:22:37 -0700 (PDT) Received: from rocker1.rocker.net ([199.58.98.143]) by smtp.gmail.com with ESMTPSA id he9sm15498501pbc.7.2015.07.18.18.22.35 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 18 Jul 2015 18:22:36 -0700 (PDT) From: sfeldma@gmail.com To: netdev@vger.kernel.org Cc: jiri@resnulli.us, roopa@cumulusnetworks.com, simon.horman@netronome.com, nicolas.dichtel@6wind.com Subject: [PATCH net-next v3 2/5] net: add phys ID compare helper to test if two IDs are the same Date: Sat, 18 Jul 2015 18:24:49 -0700 Message-Id: <1437269092-17669-3-git-send-email-sfeldma@gmail.com> X-Mailer: git-send-email 1.7.10.4 In-Reply-To: <1437269092-17669-1-git-send-email-sfeldma@gmail.com> References: <1437269092-17669-1-git-send-email-sfeldma@gmail.com> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Scott Feldman Signed-off-by: Scott Feldman Acked-by: Jiri Pirko --- include/linux/netdevice.h | 7 +++++++ net/switchdev/switchdev.c | 8 ++------ 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h index 8364f29..607b5f4 100644 --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h @@ -766,6 +766,13 @@ struct netdev_phys_item_id { unsigned char id_len; }; +static inline bool netdev_phys_item_id_same(struct netdev_phys_item_id *a, + struct netdev_phys_item_id *b) +{ + return a->id_len == b->id_len && + memcmp(a->id, b->id, a->id_len) == 0; +} + typedef u16 (*select_queue_fallback_t)(struct net_device *dev, struct sk_buff *skb); diff --git a/net/switchdev/switchdev.c b/net/switchdev/switchdev.c index 9f2add3..4e5bba5 100644 --- a/net/switchdev/switchdev.c +++ b/net/switchdev/switchdev.c @@ -910,13 +910,9 @@ static struct net_device *switchdev_get_dev_by_nhs(struct fib_info *fi) if (switchdev_port_attr_get(dev, &attr)) return NULL; - if (nhsel > 0) { - if (prev_attr.u.ppid.id_len != attr.u.ppid.id_len) + if (nhsel > 0 && + !netdev_phys_item_id_same(&prev_attr.u.ppid, &attr.u.ppid)) return NULL; - if (memcmp(prev_attr.u.ppid.id, attr.u.ppid.id, - attr.u.ppid.id_len)) - return NULL; - } prev_attr = attr; }