aboutsummaryrefslogtreecommitdiffstats
path: root/net/dccp/ackvec.h
diff options
context:
space:
mode:
Diffstat (limited to 'net/dccp/ackvec.h')
-rw-r--r--net/dccp/ackvec.h79
1 files changed, 1 insertions, 78 deletions
diff --git a/net/dccp/ackvec.h b/net/dccp/ackvec.h
index 36ca2e9e5c84..db447503b636 100644
--- a/net/dccp/ackvec.h
+++ b/net/dccp/ackvec.h
@@ -64,7 +64,6 @@ static inline u8 dccp_ackvec_state(const u8 *cell)
64 * %DCCP_SINGLE_OPT_MAXLEN cells in the live portion of @av_buf 64 * %DCCP_SINGLE_OPT_MAXLEN cells in the live portion of @av_buf
65 * @av_overflow: if 1 then buf_head == buf_tail indicates buffer wraparound 65 * @av_overflow: if 1 then buf_head == buf_tail indicates buffer wraparound
66 * @av_records: list of %dccp_ackvec_record (Ack Vectors sent previously) 66 * @av_records: list of %dccp_ackvec_record (Ack Vectors sent previously)
67 * @av_veclen: length of the live portion of @av_buf
68 */ 67 */
69struct dccp_ackvec { 68struct dccp_ackvec {
70 u8 av_buf[DCCPAV_MAX_ACKVEC_LEN]; 69 u8 av_buf[DCCPAV_MAX_ACKVEC_LEN];
@@ -75,7 +74,6 @@ struct dccp_ackvec {
75 bool av_buf_nonce[DCCPAV_NUM_ACKVECS]; 74 bool av_buf_nonce[DCCPAV_NUM_ACKVECS];
76 u8 av_overflow:1; 75 u8 av_overflow:1;
77 struct list_head av_records; 76 struct list_head av_records;
78 u16 av_vec_len;
79}; 77};
80 78
81/** struct dccp_ackvec_record - Records information about sent Ack Vectors 79/** struct dccp_ackvec_record - Records information about sent Ack Vectors
@@ -101,25 +99,12 @@ struct dccp_ackvec_record {
101 u8 avr_ack_nonce:1; 99 u8 avr_ack_nonce:1;
102}; 100};
103 101
104struct sock; 102extern int dccp_ackvec_init(void);
105struct sk_buff;
106
107#ifdef CONFIG_IP_DCCP_ACKVEC
108extern int dccp_ackvec_init(void);
109extern void dccp_ackvec_exit(void); 103extern void dccp_ackvec_exit(void);
110 104
111extern struct dccp_ackvec *dccp_ackvec_alloc(const gfp_t priority); 105extern struct dccp_ackvec *dccp_ackvec_alloc(const gfp_t priority);
112extern void dccp_ackvec_free(struct dccp_ackvec *av); 106extern void dccp_ackvec_free(struct dccp_ackvec *av);
113 107
114extern int dccp_ackvec_add(struct dccp_ackvec *av, const struct sock *sk,
115 const u64 ackno, const u8 state);
116
117extern void dccp_ackvec_check_rcv_ackno(struct dccp_ackvec *av,
118 struct sock *sk, const u64 ackno);
119extern int dccp_ackvec_parse(struct sock *sk, const struct sk_buff *skb,
120 u64 *ackno, const u8 opt,
121 const u8 *value, const u8 len);
122
123extern void dccp_ackvec_input(struct dccp_ackvec *av, struct sk_buff *skb); 108extern void dccp_ackvec_input(struct dccp_ackvec *av, struct sk_buff *skb);
124extern int dccp_ackvec_update_records(struct dccp_ackvec *av, u64 seq, u8 sum); 109extern int dccp_ackvec_update_records(struct dccp_ackvec *av, u64 seq, u8 sum);
125extern void dccp_ackvec_clear_state(struct dccp_ackvec *av, const u64 ackno); 110extern void dccp_ackvec_clear_state(struct dccp_ackvec *av, const u64 ackno);
@@ -129,66 +114,4 @@ static inline bool dccp_ackvec_is_empty(const struct dccp_ackvec *av)
129{ 114{
130 return av->av_overflow == 0 && av->av_buf_head == av->av_buf_tail; 115 return av->av_overflow == 0 && av->av_buf_head == av->av_buf_tail;
131} 116}
132#else /* CONFIG_IP_DCCP_ACKVEC */
133static inline int dccp_ackvec_init(void)
134{
135 return 0;
136}
137
138static inline void dccp_ackvec_exit(void)
139{
140}
141
142static inline struct dccp_ackvec *dccp_ackvec_alloc(const gfp_t priority)
143{
144 return NULL;
145}
146
147static inline void dccp_ackvec_free(struct dccp_ackvec *av)
148{
149}
150
151static inline void dccp_ackvec_input(struct dccp_ackvec *av, struct sk_buff *skb)
152{
153
154}
155
156static inline int dccp_ackvec_add(struct dccp_ackvec *av, const struct sock *sk,
157 const u64 ackno, const u8 state)
158{
159 return -1;
160}
161
162static inline void dccp_ackvec_clear_state(struct dccp_ackvec *av,
163 const u64 ackno)
164{
165}
166
167static inline void dccp_ackvec_check_rcv_ackno(struct dccp_ackvec *av,
168 struct sock *sk, const u64 ackno)
169{
170}
171
172static inline int dccp_ackvec_parse(struct sock *sk, const struct sk_buff *skb,
173 const u64 *ackno, const u8 opt,
174 const u8 *value, const u8 len)
175{
176 return -1;
177}
178
179static inline int dccp_ackvec_update_records(struct dccp_ackvec *av, u64 seq, u8 nonce)
180{
181 return -1;
182}
183
184static inline u16 dccp_ackvec_buflen(const struct dccp_ackvec *av)
185{
186 return 0;
187}
188
189static inline bool dccp_ackvec_is_empty(const struct dccp_ackvec *av)
190{
191 return true;
192}
193#endif /* CONFIG_IP_DCCP_ACKVEC */
194#endif /* _ACKVEC_H */ 117#endif /* _ACKVEC_H */