#define V3_ALIGNMENT   (8)
 
-#define BLK_HDR_LEN    (ALIGN(sizeof(struct block_desc), V3_ALIGNMENT))
+#define BLK_HDR_LEN    (ALIGN(sizeof(struct tpacket_block_desc), V3_ALIGNMENT))
 
 #define BLK_PLUS_PRIV(sz_of_priv) \
        (BLK_HDR_LEN + ALIGN((sz_of_priv), V3_ALIGNMENT))
 
 /* kbdq - kernel block descriptor queue */
-struct kbdq_core {
+struct tpacket_kbdq_core {
        struct pgv      *pkbdq;
        unsigned int    feature_req_word;
        unsigned int    hdrlen;
        unsigned int            pg_vec_pages;
        unsigned int            pg_vec_len;
 
-       struct kbdq_core        prb_bdqc;
+       struct tpacket_kbdq_core        prb_bdqc;
        atomic_t                pending;
 };
 
                struct packet_ring_buffer *rb,
                int status);
 static void packet_increment_head(struct packet_ring_buffer *buff);
-static int prb_curr_blk_in_use(struct kbdq_core *,
-                       struct block_desc *);
-static void *prb_dispatch_next_block(struct kbdq_core *,
+static int prb_curr_blk_in_use(struct tpacket_kbdq_core *,
+                       struct tpacket_block_desc *);
+static void *prb_dispatch_next_block(struct tpacket_kbdq_core *,
                        struct packet_sock *);
-static void prb_retire_current_block(struct kbdq_core *,
+static void prb_retire_current_block(struct tpacket_kbdq_core *,
                struct packet_sock *, unsigned int status);
-static int prb_queue_frozen(struct kbdq_core *);
-static void prb_open_block(struct kbdq_core *, struct block_desc *);
+static int prb_queue_frozen(struct tpacket_kbdq_core *);
+static void prb_open_block(struct tpacket_kbdq_core *,
+               struct tpacket_block_desc *);
 static void prb_retire_rx_blk_timer_expired(unsigned long);
-static void _prb_refresh_rx_retire_blk_timer(struct kbdq_core *);
-static void prb_init_blk_timer(struct packet_sock *, struct kbdq_core *,
-                               void (*func) (unsigned long));
-static void prb_fill_rxhash(struct kbdq_core *, struct tpacket3_hdr *);
-static void prb_clear_rxhash(struct kbdq_core *, struct tpacket3_hdr *);
-static void prb_fill_vlan_info(struct kbdq_core *, struct tpacket3_hdr *);
+static void _prb_refresh_rx_retire_blk_timer(struct tpacket_kbdq_core *);
+static void prb_init_blk_timer(struct packet_sock *,
+               struct tpacket_kbdq_core *,
+               void (*func) (unsigned long));
+static void prb_fill_rxhash(struct tpacket_kbdq_core *, struct tpacket3_hdr *);
+static void prb_clear_rxhash(struct tpacket_kbdq_core *,
+               struct tpacket3_hdr *);
+static void prb_fill_vlan_info(struct tpacket_kbdq_core *,
+               struct tpacket3_hdr *);
 static void packet_flush_mclist(struct sock *sk);
 
 struct packet_fanout;
 
 #define PACKET_SKB_CB(__skb)   ((struct packet_skb_cb *)((__skb)->cb))
 
-#define GET_PBDQC_FROM_RB(x)   ((struct kbdq_core *)(&(x)->prb_bdqc))
+#define GET_PBDQC_FROM_RB(x)   ((struct tpacket_kbdq_core *)(&(x)->prb_bdqc))
 #define GET_PBLOCK_DESC(x, bid)        \
-       ((struct block_desc *)((x)->pkbdq[(bid)].buffer))
+       ((struct tpacket_block_desc *)((x)->pkbdq[(bid)].buffer))
 #define GET_CURR_PBLOCK_DESC_FROM_CORE(x)      \
-       ((struct block_desc *)((x)->pkbdq[(x)->kactive_blk_num].buffer))
+       ((struct tpacket_block_desc *)((x)->pkbdq[(x)->kactive_blk_num].buffer))
 #define GET_NEXT_PRB_BLK_NUM(x) \
        (((x)->kactive_blk_num < ((x)->knum_blocks-1)) ? \
        ((x)->kactive_blk_num+1) : 0)
        return packet_lookup_frame(po, rb, rb->head, status);
 }
 
-static void prb_del_retire_blk_timer(struct kbdq_core *pkc)
+static void prb_del_retire_blk_timer(struct tpacket_kbdq_core *pkc)
 {
        del_timer_sync(&pkc->retire_blk_timer);
 }
                int tx_ring,
                struct sk_buff_head *rb_queue)
 {
-       struct kbdq_core *pkc;
+       struct tpacket_kbdq_core *pkc;
 
        pkc = tx_ring ? &po->tx_ring.prb_bdqc : &po->rx_ring.prb_bdqc;
 
 }
 
 static void prb_init_blk_timer(struct packet_sock *po,
-               struct kbdq_core *pkc,
+               struct tpacket_kbdq_core *pkc,
                void (*func) (unsigned long))
 {
        init_timer(&pkc->retire_blk_timer);
 
 static void prb_setup_retire_blk_timer(struct packet_sock *po, int tx_ring)
 {
-       struct kbdq_core *pkc;
+       struct tpacket_kbdq_core *pkc;
 
        if (tx_ring)
                BUG();
        return tmo;
 }
 
-static void prb_init_ft_ops(struct kbdq_core *p1,
+static void prb_init_ft_ops(struct tpacket_kbdq_core *p1,
                        union tpacket_req_u *req_u)
 {
        p1->feature_req_word = req_u->req3.tp_feature_req_word;
                        struct pgv *pg_vec,
                        union tpacket_req_u *req_u, int tx_ring)
 {
-       struct kbdq_core *p1 = &rb->prb_bdqc;
-       struct block_desc *pbd;
+       struct tpacket_kbdq_core *p1 = &rb->prb_bdqc;
+       struct tpacket_block_desc *pbd;
 
        memset(p1, 0x0, sizeof(*p1));
 
        p1->knxt_seq_num = 1;
        p1->pkbdq = pg_vec;
-       pbd = (struct block_desc *)pg_vec[0].buffer;
+       pbd = (struct tpacket_block_desc *)pg_vec[0].buffer;
        p1->pkblk_start = (char *)pg_vec[0].buffer;
        p1->kblk_size = req_u->req3.tp_block_size;
        p1->knum_blocks = req_u->req3.tp_block_nr;
 /*  Do NOT update the last_blk_num first.
  *  Assumes sk_buff_head lock is held.
  */
-static void _prb_refresh_rx_retire_blk_timer(struct kbdq_core *pkc)
+static void _prb_refresh_rx_retire_blk_timer(struct tpacket_kbdq_core *pkc)
 {
        mod_timer(&pkc->retire_blk_timer,
                        jiffies + pkc->tov_in_jiffies);
 static void prb_retire_rx_blk_timer_expired(unsigned long data)
 {
        struct packet_sock *po = (struct packet_sock *)data;
-       struct kbdq_core *pkc = &po->rx_ring.prb_bdqc;
+       struct tpacket_kbdq_core *pkc = &po->rx_ring.prb_bdqc;
        unsigned int frozen;
-       struct block_desc *pbd;
+       struct tpacket_block_desc *pbd;
 
        spin_lock(&po->sk.sk_receive_queue.lock);
 
        spin_unlock(&po->sk.sk_receive_queue.lock);
 }
 
-static inline void prb_flush_block(struct kbdq_core *pkc1,
-               struct block_desc *pbd1, __u32 status)
+static inline void prb_flush_block(struct tpacket_kbdq_core *pkc1,
+               struct tpacket_block_desc *pbd1, __u32 status)
 {
        /* Flush everything minus the block header */
 
  * Note:We DONT refresh the timer on purpose.
  *     Because almost always the next block will be opened.
  */
-static void prb_close_block(struct kbdq_core *pkc1, struct block_desc *pbd1,
+static void prb_close_block(struct tpacket_kbdq_core *pkc1,
+               struct tpacket_block_desc *pbd1,
                struct packet_sock *po, unsigned int stat)
 {
        __u32 status = TP_STATUS_USER | stat;
 
        struct tpacket3_hdr *last_pkt;
-       struct hdr_v1 *h1 = &pbd1->hdr.bh1;
+       struct tpacket_hdr_v1 *h1 = &pbd1->hdr.bh1;
 
        if (po->stats.tp_drops)
                status |= TP_STATUS_LOSING;
        pkc1->kactive_blk_num = GET_NEXT_PRB_BLK_NUM(pkc1);
 }
 
-static inline void prb_thaw_queue(struct kbdq_core *pkc)
+static inline void prb_thaw_queue(struct tpacket_kbdq_core *pkc)
 {
        pkc->reset_pending_on_curr_blk = 0;
 }
  * 2) retire_blk_timer is refreshed.
  *
  */
-static void prb_open_block(struct kbdq_core *pkc1, struct block_desc *pbd1)
+static void prb_open_block(struct tpacket_kbdq_core *pkc1,
+       struct tpacket_block_desc *pbd1)
 {
        struct timespec ts;
-       struct hdr_v1 *h1 = &pbd1->hdr.bh1;
+       struct tpacket_hdr_v1 *h1 = &pbd1->hdr.bh1;
 
        smp_rmb();
 
  *         case and __packet_lookup_frame_in_block will check if block-0
  *         is free and can now be re-used.
  */
-static inline void prb_freeze_queue(struct kbdq_core *pkc,
+static inline void prb_freeze_queue(struct tpacket_kbdq_core *pkc,
                                  struct packet_sock *po)
 {
        pkc->reset_pending_on_curr_blk = 1;
  * Else, we will freeze the queue.
  * So, caller must check the return value.
  */
-static void *prb_dispatch_next_block(struct kbdq_core *pkc,
+static void *prb_dispatch_next_block(struct tpacket_kbdq_core *pkc,
                struct packet_sock *po)
 {
-       struct block_desc *pbd;
+       struct tpacket_block_desc *pbd;
 
        smp_rmb();
 
        return (void *)pkc->nxt_offset;
 }
 
-static void prb_retire_current_block(struct kbdq_core *pkc,
+static void prb_retire_current_block(struct tpacket_kbdq_core *pkc,
                struct packet_sock *po, unsigned int status)
 {
-       struct block_desc *pbd = GET_CURR_PBLOCK_DESC_FROM_CORE(pkc);
+       struct tpacket_block_desc *pbd = GET_CURR_PBLOCK_DESC_FROM_CORE(pkc);
 
        /* retire/close the current block */
        if (likely(TP_STATUS_KERNEL == BLOCK_STATUS(pbd))) {
        BUG();
 }
 
-static inline int prb_curr_blk_in_use(struct kbdq_core *pkc,
-                                     struct block_desc *pbd)
+static inline int prb_curr_blk_in_use(struct tpacket_kbdq_core *pkc,
+                                     struct tpacket_block_desc *pbd)
 {
        return TP_STATUS_USER & BLOCK_STATUS(pbd);
 }
 
-static inline int prb_queue_frozen(struct kbdq_core *pkc)
+static inline int prb_queue_frozen(struct tpacket_kbdq_core *pkc)
 {
        return pkc->reset_pending_on_curr_blk;
 }
 
 static inline void prb_clear_blk_fill_status(struct packet_ring_buffer *rb)
 {
-       struct kbdq_core *pkc  = GET_PBDQC_FROM_RB(rb);
+       struct tpacket_kbdq_core *pkc  = GET_PBDQC_FROM_RB(rb);
        atomic_dec(&pkc->blk_fill_in_prog);
 }
 
-static inline void prb_fill_rxhash(struct kbdq_core *pkc,
+static inline void prb_fill_rxhash(struct tpacket_kbdq_core *pkc,
                        struct tpacket3_hdr *ppd)
 {
        ppd->hv1.tp_rxhash = skb_get_rxhash(pkc->skb);
 }
 
-static inline void prb_clear_rxhash(struct kbdq_core *pkc,
+static inline void prb_clear_rxhash(struct tpacket_kbdq_core *pkc,
                        struct tpacket3_hdr *ppd)
 {
        ppd->hv1.tp_rxhash = 0;
 }
 
-static inline void prb_fill_vlan_info(struct kbdq_core *pkc,
+static inline void prb_fill_vlan_info(struct tpacket_kbdq_core *pkc,
                        struct tpacket3_hdr *ppd)
 {
        if (vlan_tx_tag_present(pkc->skb)) {
        }
 }
 
-static void prb_run_all_ft_ops(struct kbdq_core *pkc,
+static void prb_run_all_ft_ops(struct tpacket_kbdq_core *pkc,
                        struct tpacket3_hdr *ppd)
 {
        prb_fill_vlan_info(pkc, ppd);
                prb_clear_rxhash(pkc, ppd);
 }
 
-static inline void prb_fill_curr_block(char *curr, struct kbdq_core *pkc,
-                               struct block_desc *pbd,
+static inline void prb_fill_curr_block(char *curr,
+                               struct tpacket_kbdq_core *pkc,
+                               struct tpacket_block_desc *pbd,
                                unsigned int len)
 {
        struct tpacket3_hdr *ppd;
                                            unsigned int len
                                            )
 {
-       struct kbdq_core *pkc;
-       struct block_desc *pbd;
+       struct tpacket_kbdq_core *pkc;
+       struct tpacket_block_desc *pbd;
        char *curr, *end;
 
        pkc = GET_PBDQC_FROM_RB(((struct packet_ring_buffer *)&po->rx_ring));
                                     unsigned int previous,
                                     int status)
 {
-       struct kbdq_core *pkc  = GET_PBDQC_FROM_RB(rb);
-       struct block_desc *pbd = GET_PBLOCK_DESC(pkc, previous);
+       struct tpacket_kbdq_core *pkc  = GET_PBDQC_FROM_RB(rb);
+       struct tpacket_block_desc *pbd = GET_PBLOCK_DESC(pkc, previous);
 
        if (status != BLOCK_STATUS(pbd))
                return NULL;