diff options
author | Gerrit Renker <gerrit@erg.abdn.ac.uk> | 2007-09-26 11:27:56 -0300 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2007-10-10 16:52:42 -0700 |
commit | 0430ee3451f4589b68f522552b1896825f2043b3 (patch) | |
tree | f96e46fa079d90a51a4fc5b912d271470b489668 /net | |
parent | 727ecc5faaf6e976fc841649821c865ebd1e822d (diff) | |
download | linux-0430ee3451f4589b68f522552b1896825f2043b3.tar.gz linux-0430ee3451f4589b68f522552b1896825f2043b3.tar.bz2 linux-0430ee3451f4589b68f522552b1896825f2043b3.zip |
[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')
-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, return !dccp_list_has_service(dp->dccps_service_list, service); } +/** + * dccp_skb_cb - DCCP per-packet control information + * @dccpd_type: one of %dccp_pkt_type (or unknown) + * @dccpd_ccval: CCVal field (5.1), see e.g. RFC 4342, 8.1 + * @dccpd_reset_code: one of %dccp_reset_codes + * @dccpd_reset_data: Data1..3 fields (depend on @dccpd_reset_code) + * @dccpd_opt_len: total length of all options (5.8) in the packet + * @dccpd_seq: sequence number + * @dccpd_ack_seq: acknowledgment number subheader field value + * This is used for transmission as well as for reception. + */ struct dccp_skb_cb { __u8 dccpd_type:4; __u8 dccpd_ccval:4; - __u8 dccpd_reset_code; + __u8 dccpd_reset_code, + dccpd_reset_data[3]; __u16 dccpd_opt_len; __u64 dccpd_seq; __u64 dccpd_ack_seq; |