diff options
| author | Richard Alpe <richard.alpe@ericsson.com> | 2014-11-20 04:29:12 -0500 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2014-11-21 15:01:30 -0500 |
| commit | 7be57fc6918470ecacd16b89c0d4f73d8fc265c4 (patch) | |
| tree | 858e3477e2bf49f4f0d052e2ef5c82d93b8bd1b4 /include/uapi/linux | |
| parent | 1a1a143daf84db95dd7212086042004a3abb7bc2 (diff) | |
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>
Diffstat (limited to 'include/uapi/linux')
| -rw-r--r-- | include/uapi/linux/tipc_netlink.h | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/include/uapi/linux/tipc_netlink.h b/include/uapi/linux/tipc_netlink.h index 7e51ff61dccd..1034fb43d32e 100644 --- a/include/uapi/linux/tipc_netlink.h +++ b/include/uapi/linux/tipc_netlink.h | |||
| @@ -47,6 +47,7 @@ enum { | |||
| 47 | TIPC_NL_BEARER_SET, | 47 | TIPC_NL_BEARER_SET, |
| 48 | TIPC_NL_SOCK_GET, | 48 | TIPC_NL_SOCK_GET, |
| 49 | TIPC_NL_PUBL_GET, | 49 | TIPC_NL_PUBL_GET, |
| 50 | TIPC_NL_LINK_GET, | ||
| 50 | 51 | ||
| 51 | __TIPC_NL_CMD_MAX, | 52 | __TIPC_NL_CMD_MAX, |
| 52 | TIPC_NL_CMD_MAX = __TIPC_NL_CMD_MAX - 1 | 53 | TIPC_NL_CMD_MAX = __TIPC_NL_CMD_MAX - 1 |
| @@ -58,6 +59,7 @@ enum { | |||
| 58 | TIPC_NLA_BEARER, /* nest */ | 59 | TIPC_NLA_BEARER, /* nest */ |
| 59 | TIPC_NLA_SOCK, /* nest */ | 60 | TIPC_NLA_SOCK, /* nest */ |
| 60 | TIPC_NLA_PUBL, /* nest */ | 61 | TIPC_NLA_PUBL, /* nest */ |
| 62 | TIPC_NLA_LINK, /* nest */ | ||
| 61 | 63 | ||
| 62 | __TIPC_NLA_MAX, | 64 | __TIPC_NLA_MAX, |
| 63 | TIPC_NLA_MAX = __TIPC_NLA_MAX - 1 | 65 | TIPC_NLA_MAX = __TIPC_NLA_MAX - 1 |
| @@ -86,6 +88,24 @@ enum { | |||
| 86 | TIPC_NLA_SOCK_MAX = __TIPC_NLA_SOCK_MAX - 1 | 88 | TIPC_NLA_SOCK_MAX = __TIPC_NLA_SOCK_MAX - 1 |
| 87 | }; | 89 | }; |
| 88 | 90 | ||
| 91 | /* Link info */ | ||
| 92 | enum { | ||
| 93 | TIPC_NLA_LINK_UNSPEC, | ||
| 94 | TIPC_NLA_LINK_NAME, /* string */ | ||
| 95 | TIPC_NLA_LINK_DEST, /* u32 */ | ||
| 96 | TIPC_NLA_LINK_MTU, /* u32 */ | ||
| 97 | TIPC_NLA_LINK_BROADCAST, /* flag */ | ||
| 98 | TIPC_NLA_LINK_UP, /* flag */ | ||
| 99 | TIPC_NLA_LINK_ACTIVE, /* flag */ | ||
| 100 | TIPC_NLA_LINK_PROP, /* nest */ | ||
| 101 | TIPC_NLA_LINK_STATS, /* nest */ | ||
| 102 | TIPC_NLA_LINK_RX, /* u32 */ | ||
| 103 | TIPC_NLA_LINK_TX, /* u32 */ | ||
| 104 | |||
| 105 | __TIPC_NLA_LINK_MAX, | ||
| 106 | TIPC_NLA_LINK_MAX = __TIPC_NLA_LINK_MAX - 1 | ||
| 107 | }; | ||
| 108 | |||
| 89 | /* Publication info */ | 109 | /* Publication info */ |
| 90 | enum { | 110 | enum { |
| 91 | TIPC_NLA_PUBL_UNSPEC, | 111 | TIPC_NLA_PUBL_UNSPEC, |
| @@ -128,4 +148,46 @@ enum { | |||
| 128 | TIPC_NLA_PROP_MAX = __TIPC_NLA_PROP_MAX - 1 | 148 | TIPC_NLA_PROP_MAX = __TIPC_NLA_PROP_MAX - 1 |
| 129 | }; | 149 | }; |
| 130 | 150 | ||
| 151 | /* Nest, statistics info */ | ||
| 152 | enum { | ||
| 153 | TIPC_NLA_STATS_UNSPEC, | ||
| 154 | |||
| 155 | TIPC_NLA_STATS_RX_INFO, /* u32 */ | ||
| 156 | TIPC_NLA_STATS_RX_FRAGMENTS, /* u32 */ | ||
| 157 | TIPC_NLA_STATS_RX_FRAGMENTED, /* u32 */ | ||
| 158 | TIPC_NLA_STATS_RX_BUNDLES, /* u32 */ | ||
| 159 | TIPC_NLA_STATS_RX_BUNDLED, /* u32 */ | ||
| 160 | TIPC_NLA_STATS_TX_INFO, /* u32 */ | ||
| 161 | TIPC_NLA_STATS_TX_FRAGMENTS, /* u32 */ | ||
| 162 | TIPC_NLA_STATS_TX_FRAGMENTED, /* u32 */ | ||
| 163 | TIPC_NLA_STATS_TX_BUNDLES, /* u32 */ | ||
| 164 | TIPC_NLA_STATS_TX_BUNDLED, /* u32 */ | ||
| 165 | TIPC_NLA_STATS_MSG_PROF_TOT, /* u32 */ | ||
| 166 | TIPC_NLA_STATS_MSG_LEN_CNT, /* u32 */ | ||
| 167 | TIPC_NLA_STATS_MSG_LEN_TOT, /* u32 */ | ||
| 168 | TIPC_NLA_STATS_MSG_LEN_P0, /* u32 */ | ||
| 169 | TIPC_NLA_STATS_MSG_LEN_P1, /* u32 */ | ||
| 170 | TIPC_NLA_STATS_MSG_LEN_P2, /* u32 */ | ||
| 171 | TIPC_NLA_STATS_MSG_LEN_P3, /* u32 */ | ||
| 172 | TIPC_NLA_STATS_MSG_LEN_P4, /* u32 */ | ||
| 173 | TIPC_NLA_STATS_MSG_LEN_P5, /* u32 */ | ||
| 174 | TIPC_NLA_STATS_MSG_LEN_P6, /* u32 */ | ||
| 175 | TIPC_NLA_STATS_RX_STATES, /* u32 */ | ||
| 176 | TIPC_NLA_STATS_RX_PROBES, /* u32 */ | ||
| 177 | TIPC_NLA_STATS_RX_NACKS, /* u32 */ | ||
| 178 | TIPC_NLA_STATS_RX_DEFERRED, /* u32 */ | ||
| 179 | TIPC_NLA_STATS_TX_STATES, /* u32 */ | ||
| 180 | TIPC_NLA_STATS_TX_PROBES, /* u32 */ | ||
| 181 | TIPC_NLA_STATS_TX_NACKS, /* u32 */ | ||
| 182 | TIPC_NLA_STATS_TX_ACKS, /* u32 */ | ||
| 183 | TIPC_NLA_STATS_RETRANSMITTED, /* u32 */ | ||
| 184 | TIPC_NLA_STATS_DUPLICATES, /* u32 */ | ||
| 185 | TIPC_NLA_STATS_LINK_CONGS, /* u32 */ | ||
| 186 | TIPC_NLA_STATS_MAX_QUEUE, /* u32 */ | ||
| 187 | TIPC_NLA_STATS_AVG_QUEUE, /* u32 */ | ||
| 188 | |||
| 189 | __TIPC_NLA_STATS_MAX, | ||
| 190 | TIPC_NLA_STATS_MAX = __TIPC_NLA_STATS_MAX - 1 | ||
| 191 | }; | ||
| 192 | |||
| 131 | #endif | 193 | #endif |
