Server IP : 85.214.239.14 / Your IP : 3.135.208.236 Web Server : Apache/2.4.62 (Debian) System : Linux h2886529.stratoserver.net 4.9.0 #1 SMP Tue Jan 9 19:45:01 MSK 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.18 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : OFF | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : OFF Directory : /proc/2/root/proc/2/cwd/proc/self/root/proc/self/root/usr/include/linux/ |
Upload File : |
/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */ /* * IPv6 IOAM implementation * * Author: * Justin Iurman <justin.iurman@uliege.be> */ #ifndef _LINUX_IOAM6_H #define _LINUX_IOAM6_H #include <asm/byteorder.h> #include <linux/types.h> #define IOAM6_U16_UNAVAILABLE U16_MAX #define IOAM6_U32_UNAVAILABLE U32_MAX #define IOAM6_U64_UNAVAILABLE U64_MAX #define IOAM6_DEFAULT_ID (IOAM6_U32_UNAVAILABLE >> 8) #define IOAM6_DEFAULT_ID_WIDE (IOAM6_U64_UNAVAILABLE >> 8) #define IOAM6_DEFAULT_IF_ID IOAM6_U16_UNAVAILABLE #define IOAM6_DEFAULT_IF_ID_WIDE IOAM6_U32_UNAVAILABLE /* * IPv6 IOAM Option Header */ struct ioam6_hdr { __u8 opt_type; __u8 opt_len; __u8 :8; /* reserved */ #define IOAM6_TYPE_PREALLOC 0 __u8 type; } __attribute__((packed)); /* * IOAM Trace Header */ struct ioam6_trace_hdr { __be16 namespace_id; #if defined(__LITTLE_ENDIAN_BITFIELD) __u8 :1, /* unused */ :1, /* unused */ overflow:1, nodelen:5; __u8 remlen:7, :1; /* unused */ union { __be32 type_be32; struct { __u32 bit7:1, bit6:1, bit5:1, bit4:1, bit3:1, bit2:1, bit1:1, bit0:1, bit15:1, /* unused */ bit14:1, /* unused */ bit13:1, /* unused */ bit12:1, /* unused */ bit11:1, bit10:1, bit9:1, bit8:1, bit23:1, /* reserved */ bit22:1, bit21:1, /* unused */ bit20:1, /* unused */ bit19:1, /* unused */ bit18:1, /* unused */ bit17:1, /* unused */ bit16:1, /* unused */ :8; /* reserved */ } type; }; #elif defined(__BIG_ENDIAN_BITFIELD) __u8 nodelen:5, overflow:1, :1, /* unused */ :1; /* unused */ __u8 :1, /* unused */ remlen:7; union { __be32 type_be32; struct { __u32 bit0:1, bit1:1, bit2:1, bit3:1, bit4:1, bit5:1, bit6:1, bit7:1, bit8:1, bit9:1, bit10:1, bit11:1, bit12:1, /* unused */ bit13:1, /* unused */ bit14:1, /* unused */ bit15:1, /* unused */ bit16:1, /* unused */ bit17:1, /* unused */ bit18:1, /* unused */ bit19:1, /* unused */ bit20:1, /* unused */ bit21:1, /* unused */ bit22:1, bit23:1, /* reserved */ :8; /* reserved */ } type; }; #else #error "Please fix <asm/byteorder.h>" #endif #define IOAM6_TRACE_DATA_SIZE_MAX 244 __u8 data[0]; } __attribute__((packed)); #endif /* _LINUX_IOAM6_H */