diff options
author | Gerrit Renker <gerrit@erg.abdn.ac.uk> | 2008-07-13 06:51:40 -0400 |
---|---|---|
committer | Gerrit Renker <gerrit@erg.abdn.ac.uk> | 2008-07-13 06:51:40 -0400 |
commit | 5b5d0e704880addfd979c262e6441f126708539c (patch) | |
tree | 1b3bff6cd378c858ab245de3a40c3510d4ba4745 /net/dccp/ccids | |
parent | 2013c7e35aeba39777f9b3eef8a70207b3931152 (diff) |
dccp: Upgrade NDP count from 3 to 6 bytes
RFC 4340, 7.7 specifies up to 6 bytes for the NDP Count option, whereas the code
is currently limited to up to 3 bytes. This seems to be a relict of an earlier
draft version and is brought up to date by the patch.
Signed-off-by: Gerrit Renker <gerrit@erg.abdn.ac.uk>
Diffstat (limited to 'net/dccp/ccids')
-rw-r--r-- | net/dccp/ccids/ccid3.c | 2 | ||||
-rw-r--r-- | net/dccp/ccids/lib/packet_history.c | 6 | ||||
-rw-r--r-- | net/dccp/ccids/lib/packet_history.h | 6 |
3 files changed, 7 insertions, 7 deletions
diff --git a/net/dccp/ccids/ccid3.c b/net/dccp/ccids/ccid3.c index a1929f33d703..523db262c18f 100644 --- a/net/dccp/ccids/ccid3.c +++ b/net/dccp/ccids/ccid3.c | |||
@@ -794,7 +794,7 @@ static void ccid3_hc_rx_packet_recv(struct sock *sk, struct sk_buff *skb) | |||
794 | { | 794 | { |
795 | struct ccid3_hc_rx_sock *hcrx = ccid3_hc_rx_sk(sk); | 795 | struct ccid3_hc_rx_sock *hcrx = ccid3_hc_rx_sk(sk); |
796 | enum ccid3_fback_type do_feedback = CCID3_FBACK_NONE; | 796 | enum ccid3_fback_type do_feedback = CCID3_FBACK_NONE; |
797 | const u32 ndp = dccp_sk(sk)->dccps_options_received.dccpor_ndp; | 797 | const u64 ndp = dccp_sk(sk)->dccps_options_received.dccpor_ndp; |
798 | const bool is_data_packet = dccp_data_packet(skb); | 798 | const bool is_data_packet = dccp_data_packet(skb); |
799 | 799 | ||
800 | if (unlikely(hcrx->ccid3hcrx_state == TFRC_RSTATE_NO_DATA)) { | 800 | if (unlikely(hcrx->ccid3hcrx_state == TFRC_RSTATE_NO_DATA)) { |
diff --git a/net/dccp/ccids/lib/packet_history.c b/net/dccp/ccids/lib/packet_history.c index 8b5c41ec7ee1..712930564c38 100644 --- a/net/dccp/ccids/lib/packet_history.c +++ b/net/dccp/ccids/lib/packet_history.c | |||
@@ -153,7 +153,7 @@ void tfrc_rx_packet_history_exit(void) | |||
153 | 153 | ||
154 | static inline void tfrc_rx_hist_entry_from_skb(struct tfrc_rx_hist_entry *entry, | 154 | static inline void tfrc_rx_hist_entry_from_skb(struct tfrc_rx_hist_entry *entry, |
155 | const struct sk_buff *skb, | 155 | const struct sk_buff *skb, |
156 | const u32 ndp) | 156 | const u64 ndp) |
157 | { | 157 | { |
158 | const struct dccp_hdr *dh = dccp_hdr(skb); | 158 | const struct dccp_hdr *dh = dccp_hdr(skb); |
159 | 159 | ||
@@ -166,7 +166,7 @@ static inline void tfrc_rx_hist_entry_from_skb(struct tfrc_rx_hist_entry *entry, | |||
166 | 166 | ||
167 | void tfrc_rx_hist_add_packet(struct tfrc_rx_hist *h, | 167 | void tfrc_rx_hist_add_packet(struct tfrc_rx_hist *h, |
168 | const struct sk_buff *skb, | 168 | const struct sk_buff *skb, |
169 | const u32 ndp) | 169 | const u64 ndp) |
170 | { | 170 | { |
171 | struct tfrc_rx_hist_entry *entry = tfrc_rx_hist_last_rcv(h); | 171 | struct tfrc_rx_hist_entry *entry = tfrc_rx_hist_last_rcv(h); |
172 | 172 | ||
@@ -356,7 +356,7 @@ static void __three_after_loss(struct tfrc_rx_hist *h) | |||
356 | */ | 356 | */ |
357 | int tfrc_rx_handle_loss(struct tfrc_rx_hist *h, | 357 | int tfrc_rx_handle_loss(struct tfrc_rx_hist *h, |
358 | struct tfrc_loss_hist *lh, | 358 | struct tfrc_loss_hist *lh, |
359 | struct sk_buff *skb, u32 ndp, | 359 | struct sk_buff *skb, const u64 ndp, |
360 | u32 (*calc_first_li)(struct sock *), struct sock *sk) | 360 | u32 (*calc_first_li)(struct sock *), struct sock *sk) |
361 | { | 361 | { |
362 | int is_new_loss = 0; | 362 | int is_new_loss = 0; |
diff --git a/net/dccp/ccids/lib/packet_history.h b/net/dccp/ccids/lib/packet_history.h index c7eeda49cb20..6976156cda3c 100644 --- a/net/dccp/ccids/lib/packet_history.h +++ b/net/dccp/ccids/lib/packet_history.h | |||
@@ -64,7 +64,7 @@ struct tfrc_rx_hist_entry { | |||
64 | u64 tfrchrx_seqno:48, | 64 | u64 tfrchrx_seqno:48, |
65 | tfrchrx_ccval:4, | 65 | tfrchrx_ccval:4, |
66 | tfrchrx_type:4; | 66 | tfrchrx_type:4; |
67 | u32 tfrchrx_ndp; /* In fact it is from 8 to 24 bits */ | 67 | u64 tfrchrx_ndp:48; |
68 | ktime_t tfrchrx_tstamp; | 68 | ktime_t tfrchrx_tstamp; |
69 | }; | 69 | }; |
70 | 70 | ||
@@ -145,14 +145,14 @@ static inline int tfrc_rx_hist_new_loss_indicated(struct tfrc_rx_hist *h, | |||
145 | } | 145 | } |
146 | 146 | ||
147 | extern void tfrc_rx_hist_add_packet(struct tfrc_rx_hist *h, | 147 | extern void tfrc_rx_hist_add_packet(struct tfrc_rx_hist *h, |
148 | const struct sk_buff *skb, const u32 ndp); | 148 | const struct sk_buff *skb, const u64 ndp); |
149 | 149 | ||
150 | extern int tfrc_rx_hist_duplicate(struct tfrc_rx_hist *h, struct sk_buff *skb); | 150 | extern int tfrc_rx_hist_duplicate(struct tfrc_rx_hist *h, struct sk_buff *skb); |
151 | 151 | ||
152 | struct tfrc_loss_hist; | 152 | struct tfrc_loss_hist; |
153 | extern int tfrc_rx_handle_loss(struct tfrc_rx_hist *h, | 153 | extern int tfrc_rx_handle_loss(struct tfrc_rx_hist *h, |
154 | struct tfrc_loss_hist *lh, | 154 | struct tfrc_loss_hist *lh, |
155 | struct sk_buff *skb, u32 ndp, | 155 | struct sk_buff *skb, const u64 ndp, |
156 | u32 (*first_li)(struct sock *sk), | 156 | u32 (*first_li)(struct sock *sk), |
157 | struct sock *sk); | 157 | struct sock *sk); |
158 | extern u32 tfrc_rx_hist_sample_rtt(struct tfrc_rx_hist *h, | 158 | extern u32 tfrc_rx_hist_sample_rtt(struct tfrc_rx_hist *h, |