cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

nft_meta.h (1253B)


      1/* SPDX-License-Identifier: GPL-2.0 */
      2#ifndef _NFT_META_H_
      3#define _NFT_META_H_
      4
      5#include <net/netfilter/nf_tables.h>
      6
      7struct nft_meta {
      8	enum nft_meta_keys	key:8;
      9	u8			len;
     10	union {
     11		u8		dreg;
     12		u8		sreg;
     13	};
     14};
     15
     16extern const struct nla_policy nft_meta_policy[];
     17
     18int nft_meta_get_init(const struct nft_ctx *ctx,
     19		      const struct nft_expr *expr,
     20		      const struct nlattr * const tb[]);
     21
     22int nft_meta_set_init(const struct nft_ctx *ctx,
     23		      const struct nft_expr *expr,
     24		      const struct nlattr * const tb[]);
     25
     26int nft_meta_get_dump(struct sk_buff *skb,
     27		      const struct nft_expr *expr);
     28
     29int nft_meta_set_dump(struct sk_buff *skb,
     30		      const struct nft_expr *expr);
     31
     32void nft_meta_get_eval(const struct nft_expr *expr,
     33		       struct nft_regs *regs,
     34		       const struct nft_pktinfo *pkt);
     35
     36void nft_meta_set_eval(const struct nft_expr *expr,
     37		       struct nft_regs *regs,
     38		       const struct nft_pktinfo *pkt);
     39
     40void nft_meta_set_destroy(const struct nft_ctx *ctx,
     41			  const struct nft_expr *expr);
     42
     43int nft_meta_set_validate(const struct nft_ctx *ctx,
     44			  const struct nft_expr *expr,
     45			  const struct nft_data **data);
     46
     47bool nft_meta_get_reduce(struct nft_regs_track *track,
     48			 const struct nft_expr *expr);
     49#endif