Warning: This file is not a C or C++ file. It does not have highlighting.
1 | /* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */ |
---|---|
2 | /* |
3 | * IPv6 IOAM Lightweight Tunnel API |
4 | * |
5 | * Author: |
6 | * Justin Iurman <justin.iurman@uliege.be> |
7 | */ |
8 | |
9 | #ifndef _UAPI_LINUX_IOAM6_IPTUNNEL_H |
10 | #define _UAPI_LINUX_IOAM6_IPTUNNEL_H |
11 | |
12 | /* Encap modes: |
13 | * - inline: direct insertion |
14 | * - encap: ip6ip6 encapsulation |
15 | * - auto: inline for local packets, encap for in-transit packets |
16 | */ |
17 | enum { |
18 | __IOAM6_IPTUNNEL_MODE_MIN, |
19 | |
20 | IOAM6_IPTUNNEL_MODE_INLINE, |
21 | IOAM6_IPTUNNEL_MODE_ENCAP, |
22 | IOAM6_IPTUNNEL_MODE_AUTO, |
23 | |
24 | __IOAM6_IPTUNNEL_MODE_MAX, |
25 | }; |
26 | |
27 | #define IOAM6_IPTUNNEL_MODE_MIN (__IOAM6_IPTUNNEL_MODE_MIN + 1) |
28 | #define IOAM6_IPTUNNEL_MODE_MAX (__IOAM6_IPTUNNEL_MODE_MAX - 1) |
29 | |
30 | enum { |
31 | IOAM6_IPTUNNEL_UNSPEC, |
32 | |
33 | /* Encap mode */ |
34 | IOAM6_IPTUNNEL_MODE, /* u8 */ |
35 | |
36 | /* Tunnel dst address. |
37 | * For encap,auto modes. |
38 | */ |
39 | IOAM6_IPTUNNEL_DST, /* struct in6_addr */ |
40 | |
41 | /* IOAM Trace Header */ |
42 | IOAM6_IPTUNNEL_TRACE, /* struct ioam6_trace_hdr */ |
43 | |
44 | /* Insertion frequency: |
45 | * "k over n" packets (0 < k <= n) |
46 | * [0.0001% ... 100%] |
47 | */ |
48 | #define IOAM6_IPTUNNEL_FREQ_MIN 1 |
49 | #define IOAM6_IPTUNNEL_FREQ_MAX 1000000 |
50 | IOAM6_IPTUNNEL_FREQ_K, /* u32 */ |
51 | IOAM6_IPTUNNEL_FREQ_N, /* u32 */ |
52 | |
53 | __IOAM6_IPTUNNEL_MAX, |
54 | }; |
55 | |
56 | #define IOAM6_IPTUNNEL_MAX (__IOAM6_IPTUNNEL_MAX - 1) |
57 | |
58 | #endif /* _UAPI_LINUX_IOAM6_IPTUNNEL_H */ |
59 |
Warning: This file is not a C or C++ file. It does not have highlighting.