Linux Kernel
3.7.1
|
#include <ackvec.h>
Data Fields | |
u8 | av_buf [DCCPAV_MAX_ACKVEC_LEN] |
u16 | av_buf_head |
u16 | av_buf_tail |
u64 | av_buf_ackno:48 |
u64 | av_tail_ackno:48 |
bool | av_buf_nonce [DCCPAV_NUM_ACKVECS] |
u8 | av_overflow:1 |
struct list_head | av_records |
struct dccp_ackvec - Ack Vector main data structure
This implements a fixed-size circular buffer within an array and is largely based on Appendix A of RFC 4340.
: circular buffer storage area : head index; begin of live portion in : tail index; first index after the live portion in : highest seqno of acknowledgeable packet recorded in : lowest seqno of acknowledgeable packet recorded in : ECN nonce sums, each covering subsequent segments of up to DCCP_SINGLE_OPT_MAXLEN cells in the live portion of : if 1 then buf_head == buf_tail indicates buffer wraparound : list of dccp_ackvec_record (Ack Vectors sent previously)
u8 av_buf[DCCPAV_MAX_ACKVEC_LEN] |
bool av_buf_nonce[DCCPAV_NUM_ACKVECS] |