Blame view

include/linux/fib_rules.h 1.56 KB
14c0b97dd   Thomas Graf   [NET]: Protocol I...
1
2
3
4
5
6
7
  #ifndef __LINUX_FIB_RULES_H
  #define __LINUX_FIB_RULES_H
  
  #include <linux/types.h>
  #include <linux/rtnetlink.h>
  
  /* rule is permanent, and cannot be deleted */
29f6af771   YOSHIFUJI Hideaki   [IPV6] FIB6RULE: ...
8
9
10
  #define FIB_RULE_PERMANENT	0x00000001
  #define FIB_RULE_INVERT		0x00000002
  #define FIB_RULE_UNRESOLVED	0x00000004
491deb24b   Patrick McHardy   net 02/05: fib_ru...
11
12
  #define FIB_RULE_IIF_DETACHED	0x00000008
  #define FIB_RULE_DEV_DETACHED	FIB_RULE_IIF_DETACHED
1b038a5e6   Patrick McHardy   net 03/05: fib_ru...
13
  #define FIB_RULE_OIF_DETACHED	0x00000010
29f6af771   YOSHIFUJI Hideaki   [IPV6] FIB6RULE: ...
14
15
16
  
  /* try to find source address in routing lookups */
  #define FIB_RULE_FIND_SADDR	0x00010000
14c0b97dd   Thomas Graf   [NET]: Protocol I...
17

d94d9fee9   Eric Dumazet   net: cleanup incl...
18
  struct fib_rule_hdr {
14c0b97dd   Thomas Graf   [NET]: Protocol I...
19
20
21
22
23
24
25
26
27
28
29
30
  	__u8		family;
  	__u8		dst_len;
  	__u8		src_len;
  	__u8		tos;
  
  	__u8		table;
  	__u8		res1;	/* reserved */
  	__u8		res2;	/* reserved */
  	__u8		action;
  
  	__u32		flags;
  };
d94d9fee9   Eric Dumazet   net: cleanup incl...
31
  enum {
14c0b97dd   Thomas Graf   [NET]: Protocol I...
32
33
34
  	FRA_UNSPEC,
  	FRA_DST,	/* destination address */
  	FRA_SRC,	/* source address */
491deb24b   Patrick McHardy   net 02/05: fib_ru...
35
36
  	FRA_IIFNAME,	/* interface name */
  #define FRA_IFNAME	FRA_IIFNAME
0947c9fe5   Thomas Graf   [NET] fib_rules: ...
37
  	FRA_GOTO,	/* target to jump to (FR_ACT_GOTO) */
14c0b97dd   Thomas Graf   [NET]: Protocol I...
38
39
40
41
42
  	FRA_UNUSED2,
  	FRA_PRIORITY,	/* priority/preference */
  	FRA_UNUSED3,
  	FRA_UNUSED4,
  	FRA_UNUSED5,
b8964ed9f   Thomas Graf   [NET] rules: Prot...
43
  	FRA_FWMARK,	/* mark */
14c0b97dd   Thomas Graf   [NET]: Protocol I...
44
  	FRA_FLOW,	/* flow/class id */
9e762a4a8   Patrick McHardy   [NET]: Introduce ...
45
46
47
48
  	FRA_UNUSED6,
  	FRA_UNUSED7,
  	FRA_UNUSED8,
  	FRA_TABLE,	/* Extended table id */
bbfb39cbf   Patrick McHardy   [IPV4]: Add suppo...
49
  	FRA_FWMASK,	/* mask for netfilter mark */
1b038a5e6   Patrick McHardy   net 03/05: fib_ru...
50
  	FRA_OIFNAME,
14c0b97dd   Thomas Graf   [NET]: Protocol I...
51
52
53
54
  	__FRA_MAX
  };
  
  #define FRA_MAX (__FRA_MAX - 1)
d94d9fee9   Eric Dumazet   net: cleanup incl...
55
  enum {
14c0b97dd   Thomas Graf   [NET]: Protocol I...
56
57
  	FR_ACT_UNSPEC,
  	FR_ACT_TO_TBL,		/* Pass to fixed table */
0947c9fe5   Thomas Graf   [NET] fib_rules: ...
58
  	FR_ACT_GOTO,		/* Jump to another rule */
fa0b2d1d2   Thomas Graf   [NET] fib_rules: ...
59
  	FR_ACT_NOP,		/* No operation */
14c0b97dd   Thomas Graf   [NET]: Protocol I...
60
61
62
63
64
65
66
67
68
69
70
  	FR_ACT_RES3,
  	FR_ACT_RES4,
  	FR_ACT_BLACKHOLE,	/* Drop without notification */
  	FR_ACT_UNREACHABLE,	/* Drop with ENETUNREACH */
  	FR_ACT_PROHIBIT,	/* Drop with EACCES */
  	__FR_ACT_MAX,
  };
  
  #define FR_ACT_MAX (__FR_ACT_MAX - 1)
  
  #endif