From patchwork Tue Oct 6 12:11:59 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nikolay Aleksandrov X-Patchwork-Id: 526720 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 4341C140D85 for ; Tue, 6 Oct 2015 23:12:35 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752332AbbJFMMb (ORCPT ); Tue, 6 Oct 2015 08:12:31 -0400 Received: from mail-wi0-f179.google.com ([209.85.212.179]:34896 "EHLO mail-wi0-f179.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752282AbbJFMM3 (ORCPT ); Tue, 6 Oct 2015 08:12:29 -0400 Received: by wicge5 with SMTP id ge5so163825003wic.0 for ; Tue, 06 Oct 2015 05:12:28 -0700 (PDT) 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=uEl4hLwM6dewL2CP/d6cyXrVR7NmC8fVjYRT+E2cR3E=; b=i9EA4kWQ3Lf5qAgvOcb/zEdM1rnUcHtO6JdCU3A5+47xH4jYrOR14FEsSqRsPK5Dme peyN4ppU8+atLQPhjmreQXECJSxVF21Tdz4Ldtx5JCRojWZ5uVvYFaGiZkhD53eOh+9v OaCrBokcwL7f/GdnxEedB8lY6MOw743gFs5INWdkjarlbblGBIeNsmOfe8T771q/mCmg s0lwKHlXmLAuE1YeEPJ8TGNeKJa1ji28tO4pYMLrI/oHV2Ln/nNdf3qUT5GNAHXFC5f9 dm/XyYihA9NtSECLesR1TEQDYMDEOhzoyxumbU8ZR8FaQtErz8loXP8XP5wE7Eha70SV PEQA== X-Gm-Message-State: ALoCoQmkePEJQHscdLSrb+PoBnSliwdFLeQUfEfOTwPlnZ3eFVqaOnk+C17fuElKG89K9MMoOpRt X-Received: by 10.194.6.161 with SMTP id c1mr32867601wja.152.1444133548121; Tue, 06 Oct 2015 05:12:28 -0700 (PDT) Received: from debil.localdomain (ip4-62-4-104-109.cust.nbox.cz. [62.4.104.109]) by smtp.gmail.com with ESMTPSA id r6sm4702876wia.0.2015.10.06.05.12.26 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 06 Oct 2015 05:12:27 -0700 (PDT) From: Nikolay Aleksandrov To: netdev@vger.kernel.org Cc: roopa@cumulusnetworks.com, davem@davemloft.net, stephen@networkplumber.org, bridge@lists.linux-foundation.org, shm@cumulusnetworks.com, Nikolay Aleksandrov Subject: [PATCH net-next 5/8] bridge: netlink: export port's topology_change_ack and config_pending Date: Tue, 6 Oct 2015 14:11:59 +0200 Message-Id: <1444133522-16907-6-git-send-email-razor@blackwall.org> X-Mailer: git-send-email 2.4.3 In-Reply-To: <1444133522-16907-1-git-send-email-razor@blackwall.org> References: <1444133522-16907-1-git-send-email-razor@blackwall.org> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Nikolay Aleksandrov Add IFLA_BRPORT_TOPOLOGY_CHANGE_ACK and IFLA_BRPORT_CONFIG_PENDING to allow getting port's topology_change_ack and config_pending respectively via netlink. Signed-off-by: Nikolay Aleksandrov --- include/uapi/linux/if_link.h | 2 ++ net/bridge/br_netlink.c | 7 ++++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/include/uapi/linux/if_link.h b/include/uapi/linux/if_link.h index 6857563eb27c..1d6aeb1bbe95 100644 --- a/include/uapi/linux/if_link.h +++ b/include/uapi/linux/if_link.h @@ -298,6 +298,8 @@ enum { IFLA_BRPORT_DESIGNATED_COST, IFLA_BRPORT_ID, IFLA_BRPORT_NO, + IFLA_BRPORT_TOPOLOGY_CHANGE_ACK, + IFLA_BRPORT_CONFIG_PENDING, __IFLA_BRPORT_MAX }; #define IFLA_BRPORT_MAX (__IFLA_BRPORT_MAX - 1) diff --git a/net/bridge/br_netlink.c b/net/bridge/br_netlink.c index e51332792c3c..433d632ad7d0 100644 --- a/net/bridge/br_netlink.c +++ b/net/bridge/br_netlink.c @@ -133,6 +133,8 @@ static inline size_t br_port_info_size(void) + nla_total_size(sizeof(u16)) /* IFLA_BRPORT_DESIGNATED_COST */ + nla_total_size(sizeof(u16)) /* IFLA_BRPORT_ID */ + nla_total_size(sizeof(u16)) /* IFLA_BRPORT_NO */ + + nla_total_size(sizeof(u8)) /* IFLA_BRPORT_TOPOLOGY_CHANGE_ACK */ + + nla_total_size(sizeof(u8)) /* IFLA_BRPORT_CONFIG_PENDING */ + 0; } @@ -174,7 +176,10 @@ static int br_port_fill_attrs(struct sk_buff *skb, nla_put_u16(skb, IFLA_BRPORT_DESIGNATED_PORT, p->designated_port) || nla_put_u16(skb, IFLA_BRPORT_DESIGNATED_COST, p->designated_cost) || nla_put_u16(skb, IFLA_BRPORT_ID, p->port_id) || - nla_put_u16(skb, IFLA_BRPORT_NO, p->port_no)) + nla_put_u16(skb, IFLA_BRPORT_NO, p->port_no) || + nla_put_u8(skb, IFLA_BRPORT_TOPOLOGY_CHANGE_ACK, + p->topology_change_ack) || + nla_put_u8(skb, IFLA_BRPORT_CONFIG_PENDING, p->config_pending)) return -EMSGSIZE; return 0;