From patchwork Mon Apr 13 06:17:04 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Scott Feldman X-Patchwork-Id: 460677 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 478BB1402E8 for ; Mon, 13 Apr 2015 16:20:07 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=fail reason="verification failed; unprotected key" header.d=gmail.com header.i=@gmail.com header.b=Zhh35drD; dkim-adsp=none (unprotected policy); dkim-atps=neutral Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754260AbbDMGUD (ORCPT ); Mon, 13 Apr 2015 02:20:03 -0400 Received: from mail-pa0-f54.google.com ([209.85.220.54]:35319 "EHLO mail-pa0-f54.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754079AbbDMGQn (ORCPT ); Mon, 13 Apr 2015 02:16:43 -0400 Received: by pabtp1 with SMTP id tp1so91905626pab.2 for ; Sun, 12 Apr 2015 23:16:43 -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=1Urj10XfEOU7DUa52prCOkyvxmlbbtlAP1LeF3i08Ng=; b=Zhh35drDd5Lgp1zCL6fbWJu7S1q3N2b8cPOSaiZWgUmhW4fiGycuMY8o0N0LIM+hD2 pqLnqNZnTzKY6+odtPdvtJi22YRbSw96eTiEOjtlmYGKhEAM0XLmnfkqzFEI4AGDYnC5 UZ1wFG0TeXehlXQSyPQ9BrZ6Rame7Y6ARbEuO6swmtf5fRXIGbWHhYAHB/cjq01uFHlC 0jg7niP36d6kbrYmuB0cKqY9h6RVesTndWF9/yn+iRzOA0wmSfmLfWExt5s8TbN9xLJ8 PO0U2C++BCY4nGOcBCbHJkwEXOA92T0rE0Va2zQ2eFTUwm+WEtxqgP9aMvrRXQy3Y4sw nC1w== X-Received: by 10.70.89.199 with SMTP id bq7mr23350575pdb.168.1428905802925; Sun, 12 Apr 2015 23:16:42 -0700 (PDT) Received: from rocker1.home (static-50-53-122-54.bvtn.or.frontiernet.net. [50.53.122.54]) by mx.google.com with ESMTPSA id qc9sm6090095pab.19.2015.04.12.23.16.41 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 12 Apr 2015 23:16:42 -0700 (PDT) From: sfeldma@gmail.com To: netdev@vger.kernel.org Cc: jiri@resnulli.us, roopa@cumulusnetworks.com, linux@roeck-us.net, f.fainelli@gmail.com, sridhar.samudrala@intel.com, ronen.arad@intel.com, andrew@lunn.ch Subject: [PATCH net-next v4 10/24] rocker: cut over to new swdev_port_bridge_setlink Date: Sun, 12 Apr 2015 23:17:04 -0700 Message-Id: <1428905838-14920-11-git-send-email-sfeldma@gmail.com> X-Mailer: git-send-email 1.7.10.4 In-Reply-To: <1428905838-14920-1-git-send-email-sfeldma@gmail.com> References: <1428905838-14920-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 Rocker can now use the swdev bridge setlink to parse raw netlink; no need to duplicate this code in each driver. Signed-off-by: Scott Feldman --- drivers/net/ethernet/rocker/rocker.c | 41 +--------------------------------- 1 file changed, 1 insertion(+), 40 deletions(-) diff --git a/drivers/net/ethernet/rocker/rocker.c b/drivers/net/ethernet/rocker/rocker.c index f81e362..b2d0477 100644 --- a/drivers/net/ethernet/rocker/rocker.c +++ b/drivers/net/ethernet/rocker/rocker.c @@ -4245,45 +4245,6 @@ skip: return idx; } -static int rocker_port_bridge_setlink(struct net_device *dev, - struct nlmsghdr *nlh, u16 flags) -{ - struct rocker_port *rocker_port = netdev_priv(dev); - struct nlattr *protinfo; - struct nlattr *attr; - int err; - - protinfo = nlmsg_find_attr(nlh, sizeof(struct ifinfomsg), - IFLA_PROTINFO); - if (protinfo) { - attr = nla_find_nested(protinfo, IFLA_BRPORT_LEARNING); - if (attr) { - if (nla_len(attr) < sizeof(u8)) - return -EINVAL; - - if (nla_get_u8(attr)) - rocker_port->brport_flags |= BR_LEARNING; - else - rocker_port->brport_flags &= ~BR_LEARNING; - err = rocker_port_set_learning(rocker_port); - if (err) - return err; - } - attr = nla_find_nested(protinfo, IFLA_BRPORT_LEARNING_SYNC); - if (attr) { - if (nla_len(attr) < sizeof(u8)) - return -EINVAL; - - if (nla_get_u8(attr)) - rocker_port->brport_flags |= BR_LEARNING_SYNC; - else - rocker_port->brport_flags &= ~BR_LEARNING_SYNC; - } - } - - return 0; -} - static int rocker_port_bridge_getlink(struct sk_buff *skb, u32 pid, u32 seq, struct net_device *dev, u32 filter_mask) @@ -4321,7 +4282,7 @@ static const struct net_device_ops rocker_port_netdev_ops = { .ndo_fdb_add = rocker_port_fdb_add, .ndo_fdb_del = rocker_port_fdb_del, .ndo_fdb_dump = rocker_port_fdb_dump, - .ndo_bridge_setlink = rocker_port_bridge_setlink, + .ndo_bridge_setlink = swdev_port_bridge_setlink, .ndo_bridge_getlink = rocker_port_bridge_getlink, .ndo_get_phys_port_name = rocker_port_get_phys_port_name, };