diff options
author | Gerrit Renker <gerrit@erg.abdn.ac.uk> | 2007-09-26 10:27:56 -0400 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2007-10-10 19:52:42 -0400 |
commit | 0430ee3451f4589b68f522552b1896825f2043b3 (patch) | |
tree | f96e46fa079d90a51a4fc5b912d271470b489668 /net/dccp | |
parent | 727ecc5faaf6e976fc841649821c865ebd1e822d (diff) |
[DCCP]: Add Support for Data 1 .. 3 fields of Reset packets
This adds fields to support the informational Data 1..3 fields of the
DCCP-Reset packets (RFC 4340, 5.6), and makes minor cosmetic changes
to documentation.
Code which fills in these fields follows in subsequent patches, it is
primarily used for reporting option-processing and feature-negotiation
errors.
Signed-off-by: Gerrit Renker <gerrit@erg.abdn.ac.uk>
Signed-off-by: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
Diffstat (limited to 'net/dccp')
-rw-r--r-- | net/dccp/dccp.h | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/net/dccp/dccp.h b/net/dccp/dccp.h index f62eeb374931..e28220183208 100644 --- a/net/dccp/dccp.h +++ b/net/dccp/dccp.h | |||
@@ -308,10 +308,22 @@ static inline int dccp_bad_service_code(const struct sock *sk, | |||
308 | return !dccp_list_has_service(dp->dccps_service_list, service); | 308 | return !dccp_list_has_service(dp->dccps_service_list, service); |
309 | } | 309 | } |
310 | 310 | ||
311 | /** | ||
312 | * dccp_skb_cb - DCCP per-packet control information | ||
313 | * @dccpd_type: one of %dccp_pkt_type (or unknown) | ||
314 | * @dccpd_ccval: CCVal field (5.1), see e.g. RFC 4342, 8.1 | ||
315 | * @dccpd_reset_code: one of %dccp_reset_codes | ||
316 | * @dccpd_reset_data: Data1..3 fields (depend on @dccpd_reset_code) | ||
317 | * @dccpd_opt_len: total length of all options (5.8) in the packet | ||
318 | * @dccpd_seq: sequence number | ||
319 | * @dccpd_ack_seq: acknowledgment number subheader field value | ||
320 | * This is used for transmission as well as for reception. | ||
321 | */ | ||
311 | struct dccp_skb_cb { | 322 | struct dccp_skb_cb { |
312 | __u8 dccpd_type:4; | 323 | __u8 dccpd_type:4; |
313 | __u8 dccpd_ccval:4; | 324 | __u8 dccpd_ccval:4; |
314 | __u8 dccpd_reset_code; | 325 | __u8 dccpd_reset_code, |
326 | dccpd_reset_data[3]; | ||
315 | __u16 dccpd_opt_len; | 327 | __u16 dccpd_opt_len; |
316 | __u64 dccpd_seq; | 328 | __u64 dccpd_seq; |
317 | __u64 dccpd_ack_seq; | 329 | __u64 dccpd_ack_seq; |