blob: 6b2a06f0f0ab45975cee190f8435fd4290b5629b [file] [log] [blame]
Ben Cheng655a7c02013-10-16 16:09:24 -07001/****************************************************************************
2 ****************************************************************************
3 ***
4 *** This header was automatically generated from a Linux kernel header
5 *** of the same name, to make information necessary for userspace to
6 *** call into the kernel available to libc. It contains only constants,
7 *** structures, and macros generated from the original header, and thus,
8 *** contains no copyrightable information.
9 ***
10 *** To edit the content of this header, modify the corresponding
11 *** source file (e.g. under external/kernel-headers/original/) then
12 *** run bionic/libc/kernel/tools/update_all.py
13 ***
14 *** Any manual change here will be lost the next time this script will
15 *** be run. You've been warned!
16 ***
17 ****************************************************************************
18 ****************************************************************************/
19#ifndef __LINUX_FIB_RULES_H
20#define __LINUX_FIB_RULES_H
21#include <linux/types.h>
22#include <linux/rtnetlink.h>
Ben Cheng655a7c02013-10-16 16:09:24 -070023#define FIB_RULE_PERMANENT 0x00000001
24#define FIB_RULE_INVERT 0x00000002
25#define FIB_RULE_UNRESOLVED 0x00000004
26#define FIB_RULE_IIF_DETACHED 0x00000008
Ben Cheng655a7c02013-10-16 16:09:24 -070027#define FIB_RULE_DEV_DETACHED FIB_RULE_IIF_DETACHED
28#define FIB_RULE_OIF_DETACHED 0x00000010
29#define FIB_RULE_FIND_SADDR 0x00010000
30struct fib_rule_hdr {
Tao Baod7db5942015-01-28 10:07:51 -080031 __u8 family;
32 __u8 dst_len;
33 __u8 src_len;
34 __u8 tos;
Tao Baod7db5942015-01-28 10:07:51 -080035 __u8 table;
36 __u8 res1;
37 __u8 res2;
38 __u8 action;
Tao Baod7db5942015-01-28 10:07:51 -080039 __u32 flags;
Ben Cheng655a7c02013-10-16 16:09:24 -070040};
Christopher Ferris48af7cb2017-02-21 12:35:09 -080041struct fib_rule_uid_range {
42 __u32 start;
Christopher Ferris48af7cb2017-02-21 12:35:09 -080043 __u32 end;
44};
Ben Cheng655a7c02013-10-16 16:09:24 -070045enum {
Tao Baod7db5942015-01-28 10:07:51 -080046 FRA_UNSPEC,
Tao Baod7db5942015-01-28 10:07:51 -080047 FRA_DST,
48 FRA_SRC,
49 FRA_IIFNAME,
Ben Cheng655a7c02013-10-16 16:09:24 -070050#define FRA_IFNAME FRA_IIFNAME
Tao Baod7db5942015-01-28 10:07:51 -080051 FRA_GOTO,
52 FRA_UNUSED2,
53 FRA_PRIORITY,
54 FRA_UNUSED3,
Tao Baod7db5942015-01-28 10:07:51 -080055 FRA_UNUSED4,
56 FRA_UNUSED5,
57 FRA_FWMARK,
58 FRA_FLOW,
Christopher Ferris05d08e92016-02-04 13:16:38 -080059 FRA_TUN_ID,
Tao Baod7db5942015-01-28 10:07:51 -080060 FRA_SUPPRESS_IFGROUP,
61 FRA_SUPPRESS_PREFIXLEN,
62 FRA_TABLE,
Tao Baod7db5942015-01-28 10:07:51 -080063 FRA_FWMASK,
64 FRA_OIFNAME,
Christopher Ferris106b3a82016-08-24 12:15:38 -070065 FRA_PAD,
Christopher Ferris49f525c2016-12-12 14:55:36 -080066 FRA_L3MDEV,
Christopher Ferris48af7cb2017-02-21 12:35:09 -080067 FRA_UID_RANGE,
Christopher Ferris49f525c2016-12-12 14:55:36 -080068 __FRA_MAX
Christopher Ferris106b3a82016-08-24 12:15:38 -070069};
Ben Cheng655a7c02013-10-16 16:09:24 -070070#define FRA_MAX (__FRA_MAX - 1)
Christopher Ferris48af7cb2017-02-21 12:35:09 -080071enum {
Christopher Ferris49f525c2016-12-12 14:55:36 -080072 FR_ACT_UNSPEC,
Christopher Ferris106b3a82016-08-24 12:15:38 -070073 FR_ACT_TO_TBL,
Tao Baod7db5942015-01-28 10:07:51 -080074 FR_ACT_GOTO,
Christopher Ferris48af7cb2017-02-21 12:35:09 -080075 FR_ACT_NOP,
Christopher Ferris49f525c2016-12-12 14:55:36 -080076 FR_ACT_RES3,
Christopher Ferris106b3a82016-08-24 12:15:38 -070077 FR_ACT_RES4,
Tao Baod7db5942015-01-28 10:07:51 -080078 FR_ACT_BLACKHOLE,
Christopher Ferris48af7cb2017-02-21 12:35:09 -080079 FR_ACT_UNREACHABLE,
Christopher Ferris49f525c2016-12-12 14:55:36 -080080 FR_ACT_PROHIBIT,
Christopher Ferris106b3a82016-08-24 12:15:38 -070081 __FR_ACT_MAX,
Ben Cheng655a7c02013-10-16 16:09:24 -070082};
Christopher Ferris48af7cb2017-02-21 12:35:09 -080083#define FR_ACT_MAX (__FR_ACT_MAX - 1)
Christopher Ferris49f525c2016-12-12 14:55:36 -080084#endif