tipc: add link get/dump to new netlink api
Add TIPC_NL_LINK_GET command to the new tipc netlink API.
This command supports dumping all information about all links
(including the broadcast link) or getting all information about a
specific link (not the broadcast link).
The information about a link includes name, transmission info,
properties and link statistics.
As the tipc broadcast link is special we unfortunately have to treat
it specially. It is a deliberate decision not to abstract the
broadcast link on this (API) level.
Netlink logical layout of link response message:
-> port
-> name
-> MTU
-> RX
-> TX
-> up flag
-> active flag
-> properties
-> priority
-> tolerance
-> window
-> statistics
-> rx_info
-> rx_fragments
-> rx_fragmented
-> rx_bundles
-> rx_bundled
-> tx_info
-> tx_fragments
-> tx_fragmented
-> tx_bundles
-> tx_bundled
-> msg_prof_tot
-> msg_len_cnt
-> msg_len_tot
-> msg_len_p0
-> msg_len_p1
-> msg_len_p2
-> msg_len_p3
-> msg_len_p4
-> msg_len_p5
-> msg_len_p6
-> rx_states
-> rx_probes
-> rx_nacks
-> rx_deferred
-> tx_states
-> tx_probes
-> tx_nacks
-> tx_acks
-> retransmitted
-> duplicates
-> link_congs
-> max_queue
-> avg_queue
Signed-off-by: Richard Alpe <richard.alpe@ericsson.com>
Reviewed-by: Erik Hugne <erik.hugne@ericsson.com>
Reviewed-by: Jon Maloy <jon.maloy@ericsson.com>
Acked-by: Ying Xue <ying.xue@windriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
1a1a143daf
commit
7be57fc691
6 changed files with 475 additions and 1 deletions
|
|
@ -47,6 +47,7 @@ enum {
|
|||
TIPC_NL_BEARER_SET,
|
||||
TIPC_NL_SOCK_GET,
|
||||
TIPC_NL_PUBL_GET,
|
||||
TIPC_NL_LINK_GET,
|
||||
|
||||
__TIPC_NL_CMD_MAX,
|
||||
TIPC_NL_CMD_MAX = __TIPC_NL_CMD_MAX - 1
|
||||
|
|
@ -58,6 +59,7 @@ enum {
|
|||
TIPC_NLA_BEARER, /* nest */
|
||||
TIPC_NLA_SOCK, /* nest */
|
||||
TIPC_NLA_PUBL, /* nest */
|
||||
TIPC_NLA_LINK, /* nest */
|
||||
|
||||
__TIPC_NLA_MAX,
|
||||
TIPC_NLA_MAX = __TIPC_NLA_MAX - 1
|
||||
|
|
@ -86,6 +88,24 @@ enum {
|
|||
TIPC_NLA_SOCK_MAX = __TIPC_NLA_SOCK_MAX - 1
|
||||
};
|
||||
|
||||
/* Link info */
|
||||
enum {
|
||||
TIPC_NLA_LINK_UNSPEC,
|
||||
TIPC_NLA_LINK_NAME, /* string */
|
||||
TIPC_NLA_LINK_DEST, /* u32 */
|
||||
TIPC_NLA_LINK_MTU, /* u32 */
|
||||
TIPC_NLA_LINK_BROADCAST, /* flag */
|
||||
TIPC_NLA_LINK_UP, /* flag */
|
||||
TIPC_NLA_LINK_ACTIVE, /* flag */
|
||||
TIPC_NLA_LINK_PROP, /* nest */
|
||||
TIPC_NLA_LINK_STATS, /* nest */
|
||||
TIPC_NLA_LINK_RX, /* u32 */
|
||||
TIPC_NLA_LINK_TX, /* u32 */
|
||||
|
||||
__TIPC_NLA_LINK_MAX,
|
||||
TIPC_NLA_LINK_MAX = __TIPC_NLA_LINK_MAX - 1
|
||||
};
|
||||
|
||||
/* Publication info */
|
||||
enum {
|
||||
TIPC_NLA_PUBL_UNSPEC,
|
||||
|
|
@ -128,4 +148,46 @@ enum {
|
|||
TIPC_NLA_PROP_MAX = __TIPC_NLA_PROP_MAX - 1
|
||||
};
|
||||
|
||||
/* Nest, statistics info */
|
||||
enum {
|
||||
TIPC_NLA_STATS_UNSPEC,
|
||||
|
||||
TIPC_NLA_STATS_RX_INFO, /* u32 */
|
||||
TIPC_NLA_STATS_RX_FRAGMENTS, /* u32 */
|
||||
TIPC_NLA_STATS_RX_FRAGMENTED, /* u32 */
|
||||
TIPC_NLA_STATS_RX_BUNDLES, /* u32 */
|
||||
TIPC_NLA_STATS_RX_BUNDLED, /* u32 */
|
||||
TIPC_NLA_STATS_TX_INFO, /* u32 */
|
||||
TIPC_NLA_STATS_TX_FRAGMENTS, /* u32 */
|
||||
TIPC_NLA_STATS_TX_FRAGMENTED, /* u32 */
|
||||
TIPC_NLA_STATS_TX_BUNDLES, /* u32 */
|
||||
TIPC_NLA_STATS_TX_BUNDLED, /* u32 */
|
||||
TIPC_NLA_STATS_MSG_PROF_TOT, /* u32 */
|
||||
TIPC_NLA_STATS_MSG_LEN_CNT, /* u32 */
|
||||
TIPC_NLA_STATS_MSG_LEN_TOT, /* u32 */
|
||||
TIPC_NLA_STATS_MSG_LEN_P0, /* u32 */
|
||||
TIPC_NLA_STATS_MSG_LEN_P1, /* u32 */
|
||||
TIPC_NLA_STATS_MSG_LEN_P2, /* u32 */
|
||||
TIPC_NLA_STATS_MSG_LEN_P3, /* u32 */
|
||||
TIPC_NLA_STATS_MSG_LEN_P4, /* u32 */
|
||||
TIPC_NLA_STATS_MSG_LEN_P5, /* u32 */
|
||||
TIPC_NLA_STATS_MSG_LEN_P6, /* u32 */
|
||||
TIPC_NLA_STATS_RX_STATES, /* u32 */
|
||||
TIPC_NLA_STATS_RX_PROBES, /* u32 */
|
||||
TIPC_NLA_STATS_RX_NACKS, /* u32 */
|
||||
TIPC_NLA_STATS_RX_DEFERRED, /* u32 */
|
||||
TIPC_NLA_STATS_TX_STATES, /* u32 */
|
||||
TIPC_NLA_STATS_TX_PROBES, /* u32 */
|
||||
TIPC_NLA_STATS_TX_NACKS, /* u32 */
|
||||
TIPC_NLA_STATS_TX_ACKS, /* u32 */
|
||||
TIPC_NLA_STATS_RETRANSMITTED, /* u32 */
|
||||
TIPC_NLA_STATS_DUPLICATES, /* u32 */
|
||||
TIPC_NLA_STATS_LINK_CONGS, /* u32 */
|
||||
TIPC_NLA_STATS_MAX_QUEUE, /* u32 */
|
||||
TIPC_NLA_STATS_AVG_QUEUE, /* u32 */
|
||||
|
||||
__TIPC_NLA_STATS_MAX,
|
||||
TIPC_NLA_STATS_MAX = __TIPC_NLA_STATS_MAX - 1
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue