Moved struct xdp_umem to xdp_sock.h, in order to prepare for zero-copy
support.
Signed-off-by: Björn Töpel <bjorn.topel@intel.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
 #ifndef _LINUX_XDP_SOCK_H
 #define _LINUX_XDP_SOCK_H
 
+#include <linux/workqueue.h>
+#include <linux/if_xdp.h>
 #include <linux/mutex.h>
+#include <linux/mm.h>
 #include <net/sock.h>
 
 struct net_device;
 struct xsk_queue;
-struct xdp_umem;
+
+struct xdp_umem_props {
+       u64 chunk_mask;
+       u64 size;
+};
+
+struct xdp_umem {
+       struct xsk_queue *fq;
+       struct xsk_queue *cq;
+       struct page **pgs;
+       struct xdp_umem_props props;
+       u32 headroom;
+       u32 chunk_size_nohr;
+       struct user_struct *user;
+       struct pid *pid;
+       unsigned long address;
+       refcount_t users;
+       struct work_struct work;
+       u32 npgs;
+};
 
 struct xdp_sock {
        /* struct sock must be the first member of struct xdp_sock */
 
 #include <linux/mm.h>
 
 #include "xdp_umem.h"
+#include "xsk_queue.h"
 
 #define XDP_UMEM_MIN_CHUNK_SIZE 2048
 
 
 #ifndef XDP_UMEM_H_
 #define XDP_UMEM_H_
 
-#include <linux/mm.h>
-#include <linux/if_xdp.h>
-#include <linux/workqueue.h>
-
-#include "xsk_queue.h"
-#include "xdp_umem_props.h"
-
-struct xdp_umem {
-       struct xsk_queue *fq;
-       struct xsk_queue *cq;
-       struct page **pgs;
-       struct xdp_umem_props props;
-       u32 headroom;
-       u32 chunk_size_nohr;
-       struct user_struct *user;
-       struct pid *pid;
-       unsigned long address;
-       refcount_t users;
-       struct work_struct work;
-       u32 npgs;
-};
+#include <net/xdp_sock.h>
 
 static inline char *xdp_umem_get_data(struct xdp_umem *umem, u64 addr)
 {
 
 
 #include <linux/types.h>
 #include <linux/if_xdp.h>
-
-#include "xdp_umem_props.h"
+#include <net/xdp_sock.h>
 
 #define RX_BATCH_SIZE 16