mirror of https://gitee.com/openkylin/linux.git
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: Björn Töpel <bjorn.topel@intel.com> Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
This commit is contained in:
parent
763f9b414a
commit
e61e62b9e2
|
@ -6,12 +6,34 @@
|
|||
#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 */
|
||||
|
|
|
@ -13,6 +13,7 @@
|
|||
#include <linux/mm.h>
|
||||
|
||||
#include "xdp_umem.h"
|
||||
#include "xsk_queue.h"
|
||||
|
||||
#define XDP_UMEM_MIN_CHUNK_SIZE 2048
|
||||
|
||||
|
|
|
@ -6,27 +6,7 @@
|
|||
#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)
|
||||
{
|
||||
|
|
|
@ -8,8 +8,7 @@
|
|||
|
||||
#include <linux/types.h>
|
||||
#include <linux/if_xdp.h>
|
||||
|
||||
#include "xdp_umem_props.h"
|
||||
#include <net/xdp_sock.h>
|
||||
|
||||
#define RX_BATCH_SIZE 16
|
||||
|
||||
|
|
Loading…
Reference in New Issue