aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorRichard Alpe <richard.alpe@ericsson.com>2014-11-20 04:29:12 -0500
committerDavid S. Miller <davem@davemloft.net>2014-11-21 15:01:30 -0500
commit7be57fc6918470ecacd16b89c0d4f73d8fc265c4 (patch)
tree858e3477e2bf49f4f0d052e2ef5c82d93b8bd1b4 /include
parent1a1a143daf84db95dd7212086042004a3abb7bc2 (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')
-rw-r--r--include/uapi/linux/tipc_netlink.h62
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 */
92enum {
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 */
90enum { 110enum {
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 */
152enum {
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