Commit e61e62b9 authored by Björn Töpel's avatar Björn Töpel Committed by Daniel Borkmann

xsk: moved struct xdp_umem definition

Moved struct xdp_umem to xdp_sock.h, in order to prepare for zero-copy
support.
Signed-off-by: default avatarBjörn Töpel <bjorn.topel@intel.com>
Signed-off-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
parent 763f9b41
...@@ -6,12 +6,34 @@ ...@@ -6,12 +6,34 @@
#ifndef _LINUX_XDP_SOCK_H #ifndef _LINUX_XDP_SOCK_H
#define _LINUX_XDP_SOCK_H #define _LINUX_XDP_SOCK_H
#include <linux/workqueue.h>
#include <linux/if_xdp.h>
#include <linux/mutex.h> #include <linux/mutex.h>
#include <linux/mm.h>
#include <net/sock.h> #include <net/sock.h>
struct net_device; struct net_device;
struct xsk_queue; 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 xdp_sock {
/* struct sock must be the first member of struct xdp_sock */ /* struct sock must be the first member of struct xdp_sock */
......
...@@ -13,6 +13,7 @@ ...@@ -13,6 +13,7 @@
#include <linux/mm.h> #include <linux/mm.h>
#include "xdp_umem.h" #include "xdp_umem.h"
#include "xsk_queue.h"
#define XDP_UMEM_MIN_CHUNK_SIZE 2048 #define XDP_UMEM_MIN_CHUNK_SIZE 2048
......
...@@ -6,27 +6,7 @@ ...@@ -6,27 +6,7 @@
#ifndef XDP_UMEM_H_ #ifndef XDP_UMEM_H_
#define XDP_UMEM_H_ #define XDP_UMEM_H_
#include <linux/mm.h> #include <net/xdp_sock.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;
};
static inline char *xdp_umem_get_data(struct xdp_umem *umem, u64 addr) static inline char *xdp_umem_get_data(struct xdp_umem *umem, u64 addr)
{ {
......
...@@ -8,8 +8,7 @@ ...@@ -8,8 +8,7 @@
#include <linux/types.h> #include <linux/types.h>
#include <linux/if_xdp.h> #include <linux/if_xdp.h>
#include <net/xdp_sock.h>
#include "xdp_umem_props.h"
#define RX_BATCH_SIZE 16 #define RX_BATCH_SIZE 16
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment