in6_var.h (252511) | in6_var.h (253081) |
---|---|
1/*- 2 * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project. 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 44 unchanged lines hidden (view full) --- 53 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 54 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 55 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 56 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 57 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 58 * SUCH DAMAGE. 59 * 60 * @(#)in_var.h 8.1 (Berkeley) 6/10/93 | 1/*- 2 * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project. 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 44 unchanged lines hidden (view full) --- 53 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 54 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 55 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 56 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 57 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 58 * SUCH DAMAGE. 59 * 60 * @(#)in_var.h 8.1 (Berkeley) 6/10/93 |
61 * $FreeBSD: head/sys/netinet6/in6_var.h 252511 2013-07-02 16:58:15Z hrs $ | 61 * $FreeBSD: head/sys/netinet6/in6_var.h 253081 2013-07-09 09:32:06Z ae $ |
62 */ 63 64#ifndef _NETINET6_IN6_VAR_H_ 65#define _NETINET6_IN6_VAR_H_ 66 67#include <sys/tree.h> 68 69#ifdef _KERNEL --- 78 unchanged lines hidden (view full) --- 148 int label; /* matching label */ 149 u_quad_t use; /* statistics */ 150}; 151 152/* 153 * IPv6 interface statistics, as defined in RFC2465 Ipv6IfStatsEntry (p12). 154 */ 155struct in6_ifstat { | 62 */ 63 64#ifndef _NETINET6_IN6_VAR_H_ 65#define _NETINET6_IN6_VAR_H_ 66 67#include <sys/tree.h> 68 69#ifdef _KERNEL --- 78 unchanged lines hidden (view full) --- 148 int label; /* matching label */ 149 u_quad_t use; /* statistics */ 150}; 151 152/* 153 * IPv6 interface statistics, as defined in RFC2465 Ipv6IfStatsEntry (p12). 154 */ 155struct in6_ifstat { |
156 u_quad_t ifs6_in_receive; /* # of total input datagram */ 157 u_quad_t ifs6_in_hdrerr; /* # of datagrams with invalid hdr */ 158 u_quad_t ifs6_in_toobig; /* # of datagrams exceeded MTU */ 159 u_quad_t ifs6_in_noroute; /* # of datagrams with no route */ 160 u_quad_t ifs6_in_addrerr; /* # of datagrams with invalid dst */ 161 u_quad_t ifs6_in_protounknown; /* # of datagrams with unknown proto */ | 156 uint64_t ifs6_in_receive; /* # of total input datagram */ 157 uint64_t ifs6_in_hdrerr; /* # of datagrams with invalid hdr */ 158 uint64_t ifs6_in_toobig; /* # of datagrams exceeded MTU */ 159 uint64_t ifs6_in_noroute; /* # of datagrams with no route */ 160 uint64_t ifs6_in_addrerr; /* # of datagrams with invalid dst */ 161 uint64_t ifs6_in_protounknown; /* # of datagrams with unknown proto */ |
162 /* NOTE: increment on final dst if */ | 162 /* NOTE: increment on final dst if */ |
163 u_quad_t ifs6_in_truncated; /* # of truncated datagrams */ 164 u_quad_t ifs6_in_discard; /* # of discarded datagrams */ | 163 uint64_t ifs6_in_truncated; /* # of truncated datagrams */ 164 uint64_t ifs6_in_discard; /* # of discarded datagrams */ |
165 /* NOTE: fragment timeout is not here */ | 165 /* NOTE: fragment timeout is not here */ |
166 u_quad_t ifs6_in_deliver; /* # of datagrams delivered to ULP */ | 166 uint64_t ifs6_in_deliver; /* # of datagrams delivered to ULP */ |
167 /* NOTE: increment on final dst if */ | 167 /* NOTE: increment on final dst if */ |
168 u_quad_t ifs6_out_forward; /* # of datagrams forwarded */ | 168 uint64_t ifs6_out_forward; /* # of datagrams forwarded */ |
169 /* NOTE: increment on outgoing if */ | 169 /* NOTE: increment on outgoing if */ |
170 u_quad_t ifs6_out_request; /* # of outgoing datagrams from ULP */ | 170 uint64_t ifs6_out_request; /* # of outgoing datagrams from ULP */ |
171 /* NOTE: does not include forwrads */ | 171 /* NOTE: does not include forwrads */ |
172 u_quad_t ifs6_out_discard; /* # of discarded datagrams */ 173 u_quad_t ifs6_out_fragok; /* # of datagrams fragmented */ 174 u_quad_t ifs6_out_fragfail; /* # of datagrams failed on fragment */ 175 u_quad_t ifs6_out_fragcreat; /* # of fragment datagrams */ | 172 uint64_t ifs6_out_discard; /* # of discarded datagrams */ 173 uint64_t ifs6_out_fragok; /* # of datagrams fragmented */ 174 uint64_t ifs6_out_fragfail; /* # of datagrams failed on fragment */ 175 uint64_t ifs6_out_fragcreat; /* # of fragment datagrams */ |
176 /* NOTE: this is # after fragment */ | 176 /* NOTE: this is # after fragment */ |
177 u_quad_t ifs6_reass_reqd; /* # of incoming fragmented packets */ | 177 uint64_t ifs6_reass_reqd; /* # of incoming fragmented packets */ |
178 /* NOTE: increment on final dst if */ | 178 /* NOTE: increment on final dst if */ |
179 u_quad_t ifs6_reass_ok; /* # of reassembled packets */ | 179 uint64_t ifs6_reass_ok; /* # of reassembled packets */ |
180 /* NOTE: this is # after reass */ 181 /* NOTE: increment on final dst if */ | 180 /* NOTE: this is # after reass */ 181 /* NOTE: increment on final dst if */ |
182 u_quad_t ifs6_reass_fail; /* # of reass failures */ | 182 uint64_t ifs6_reass_fail; /* # of reass failures */ |
183 /* NOTE: may not be packet count */ 184 /* NOTE: increment on final dst if */ | 183 /* NOTE: may not be packet count */ 184 /* NOTE: increment on final dst if */ |
185 u_quad_t ifs6_in_mcast; /* # of inbound multicast datagrams */ 186 u_quad_t ifs6_out_mcast; /* # of outbound multicast datagrams */ | 185 uint64_t ifs6_in_mcast; /* # of inbound multicast datagrams */ 186 uint64_t ifs6_out_mcast; /* # of outbound multicast datagrams */ |
187}; 188 189/* 190 * ICMPv6 interface statistics, as defined in RFC2466 Ipv6IfIcmpEntry. 191 * XXX: I'm not sure if this file is the right place for this structure... 192 */ 193struct icmp6_ifstat { 194 /* 195 * Input statistics 196 */ 197 /* ipv6IfIcmpInMsgs, total # of input messages */ | 187}; 188 189/* 190 * ICMPv6 interface statistics, as defined in RFC2466 Ipv6IfIcmpEntry. 191 * XXX: I'm not sure if this file is the right place for this structure... 192 */ 193struct icmp6_ifstat { 194 /* 195 * Input statistics 196 */ 197 /* ipv6IfIcmpInMsgs, total # of input messages */ |
198 u_quad_t ifs6_in_msg; | 198 uint64_t ifs6_in_msg; |
199 /* ipv6IfIcmpInErrors, # of input error messages */ | 199 /* ipv6IfIcmpInErrors, # of input error messages */ |
200 u_quad_t ifs6_in_error; | 200 uint64_t ifs6_in_error; |
201 /* ipv6IfIcmpInDestUnreachs, # of input dest unreach errors */ | 201 /* ipv6IfIcmpInDestUnreachs, # of input dest unreach errors */ |
202 u_quad_t ifs6_in_dstunreach; | 202 uint64_t ifs6_in_dstunreach; |
203 /* ipv6IfIcmpInAdminProhibs, # of input administratively prohibited errs */ | 203 /* ipv6IfIcmpInAdminProhibs, # of input administratively prohibited errs */ |
204 u_quad_t ifs6_in_adminprohib; | 204 uint64_t ifs6_in_adminprohib; |
205 /* ipv6IfIcmpInTimeExcds, # of input time exceeded errors */ | 205 /* ipv6IfIcmpInTimeExcds, # of input time exceeded errors */ |
206 u_quad_t ifs6_in_timeexceed; | 206 uint64_t ifs6_in_timeexceed; |
207 /* ipv6IfIcmpInParmProblems, # of input parameter problem errors */ | 207 /* ipv6IfIcmpInParmProblems, # of input parameter problem errors */ |
208 u_quad_t ifs6_in_paramprob; | 208 uint64_t ifs6_in_paramprob; |
209 /* ipv6IfIcmpInPktTooBigs, # of input packet too big errors */ | 209 /* ipv6IfIcmpInPktTooBigs, # of input packet too big errors */ |
210 u_quad_t ifs6_in_pkttoobig; | 210 uint64_t ifs6_in_pkttoobig; |
211 /* ipv6IfIcmpInEchos, # of input echo requests */ | 211 /* ipv6IfIcmpInEchos, # of input echo requests */ |
212 u_quad_t ifs6_in_echo; | 212 uint64_t ifs6_in_echo; |
213 /* ipv6IfIcmpInEchoReplies, # of input echo replies */ | 213 /* ipv6IfIcmpInEchoReplies, # of input echo replies */ |
214 u_quad_t ifs6_in_echoreply; | 214 uint64_t ifs6_in_echoreply; |
215 /* ipv6IfIcmpInRouterSolicits, # of input router solicitations */ | 215 /* ipv6IfIcmpInRouterSolicits, # of input router solicitations */ |
216 u_quad_t ifs6_in_routersolicit; | 216 uint64_t ifs6_in_routersolicit; |
217 /* ipv6IfIcmpInRouterAdvertisements, # of input router advertisements */ | 217 /* ipv6IfIcmpInRouterAdvertisements, # of input router advertisements */ |
218 u_quad_t ifs6_in_routeradvert; | 218 uint64_t ifs6_in_routeradvert; |
219 /* ipv6IfIcmpInNeighborSolicits, # of input neighbor solicitations */ | 219 /* ipv6IfIcmpInNeighborSolicits, # of input neighbor solicitations */ |
220 u_quad_t ifs6_in_neighborsolicit; | 220 uint64_t ifs6_in_neighborsolicit; |
221 /* ipv6IfIcmpInNeighborAdvertisements, # of input neighbor advertisements */ | 221 /* ipv6IfIcmpInNeighborAdvertisements, # of input neighbor advertisements */ |
222 u_quad_t ifs6_in_neighboradvert; | 222 uint64_t ifs6_in_neighboradvert; |
223 /* ipv6IfIcmpInRedirects, # of input redirects */ | 223 /* ipv6IfIcmpInRedirects, # of input redirects */ |
224 u_quad_t ifs6_in_redirect; | 224 uint64_t ifs6_in_redirect; |
225 /* ipv6IfIcmpInGroupMembQueries, # of input MLD queries */ | 225 /* ipv6IfIcmpInGroupMembQueries, # of input MLD queries */ |
226 u_quad_t ifs6_in_mldquery; | 226 uint64_t ifs6_in_mldquery; |
227 /* ipv6IfIcmpInGroupMembResponses, # of input MLD reports */ | 227 /* ipv6IfIcmpInGroupMembResponses, # of input MLD reports */ |
228 u_quad_t ifs6_in_mldreport; | 228 uint64_t ifs6_in_mldreport; |
229 /* ipv6IfIcmpInGroupMembReductions, # of input MLD done */ | 229 /* ipv6IfIcmpInGroupMembReductions, # of input MLD done */ |
230 u_quad_t ifs6_in_mlddone; | 230 uint64_t ifs6_in_mlddone; |
231 232 /* 233 * Output statistics. We should solve unresolved routing problem... 234 */ 235 /* ipv6IfIcmpOutMsgs, total # of output messages */ | 231 232 /* 233 * Output statistics. We should solve unresolved routing problem... 234 */ 235 /* ipv6IfIcmpOutMsgs, total # of output messages */ |
236 u_quad_t ifs6_out_msg; | 236 uint64_t ifs6_out_msg; |
237 /* ipv6IfIcmpOutErrors, # of output error messages */ | 237 /* ipv6IfIcmpOutErrors, # of output error messages */ |
238 u_quad_t ifs6_out_error; | 238 uint64_t ifs6_out_error; |
239 /* ipv6IfIcmpOutDestUnreachs, # of output dest unreach errors */ | 239 /* ipv6IfIcmpOutDestUnreachs, # of output dest unreach errors */ |
240 u_quad_t ifs6_out_dstunreach; | 240 uint64_t ifs6_out_dstunreach; |
241 /* ipv6IfIcmpOutAdminProhibs, # of output administratively prohibited errs */ | 241 /* ipv6IfIcmpOutAdminProhibs, # of output administratively prohibited errs */ |
242 u_quad_t ifs6_out_adminprohib; | 242 uint64_t ifs6_out_adminprohib; |
243 /* ipv6IfIcmpOutTimeExcds, # of output time exceeded errors */ | 243 /* ipv6IfIcmpOutTimeExcds, # of output time exceeded errors */ |
244 u_quad_t ifs6_out_timeexceed; | 244 uint64_t ifs6_out_timeexceed; |
245 /* ipv6IfIcmpOutParmProblems, # of output parameter problem errors */ | 245 /* ipv6IfIcmpOutParmProblems, # of output parameter problem errors */ |
246 u_quad_t ifs6_out_paramprob; | 246 uint64_t ifs6_out_paramprob; |
247 /* ipv6IfIcmpOutPktTooBigs, # of output packet too big errors */ | 247 /* ipv6IfIcmpOutPktTooBigs, # of output packet too big errors */ |
248 u_quad_t ifs6_out_pkttoobig; | 248 uint64_t ifs6_out_pkttoobig; |
249 /* ipv6IfIcmpOutEchos, # of output echo requests */ | 249 /* ipv6IfIcmpOutEchos, # of output echo requests */ |
250 u_quad_t ifs6_out_echo; | 250 uint64_t ifs6_out_echo; |
251 /* ipv6IfIcmpOutEchoReplies, # of output echo replies */ | 251 /* ipv6IfIcmpOutEchoReplies, # of output echo replies */ |
252 u_quad_t ifs6_out_echoreply; | 252 uint64_t ifs6_out_echoreply; |
253 /* ipv6IfIcmpOutRouterSolicits, # of output router solicitations */ | 253 /* ipv6IfIcmpOutRouterSolicits, # of output router solicitations */ |
254 u_quad_t ifs6_out_routersolicit; | 254 uint64_t ifs6_out_routersolicit; |
255 /* ipv6IfIcmpOutRouterAdvertisements, # of output router advertisements */ | 255 /* ipv6IfIcmpOutRouterAdvertisements, # of output router advertisements */ |
256 u_quad_t ifs6_out_routeradvert; | 256 uint64_t ifs6_out_routeradvert; |
257 /* ipv6IfIcmpOutNeighborSolicits, # of output neighbor solicitations */ | 257 /* ipv6IfIcmpOutNeighborSolicits, # of output neighbor solicitations */ |
258 u_quad_t ifs6_out_neighborsolicit; | 258 uint64_t ifs6_out_neighborsolicit; |
259 /* ipv6IfIcmpOutNeighborAdvertisements, # of output neighbor advertisements */ | 259 /* ipv6IfIcmpOutNeighborAdvertisements, # of output neighbor advertisements */ |
260 u_quad_t ifs6_out_neighboradvert; | 260 uint64_t ifs6_out_neighboradvert; |
261 /* ipv6IfIcmpOutRedirects, # of output redirects */ | 261 /* ipv6IfIcmpOutRedirects, # of output redirects */ |
262 u_quad_t ifs6_out_redirect; | 262 uint64_t ifs6_out_redirect; |
263 /* ipv6IfIcmpOutGroupMembQueries, # of output MLD queries */ | 263 /* ipv6IfIcmpOutGroupMembQueries, # of output MLD queries */ |
264 u_quad_t ifs6_out_mldquery; | 264 uint64_t ifs6_out_mldquery; |
265 /* ipv6IfIcmpOutGroupMembResponses, # of output MLD reports */ | 265 /* ipv6IfIcmpOutGroupMembResponses, # of output MLD reports */ |
266 u_quad_t ifs6_out_mldreport; | 266 uint64_t ifs6_out_mldreport; |
267 /* ipv6IfIcmpOutGroupMembReductions, # of output MLD done */ | 267 /* ipv6IfIcmpOutGroupMembReductions, # of output MLD done */ |
268 u_quad_t ifs6_out_mlddone; | 268 uint64_t ifs6_out_mlddone; |
269}; 270 271struct in6_ifreq { 272 char ifr_name[IFNAMSIZ]; 273 union { 274 struct sockaddr_in6 ifru_addr; 275 struct sockaddr_in6 ifru_dstaddr; 276 int ifru_flags; --- 556 unchanged lines hidden --- | 269}; 270 271struct in6_ifreq { 272 char ifr_name[IFNAMSIZ]; 273 union { 274 struct sockaddr_in6 ifru_addr; 275 struct sockaddr_in6 ifru_dstaddr; 276 int ifru_flags; --- 556 unchanged lines hidden --- |