summaryrefslogtreecommitdiffstats
path: root/net/packet/internal.h
diff options
context:
space:
mode:
Diffstat (limited to 'net/packet/internal.h')
-rw-r--r--net/packet/internal.h10
1 files changed, 6 insertions, 4 deletions
diff --git a/net/packet/internal.h b/net/packet/internal.h
index e84cab8cb7a..c4e4b456120 100644
--- a/net/packet/internal.h
+++ b/net/packet/internal.h
@@ -54,6 +54,7 @@ struct pgv {
struct packet_ring_buffer {
struct pgv *pg_vec;
+
unsigned int head;
unsigned int frames_per_block;
unsigned int frame_size;
@@ -63,8 +64,9 @@ struct packet_ring_buffer {
unsigned int pg_vec_pages;
unsigned int pg_vec_len;
- struct tpacket_kbdq_core prb_bdqc;
atomic_t pending;
+
+ struct tpacket_kbdq_core prb_bdqc;
};
extern struct mutex fanout_mutex;
@@ -77,10 +79,11 @@ struct packet_fanout {
unsigned int num_members;
u16 id;
u8 type;
- u8 defrag;
+ u8 flags;
atomic_t rr_cur;
struct list_head list;
struct sock *arr[PACKET_FANOUT_MAX];
+ int next[PACKET_FANOUT_MAX];
spinlock_t lock;
atomic_t sk_ref;
struct packet_type prot_hook ____cacheline_aligned_in_smp;
@@ -90,8 +93,7 @@ struct packet_sock {
/* struct sock has to be the first member of packet_sock */
struct sock sk;
struct packet_fanout *fanout;
- struct tpacket_stats stats;
- union tpacket_stats_u stats_u;
+ union tpacket_stats_u stats;
struct packet_ring_buffer rx_ring;
struct packet_ring_buffer tx_ring;
int copy_thresh;