datapath: The definition of struct tbl is needed by rcu_dereference()
[openvswitch] / datapath / table.c
index 5ea2c93b4835f574ea926d9dd742b80eb2fc1558..61118090c3fa83e1868990bc49672be47a2a7dad 100644 (file)
 #include <linux/mm.h>
 #include <asm/pgtable.h>
 
-/**
- * struct tbl - hash table
- * @n_buckets: number of buckets (a power of 2 between %TBL_L1_SIZE and
- * %TBL_MAX_BUCKETS)
- * @buckets: pointer to @n_buckets/%TBL_L1_SIZE pointers to %TBL_L1_SIZE pointers
- * to buckets
- * @rcu: RCU callback structure
- * @obj_destructor: Called on each element when the table is destroyed.
- *
- * The @buckets array is logically an array of pointers to buckets.  It is
- * broken into two levels to avoid the need to kmalloc() any object larger than
- * a single page or to use vmalloc().  @buckets is always nonnull, as is each
- * @buckets[i], but each @buckets[i][j] is nonnull only if the specified hash
- * bucket is nonempty (for 0 <= i < @n_buckets/%TBL_L1_SIZE, 0 <= j <
- * %TBL_L1_SIZE).
- */
-struct tbl {
-       struct rcu_head rcu;
-       unsigned int n_buckets;
-       struct tbl_bucket ***buckets;
-       unsigned int count;
-       void (*obj_destructor)(struct tbl_node *);
-};
-
 /**
  * struct tbl_bucket - single bucket within a hash table
  * @rcu: RCU callback structure