blob: 86d8e078ab76c77b225770faef906f2b84dba877 [file] [log] [blame]
Christopher Ferrisba8d4f42014-09-03 19:56:49 -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 _UAPI_MPLS_H
20#define _UAPI_MPLS_H
21#include <linux/types.h>
22#include <asm/byteorder.h>
Christopher Ferrisba8d4f42014-09-03 19:56:49 -070023struct mpls_label {
Tao Baod7db5942015-01-28 10:07:51 -080024 __be32 entry;
Christopher Ferrisba8d4f42014-09-03 19:56:49 -070025};
26#define MPLS_LS_LABEL_MASK 0xFFFFF000
Christopher Ferrisba8d4f42014-09-03 19:56:49 -070027#define MPLS_LS_LABEL_SHIFT 12
28#define MPLS_LS_TC_MASK 0x00000E00
29#define MPLS_LS_TC_SHIFT 9
30#define MPLS_LS_S_MASK 0x00000100
Christopher Ferrisba8d4f42014-09-03 19:56:49 -070031#define MPLS_LS_S_SHIFT 8
32#define MPLS_LS_TTL_MASK 0x000000FF
33#define MPLS_LS_TTL_SHIFT 0
Christopher Ferris05d08e92016-02-04 13:16:38 -080034#define MPLS_LABEL_IPV4NULL 0
Christopher Ferris05d08e92016-02-04 13:16:38 -080035#define MPLS_LABEL_RTALERT 1
36#define MPLS_LABEL_IPV6NULL 2
37#define MPLS_LABEL_IMPLNULL 3
38#define MPLS_LABEL_ENTROPY 7
Christopher Ferris05d08e92016-02-04 13:16:38 -080039#define MPLS_LABEL_GAL 13
40#define MPLS_LABEL_OAMALERT 14
41#define MPLS_LABEL_EXTENSION 15
42#define MPLS_LABEL_FIRST_UNRESERVED 16
Christopher Ferris525ce912017-07-26 13:12:53 -070043enum {
44 MPLS_STATS_UNSPEC,
45 MPLS_STATS_LINK,
46 __MPLS_STATS_MAX,
47};
48#define MPLS_STATS_MAX (__MPLS_STATS_MAX - 1)
49struct mpls_link_stats {
50 __u64 rx_packets;
51 __u64 tx_packets;
52 __u64 rx_bytes;
53 __u64 tx_bytes;
54 __u64 rx_errors;
55 __u64 tx_errors;
56 __u64 rx_dropped;
57 __u64 tx_dropped;
58 __u64 rx_noroute;
59};
Christopher Ferris05d08e92016-02-04 13:16:38 -080060#endif