brintos

brintos / linux-shallow public Read only

0
0
Text · 2.0 KiB · a6924dd Raw
92 lines · c
1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */2#ifndef __LINUX_FIB_RULES_H3#define __LINUX_FIB_RULES_H4 5#include <linux/types.h>6#include <linux/rtnetlink.h>7 8/* rule is permanent, and cannot be deleted */9#define FIB_RULE_PERMANENT	0x0000000110#define FIB_RULE_INVERT		0x0000000211#define FIB_RULE_UNRESOLVED	0x0000000412#define FIB_RULE_IIF_DETACHED	0x0000000813#define FIB_RULE_DEV_DETACHED	FIB_RULE_IIF_DETACHED14#define FIB_RULE_OIF_DETACHED	0x0000001015 16/* try to find source address in routing lookups */17#define FIB_RULE_FIND_SADDR	0x0001000018 19struct fib_rule_hdr {20	__u8		family;21	__u8		dst_len;22	__u8		src_len;23	__u8		tos;24 25	__u8		table;26	__u8		res1;   /* reserved */27	__u8		res2;	/* reserved */28	__u8		action;29 30	__u32		flags;31};32 33struct fib_rule_uid_range {34	__u32		start;35	__u32		end;36};37 38struct fib_rule_port_range {39	__u16		start;40	__u16		end;41};42 43enum {44	FRA_UNSPEC,45	FRA_DST,	/* destination address */46	FRA_SRC,	/* source address */47	FRA_IIFNAME,	/* interface name */48#define FRA_IFNAME	FRA_IIFNAME49	FRA_GOTO,	/* target to jump to (FR_ACT_GOTO) */50	FRA_UNUSED2,51	FRA_PRIORITY,	/* priority/preference */52	FRA_UNUSED3,53	FRA_UNUSED4,54	FRA_UNUSED5,55	FRA_FWMARK,	/* mark */56	FRA_FLOW,	/* flow/class id */57	FRA_TUN_ID,58	FRA_SUPPRESS_IFGROUP,59	FRA_SUPPRESS_PREFIXLEN,60	FRA_TABLE,	/* Extended table id */61	FRA_FWMASK,	/* mask for netfilter mark */62	FRA_OIFNAME,63	FRA_PAD,64	FRA_L3MDEV,	/* iif or oif is l3mdev goto its table */65	FRA_UID_RANGE,	/* UID range */66	FRA_PROTOCOL,   /* Originator of the rule */67	FRA_IP_PROTO,	/* ip proto */68	FRA_SPORT_RANGE, /* sport */69	FRA_DPORT_RANGE, /* dport */70	FRA_DSCP,	/* dscp */71	__FRA_MAX72};73 74#define FRA_MAX (__FRA_MAX - 1)75 76enum {77	FR_ACT_UNSPEC,78	FR_ACT_TO_TBL,		/* Pass to fixed table */79	FR_ACT_GOTO,		/* Jump to another rule */80	FR_ACT_NOP,		/* No operation */81	FR_ACT_RES3,82	FR_ACT_RES4,83	FR_ACT_BLACKHOLE,	/* Drop without notification */84	FR_ACT_UNREACHABLE,	/* Drop with ENETUNREACH */85	FR_ACT_PROHIBIT,	/* Drop with EACCES */86	__FR_ACT_MAX,87};88 89#define FR_ACT_MAX (__FR_ACT_MAX - 1)90 91#endif92