From patchwork Thu Dec 3 11:12:06 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jiri Pirko X-Patchwork-Id: 552181 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 911C61402C4 for ; Thu, 3 Dec 2015 22:14:51 +1100 (AEDT) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=resnulli-us.20150623.gappssmtp.com header.i=@resnulli-us.20150623.gappssmtp.com header.b=WwkbF3u+; dkim-atps=neutral Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1759968AbbLCLOp (ORCPT ); Thu, 3 Dec 2015 06:14:45 -0500 Received: from mail-wm0-f53.google.com ([74.125.82.53]:38500 "EHLO mail-wm0-f53.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1759949AbbLCLMm (ORCPT ); Thu, 3 Dec 2015 06:12:42 -0500 Received: by wmec201 with SMTP id c201so17309559wme.1 for ; Thu, 03 Dec 2015 03:12:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=resnulli-us.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=4lOKUVDR0ZTyWPy+ala/WAeDGrlfx3zATHHMt1ZjdHw=; b=WwkbF3u+RWrNxrr1ZOtVk7wRURirGBUU7XUE631Y9RzZCoiB06qCt5Sy8P+N9ovhl2 t0UvOM8KGoNjaVX1Ec5Z5tP8nKhp7zn/h1vpRt5xsDgt0V2kK5TySyoOTB2VqcULtgwl idzaq6C2w/6u/2Sn3MSiZv3JWjVdEtXAHY2JUPkAjzWU7MdjUFBBihU8bG6IRTB84/6y dcnCqiJFpd28tyHIKQ625oTW1wUiJ/K1u9Ixx9J/lxzygCH8kSB6PmWQExfNVJBm8hT+ eCyyRiO4GtLo7Kye0Fw9U7Qvn6jNtL7hFZ7ZFizjE8vzRf18LUUzUxqCYkXwaQGZ0WLZ Po7A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=4lOKUVDR0ZTyWPy+ala/WAeDGrlfx3zATHHMt1ZjdHw=; b=aMFHggYLw52yvrCHDN4WqB1dXHgNU65TlMV4X3KbPB9v3ObsNuCpRpNlEHXV2yJNRK qD1kf2gT/X8AbbCz6wYPVqIv3LbwpYCeekCSe0PcgioprgiXTGPG4FERc6uTFs45a6iO 3pp12EaDG2ifQPdYSXIj7SDTGgaUxHflccjszJthCIpRNHLC/3Z9WEhK2GCkNbJF/aA6 qF9HIX5u8DdZTChrBstfj3VWoVCy4s6s+CdaPNXy1BkfmxnsbNFZjilREIJsjoXS/KLL cLfsBUdbJl9JyVa1MknkYCQ2vVSvNPfnGg1HNSU9W8W/FWRaRubY7QY0E8oBRXle0wQU +qmg== X-Gm-Message-State: ALoCoQkjnCxxGrj1BTKuGWAAdjhjwXEkVJsj5wPTzXzVTSeBgPGYAqlSf2lgQBKNAaas3IHJfh+G X-Received: by 10.194.171.97 with SMTP id at1mr10284599wjc.39.1449141161816; Thu, 03 Dec 2015 03:12:41 -0800 (PST) Received: from localhost (ip-94-113-120-24.net.upcbroadband.cz. [94.113.120.24]) by smtp.gmail.com with ESMTPSA id hp9sm7000003wjb.43.2015.12.03.03.12.41 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 03 Dec 2015 03:12:41 -0800 (PST) From: Jiri Pirko To: netdev@vger.kernel.org Cc: davem@davemloft.net, idosch@mellanox.com, eladr@mellanox.com, yotamg@mellanox.com, ogerlitz@mellanox.com, j.vosburgh@gmail.com, vfalico@gmail.com, gospo@cumulusnetworks.com, dsa@cumulusnetworks.com, nikolay@cumulusnetworks.com, pjonnala@broadcom.com, f.fainelli@gmail.com, sfeldma@gmail.com, john.fastabend@gmail.com, roopa@cumulusnetworks.com, andrew@lunn.ch Subject: [patch net-next v3 04/28] net: add netif_is_team_master helper Date: Thu, 3 Dec 2015 12:12:06 +0100 Message-Id: <1449141150-8172-5-git-send-email-jiri@resnulli.us> X-Mailer: git-send-email 1.9.3 In-Reply-To: <1449141150-8172-1-git-send-email-jiri@resnulli.us> References: <1449141150-8172-1-git-send-email-jiri@resnulli.us> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Jiri Pirko Similar to other helpers, caller can use this to find out if device is team master. Signed-off-by: Jiri Pirko --- drivers/net/team/team.c | 1 + include/linux/netdevice.h | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/drivers/net/team/team.c b/drivers/net/team/team.c index 651d35e..d2f3ee8 100644 --- a/drivers/net/team/team.c +++ b/drivers/net/team/team.c @@ -2054,6 +2054,7 @@ static void team_setup(struct net_device *dev) dev->flags |= IFF_MULTICAST; dev->priv_flags &= ~(IFF_XMIT_DST_RELEASE | IFF_TX_SKB_SHARING); dev->priv_flags |= IFF_NO_QUEUE; + dev->priv_flags |= IFF_TEAM; /* * Indicate we support unicast address filtering. That way core won't diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h index 7d2d1d7..cfb56e0 100644 --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h @@ -1271,6 +1271,7 @@ struct net_device_ops { * @IFF_NO_QUEUE: device can run without qdisc attached * @IFF_OPENVSWITCH: device is a Open vSwitch master * @IFF_L3MDEV_SLAVE: device is enslaved to an L3 master device + * @IFF_TEAM: device is a team device */ enum netdev_priv_flags { IFF_802_1Q_VLAN = 1<<0, @@ -1297,6 +1298,7 @@ enum netdev_priv_flags { IFF_NO_QUEUE = 1<<21, IFF_OPENVSWITCH = 1<<22, IFF_L3MDEV_SLAVE = 1<<23, + IFF_TEAM = 1<<24, }; #define IFF_802_1Q_VLAN IFF_802_1Q_VLAN @@ -1323,6 +1325,7 @@ enum netdev_priv_flags { #define IFF_NO_QUEUE IFF_NO_QUEUE #define IFF_OPENVSWITCH IFF_OPENVSWITCH #define IFF_L3MDEV_SLAVE IFF_L3MDEV_SLAVE +#define IFF_TEAM IFF_TEAM /** * struct net_device - The DEVICE structure. @@ -3887,6 +3890,11 @@ static inline bool netif_is_ovs_master(const struct net_device *dev) return dev->priv_flags & IFF_OPENVSWITCH; } +static inline bool netif_is_team_master(struct net_device *dev) +{ + return dev->priv_flags & IFF_TEAM; +} + /* This device needs to keep skb dst for qdisc enqueue or ndo_start_xmit() */ static inline void netif_keep_dst(struct net_device *dev) {