diff options
Diffstat (limited to 'net/tipc/link.h')
-rw-r--r-- | net/tipc/link.h | 24 |
1 files changed, 15 insertions, 9 deletions
diff --git a/net/tipc/link.h b/net/tipc/link.h index c048ed1cbd76..8a6c1026644d 100644 --- a/net/tipc/link.h +++ b/net/tipc/link.h | |||
@@ -41,6 +41,12 @@ | |||
41 | #include "node.h" | 41 | #include "node.h" |
42 | 42 | ||
43 | /* | 43 | /* |
44 | * Link reassembly status codes | ||
45 | */ | ||
46 | #define LINK_REASM_ERROR -1 | ||
47 | #define LINK_REASM_COMPLETE 1 | ||
48 | |||
49 | /* | ||
44 | * Out-of-range value for link sequence numbers | 50 | * Out-of-range value for link sequence numbers |
45 | */ | 51 | */ |
46 | #define INVALID_LINK_SEQ 0x10000 | 52 | #define INVALID_LINK_SEQ 0x10000 |
@@ -134,7 +140,8 @@ struct tipc_stats { | |||
134 | * @next_out: ptr to first unsent outbound message in queue | 140 | * @next_out: ptr to first unsent outbound message in queue |
135 | * @waiting_ports: linked list of ports waiting for link congestion to abate | 141 | * @waiting_ports: linked list of ports waiting for link congestion to abate |
136 | * @long_msg_seq_no: next identifier to use for outbound fragmented messages | 142 | * @long_msg_seq_no: next identifier to use for outbound fragmented messages |
137 | * @defragm_buf: list of partially reassembled inbound message fragments | 143 | * @reasm_head: list head of partially reassembled inbound message fragments |
144 | * @reasm_tail: last fragment received | ||
138 | * @stats: collects statistics regarding link activity | 145 | * @stats: collects statistics regarding link activity |
139 | */ | 146 | */ |
140 | struct tipc_link { | 147 | struct tipc_link { |
@@ -196,9 +203,10 @@ struct tipc_link { | |||
196 | struct sk_buff *next_out; | 203 | struct sk_buff *next_out; |
197 | struct list_head waiting_ports; | 204 | struct list_head waiting_ports; |
198 | 205 | ||
199 | /* Fragmentation/defragmentation */ | 206 | /* Fragmentation/reassembly */ |
200 | u32 long_msg_seq_no; | 207 | u32 long_msg_seq_no; |
201 | struct sk_buff *defragm_buf; | 208 | struct sk_buff *reasm_head; |
209 | struct sk_buff *reasm_tail; | ||
202 | 210 | ||
203 | /* Statistics */ | 211 | /* Statistics */ |
204 | struct tipc_stats stats; | 212 | struct tipc_stats stats; |
@@ -227,13 +235,11 @@ int tipc_link_send_buf(struct tipc_link *l_ptr, struct sk_buff *buf); | |||
227 | u32 tipc_link_get_max_pkt(u32 dest, u32 selector); | 235 | u32 tipc_link_get_max_pkt(u32 dest, u32 selector); |
228 | int tipc_link_send_sections_fast(struct tipc_port *sender, | 236 | int tipc_link_send_sections_fast(struct tipc_port *sender, |
229 | struct iovec const *msg_sect, | 237 | struct iovec const *msg_sect, |
230 | const u32 num_sect, | 238 | unsigned int len, u32 destnode); |
231 | unsigned int total_len, | ||
232 | u32 destnode); | ||
233 | void tipc_link_recv_bundle(struct sk_buff *buf); | 239 | void tipc_link_recv_bundle(struct sk_buff *buf); |
234 | int tipc_link_recv_fragment(struct sk_buff **pending, | 240 | int tipc_link_recv_fragment(struct sk_buff **reasm_head, |
235 | struct sk_buff **fb, | 241 | struct sk_buff **reasm_tail, |
236 | struct tipc_msg **msg); | 242 | struct sk_buff **fbuf); |
237 | void tipc_link_send_proto_msg(struct tipc_link *l_ptr, u32 msg_typ, int prob, | 243 | void tipc_link_send_proto_msg(struct tipc_link *l_ptr, u32 msg_typ, int prob, |
238 | u32 gap, u32 tolerance, u32 priority, | 244 | u32 gap, u32 tolerance, u32 priority, |
239 | u32 acked_mtu); | 245 | u32 acked_mtu); |