From: Nikolay Aleksandrov <razor@blackwall.org>
To: netdev@vger.kernel.org
Cc: roopa@cumulusnetworks.com, stephen@networkplumber.org,
Nikolay Aleksandrov <nikolay@cumulusnetworks.com>
Subject: [PATCH iproute2 01/21] iplink: bridge: export bridge_id and designated_root
Date: Mon, 8 Feb 2016 12:55:07 +0100 [thread overview]
Message-ID: <1454932527-30569-2-git-send-email-razor@blackwall.org> (raw)
In-Reply-To: <1454932527-30569-1-git-send-email-razor@blackwall.org>
From: Nikolay Aleksandrov <nikolay@cumulusnetworks.com>
Netlink returns the bridge_id and designated_root, we just need to
make them visible.
Signed-off-by: Nikolay Aleksandrov <nikolay@cumulusnetworks.com>
---
ip/iplink_bridge.c | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)
diff --git a/ip/iplink_bridge.c b/ip/iplink_bridge.c
index 00804093dcb5..6978e58e6b74 100644
--- a/ip/iplink_bridge.c
+++ b/ip/iplink_bridge.c
@@ -39,6 +39,15 @@ static void explain(void)
print_explain(stderr);
}
+static void br_dump_bridge_id(const struct ifla_bridge_id *id, char *buf,
+ size_t len)
+{
+ const unsigned char *x = (const unsigned char *)id;
+
+ snprintf(buf, len, "%.2x%.2x.%.2x%.2x%.2x%.2x%.2x%.2x", x[0], x[1],
+ x[2], x[3], x[4], x[5], x[6], x[7]);
+}
+
static int bridge_parse_opt(struct link_util *lu, int argc, char **argv,
struct nlmsghdr *n)
{
@@ -155,6 +164,22 @@ static void bridge_print_opt(struct link_util *lu, FILE *f, struct rtattr *tb[])
ll_proto_n2a(rta_getattr_u16(tb[IFLA_BR_VLAN_PROTOCOL]),
b1, sizeof(b1)));
}
+
+ if (tb[IFLA_BR_BRIDGE_ID]) {
+ char bridge_id[32];
+
+ br_dump_bridge_id(RTA_DATA(tb[IFLA_BR_BRIDGE_ID]), bridge_id,
+ sizeof(bridge_id));
+ fprintf(f, "bridge_id %s ", bridge_id);
+ }
+
+ if (tb[IFLA_BR_ROOT_ID]) {
+ char root_id[32];
+
+ br_dump_bridge_id(RTA_DATA(tb[IFLA_BR_BRIDGE_ID]), root_id,
+ sizeof(root_id));
+ fprintf(f, "designated_root %s ", root_id);
+ }
}
static void bridge_print_help(struct link_util *lu, int argc, char **argv,
--
2.4.3
next prev parent reply other threads:[~2016-02-08 11:56 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-02-08 11:55 [PATCH iproute2 00/21] bridge: complete netlink support Nikolay Aleksandrov
2016-02-08 11:55 ` Nikolay Aleksandrov [this message]
2016-02-08 22:21 ` [PATCH iproute2 01/21] iplink: bridge: export bridge_id and designated_root Stephen Hemminger
2016-02-08 22:25 ` Nikolay Aleksandrov
2016-02-08 22:29 ` Nikolay Aleksandrov
2016-02-08 11:55 ` [PATCH iproute2 02/21] iplink: bridge: export root_(port|path_cost), topology_change and change_detected Nikolay Aleksandrov
2016-02-08 11:55 ` [PATCH iproute2 03/21] iplink: bridge: export read-only timers Nikolay Aleksandrov
2016-02-08 22:23 ` Stephen Hemminger
2016-02-08 22:26 ` Nikolay Aleksandrov
2016-02-08 11:55 ` [PATCH iproute2 04/21] iplink: bridge: add support for IFLA_BR_GROUP_FWD_MASK Nikolay Aleksandrov
2016-02-08 11:55 ` [PATCH iproute2 05/21] iplink: bridge: add support for IFLA_BR_GROUP_ADDR Nikolay Aleksandrov
2016-02-08 11:55 ` [PATCH iproute2 06/21] iplink: bridge: add support for IFLA_BR_VLAN_DEFAULT_PVID Nikolay Aleksandrov
2016-02-08 11:55 ` [PATCH iproute2 07/21] iplink: bridge: add support for IFLA_BR_MCAST_ROUTER Nikolay Aleksandrov
2016-02-08 11:55 ` [PATCH iproute2 08/21] iplink: bridge: add support for IFLA_BR_MCAST_SNOOPING Nikolay Aleksandrov
2016-02-08 11:55 ` [PATCH iproute2 09/21] iplink: bridge: add support for IFLA_BR_MCAST_QUERY_USE_IFADDR Nikolay Aleksandrov
2016-02-08 11:55 ` [PATCH iproute2 10/21] iplink: bridge: add support for IFLA_BR_MCAST_QUERIER Nikolay Aleksandrov
2016-02-08 11:55 ` [PATCH iproute2 11/21] iplink: bridge: add support for IFLA_BR_MCAST_HASH_ELASTICITY Nikolay Aleksandrov
2016-02-08 11:55 ` [PATCH iproute2 12/21] iplink: bridge: add support for IFLA_BR_MCAST_HASH_MAX Nikolay Aleksandrov
2016-02-08 11:55 ` [PATCH iproute2 13/21] iplink: bridge: add support for IFLA_BR_MCAST_LAST_MEMBER_CNT Nikolay Aleksandrov
2016-02-08 11:55 ` [PATCH iproute2 14/21] iplink: bridge: add support for IFLA_BR_MCAST_STARTUP_QUERY_CNT Nikolay Aleksandrov
2016-02-08 11:55 ` [PATCH iproute2 15/21] iplink: bridge: add support for IFLA_BR_MCAST_LAST_MEMBER_INTVL Nikolay Aleksandrov
2016-02-08 11:55 ` [PATCH iproute2 16/21] iplink: bridge: add support for IFLA_BR_MCAST_MEMBERSHIP_INTVL Nikolay Aleksandrov
2016-02-08 11:55 ` [PATCH iproute2 17/21] iplink: bridge: add support for IFLA_BR_MCAST_QUERIER_INTVL Nikolay Aleksandrov
2016-02-08 11:55 ` [PATCH iproute2 18/21] iplink: bridge: add support for IFLA_BR_MCAST_QUERY_INTVL Nikolay Aleksandrov
2016-02-08 11:55 ` [PATCH iproute2 19/21] iplink: bridge: add support for IFLA_BR_MCAST_QUERY_RESPONSE_INTVL Nikolay Aleksandrov
2016-02-08 11:55 ` [PATCH iproute2 20/21] iplink: bridge: add support for IFLA_BR_MCAST_STARTUP_QUERY_INTVL Nikolay Aleksandrov
2016-02-08 11:55 ` [PATCH iproute2 21/21] iplink: bridge: add support for netfilter call attributes Nikolay Aleksandrov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1454932527-30569-2-git-send-email-razor@blackwall.org \
--to=razor@blackwall.org \
--cc=netdev@vger.kernel.org \
--cc=nikolay@cumulusnetworks.com \
--cc=roopa@cumulusnetworks.com \
--cc=stephen@networkplumber.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).