~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/include/uapi/linux/icmpv6.h

Version: ~ [ linux-6.11.5 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.58 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.114 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.169 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.228 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.284 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.322 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /include/uapi/linux/icmpv6.h (Version linux-6.11.5) and /include/uapi/linux/icmpv6.h (Version linux-6.9.12)


  1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux      1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
  2 #ifndef _UAPI_LINUX_ICMPV6_H                        2 #ifndef _UAPI_LINUX_ICMPV6_H
  3 #define _UAPI_LINUX_ICMPV6_H                        3 #define _UAPI_LINUX_ICMPV6_H
  4                                                     4 
  5 #include <linux/types.h>                            5 #include <linux/types.h>
  6 #include <asm/byteorder.h>                          6 #include <asm/byteorder.h>
  7                                                     7 
  8 struct icmp6hdr {                                   8 struct icmp6hdr {
  9                                                     9 
 10         __u8            icmp6_type;                10         __u8            icmp6_type;
 11         __u8            icmp6_code;                11         __u8            icmp6_code;
 12         __sum16         icmp6_cksum;               12         __sum16         icmp6_cksum;
 13                                                    13 
 14                                                    14 
 15         union {                                    15         union {
 16                 __be32                  un_dat     16                 __be32                  un_data32[1];
 17                 __be16                  un_dat     17                 __be16                  un_data16[2];
 18                 __u8                    un_dat     18                 __u8                    un_data8[4];
 19                                                    19 
 20                 struct icmpv6_echo {               20                 struct icmpv6_echo {
 21                         __be16          identi     21                         __be16          identifier;
 22                         __be16          sequen     22                         __be16          sequence;
 23                 } u_echo;                          23                 } u_echo;
 24                                                    24 
 25                 struct icmpv6_nd_advt {            25                 struct icmpv6_nd_advt {
 26 #if defined(__LITTLE_ENDIAN_BITFIELD)              26 #if defined(__LITTLE_ENDIAN_BITFIELD)
 27                         __u32           reserv     27                         __u32           reserved:5,
 28                                         overri     28                                         override:1,
 29                                         solici     29                                         solicited:1,
 30                                         router     30                                         router:1,
 31                                         reserv     31                                         reserved2:24;
 32 #elif defined(__BIG_ENDIAN_BITFIELD)               32 #elif defined(__BIG_ENDIAN_BITFIELD)
 33                         __u32           router     33                         __u32           router:1,
 34                                         solici     34                                         solicited:1,
 35                                         overri     35                                         override:1,
 36                                         reserv     36                                         reserved:29;
 37 #else                                              37 #else
 38 #error  "Please fix <asm/byteorder.h>"             38 #error  "Please fix <asm/byteorder.h>"
 39 #endif                                             39 #endif                                          
 40                 } u_nd_advt;                       40                 } u_nd_advt;
 41                                                    41 
 42                 struct icmpv6_nd_ra {              42                 struct icmpv6_nd_ra {
 43                         __u8            hop_li     43                         __u8            hop_limit;
 44 #if defined(__LITTLE_ENDIAN_BITFIELD)              44 #if defined(__LITTLE_ENDIAN_BITFIELD)
 45                         __u8            reserv     45                         __u8            reserved:3,
 46                                         router     46                                         router_pref:2,
 47                                         home_a     47                                         home_agent:1,
 48                                         other:     48                                         other:1,
 49                                         manage     49                                         managed:1;
 50                                                    50 
 51 #elif defined(__BIG_ENDIAN_BITFIELD)               51 #elif defined(__BIG_ENDIAN_BITFIELD)
 52                         __u8            manage     52                         __u8            managed:1,
 53                                         other:     53                                         other:1,
 54                                         home_a     54                                         home_agent:1,
 55                                         router     55                                         router_pref:2,
 56                                         reserv     56                                         reserved:3;
 57 #else                                              57 #else
 58 #error  "Please fix <asm/byteorder.h>"             58 #error  "Please fix <asm/byteorder.h>"
 59 #endif                                             59 #endif
 60                         __be16          rt_lif     60                         __be16          rt_lifetime;
 61                 } u_nd_ra;                         61                 } u_nd_ra;
 62                                                    62 
 63         } icmp6_dataun;                            63         } icmp6_dataun;
 64                                                    64 
 65 #define icmp6_identifier        icmp6_dataun.u     65 #define icmp6_identifier        icmp6_dataun.u_echo.identifier
 66 #define icmp6_sequence          icmp6_dataun.u     66 #define icmp6_sequence          icmp6_dataun.u_echo.sequence
 67 #define icmp6_pointer           icmp6_dataun.u     67 #define icmp6_pointer           icmp6_dataun.un_data32[0]
 68 #define icmp6_mtu               icmp6_dataun.u     68 #define icmp6_mtu               icmp6_dataun.un_data32[0]
 69 #define icmp6_unused            icmp6_dataun.u     69 #define icmp6_unused            icmp6_dataun.un_data32[0]
 70 #define icmp6_maxdelay          icmp6_dataun.u     70 #define icmp6_maxdelay          icmp6_dataun.un_data16[0]
 71 #define icmp6_datagram_len      icmp6_dataun.u     71 #define icmp6_datagram_len      icmp6_dataun.un_data8[0]
 72 #define icmp6_router            icmp6_dataun.u     72 #define icmp6_router            icmp6_dataun.u_nd_advt.router
 73 #define icmp6_solicited         icmp6_dataun.u     73 #define icmp6_solicited         icmp6_dataun.u_nd_advt.solicited
 74 #define icmp6_override          icmp6_dataun.u     74 #define icmp6_override          icmp6_dataun.u_nd_advt.override
 75 #define icmp6_ndiscreserved     icmp6_dataun.u     75 #define icmp6_ndiscreserved     icmp6_dataun.u_nd_advt.reserved
 76 #define icmp6_hop_limit         icmp6_dataun.u     76 #define icmp6_hop_limit         icmp6_dataun.u_nd_ra.hop_limit
 77 #define icmp6_addrconf_managed  icmp6_dataun.u     77 #define icmp6_addrconf_managed  icmp6_dataun.u_nd_ra.managed
 78 #define icmp6_addrconf_other    icmp6_dataun.u     78 #define icmp6_addrconf_other    icmp6_dataun.u_nd_ra.other
 79 #define icmp6_rt_lifetime       icmp6_dataun.u     79 #define icmp6_rt_lifetime       icmp6_dataun.u_nd_ra.rt_lifetime
 80 #define icmp6_router_pref       icmp6_dataun.u     80 #define icmp6_router_pref       icmp6_dataun.u_nd_ra.router_pref
 81 };                                                 81 };
 82                                                    82 
 83                                                    83 
 84 #define ICMPV6_ROUTER_PREF_LOW          0x3        84 #define ICMPV6_ROUTER_PREF_LOW          0x3
 85 #define ICMPV6_ROUTER_PREF_MEDIUM       0x0        85 #define ICMPV6_ROUTER_PREF_MEDIUM       0x0
 86 #define ICMPV6_ROUTER_PREF_HIGH         0x1        86 #define ICMPV6_ROUTER_PREF_HIGH         0x1
 87 #define ICMPV6_ROUTER_PREF_INVALID      0x2        87 #define ICMPV6_ROUTER_PREF_INVALID      0x2
 88                                                    88 
 89 #define ICMPV6_DEST_UNREACH             1          89 #define ICMPV6_DEST_UNREACH             1
 90 #define ICMPV6_PKT_TOOBIG               2          90 #define ICMPV6_PKT_TOOBIG               2
 91 #define ICMPV6_TIME_EXCEED              3          91 #define ICMPV6_TIME_EXCEED              3
 92 #define ICMPV6_PARAMPROB                4          92 #define ICMPV6_PARAMPROB                4
 93                                                    93 
 94 #define ICMPV6_ERRMSG_MAX       127                94 #define ICMPV6_ERRMSG_MAX       127
 95                                                    95 
 96 #define ICMPV6_INFOMSG_MASK             0x80       96 #define ICMPV6_INFOMSG_MASK             0x80
 97                                                    97 
 98 #define ICMPV6_ECHO_REQUEST             128        98 #define ICMPV6_ECHO_REQUEST             128
 99 #define ICMPV6_ECHO_REPLY               129        99 #define ICMPV6_ECHO_REPLY               129
100 #define ICMPV6_MGM_QUERY                130       100 #define ICMPV6_MGM_QUERY                130
101 #define ICMPV6_MGM_REPORT               131       101 #define ICMPV6_MGM_REPORT               131
102 #define ICMPV6_MGM_REDUCTION            132       102 #define ICMPV6_MGM_REDUCTION            132
103                                                   103 
104 #define ICMPV6_NI_QUERY                 139       104 #define ICMPV6_NI_QUERY                 139
105 #define ICMPV6_NI_REPLY                 140       105 #define ICMPV6_NI_REPLY                 140
106                                                   106 
107 #define ICMPV6_MLD2_REPORT              143       107 #define ICMPV6_MLD2_REPORT              143
108                                                   108 
109 #define ICMPV6_DHAAD_REQUEST            144       109 #define ICMPV6_DHAAD_REQUEST            144
110 #define ICMPV6_DHAAD_REPLY              145       110 #define ICMPV6_DHAAD_REPLY              145
111 #define ICMPV6_MOBILE_PREFIX_SOL        146       111 #define ICMPV6_MOBILE_PREFIX_SOL        146
112 #define ICMPV6_MOBILE_PREFIX_ADV        147       112 #define ICMPV6_MOBILE_PREFIX_ADV        147
113                                                   113 
114 #define ICMPV6_MRDISC_ADV               151       114 #define ICMPV6_MRDISC_ADV               151
115 #define ICMPV6_MRDISC_SOL               152    << 
116                                                   115 
117 #define ICMPV6_MSG_MAX          255               116 #define ICMPV6_MSG_MAX          255
118                                                   117 
119 /*                                                118 /*
120  *      Codes for Destination Unreachable         119  *      Codes for Destination Unreachable
121  */                                               120  */
122 #define ICMPV6_NOROUTE                  0         121 #define ICMPV6_NOROUTE                  0
123 #define ICMPV6_ADM_PROHIBITED           1         122 #define ICMPV6_ADM_PROHIBITED           1
124 #define ICMPV6_NOT_NEIGHBOUR            2         123 #define ICMPV6_NOT_NEIGHBOUR            2
125 #define ICMPV6_ADDR_UNREACH             3         124 #define ICMPV6_ADDR_UNREACH             3
126 #define ICMPV6_PORT_UNREACH             4         125 #define ICMPV6_PORT_UNREACH             4
127 #define ICMPV6_POLICY_FAIL              5         126 #define ICMPV6_POLICY_FAIL              5
128 #define ICMPV6_REJECT_ROUTE             6         127 #define ICMPV6_REJECT_ROUTE             6
129                                                   128 
130 /*                                                129 /*
131  *      Codes for Time Exceeded                   130  *      Codes for Time Exceeded
132  */                                               131  */
133 #define ICMPV6_EXC_HOPLIMIT             0         132 #define ICMPV6_EXC_HOPLIMIT             0
134 #define ICMPV6_EXC_FRAGTIME             1         133 #define ICMPV6_EXC_FRAGTIME             1
135                                                   134 
136 /*                                                135 /*
137  *      Codes for Parameter Problem               136  *      Codes for Parameter Problem
138  */                                               137  */
139 #define ICMPV6_HDR_FIELD                0         138 #define ICMPV6_HDR_FIELD                0
140 #define ICMPV6_UNK_NEXTHDR              1         139 #define ICMPV6_UNK_NEXTHDR              1
141 #define ICMPV6_UNK_OPTION               2         140 #define ICMPV6_UNK_OPTION               2
142 #define ICMPV6_HDR_INCOMP               3         141 #define ICMPV6_HDR_INCOMP               3
143                                                   142 
144 /* Codes for EXT_ECHO (PROBE) */                  143 /* Codes for EXT_ECHO (PROBE) */
145 #define ICMPV6_EXT_ECHO_REQUEST         160       144 #define ICMPV6_EXT_ECHO_REQUEST         160
146 #define ICMPV6_EXT_ECHO_REPLY           161       145 #define ICMPV6_EXT_ECHO_REPLY           161
147 /*                                                146 /*
148  *      constants for (set|get)sockopt            147  *      constants for (set|get)sockopt
149  */                                               148  */
150                                                   149 
151 #define ICMPV6_FILTER                   1         150 #define ICMPV6_FILTER                   1
152                                                   151 
153 /*                                                152 /*
154  *      ICMPV6 filter                             153  *      ICMPV6 filter
155  */                                               154  */
156                                                   155 
157 #define ICMPV6_FILTER_BLOCK             1         156 #define ICMPV6_FILTER_BLOCK             1
158 #define ICMPV6_FILTER_PASS              2         157 #define ICMPV6_FILTER_PASS              2
159 #define ICMPV6_FILTER_BLOCKOTHERS       3         158 #define ICMPV6_FILTER_BLOCKOTHERS       3
160 #define ICMPV6_FILTER_PASSONLY          4         159 #define ICMPV6_FILTER_PASSONLY          4
161                                                   160 
162 struct icmp6_filter {                             161 struct icmp6_filter {
163         __u32           data[8];                  162         __u32           data[8];
164 };                                                163 };
165                                                   164 
166 /*                                                165 /*
167  *      Definitions for MLDv2                     166  *      Definitions for MLDv2
168  */                                               167  */
169 #define MLD2_MODE_IS_INCLUDE    1                 168 #define MLD2_MODE_IS_INCLUDE    1
170 #define MLD2_MODE_IS_EXCLUDE    2                 169 #define MLD2_MODE_IS_EXCLUDE    2
171 #define MLD2_CHANGE_TO_INCLUDE  3                 170 #define MLD2_CHANGE_TO_INCLUDE  3
172 #define MLD2_CHANGE_TO_EXCLUDE  4                 171 #define MLD2_CHANGE_TO_EXCLUDE  4
173 #define MLD2_ALLOW_NEW_SOURCES  5                 172 #define MLD2_ALLOW_NEW_SOURCES  5
174 #define MLD2_BLOCK_OLD_SOURCES  6                 173 #define MLD2_BLOCK_OLD_SOURCES  6
175                                                   174 
176 #define MLD2_ALL_MCR_INIT { { { 0xff,0x02,0,0,    175 #define MLD2_ALL_MCR_INIT { { { 0xff,0x02,0,0,0,0,0,0,0,0,0,0,0,0,0,0x16 } } }
177                                                   176 
178                                                   177 
179 #endif /* _UAPI_LINUX_ICMPV6_H */                 178 #endif /* _UAPI_LINUX_ICMPV6_H */
180                                                   179 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php