blob: ee9cabcde5bfb827eeadd257c041ad8ac2f1d69b [file] [log] [blame]
Elliott Hughes180edef2023-11-02 00:08:05 +00001/*
2 * This file is auto-generated. Modifications will be lost.
3 *
4 * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
5 * for more information.
6 */
Ben Cheng655a7c02013-10-16 16:09:24 -07007#ifndef __LINUX_FIB_RULES_H
8#define __LINUX_FIB_RULES_H
9#include <linux/types.h>
10#include <linux/rtnetlink.h>
Ben Cheng655a7c02013-10-16 16:09:24 -070011#define FIB_RULE_PERMANENT 0x00000001
12#define FIB_RULE_INVERT 0x00000002
13#define FIB_RULE_UNRESOLVED 0x00000004
14#define FIB_RULE_IIF_DETACHED 0x00000008
Ben Cheng655a7c02013-10-16 16:09:24 -070015#define FIB_RULE_DEV_DETACHED FIB_RULE_IIF_DETACHED
16#define FIB_RULE_OIF_DETACHED 0x00000010
17#define FIB_RULE_FIND_SADDR 0x00010000
18struct fib_rule_hdr {
Tao Baod7db5942015-01-28 10:07:51 -080019 __u8 family;
20 __u8 dst_len;
21 __u8 src_len;
22 __u8 tos;
Tao Baod7db5942015-01-28 10:07:51 -080023 __u8 table;
24 __u8 res1;
25 __u8 res2;
26 __u8 action;
Tao Baod7db5942015-01-28 10:07:51 -080027 __u32 flags;
Ben Cheng655a7c02013-10-16 16:09:24 -070028};
Christopher Ferris48af7cb2017-02-21 12:35:09 -080029struct fib_rule_uid_range {
30 __u32 start;
Christopher Ferris48af7cb2017-02-21 12:35:09 -080031 __u32 end;
32};
Christopher Ferris76a1d452018-06-27 14:12:29 -070033struct fib_rule_port_range {
34 __u16 start;
35 __u16 end;
36};
Ben Cheng655a7c02013-10-16 16:09:24 -070037enum {
Tao Baod7db5942015-01-28 10:07:51 -080038 FRA_UNSPEC,
Tao Baod7db5942015-01-28 10:07:51 -080039 FRA_DST,
40 FRA_SRC,
41 FRA_IIFNAME,
Ben Cheng655a7c02013-10-16 16:09:24 -070042#define FRA_IFNAME FRA_IIFNAME
Tao Baod7db5942015-01-28 10:07:51 -080043 FRA_GOTO,
44 FRA_UNUSED2,
45 FRA_PRIORITY,
46 FRA_UNUSED3,
Tao Baod7db5942015-01-28 10:07:51 -080047 FRA_UNUSED4,
48 FRA_UNUSED5,
49 FRA_FWMARK,
50 FRA_FLOW,
Christopher Ferris05d08e92016-02-04 13:16:38 -080051 FRA_TUN_ID,
Tao Baod7db5942015-01-28 10:07:51 -080052 FRA_SUPPRESS_IFGROUP,
53 FRA_SUPPRESS_PREFIXLEN,
54 FRA_TABLE,
Tao Baod7db5942015-01-28 10:07:51 -080055 FRA_FWMASK,
56 FRA_OIFNAME,
Christopher Ferris106b3a82016-08-24 12:15:38 -070057 FRA_PAD,
Christopher Ferris49f525c2016-12-12 14:55:36 -080058 FRA_L3MDEV,
Christopher Ferris48af7cb2017-02-21 12:35:09 -080059 FRA_UID_RANGE,
Christopher Ferris76a1d452018-06-27 14:12:29 -070060 FRA_PROTOCOL,
61 FRA_IP_PROTO,
62 FRA_SPORT_RANGE,
63 FRA_DPORT_RANGE,
Christopher Ferris49f525c2016-12-12 14:55:36 -080064 __FRA_MAX
Christopher Ferris106b3a82016-08-24 12:15:38 -070065};
Ben Cheng655a7c02013-10-16 16:09:24 -070066#define FRA_MAX (__FRA_MAX - 1)
Christopher Ferris48af7cb2017-02-21 12:35:09 -080067enum {
Christopher Ferris49f525c2016-12-12 14:55:36 -080068 FR_ACT_UNSPEC,
Christopher Ferris106b3a82016-08-24 12:15:38 -070069 FR_ACT_TO_TBL,
Tao Baod7db5942015-01-28 10:07:51 -080070 FR_ACT_GOTO,
Christopher Ferris48af7cb2017-02-21 12:35:09 -080071 FR_ACT_NOP,
Christopher Ferris49f525c2016-12-12 14:55:36 -080072 FR_ACT_RES3,
Christopher Ferris106b3a82016-08-24 12:15:38 -070073 FR_ACT_RES4,
Tao Baod7db5942015-01-28 10:07:51 -080074 FR_ACT_BLACKHOLE,
Christopher Ferris48af7cb2017-02-21 12:35:09 -080075 FR_ACT_UNREACHABLE,
Christopher Ferris49f525c2016-12-12 14:55:36 -080076 FR_ACT_PROHIBIT,
Christopher Ferris106b3a82016-08-24 12:15:38 -070077 __FR_ACT_MAX,
Ben Cheng655a7c02013-10-16 16:09:24 -070078};
Christopher Ferris48af7cb2017-02-21 12:35:09 -080079#define FR_ACT_MAX (__FR_ACT_MAX - 1)
Christopher Ferris49f525c2016-12-12 14:55:36 -080080#endif