hc
2024-02-20 102a0743326a03cd1a1202ceda21e175b7d3575c
kernel/net/tipc/node.h
....@@ -45,28 +45,53 @@
4545 /* Optional capabilities supported by this code version
4646 */
4747 enum {
48
+ TIPC_SYN_BIT = (1),
4849 TIPC_BCAST_SYNCH = (1 << 1),
4950 TIPC_BCAST_STATE_NACK = (1 << 2),
5051 TIPC_BLOCK_FLOWCTL = (1 << 3),
5152 TIPC_BCAST_RCAST = (1 << 4),
5253 TIPC_NODE_ID128 = (1 << 5),
53
- TIPC_LINK_PROTO_SEQNO = (1 << 6)
54
+ TIPC_LINK_PROTO_SEQNO = (1 << 6),
55
+ TIPC_MCAST_RBCTL = (1 << 7),
56
+ TIPC_GAP_ACK_BLOCK = (1 << 8),
57
+ TIPC_TUNNEL_ENHANCED = (1 << 9),
58
+ TIPC_NAGLE = (1 << 10),
59
+ TIPC_NAMED_BCAST = (1 << 11)
5460 };
5561
56
-#define TIPC_NODE_CAPABILITIES (TIPC_BCAST_SYNCH | \
57
- TIPC_BCAST_STATE_NACK | \
58
- TIPC_BCAST_RCAST | \
59
- TIPC_BLOCK_FLOWCTL | \
60
- TIPC_NODE_ID128 | \
61
- TIPC_LINK_PROTO_SEQNO)
62
+#define TIPC_NODE_CAPABILITIES (TIPC_SYN_BIT | \
63
+ TIPC_BCAST_SYNCH | \
64
+ TIPC_BCAST_STATE_NACK | \
65
+ TIPC_BCAST_RCAST | \
66
+ TIPC_BLOCK_FLOWCTL | \
67
+ TIPC_NODE_ID128 | \
68
+ TIPC_LINK_PROTO_SEQNO | \
69
+ TIPC_MCAST_RBCTL | \
70
+ TIPC_GAP_ACK_BLOCK | \
71
+ TIPC_TUNNEL_ENHANCED | \
72
+ TIPC_NAGLE | \
73
+ TIPC_NAMED_BCAST)
74
+
6275 #define INVALID_BEARER_ID -1
6376
6477 void tipc_node_stop(struct net *net);
6578 bool tipc_node_get_id(struct net *net, u32 addr, u8 *id);
79
+u32 tipc_node_get_addr(struct tipc_node *node);
80
+char *tipc_node_get_id_str(struct tipc_node *node);
81
+void tipc_node_put(struct tipc_node *node);
82
+void tipc_node_get(struct tipc_node *node);
83
+struct tipc_node *tipc_node_create(struct net *net, u32 addr, u8 *peer_id,
84
+ u16 capabilities, u32 hash_mixes,
85
+ bool preliminary);
86
+#ifdef CONFIG_TIPC_CRYPTO
87
+struct tipc_crypto *tipc_node_crypto_rx(struct tipc_node *__n);
88
+struct tipc_crypto *tipc_node_crypto_rx_by_list(struct list_head *pos);
89
+struct tipc_crypto *tipc_node_crypto_rx_by_addr(struct net *net, u32 addr);
90
+#endif
6691 u32 tipc_node_try_addr(struct net *net, u8 *id, u32 addr);
6792 void tipc_node_check_dest(struct net *net, u32 onode, u8 *peer_id128,
6893 struct tipc_bearer *bearer,
69
- u16 capabilities, u32 signature,
94
+ u16 capabilities, u32 signature, u32 hash_mixes,
7095 struct tipc_media_addr *maddr,
7196 bool *respond, bool *dupl_addr);
7297 void tipc_node_delete_links(struct net *net, int bearer_id);
....@@ -80,10 +105,10 @@
80105 u32 selector);
81106 void tipc_node_subscribe(struct net *net, struct list_head *subscr, u32 addr);
82107 void tipc_node_unsubscribe(struct net *net, struct list_head *subscr, u32 addr);
83
-void tipc_node_broadcast(struct net *net, struct sk_buff *skb);
108
+void tipc_node_broadcast(struct net *net, struct sk_buff *skb, int rc_dests);
84109 int tipc_node_add_conn(struct net *net, u32 dnode, u32 port, u32 peer_port);
85110 void tipc_node_remove_conn(struct net *net, u32 dnode, u32 port);
86
-int tipc_node_get_mtu(struct net *net, u32 addr, u32 sel);
111
+int tipc_node_get_mtu(struct net *net, u32 addr, u32 sel, bool connected);
87112 bool tipc_node_is_up(struct net *net, u32 addr);
88113 u16 tipc_node_get_capabilities(struct net *net, u32 addr);
89114 int tipc_nl_node_dump(struct sk_buff *skb, struct netlink_callback *cb);
....@@ -98,4 +123,9 @@
98123 int tipc_nl_node_dump_monitor(struct sk_buff *skb, struct netlink_callback *cb);
99124 int tipc_nl_node_dump_monitor_peer(struct sk_buff *skb,
100125 struct netlink_callback *cb);
126
+#ifdef CONFIG_TIPC_CRYPTO
127
+int tipc_nl_node_set_key(struct sk_buff *skb, struct genl_info *info);
128
+int tipc_nl_node_flush_key(struct sk_buff *skb, struct genl_info *info);
129
+#endif
130
+void tipc_node_pre_cleanup_net(struct net *exit_net);
101131 #endif