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

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
Loading
Loading
Loading
Loading
+23 −1
Original line number Diff line number Diff line
@@ -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 */
+1 −0
Original line number Diff line number Diff line
@@ -13,6 +13,7 @@
#include <linux/mm.h>

#include "xdp_umem.h"
#include "xsk_queue.h"

#define XDP_UMEM_MIN_CHUNK_SIZE 2048

+1 −21
Original line number Diff line number Diff line
@@ -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)
{
+1 −2
Original line number Diff line number Diff line
@@ -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