.. | .. |
---|
45 | 45 | /* Optional capabilities supported by this code version |
---|
46 | 46 | */ |
---|
47 | 47 | enum { |
---|
| 48 | + TIPC_SYN_BIT = (1), |
---|
48 | 49 | TIPC_BCAST_SYNCH = (1 << 1), |
---|
49 | 50 | TIPC_BCAST_STATE_NACK = (1 << 2), |
---|
50 | 51 | TIPC_BLOCK_FLOWCTL = (1 << 3), |
---|
51 | 52 | TIPC_BCAST_RCAST = (1 << 4), |
---|
52 | 53 | 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) |
---|
54 | 60 | }; |
---|
55 | 61 | |
---|
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 | + |
---|
62 | 75 | #define INVALID_BEARER_ID -1 |
---|
63 | 76 | |
---|
64 | 77 | void tipc_node_stop(struct net *net); |
---|
65 | 78 | 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 |
---|
66 | 91 | u32 tipc_node_try_addr(struct net *net, u8 *id, u32 addr); |
---|
67 | 92 | void tipc_node_check_dest(struct net *net, u32 onode, u8 *peer_id128, |
---|
68 | 93 | struct tipc_bearer *bearer, |
---|
69 | | - u16 capabilities, u32 signature, |
---|
| 94 | + u16 capabilities, u32 signature, u32 hash_mixes, |
---|
70 | 95 | struct tipc_media_addr *maddr, |
---|
71 | 96 | bool *respond, bool *dupl_addr); |
---|
72 | 97 | void tipc_node_delete_links(struct net *net, int bearer_id); |
---|
.. | .. |
---|
80 | 105 | u32 selector); |
---|
81 | 106 | void tipc_node_subscribe(struct net *net, struct list_head *subscr, u32 addr); |
---|
82 | 107 | 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); |
---|
84 | 109 | int tipc_node_add_conn(struct net *net, u32 dnode, u32 port, u32 peer_port); |
---|
85 | 110 | 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); |
---|
87 | 112 | bool tipc_node_is_up(struct net *net, u32 addr); |
---|
88 | 113 | u16 tipc_node_get_capabilities(struct net *net, u32 addr); |
---|
89 | 114 | int tipc_nl_node_dump(struct sk_buff *skb, struct netlink_callback *cb); |
---|
.. | .. |
---|
98 | 123 | int tipc_nl_node_dump_monitor(struct sk_buff *skb, struct netlink_callback *cb); |
---|
99 | 124 | int tipc_nl_node_dump_monitor_peer(struct sk_buff *skb, |
---|
100 | 125 | 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); |
---|
101 | 131 | #endif |
---|