[DCCP] ackvec: Introduce dccp_ackvec_slab
[deliverable/linux.git] / net / dccp / ackvec.h
index f7dfb5f67b873adb3c2613b215c83177c1e83c7b..470bae8a9d074349d103abd8e05ccfc4d50781c4 100644 (file)
@@ -49,7 +49,6 @@
  *                    (HC-Sender seqno)
  * @dccpav_ack_nonce - the one-bit sum of the ECN Nonces for all State 0.
  *
- * @dccpav_buf_len     - circular buffer length
  * @dccpav_time                - the time in usecs
  * @dccpav_buf - circular buffer of acknowledgeable packets
  */
@@ -63,18 +62,19 @@ struct dccp_ackvec {
        u8              dccpav_ack_ptr;
        u8              dccpav_sent_len;
        u8              dccpav_vec_len;
-       u8              dccpav_buf_len;
        u8              dccpav_buf_nonce;
        u8              dccpav_ack_nonce;
-       u8              dccpav_buf[0];
+       u8              dccpav_buf[DCCP_MAX_ACKVEC_LEN];
 };
 
 struct sock;
 struct sk_buff;
 
 #ifdef CONFIG_IP_DCCP_ACKVEC
-extern struct dccp_ackvec *dccp_ackvec_alloc(unsigned int len,
-                                         const gfp_t priority);
+extern int dccp_ackvec_init(void);
+extern void dccp_ackvec_exit(void);
+
+extern struct dccp_ackvec *dccp_ackvec_alloc(const gfp_t priority);
 extern void dccp_ackvec_free(struct dccp_ackvec *av);
 
 extern int dccp_ackvec_add(struct dccp_ackvec *av, const struct sock *sk,
@@ -92,8 +92,16 @@ static inline int dccp_ackvec_pending(const struct dccp_ackvec *av)
        return av->dccpav_sent_len != av->dccpav_vec_len;
 }
 #else /* CONFIG_IP_DCCP_ACKVEC */
-static inline struct dccp_ackvec *dccp_ackvec_alloc(unsigned int len,
-                                          const gfp_t priority)
+static inline int dccp_ackvec_init(void)
+{
+       return 0;
+}
+
+static inline void dccp_ackvec_exit(void)
+{
+}
+
+static inline struct dccp_ackvec *dccp_ackvec_alloc(const gfp_t priority)
 {
        return NULL;
 }
This page took 0.024033 seconds and 5 git commands to generate.