linux/net/netfilter/nf_conntrack_ecache.c

// SPDX-License-Identifier: GPL-2.0-only
/* Event cache for netfilter. */

/*
 * (C) 2005 Harald Welte <[email protected]>
 * (C) 2005 Patrick McHardy <[email protected]>
 * (C) 2005-2006 Netfilter Core Team <[email protected]>
 * (C) 2005 USAGI/WIDE Project <http://www.linux-ipv6.org>
 */

#define pr_fmt(fmt)

#include <linux/types.h>
#include <linux/netfilter.h>
#include <linux/skbuff.h>
#include <linux/vmalloc.h>
#include <linux/stddef.h>
#include <linux/err.h>
#include <linux/kernel.h>
#include <linux/netdevice.h>
#include <linux/slab.h>
#include <linux/export.h>

#include <net/netfilter/nf_conntrack.h>
#include <net/netfilter/nf_conntrack_core.h>
#include <net/netfilter/nf_conntrack_ecache.h>
#include <net/netfilter/nf_conntrack_extend.h>

static DEFINE_MUTEX(nf_ct_ecache_mutex);

#define DYING_NULLS_VAL
#define ECACHE_MAX_JIFFIES
#define ECACHE_RETRY_JIFFIES

enum retry_state {};

struct nf_conntrack_net_ecache *nf_conn_pernet_ecache(const struct net *net)
{}
#if IS_MODULE(CONFIG_NF_CT_NETLINK)
EXPORT_SYMBOL_GPL(nf_conn_pernet_ecache);
#endif

static enum retry_state ecache_work_evict_list(struct nf_conntrack_net *cnet)
{}

static void ecache_work(struct work_struct *work)
{}

static int __nf_conntrack_eventmask_report(struct nf_conntrack_ecache *e,
					   const u32 events,
					   const u32 missed,
					   const struct nf_ct_event *item)
{}

int nf_conntrack_eventmask_report(unsigned int events, struct nf_conn *ct,
				  u32 portid, int report)
{}
EXPORT_SYMBOL_GPL();

/* deliver cached events and clear cache entry - must be called with locally
 * disabled softirqs */
void nf_ct_deliver_cached_events(struct nf_conn *ct)
{}
EXPORT_SYMBOL_GPL();

void nf_ct_expect_event_report(enum ip_conntrack_expect_events event,
			       struct nf_conntrack_expect *exp,
			       u32 portid, int report)

{}

void nf_conntrack_register_notifier(struct net *net,
				    const struct nf_ct_event_notifier *new)
{}
EXPORT_SYMBOL_GPL();

void nf_conntrack_unregister_notifier(struct net *net)
{}
EXPORT_SYMBOL_GPL();

void nf_conntrack_ecache_work(struct net *net, enum nf_ct_ecache_state state)
{}

bool nf_ct_ecache_ext_add(struct nf_conn *ct, u16 ctmask, u16 expmask, gfp_t gfp)
{}
EXPORT_SYMBOL_GPL();

#define NF_CT_EVENTS_DEFAULT
static int nf_ct_events __read_mostly =;

void nf_conntrack_ecache_pernet_init(struct net *net)
{}

void nf_conntrack_ecache_pernet_fini(struct net *net)
{}