icmp6.h (250251) | icmp6.h (253081) |
---|---|
1/* $FreeBSD: head/sys/netinet/icmp6.h 250251 2013-05-04 19:16:26Z hrs $ */ | 1/* $FreeBSD: head/sys/netinet/icmp6.h 253081 2013-07-09 09:32:06Z ae $ */ |
2/* $KAME: icmp6.h,v 1.46 2001/04/27 15:09:48 itojun Exp $ */ 3 4/*- 5 * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project. 6 * All rights reserved. 7 * 8 * Redistribution and use in source and binary forms, with or without 9 * modification, are permitted provided that the following conditions --- 540 unchanged lines hidden (view full) --- 550#define ICMP6_FILTER_WILLBLOCK(type, filterp) \ 551 ((((filterp)->icmp6_filt[(type) >> 5]) & (1 << ((type) & 31))) == 0) 552 553/* 554 * Variables related to this implementation 555 * of the internet control message protocol version 6. 556 */ 557struct icmp6errstat { | 2/* $KAME: icmp6.h,v 1.46 2001/04/27 15:09:48 itojun Exp $ */ 3 4/*- 5 * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project. 6 * All rights reserved. 7 * 8 * Redistribution and use in source and binary forms, with or without 9 * modification, are permitted provided that the following conditions --- 540 unchanged lines hidden (view full) --- 550#define ICMP6_FILTER_WILLBLOCK(type, filterp) \ 551 ((((filterp)->icmp6_filt[(type) >> 5]) & (1 << ((type) & 31))) == 0) 552 553/* 554 * Variables related to this implementation 555 * of the internet control message protocol version 6. 556 */ 557struct icmp6errstat { |
558 u_quad_t icp6errs_dst_unreach_noroute; 559 u_quad_t icp6errs_dst_unreach_admin; 560 u_quad_t icp6errs_dst_unreach_beyondscope; 561 u_quad_t icp6errs_dst_unreach_addr; 562 u_quad_t icp6errs_dst_unreach_noport; 563 u_quad_t icp6errs_packet_too_big; 564 u_quad_t icp6errs_time_exceed_transit; 565 u_quad_t icp6errs_time_exceed_reassembly; 566 u_quad_t icp6errs_paramprob_header; 567 u_quad_t icp6errs_paramprob_nextheader; 568 u_quad_t icp6errs_paramprob_option; 569 u_quad_t icp6errs_redirect; /* we regard redirect as an error here */ 570 u_quad_t icp6errs_unknown; | 558 uint64_t icp6errs_dst_unreach_noroute; 559 uint64_t icp6errs_dst_unreach_admin; 560 uint64_t icp6errs_dst_unreach_beyondscope; 561 uint64_t icp6errs_dst_unreach_addr; 562 uint64_t icp6errs_dst_unreach_noport; 563 uint64_t icp6errs_packet_too_big; 564 uint64_t icp6errs_time_exceed_transit; 565 uint64_t icp6errs_time_exceed_reassembly; 566 uint64_t icp6errs_paramprob_header; 567 uint64_t icp6errs_paramprob_nextheader; 568 uint64_t icp6errs_paramprob_option; 569 uint64_t icp6errs_redirect; /* we regard redirect as an error here */ 570 uint64_t icp6errs_unknown; |
571}; 572 573struct icmp6stat { 574/* statistics related to icmp6 packets generated */ | 571}; 572 573struct icmp6stat { 574/* statistics related to icmp6 packets generated */ |
575 u_quad_t icp6s_error; /* # of calls to icmp6_error */ 576 u_quad_t icp6s_canterror; /* no error 'cuz old was icmp */ 577 u_quad_t icp6s_toofreq; /* no error 'cuz rate limitation */ 578 u_quad_t icp6s_outhist[256]; | 575 uint64_t icp6s_error; /* # of calls to icmp6_error */ 576 uint64_t icp6s_canterror; /* no error 'cuz old was icmp */ 577 uint64_t icp6s_toofreq; /* no error 'cuz rate limitation */ 578 uint64_t icp6s_outhist[256]; |
579/* statistics related to input message processed */ | 579/* statistics related to input message processed */ |
580 u_quad_t icp6s_badcode; /* icmp6_code out of range */ 581 u_quad_t icp6s_tooshort; /* packet < sizeof(struct icmp6_hdr) */ 582 u_quad_t icp6s_checksum; /* bad checksum */ 583 u_quad_t icp6s_badlen; /* calculated bound mismatch */ | 580 uint64_t icp6s_badcode; /* icmp6_code out of range */ 581 uint64_t icp6s_tooshort; /* packet < sizeof(struct icmp6_hdr) */ 582 uint64_t icp6s_checksum; /* bad checksum */ 583 uint64_t icp6s_badlen; /* calculated bound mismatch */ |
584 /* 585 * number of responses: this member is inherited from netinet code, but 586 * for netinet6 code, it is already available in icp6s_outhist[]. 587 */ | 584 /* 585 * number of responses: this member is inherited from netinet code, but 586 * for netinet6 code, it is already available in icp6s_outhist[]. 587 */ |
588 u_quad_t icp6s_reflect; 589 u_quad_t icp6s_inhist[256]; 590 u_quad_t icp6s_nd_toomanyopt; /* too many ND options */ | 588 uint64_t icp6s_reflect; 589 uint64_t icp6s_inhist[256]; 590 uint64_t icp6s_nd_toomanyopt; /* too many ND options */ |
591 struct icmp6errstat icp6s_outerrhist; 592#define icp6s_odst_unreach_noroute \ 593 icp6s_outerrhist.icp6errs_dst_unreach_noroute 594#define icp6s_odst_unreach_admin icp6s_outerrhist.icp6errs_dst_unreach_admin 595#define icp6s_odst_unreach_beyondscope \ 596 icp6s_outerrhist.icp6errs_dst_unreach_beyondscope 597#define icp6s_odst_unreach_addr icp6s_outerrhist.icp6errs_dst_unreach_addr 598#define icp6s_odst_unreach_noport icp6s_outerrhist.icp6errs_dst_unreach_noport 599#define icp6s_opacket_too_big icp6s_outerrhist.icp6errs_packet_too_big 600#define icp6s_otime_exceed_transit \ 601 icp6s_outerrhist.icp6errs_time_exceed_transit 602#define icp6s_otime_exceed_reassembly \ 603 icp6s_outerrhist.icp6errs_time_exceed_reassembly 604#define icp6s_oparamprob_header icp6s_outerrhist.icp6errs_paramprob_header 605#define icp6s_oparamprob_nextheader \ 606 icp6s_outerrhist.icp6errs_paramprob_nextheader 607#define icp6s_oparamprob_option icp6s_outerrhist.icp6errs_paramprob_option 608#define icp6s_oredirect icp6s_outerrhist.icp6errs_redirect 609#define icp6s_ounknown icp6s_outerrhist.icp6errs_unknown | 591 struct icmp6errstat icp6s_outerrhist; 592#define icp6s_odst_unreach_noroute \ 593 icp6s_outerrhist.icp6errs_dst_unreach_noroute 594#define icp6s_odst_unreach_admin icp6s_outerrhist.icp6errs_dst_unreach_admin 595#define icp6s_odst_unreach_beyondscope \ 596 icp6s_outerrhist.icp6errs_dst_unreach_beyondscope 597#define icp6s_odst_unreach_addr icp6s_outerrhist.icp6errs_dst_unreach_addr 598#define icp6s_odst_unreach_noport icp6s_outerrhist.icp6errs_dst_unreach_noport 599#define icp6s_opacket_too_big icp6s_outerrhist.icp6errs_packet_too_big 600#define icp6s_otime_exceed_transit \ 601 icp6s_outerrhist.icp6errs_time_exceed_transit 602#define icp6s_otime_exceed_reassembly \ 603 icp6s_outerrhist.icp6errs_time_exceed_reassembly 604#define icp6s_oparamprob_header icp6s_outerrhist.icp6errs_paramprob_header 605#define icp6s_oparamprob_nextheader \ 606 icp6s_outerrhist.icp6errs_paramprob_nextheader 607#define icp6s_oparamprob_option icp6s_outerrhist.icp6errs_paramprob_option 608#define icp6s_oredirect icp6s_outerrhist.icp6errs_redirect 609#define icp6s_ounknown icp6s_outerrhist.icp6errs_unknown |
610 u_quad_t icp6s_pmtuchg; /* path MTU changes */ 611 u_quad_t icp6s_nd_badopt; /* bad ND options */ 612 u_quad_t icp6s_badns; /* bad neighbor solicitation */ 613 u_quad_t icp6s_badna; /* bad neighbor advertisement */ 614 u_quad_t icp6s_badrs; /* bad router advertisement */ 615 u_quad_t icp6s_badra; /* bad router advertisement */ 616 u_quad_t icp6s_badredirect; /* bad redirect message */ | 610 uint64_t icp6s_pmtuchg; /* path MTU changes */ 611 uint64_t icp6s_nd_badopt; /* bad ND options */ 612 uint64_t icp6s_badns; /* bad neighbor solicitation */ 613 uint64_t icp6s_badna; /* bad neighbor advertisement */ 614 uint64_t icp6s_badrs; /* bad router advertisement */ 615 uint64_t icp6s_badra; /* bad router advertisement */ 616 uint64_t icp6s_badredirect; /* bad redirect message */ |
617}; 618 619#ifdef _KERNEL 620/* 621 * In-kernel consumers can use these accessor macros directly to update 622 * stats. 623 */ 624#define ICMP6STAT_ADD(name, val) V_icmp6stat.name += (val) --- 135 unchanged lines hidden --- | 617}; 618 619#ifdef _KERNEL 620/* 621 * In-kernel consumers can use these accessor macros directly to update 622 * stats. 623 */ 624#define ICMP6STAT_ADD(name, val) V_icmp6stat.name += (val) --- 135 unchanged lines hidden --- |