[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1577794502-8063-1-git-send-email-aroulin@cumulusnetworks.com>
Date:   Tue, 31 Dec 2019 04:15:00 -0800
From:   Andy Roulin <aroulin@...ulusnetworks.com>
To:     netdev@...r.kernel.org
Cc:     dsahern@...il.com, nikolay@...ulusnetworks.com,
        roopa@...ulusnetworks.com, j.vosburgh@...il.com, vfalico@...il.com,
        andy@...yhouse.net, aroulin@...ulusnetworks.com
Subject: [PATCH iproute2-next v3 0/2] pretty-print LACP slave state
Print the bond slave 802.3ad/LACP state in a human-readable way.
The LACP bond slave actor/partner state definitions are exported
to userspace in the kernel include/uapi.
rtnetlink sends the bond slave state to userspace, see
 - IFLA_BOND_SLAVE_AD_ACTOR_OPER_PORT_STATE; and
 - IFLA_BOND_SLAVE_AD_PARTNER_OPER_PORT_STATE
and these are only printed as numbers, e.g.,
ad_actor_oper_port_state 15
Add an additional output in ip link show that prints a string describing
the individual 3ad bit meanings.
ad_actor_oper_port_state_str <active,short_timeout,aggregating,in_sync>
JSON output is also supported, the field becomes a json array:
"ad_actor_oper_port_state_str":
	["active","short_timeout","aggregating","in_sync"]
These changes are dependent on a kernel change to uapi/ in net-next;
the following patches are the changes and are already in net-next:
[PATCH net-next v2] bonding: move 802.3ad port state flags to uapi
[PATCH net-next v2] bonding: rename AD_STATE_* to LACP_STATE_*
v2:
 - address patch format and comments
v3:
 - prefix state defines with LACP_*
Andy Roulin (2):
  include/uapi: update bonding kernel header
  iplink: bond: print 3ad actor/partner oper states as strings
 include/uapi/linux/if_bonding.h | 16 +++++++--------
 ip/iplink_bond_slave.c          | 36 +++++++++++++++++++++++++++++----
 2 files changed, 40 insertions(+), 12 deletions(-)
-- 
2.20.1
Powered by blists - more mailing lists
 
