linux/net/xdp/xdp_umem.c

// SPDX-License-Identifier: GPL-2.0
/* XDP user-space packet buffer
 * Copyright(c) 2018 Intel Corporation.
 */

#include <linux/init.h>
#include <linux/sched/mm.h>
#include <linux/sched/signal.h>
#include <linux/sched/task.h>
#include <linux/uaccess.h>
#include <linux/slab.h>
#include <linux/bpf.h>
#include <linux/mm.h>
#include <linux/netdevice.h>
#include <linux/rtnetlink.h>
#include <linux/idr.h>
#include <linux/vmalloc.h>

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

static DEFINE_IDA(umem_ida);

static void xdp_umem_unpin_pages(struct xdp_umem *umem)
{}

static void xdp_umem_unaccount_pages(struct xdp_umem *umem)
{}

static void xdp_umem_addr_unmap(struct xdp_umem *umem)
{}

static int xdp_umem_addr_map(struct xdp_umem *umem, struct page **pages,
			     u32 nr_pages)
{}

static void xdp_umem_release(struct xdp_umem *umem)
{}

static void xdp_umem_release_deferred(struct work_struct *work)
{}

void xdp_get_umem(struct xdp_umem *umem)
{}

void xdp_put_umem(struct xdp_umem *umem, bool defer_cleanup)
{}

static int xdp_umem_pin_pages(struct xdp_umem *umem, unsigned long address)
{}

static int xdp_umem_account_pages(struct xdp_umem *umem)
{}

#define XDP_UMEM_FLAGS_VALID

static int xdp_umem_reg(struct xdp_umem *umem, struct xdp_umem_reg *mr)
{}

struct xdp_umem *xdp_umem_create(struct xdp_umem_reg *mr)
{}