linux/net/netfilter/nft_lookup.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 * Copyright (c) 2009 Patrick McHardy <[email protected]>
 *
 * Development of this code funded by Astaro AG (http://www.astaro.com/)
 */

#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/list.h>
#include <linux/rbtree.h>
#include <linux/netlink.h>
#include <linux/netfilter.h>
#include <linux/netfilter/nf_tables.h>
#include <net/netfilter/nf_tables.h>
#include <net/netfilter/nf_tables_core.h>

struct nft_lookup {};

#ifdef CONFIG_MITIGATION_RETPOLINE
bool nft_set_do_lookup(const struct net *net, const struct nft_set *set,
		       const u32 *key, const struct nft_set_ext **ext)
{}
EXPORT_SYMBOL_GPL();
#endif

void nft_lookup_eval(const struct nft_expr *expr,
		     struct nft_regs *regs,
		     const struct nft_pktinfo *pkt)
{}

static const struct nla_policy nft_lookup_policy[NFTA_LOOKUP_MAX + 1] =;

static int nft_lookup_init(const struct nft_ctx *ctx,
			   const struct nft_expr *expr,
			   const struct nlattr * const tb[])
{}

static void nft_lookup_deactivate(const struct nft_ctx *ctx,
				  const struct nft_expr *expr,
				  enum nft_trans_phase phase)
{}

static void nft_lookup_activate(const struct nft_ctx *ctx,
				const struct nft_expr *expr)
{}

static void nft_lookup_destroy(const struct nft_ctx *ctx,
			       const struct nft_expr *expr)
{}

static int nft_lookup_dump(struct sk_buff *skb,
			   const struct nft_expr *expr, bool reset)
{}

static int nft_lookup_validate(const struct nft_ctx *ctx,
			       const struct nft_expr *expr,
			       const struct nft_data **d)
{}

static bool nft_lookup_reduce(struct nft_regs_track *track,
			      const struct nft_expr *expr)
{}

static const struct nft_expr_ops nft_lookup_ops =;

struct nft_expr_type nft_lookup_type __read_mostly =;