linux-headers (unknown)

(root)/
include/
linux/
ioam6_iptunnel.h
       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 _LINUX_IOAM6_IPTUNNEL_H
      10  #define _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 /* _LINUX_IOAM6_IPTUNNEL_H */