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>
This commit is contained in:
@@ -153,7 +153,7 @@ void tfrc_rx_packet_history_exit(void)
|
||||
|
||||
static inline void tfrc_rx_hist_entry_from_skb(struct tfrc_rx_hist_entry *entry,
|
||||
const struct sk_buff *skb,
|
||||
const u32 ndp)
|
||||
const u64 ndp)
|
||||
{
|
||||
const struct dccp_hdr *dh = dccp_hdr(skb);
|
||||
|
||||
@@ -166,7 +166,7 @@ static inline void tfrc_rx_hist_entry_from_skb(struct tfrc_rx_hist_entry *entry,
|
||||
|
||||
void tfrc_rx_hist_add_packet(struct tfrc_rx_hist *h,
|
||||
const struct sk_buff *skb,
|
||||
const u32 ndp)
|
||||
const u64 ndp)
|
||||
{
|
||||
struct tfrc_rx_hist_entry *entry = tfrc_rx_hist_last_rcv(h);
|
||||
|
||||
@@ -356,7 +356,7 @@ static void __three_after_loss(struct tfrc_rx_hist *h)
|
||||
*/
|
||||
int tfrc_rx_handle_loss(struct tfrc_rx_hist *h,
|
||||
struct tfrc_loss_hist *lh,
|
||||
struct sk_buff *skb, u32 ndp,
|
||||
struct sk_buff *skb, const u64 ndp,
|
||||
u32 (*calc_first_li)(struct sock *), struct sock *sk)
|
||||
{
|
||||
int is_new_loss = 0;
|
||||
|
@@ -64,7 +64,7 @@ struct tfrc_rx_hist_entry {
|
||||
u64 tfrchrx_seqno:48,
|
||||
tfrchrx_ccval:4,
|
||||
tfrchrx_type:4;
|
||||
u32 tfrchrx_ndp; /* In fact it is from 8 to 24 bits */
|
||||
u64 tfrchrx_ndp:48;
|
||||
ktime_t tfrchrx_tstamp;
|
||||
};
|
||||
|
||||
@@ -145,14 +145,14 @@ static inline int tfrc_rx_hist_new_loss_indicated(struct tfrc_rx_hist *h,
|
||||
}
|
||||
|
||||
extern void tfrc_rx_hist_add_packet(struct tfrc_rx_hist *h,
|
||||
const struct sk_buff *skb, const u32 ndp);
|
||||
const struct sk_buff *skb, const u64 ndp);
|
||||
|
||||
extern int tfrc_rx_hist_duplicate(struct tfrc_rx_hist *h, struct sk_buff *skb);
|
||||
|
||||
struct tfrc_loss_hist;
|
||||
extern int tfrc_rx_handle_loss(struct tfrc_rx_hist *h,
|
||||
struct tfrc_loss_hist *lh,
|
||||
struct sk_buff *skb, u32 ndp,
|
||||
struct sk_buff *skb, const u64 ndp,
|
||||
u32 (*first_li)(struct sock *sk),
|
||||
struct sock *sk);
|
||||
extern u32 tfrc_rx_hist_sample_rtt(struct tfrc_rx_hist *h,
|
||||
|
Reference in New Issue
Block a user