From 1a36dfcc879833c6fdc45e20d39db618b110f55c Mon Sep 17 00:00:00 2001 From: ae Date: Tue, 9 Jul 2013 09:32:06 +0000 Subject: Prepare network statistics structures for migration to PCPU counters. Use uint64_t as type for all fields of structures. Changed structures: ahstat, arpstat, espstat, icmp6_ifstat, icmp6stat, in6_ifstat, ip6stat, ipcompstat, ipipstat, ipsecstat, mrt6stat, mrtstat, pfkeystat, pim6stat, pimstat, rip6stat, udpstat. Discussed with: arch@ --- sys/net/if_arp.h | 18 ++--- sys/netinet/icmp6.h | 62 ++++++++-------- sys/netinet/ip_mroute.h | 26 +++---- sys/netinet/pim_var.h | 22 +++--- sys/netinet/udp_var.h | 28 ++++---- sys/netinet6/in6_var.h | 108 ++++++++++++++-------------- sys/netinet6/ip6_mroute.h | 26 +++---- sys/netinet6/ip6_var.h | 76 ++++++++++---------- sys/netinet6/pim6_var.h | 14 ++-- sys/netinet6/raw_ip6.h | 14 ++-- sys/netipsec/ah_var.h | 40 +++++------ sys/netipsec/esp_var.h | 42 +++++------ sys/netipsec/ipcomp_var.h | 39 +++++------ sys/netipsec/ipip_var.h | 23 +++--- sys/netipsec/ipsec.h | 84 +++++++++++----------- sys/netipsec/keysock.h | 36 +++++----- sys/netipsec/xform_ipcomp.c | 2 - tools/tools/crypto/ipsecstats.c | 54 +++++++------- usr.bin/netstat/inet.c | 52 +++++++------- usr.bin/netstat/ipsec.c | 152 ++++++++++++++++++---------------------- usr.bin/netstat/mroute.c | 30 ++++---- 21 files changed, 463 insertions(+), 485 deletions(-) diff --git a/sys/net/if_arp.h b/sys/net/if_arp.h index 38c6402..3826d06 100644 --- a/sys/net/if_arp.h +++ b/sys/net/if_arp.h @@ -113,18 +113,18 @@ struct arpcom { struct arpstat { /* Normal things that happen: */ - u_long txrequests; /* # of ARP requests sent by this host. */ - u_long txreplies; /* # of ARP replies sent by this host. */ - u_long rxrequests; /* # of ARP requests received by this host. */ - u_long rxreplies; /* # of ARP replies received by this host. */ - u_long received; /* # of ARP packets received by this host. */ + uint64_t txrequests; /* # of ARP requests sent by this host. */ + uint64_t txreplies; /* # of ARP replies sent by this host. */ + uint64_t rxrequests; /* # of ARP requests received by this host. */ + uint64_t rxreplies; /* # of ARP replies received by this host. */ + uint64_t received; /* # of ARP packets received by this host. */ - u_long arp_spares[4]; /* For either the upper or lower half. */ + uint64_t arp_spares[4]; /* For either the upper or lower half. */ /* Abnormal event and error counting: */ - u_long dropped; /* # of packets dropped waiting for a reply. */ - u_long timeouts; /* # of times with entries removed */ + uint64_t dropped; /* # of packets dropped waiting for a reply. */ + uint64_t timeouts; /* # of times with entries removed */ /* due to timeout. */ - u_long dupips; /* # of duplicate IPs detected. */ + uint64_t dupips; /* # of duplicate IPs detected. */ }; /* diff --git a/sys/netinet/icmp6.h b/sys/netinet/icmp6.h index 5483721..3508276 100644 --- a/sys/netinet/icmp6.h +++ b/sys/netinet/icmp6.h @@ -555,39 +555,39 @@ do { \ * of the internet control message protocol version 6. */ struct icmp6errstat { - u_quad_t icp6errs_dst_unreach_noroute; - u_quad_t icp6errs_dst_unreach_admin; - u_quad_t icp6errs_dst_unreach_beyondscope; - u_quad_t icp6errs_dst_unreach_addr; - u_quad_t icp6errs_dst_unreach_noport; - u_quad_t icp6errs_packet_too_big; - u_quad_t icp6errs_time_exceed_transit; - u_quad_t icp6errs_time_exceed_reassembly; - u_quad_t icp6errs_paramprob_header; - u_quad_t icp6errs_paramprob_nextheader; - u_quad_t icp6errs_paramprob_option; - u_quad_t icp6errs_redirect; /* we regard redirect as an error here */ - u_quad_t icp6errs_unknown; + uint64_t icp6errs_dst_unreach_noroute; + uint64_t icp6errs_dst_unreach_admin; + uint64_t icp6errs_dst_unreach_beyondscope; + uint64_t icp6errs_dst_unreach_addr; + uint64_t icp6errs_dst_unreach_noport; + uint64_t icp6errs_packet_too_big; + uint64_t icp6errs_time_exceed_transit; + uint64_t icp6errs_time_exceed_reassembly; + uint64_t icp6errs_paramprob_header; + uint64_t icp6errs_paramprob_nextheader; + uint64_t icp6errs_paramprob_option; + uint64_t icp6errs_redirect; /* we regard redirect as an error here */ + uint64_t icp6errs_unknown; }; struct icmp6stat { /* statistics related to icmp6 packets generated */ - u_quad_t icp6s_error; /* # of calls to icmp6_error */ - u_quad_t icp6s_canterror; /* no error 'cuz old was icmp */ - u_quad_t icp6s_toofreq; /* no error 'cuz rate limitation */ - u_quad_t icp6s_outhist[256]; + uint64_t icp6s_error; /* # of calls to icmp6_error */ + uint64_t icp6s_canterror; /* no error 'cuz old was icmp */ + uint64_t icp6s_toofreq; /* no error 'cuz rate limitation */ + uint64_t icp6s_outhist[256]; /* statistics related to input message processed */ - u_quad_t icp6s_badcode; /* icmp6_code out of range */ - u_quad_t icp6s_tooshort; /* packet < sizeof(struct icmp6_hdr) */ - u_quad_t icp6s_checksum; /* bad checksum */ - u_quad_t icp6s_badlen; /* calculated bound mismatch */ + uint64_t icp6s_badcode; /* icmp6_code out of range */ + uint64_t icp6s_tooshort; /* packet < sizeof(struct icmp6_hdr) */ + uint64_t icp6s_checksum; /* bad checksum */ + uint64_t icp6s_badlen; /* calculated bound mismatch */ /* * number of responses: this member is inherited from netinet code, but * for netinet6 code, it is already available in icp6s_outhist[]. */ - u_quad_t icp6s_reflect; - u_quad_t icp6s_inhist[256]; - u_quad_t icp6s_nd_toomanyopt; /* too many ND options */ + uint64_t icp6s_reflect; + uint64_t icp6s_inhist[256]; + uint64_t icp6s_nd_toomanyopt; /* too many ND options */ struct icmp6errstat icp6s_outerrhist; #define icp6s_odst_unreach_noroute \ icp6s_outerrhist.icp6errs_dst_unreach_noroute @@ -607,13 +607,13 @@ struct icmp6stat { #define icp6s_oparamprob_option icp6s_outerrhist.icp6errs_paramprob_option #define icp6s_oredirect icp6s_outerrhist.icp6errs_redirect #define icp6s_ounknown icp6s_outerrhist.icp6errs_unknown - u_quad_t icp6s_pmtuchg; /* path MTU changes */ - u_quad_t icp6s_nd_badopt; /* bad ND options */ - u_quad_t icp6s_badns; /* bad neighbor solicitation */ - u_quad_t icp6s_badna; /* bad neighbor advertisement */ - u_quad_t icp6s_badrs; /* bad router advertisement */ - u_quad_t icp6s_badra; /* bad router advertisement */ - u_quad_t icp6s_badredirect; /* bad redirect message */ + uint64_t icp6s_pmtuchg; /* path MTU changes */ + uint64_t icp6s_nd_badopt; /* bad ND options */ + uint64_t icp6s_badns; /* bad neighbor solicitation */ + uint64_t icp6s_badna; /* bad neighbor advertisement */ + uint64_t icp6s_badrs; /* bad router advertisement */ + uint64_t icp6s_badra; /* bad router advertisement */ + uint64_t icp6s_badredirect; /* bad redirect message */ }; #ifdef _KERNEL diff --git a/sys/netinet/ip_mroute.h b/sys/netinet/ip_mroute.h index e945b92..605b80d 100644 --- a/sys/netinet/ip_mroute.h +++ b/sys/netinet/ip_mroute.h @@ -206,19 +206,19 @@ struct bw_upcall { * The kernel's multicast routing statistics. */ struct mrtstat { - u_long mrts_mfc_lookups; /* # forw. cache hash table hits */ - u_long mrts_mfc_misses; /* # forw. cache hash table misses */ - u_long mrts_upcalls; /* # calls to multicast routing daemon */ - u_long mrts_no_route; /* no route for packet's origin */ - u_long mrts_bad_tunnel; /* malformed tunnel options */ - u_long mrts_cant_tunnel; /* no room for tunnel options */ - u_long mrts_wrong_if; /* arrived on wrong interface */ - u_long mrts_upq_ovflw; /* upcall Q overflow */ - u_long mrts_cache_cleanups; /* # entries with no upcalls */ - u_long mrts_drop_sel; /* pkts dropped selectively */ - u_long mrts_q_overflow; /* pkts dropped - Q overflow */ - u_long mrts_pkt2large; /* pkts dropped - size > BKT SIZE */ - u_long mrts_upq_sockfull; /* upcalls dropped - socket full */ + uint64_t mrts_mfc_lookups; /* # forw. cache hash table hits */ + uint64_t mrts_mfc_misses; /* # forw. cache hash table misses */ + uint64_t mrts_upcalls; /* # calls to multicast routing daemon */ + uint64_t mrts_no_route; /* no route for packet's origin */ + uint64_t mrts_bad_tunnel; /* malformed tunnel options */ + uint64_t mrts_cant_tunnel; /* no room for tunnel options */ + uint64_t mrts_wrong_if; /* arrived on wrong interface */ + uint64_t mrts_upq_ovflw; /* upcall Q overflow */ + uint64_t mrts_cache_cleanups; /* # entries with no upcalls */ + uint64_t mrts_drop_sel; /* pkts dropped selectively */ + uint64_t mrts_q_overflow; /* pkts dropped - Q overflow */ + uint64_t mrts_pkt2large; /* pkts dropped - size > BKT SIZE */ + uint64_t mrts_upq_sockfull; /* upcalls dropped - socket full */ }; #ifdef _KERNEL diff --git a/sys/netinet/pim_var.h b/sys/netinet/pim_var.h index 41657b6..a4ea234 100644 --- a/sys/netinet/pim_var.h +++ b/sys/netinet/pim_var.h @@ -46,17 +46,17 @@ * PIM statistics kept in the kernel */ struct pimstat { - u_quad_t pims_rcv_total_msgs; /* total PIM messages received */ - u_quad_t pims_rcv_total_bytes; /* total PIM bytes received */ - u_quad_t pims_rcv_tooshort; /* rcvd with too few bytes */ - u_quad_t pims_rcv_badsum; /* rcvd with bad checksum */ - u_quad_t pims_rcv_badversion; /* rcvd bad PIM version */ - u_quad_t pims_rcv_registers_msgs; /* rcvd regs. msgs (data only) */ - u_quad_t pims_rcv_registers_bytes; /* rcvd regs. bytes (data only) */ - u_quad_t pims_rcv_registers_wrongiif; /* rcvd regs. on wrong iif */ - u_quad_t pims_rcv_badregisters; /* rcvd invalid registers */ - u_quad_t pims_snd_registers_msgs; /* sent regs. msgs (data only) */ - u_quad_t pims_snd_registers_bytes; /* sent regs. bytes (data only) */ + uint64_t pims_rcv_total_msgs; /* total PIM messages received */ + uint64_t pims_rcv_total_bytes; /* total PIM bytes received */ + uint64_t pims_rcv_tooshort; /* rcvd with too few bytes */ + uint64_t pims_rcv_badsum; /* rcvd with bad checksum */ + uint64_t pims_rcv_badversion; /* rcvd bad PIM version */ + uint64_t pims_rcv_registers_msgs; /* rcvd regs. msgs (data only) */ + uint64_t pims_rcv_registers_bytes; /* rcvd regs. bytes (data only) */ + uint64_t pims_rcv_registers_wrongiif; /* rcvd regs. on wrong iif */ + uint64_t pims_rcv_badregisters; /* rcvd invalid registers */ + uint64_t pims_snd_registers_msgs; /* sent regs. msgs (data only) */ + uint64_t pims_snd_registers_bytes; /* sent regs. bytes (data only) */ }; #ifdef _KERNEL diff --git a/sys/netinet/udp_var.h b/sys/netinet/udp_var.h index e4a6668..53bbf1e 100644 --- a/sys/netinet/udp_var.h +++ b/sys/netinet/udp_var.h @@ -75,22 +75,22 @@ struct udpcb { struct udpstat { /* input statistics: */ - u_long udps_ipackets; /* total input packets */ - u_long udps_hdrops; /* packet shorter than header */ - u_long udps_badsum; /* checksum error */ - u_long udps_nosum; /* no checksum */ - u_long udps_badlen; /* data length larger than packet */ - u_long udps_noport; /* no socket on port */ - u_long udps_noportbcast; /* of above, arrived as broadcast */ - u_long udps_fullsock; /* not delivered, input socket full */ - u_long udpps_pcbcachemiss; /* input packets missing pcb cache */ - u_long udpps_pcbhashmiss; /* input packets not for hashed pcb */ + uint64_t udps_ipackets; /* total input packets */ + uint64_t udps_hdrops; /* packet shorter than header */ + uint64_t udps_badsum; /* checksum error */ + uint64_t udps_nosum; /* no checksum */ + uint64_t udps_badlen; /* data length larger than packet */ + uint64_t udps_noport; /* no socket on port */ + uint64_t udps_noportbcast; /* of above, arrived as broadcast */ + uint64_t udps_fullsock; /* not delivered, input socket full */ + uint64_t udpps_pcbcachemiss; /* input packets missing pcb cache */ + uint64_t udpps_pcbhashmiss; /* input packets not for hashed pcb */ /* output statistics: */ - u_long udps_opackets; /* total output packets */ - u_long udps_fastout; /* output packets on fast path */ + uint64_t udps_opackets; /* total output packets */ + uint64_t udps_fastout; /* output packets on fast path */ /* of no socket on port, arrived as multicast */ - u_long udps_noportmcast; - u_long udps_filtermcast; /* blocked by multicast filter */ + uint64_t udps_noportmcast; + uint64_t udps_filtermcast; /* blocked by multicast filter */ }; #ifdef _KERNEL diff --git a/sys/netinet6/in6_var.h b/sys/netinet6/in6_var.h index b3f7218..1afb7ea 100644 --- a/sys/netinet6/in6_var.h +++ b/sys/netinet6/in6_var.h @@ -153,37 +153,37 @@ struct in6_addrpolicy { * IPv6 interface statistics, as defined in RFC2465 Ipv6IfStatsEntry (p12). */ struct in6_ifstat { - u_quad_t ifs6_in_receive; /* # of total input datagram */ - u_quad_t ifs6_in_hdrerr; /* # of datagrams with invalid hdr */ - u_quad_t ifs6_in_toobig; /* # of datagrams exceeded MTU */ - u_quad_t ifs6_in_noroute; /* # of datagrams with no route */ - u_quad_t ifs6_in_addrerr; /* # of datagrams with invalid dst */ - u_quad_t ifs6_in_protounknown; /* # of datagrams with unknown proto */ + uint64_t ifs6_in_receive; /* # of total input datagram */ + uint64_t ifs6_in_hdrerr; /* # of datagrams with invalid hdr */ + uint64_t ifs6_in_toobig; /* # of datagrams exceeded MTU */ + uint64_t ifs6_in_noroute; /* # of datagrams with no route */ + uint64_t ifs6_in_addrerr; /* # of datagrams with invalid dst */ + uint64_t ifs6_in_protounknown; /* # of datagrams with unknown proto */ /* NOTE: increment on final dst if */ - u_quad_t ifs6_in_truncated; /* # of truncated datagrams */ - u_quad_t ifs6_in_discard; /* # of discarded datagrams */ + uint64_t ifs6_in_truncated; /* # of truncated datagrams */ + uint64_t ifs6_in_discard; /* # of discarded datagrams */ /* NOTE: fragment timeout is not here */ - u_quad_t ifs6_in_deliver; /* # of datagrams delivered to ULP */ + uint64_t ifs6_in_deliver; /* # of datagrams delivered to ULP */ /* NOTE: increment on final dst if */ - u_quad_t ifs6_out_forward; /* # of datagrams forwarded */ + uint64_t ifs6_out_forward; /* # of datagrams forwarded */ /* NOTE: increment on outgoing if */ - u_quad_t ifs6_out_request; /* # of outgoing datagrams from ULP */ + uint64_t ifs6_out_request; /* # of outgoing datagrams from ULP */ /* NOTE: does not include forwrads */ - u_quad_t ifs6_out_discard; /* # of discarded datagrams */ - u_quad_t ifs6_out_fragok; /* # of datagrams fragmented */ - u_quad_t ifs6_out_fragfail; /* # of datagrams failed on fragment */ - u_quad_t ifs6_out_fragcreat; /* # of fragment datagrams */ + uint64_t ifs6_out_discard; /* # of discarded datagrams */ + uint64_t ifs6_out_fragok; /* # of datagrams fragmented */ + uint64_t ifs6_out_fragfail; /* # of datagrams failed on fragment */ + uint64_t ifs6_out_fragcreat; /* # of fragment datagrams */ /* NOTE: this is # after fragment */ - u_quad_t ifs6_reass_reqd; /* # of incoming fragmented packets */ + uint64_t ifs6_reass_reqd; /* # of incoming fragmented packets */ /* NOTE: increment on final dst if */ - u_quad_t ifs6_reass_ok; /* # of reassembled packets */ + uint64_t ifs6_reass_ok; /* # of reassembled packets */ /* NOTE: this is # after reass */ /* NOTE: increment on final dst if */ - u_quad_t ifs6_reass_fail; /* # of reass failures */ + uint64_t ifs6_reass_fail; /* # of reass failures */ /* NOTE: may not be packet count */ /* NOTE: increment on final dst if */ - u_quad_t ifs6_in_mcast; /* # of inbound multicast datagrams */ - u_quad_t ifs6_out_mcast; /* # of outbound multicast datagrams */ + uint64_t ifs6_in_mcast; /* # of inbound multicast datagrams */ + uint64_t ifs6_out_mcast; /* # of outbound multicast datagrams */ }; /* @@ -195,77 +195,77 @@ struct icmp6_ifstat { * Input statistics */ /* ipv6IfIcmpInMsgs, total # of input messages */ - u_quad_t ifs6_in_msg; + uint64_t ifs6_in_msg; /* ipv6IfIcmpInErrors, # of input error messages */ - u_quad_t ifs6_in_error; + uint64_t ifs6_in_error; /* ipv6IfIcmpInDestUnreachs, # of input dest unreach errors */ - u_quad_t ifs6_in_dstunreach; + uint64_t ifs6_in_dstunreach; /* ipv6IfIcmpInAdminProhibs, # of input administratively prohibited errs */ - u_quad_t ifs6_in_adminprohib; + uint64_t ifs6_in_adminprohib; /* ipv6IfIcmpInTimeExcds, # of input time exceeded errors */ - u_quad_t ifs6_in_timeexceed; + uint64_t ifs6_in_timeexceed; /* ipv6IfIcmpInParmProblems, # of input parameter problem errors */ - u_quad_t ifs6_in_paramprob; + uint64_t ifs6_in_paramprob; /* ipv6IfIcmpInPktTooBigs, # of input packet too big errors */ - u_quad_t ifs6_in_pkttoobig; + uint64_t ifs6_in_pkttoobig; /* ipv6IfIcmpInEchos, # of input echo requests */ - u_quad_t ifs6_in_echo; + uint64_t ifs6_in_echo; /* ipv6IfIcmpInEchoReplies, # of input echo replies */ - u_quad_t ifs6_in_echoreply; + uint64_t ifs6_in_echoreply; /* ipv6IfIcmpInRouterSolicits, # of input router solicitations */ - u_quad_t ifs6_in_routersolicit; + uint64_t ifs6_in_routersolicit; /* ipv6IfIcmpInRouterAdvertisements, # of input router advertisements */ - u_quad_t ifs6_in_routeradvert; + uint64_t ifs6_in_routeradvert; /* ipv6IfIcmpInNeighborSolicits, # of input neighbor solicitations */ - u_quad_t ifs6_in_neighborsolicit; + uint64_t ifs6_in_neighborsolicit; /* ipv6IfIcmpInNeighborAdvertisements, # of input neighbor advertisements */ - u_quad_t ifs6_in_neighboradvert; + uint64_t ifs6_in_neighboradvert; /* ipv6IfIcmpInRedirects, # of input redirects */ - u_quad_t ifs6_in_redirect; + uint64_t ifs6_in_redirect; /* ipv6IfIcmpInGroupMembQueries, # of input MLD queries */ - u_quad_t ifs6_in_mldquery; + uint64_t ifs6_in_mldquery; /* ipv6IfIcmpInGroupMembResponses, # of input MLD reports */ - u_quad_t ifs6_in_mldreport; + uint64_t ifs6_in_mldreport; /* ipv6IfIcmpInGroupMembReductions, # of input MLD done */ - u_quad_t ifs6_in_mlddone; + uint64_t ifs6_in_mlddone; /* * Output statistics. We should solve unresolved routing problem... */ /* ipv6IfIcmpOutMsgs, total # of output messages */ - u_quad_t ifs6_out_msg; + uint64_t ifs6_out_msg; /* ipv6IfIcmpOutErrors, # of output error messages */ - u_quad_t ifs6_out_error; + uint64_t ifs6_out_error; /* ipv6IfIcmpOutDestUnreachs, # of output dest unreach errors */ - u_quad_t ifs6_out_dstunreach; + uint64_t ifs6_out_dstunreach; /* ipv6IfIcmpOutAdminProhibs, # of output administratively prohibited errs */ - u_quad_t ifs6_out_adminprohib; + uint64_t ifs6_out_adminprohib; /* ipv6IfIcmpOutTimeExcds, # of output time exceeded errors */ - u_quad_t ifs6_out_timeexceed; + uint64_t ifs6_out_timeexceed; /* ipv6IfIcmpOutParmProblems, # of output parameter problem errors */ - u_quad_t ifs6_out_paramprob; + uint64_t ifs6_out_paramprob; /* ipv6IfIcmpOutPktTooBigs, # of output packet too big errors */ - u_quad_t ifs6_out_pkttoobig; + uint64_t ifs6_out_pkttoobig; /* ipv6IfIcmpOutEchos, # of output echo requests */ - u_quad_t ifs6_out_echo; + uint64_t ifs6_out_echo; /* ipv6IfIcmpOutEchoReplies, # of output echo replies */ - u_quad_t ifs6_out_echoreply; + uint64_t ifs6_out_echoreply; /* ipv6IfIcmpOutRouterSolicits, # of output router solicitations */ - u_quad_t ifs6_out_routersolicit; + uint64_t ifs6_out_routersolicit; /* ipv6IfIcmpOutRouterAdvertisements, # of output router advertisements */ - u_quad_t ifs6_out_routeradvert; + uint64_t ifs6_out_routeradvert; /* ipv6IfIcmpOutNeighborSolicits, # of output neighbor solicitations */ - u_quad_t ifs6_out_neighborsolicit; + uint64_t ifs6_out_neighborsolicit; /* ipv6IfIcmpOutNeighborAdvertisements, # of output neighbor advertisements */ - u_quad_t ifs6_out_neighboradvert; + uint64_t ifs6_out_neighboradvert; /* ipv6IfIcmpOutRedirects, # of output redirects */ - u_quad_t ifs6_out_redirect; + uint64_t ifs6_out_redirect; /* ipv6IfIcmpOutGroupMembQueries, # of output MLD queries */ - u_quad_t ifs6_out_mldquery; + uint64_t ifs6_out_mldquery; /* ipv6IfIcmpOutGroupMembResponses, # of output MLD reports */ - u_quad_t ifs6_out_mldreport; + uint64_t ifs6_out_mldreport; /* ipv6IfIcmpOutGroupMembReductions, # of output MLD done */ - u_quad_t ifs6_out_mlddone; + uint64_t ifs6_out_mlddone; }; struct in6_ifreq { diff --git a/sys/netinet6/ip6_mroute.h b/sys/netinet6/ip6_mroute.h index d2df0db..ed247dd 100644 --- a/sys/netinet6/ip6_mroute.h +++ b/sys/netinet6/ip6_mroute.h @@ -121,19 +121,19 @@ struct mf6cctl { * The kernel's multicast routing statistics. */ struct mrt6stat { - u_quad_t mrt6s_mfc_lookups; /* # forw. cache hash table hits */ - u_quad_t mrt6s_mfc_misses; /* # forw. cache hash table misses */ - u_quad_t mrt6s_upcalls; /* # calls to multicast routing daemon */ - u_quad_t mrt6s_no_route; /* no route for packet's origin */ - u_quad_t mrt6s_bad_tunnel; /* malformed tunnel options */ - u_quad_t mrt6s_cant_tunnel; /* no room for tunnel options */ - u_quad_t mrt6s_wrong_if; /* arrived on wrong interface */ - u_quad_t mrt6s_upq_ovflw; /* upcall Q overflow */ - u_quad_t mrt6s_cache_cleanups; /* # entries with no upcalls */ - u_quad_t mrt6s_drop_sel; /* pkts dropped selectively */ - u_quad_t mrt6s_q_overflow; /* pkts dropped - Q overflow */ - u_quad_t mrt6s_pkt2large; /* pkts dropped - size > BKT SIZE */ - u_quad_t mrt6s_upq_sockfull; /* upcalls dropped - socket full */ + uint64_t mrt6s_mfc_lookups; /* # forw. cache hash table hits */ + uint64_t mrt6s_mfc_misses; /* # forw. cache hash table misses */ + uint64_t mrt6s_upcalls; /* # calls to multicast routing daemon */ + uint64_t mrt6s_no_route; /* no route for packet's origin */ + uint64_t mrt6s_bad_tunnel; /* malformed tunnel options */ + uint64_t mrt6s_cant_tunnel; /* no room for tunnel options */ + uint64_t mrt6s_wrong_if; /* arrived on wrong interface */ + uint64_t mrt6s_upq_ovflw; /* upcall Q overflow */ + uint64_t mrt6s_cache_cleanups; /* # entries with no upcalls */ + uint64_t mrt6s_drop_sel; /* pkts dropped selectively */ + uint64_t mrt6s_q_overflow; /* pkts dropped - Q overflow */ + uint64_t mrt6s_pkt2large; /* pkts dropped - size > BKT SIZE */ + uint64_t mrt6s_upq_sockfull; /* upcalls dropped - socket full */ }; #ifdef MRT6_OINIT diff --git a/sys/netinet6/ip6_var.h b/sys/netinet6/ip6_var.h index 4a094d4..f7210ea 100644 --- a/sys/netinet6/ip6_var.h +++ b/sys/netinet6/ip6_var.h @@ -181,39 +181,39 @@ struct ip6_pktopts { */ struct ip6stat { - u_quad_t ip6s_total; /* total packets received */ - u_quad_t ip6s_tooshort; /* packet too short */ - u_quad_t ip6s_toosmall; /* not enough data */ - u_quad_t ip6s_fragments; /* fragments received */ - u_quad_t ip6s_fragdropped; /* frags dropped(dups, out of space) */ - u_quad_t ip6s_fragtimeout; /* fragments timed out */ - u_quad_t ip6s_fragoverflow; /* fragments that exceeded limit */ - u_quad_t ip6s_forward; /* packets forwarded */ - u_quad_t ip6s_cantforward; /* packets rcvd for unreachable dest */ - u_quad_t ip6s_redirectsent; /* packets forwarded on same net */ - u_quad_t ip6s_delivered; /* datagrams delivered to upper level*/ - u_quad_t ip6s_localout; /* total ip packets generated here */ - u_quad_t ip6s_odropped; /* lost packets due to nobufs, etc. */ - u_quad_t ip6s_reassembled; /* total packets reassembled ok */ - u_quad_t ip6s_fragmented; /* datagrams successfully fragmented */ - u_quad_t ip6s_ofragments; /* output fragments created */ - u_quad_t ip6s_cantfrag; /* don't fragment flag was set, etc. */ - u_quad_t ip6s_badoptions; /* error in option processing */ - u_quad_t ip6s_noroute; /* packets discarded due to no route */ - u_quad_t ip6s_badvers; /* ip6 version != 6 */ - u_quad_t ip6s_rawout; /* total raw ip packets generated */ - u_quad_t ip6s_badscope; /* scope error */ - u_quad_t ip6s_notmember; /* don't join this multicast group */ + uint64_t ip6s_total; /* total packets received */ + uint64_t ip6s_tooshort; /* packet too short */ + uint64_t ip6s_toosmall; /* not enough data */ + uint64_t ip6s_fragments; /* fragments received */ + uint64_t ip6s_fragdropped; /* frags dropped(dups, out of space) */ + uint64_t ip6s_fragtimeout; /* fragments timed out */ + uint64_t ip6s_fragoverflow; /* fragments that exceeded limit */ + uint64_t ip6s_forward; /* packets forwarded */ + uint64_t ip6s_cantforward; /* packets rcvd for unreachable dest */ + uint64_t ip6s_redirectsent; /* packets forwarded on same net */ + uint64_t ip6s_delivered; /* datagrams delivered to upper level*/ + uint64_t ip6s_localout; /* total ip packets generated here */ + uint64_t ip6s_odropped; /* lost packets due to nobufs, etc. */ + uint64_t ip6s_reassembled; /* total packets reassembled ok */ + uint64_t ip6s_fragmented; /* datagrams successfully fragmented */ + uint64_t ip6s_ofragments; /* output fragments created */ + uint64_t ip6s_cantfrag; /* don't fragment flag was set, etc. */ + uint64_t ip6s_badoptions; /* error in option processing */ + uint64_t ip6s_noroute; /* packets discarded due to no route */ + uint64_t ip6s_badvers; /* ip6 version != 6 */ + uint64_t ip6s_rawout; /* total raw ip packets generated */ + uint64_t ip6s_badscope; /* scope error */ + uint64_t ip6s_notmember; /* don't join this multicast group */ #define IP6S_HDRCNT 256 /* headers count */ - u_quad_t ip6s_nxthist[IP6S_HDRCNT]; /* next header history */ - u_quad_t ip6s_m1; /* one mbuf */ + uint64_t ip6s_nxthist[IP6S_HDRCNT]; /* next header history */ + uint64_t ip6s_m1; /* one mbuf */ #define IP6S_M2MMAX 32 - u_quad_t ip6s_m2m[IP6S_M2MMAX]; /* two or more mbuf */ - u_quad_t ip6s_mext1; /* one ext mbuf */ - u_quad_t ip6s_mext2m; /* two or more ext mbuf */ - u_quad_t ip6s_exthdrtoolong; /* ext hdr are not contiguous */ - u_quad_t ip6s_nogif; /* no match gif found */ - u_quad_t ip6s_toomanyhdr; /* discarded due to too many headers */ + uint64_t ip6s_m2m[IP6S_M2MMAX]; /* two or more mbuf */ + uint64_t ip6s_mext1; /* one ext mbuf */ + uint64_t ip6s_mext2m; /* two or more ext mbuf */ + uint64_t ip6s_exthdrtoolong; /* ext hdr are not contiguous */ + uint64_t ip6s_nogif; /* no match gif found */ + uint64_t ip6s_toomanyhdr; /* discarded due to too many headers */ /* * statistics for improvement of the source address selection @@ -223,26 +223,26 @@ struct ip6stat { #define IP6S_RULESMAX 16 #define IP6S_SCOPECNT 16 /* number of times that address selection fails */ - u_quad_t ip6s_sources_none; + uint64_t ip6s_sources_none; /* number of times that an address on the outgoing I/F is chosen */ - u_quad_t ip6s_sources_sameif[IP6S_SCOPECNT]; + uint64_t ip6s_sources_sameif[IP6S_SCOPECNT]; /* number of times that an address on a non-outgoing I/F is chosen */ - u_quad_t ip6s_sources_otherif[IP6S_SCOPECNT]; + uint64_t ip6s_sources_otherif[IP6S_SCOPECNT]; /* * number of times that an address that has the same scope * from the destination is chosen. */ - u_quad_t ip6s_sources_samescope[IP6S_SCOPECNT]; + uint64_t ip6s_sources_samescope[IP6S_SCOPECNT]; /* * number of times that an address that has a different scope * from the destination is chosen. */ - u_quad_t ip6s_sources_otherscope[IP6S_SCOPECNT]; + uint64_t ip6s_sources_otherscope[IP6S_SCOPECNT]; /* number of times that a deprecated address is chosen */ - u_quad_t ip6s_sources_deprecated[IP6S_SCOPECNT]; + uint64_t ip6s_sources_deprecated[IP6S_SCOPECNT]; /* number of times that each rule of source selection is applied. */ - u_quad_t ip6s_sources_rule[IP6S_RULESMAX]; + uint64_t ip6s_sources_rule[IP6S_RULESMAX]; }; #ifdef _KERNEL diff --git a/sys/netinet6/pim6_var.h b/sys/netinet6/pim6_var.h index 060836b..4157e84 100644 --- a/sys/netinet6/pim6_var.h +++ b/sys/netinet6/pim6_var.h @@ -42,13 +42,13 @@ #define _NETINET6_PIM6_VAR_H_ struct pim6stat { - u_quad_t pim6s_rcv_total; /* total PIM messages received */ - u_quad_t pim6s_rcv_tooshort; /* received with too few bytes */ - u_quad_t pim6s_rcv_badsum; /* received with bad checksum */ - u_quad_t pim6s_rcv_badversion; /* received bad PIM version */ - u_quad_t pim6s_rcv_registers; /* received registers */ - u_quad_t pim6s_rcv_badregisters; /* received invalid registers */ - u_quad_t pim6s_snd_registers; /* sent registers */ + uint64_t pim6s_rcv_total; /* total PIM messages received */ + uint64_t pim6s_rcv_tooshort; /* received with too few bytes */ + uint64_t pim6s_rcv_badsum; /* received with bad checksum */ + uint64_t pim6s_rcv_badversion; /* received bad PIM version */ + uint64_t pim6s_rcv_registers; /* received registers */ + uint64_t pim6s_rcv_badregisters; /* received invalid registers */ + uint64_t pim6s_snd_registers; /* sent registers */ }; #if (defined(KERNEL)) || (defined(_KERNEL)) diff --git a/sys/netinet6/raw_ip6.h b/sys/netinet6/raw_ip6.h index cc4bcdd..265d578 100644 --- a/sys/netinet6/raw_ip6.h +++ b/sys/netinet6/raw_ip6.h @@ -37,14 +37,14 @@ * ICMPv6 stat is counted separately. see netinet/icmp6.h */ struct rip6stat { - u_quad_t rip6s_ipackets; /* total input packets */ - u_quad_t rip6s_isum; /* input checksum computations */ - u_quad_t rip6s_badsum; /* of above, checksum error */ - u_quad_t rip6s_nosock; /* no matching socket */ - u_quad_t rip6s_nosockmcast; /* of above, arrived as multicast */ - u_quad_t rip6s_fullsock; /* not delivered, input socket full */ + uint64_t rip6s_ipackets; /* total input packets */ + uint64_t rip6s_isum; /* input checksum computations */ + uint64_t rip6s_badsum; /* of above, checksum error */ + uint64_t rip6s_nosock; /* no matching socket */ + uint64_t rip6s_nosockmcast; /* of above, arrived as multicast */ + uint64_t rip6s_fullsock; /* not delivered, input socket full */ - u_quad_t rip6s_opackets; /* total output packets */ + uint64_t rip6s_opackets; /* total output packets */ }; #ifdef _KERNEL diff --git a/sys/netipsec/ah_var.h b/sys/netipsec/ah_var.h index 812fe2d..96cc271 100644 --- a/sys/netipsec/ah_var.h +++ b/sys/netipsec/ah_var.h @@ -48,26 +48,26 @@ #define AH_ALG_MAX 16 struct ahstat { - u_int32_t ahs_hdrops; /* Packet shorter than header shows */ - u_int32_t ahs_nopf; /* Protocol family not supported */ - u_int32_t ahs_notdb; - u_int32_t ahs_badkcr; - u_int32_t ahs_badauth; - u_int32_t ahs_noxform; - u_int32_t ahs_qfull; - u_int32_t ahs_wrap; - u_int32_t ahs_replay; - u_int32_t ahs_badauthl; /* Bad authenticator length */ - u_int32_t ahs_input; /* Input AH packets */ - u_int32_t ahs_output; /* Output AH packets */ - u_int32_t ahs_invalid; /* Trying to use an invalid TDB */ - u_int64_t ahs_ibytes; /* Input bytes */ - u_int64_t ahs_obytes; /* Output bytes */ - u_int32_t ahs_toobig; /* Packet got larger than IP_MAXPACKET */ - u_int32_t ahs_pdrops; /* Packet blocked due to policy */ - u_int32_t ahs_crypto; /* Crypto processing failure */ - u_int32_t ahs_tunnel; /* Tunnel sanity check failure */ - u_int32_t ahs_hist[AH_ALG_MAX]; /* Per-algorithm op count */ + uint64_t ahs_hdrops; /* Packet shorter than header shows */ + uint64_t ahs_nopf; /* Protocol family not supported */ + uint64_t ahs_notdb; + uint64_t ahs_badkcr; + uint64_t ahs_badauth; + uint64_t ahs_noxform; + uint64_t ahs_qfull; + uint64_t ahs_wrap; + uint64_t ahs_replay; + uint64_t ahs_badauthl; /* Bad authenticator length */ + uint64_t ahs_input; /* Input AH packets */ + uint64_t ahs_output; /* Output AH packets */ + uint64_t ahs_invalid; /* Trying to use an invalid TDB */ + uint64_t ahs_ibytes; /* Input bytes */ + uint64_t ahs_obytes; /* Output bytes */ + uint64_t ahs_toobig; /* Packet got larger than IP_MAXPACKET */ + uint64_t ahs_pdrops; /* Packet blocked due to policy */ + uint64_t ahs_crypto; /* Crypto processing failure */ + uint64_t ahs_tunnel; /* Tunnel sanity check failure */ + uint64_t ahs_hist[AH_ALG_MAX]; /* Per-algorithm op count */ }; #ifdef _KERNEL diff --git a/sys/netipsec/esp_var.h b/sys/netipsec/esp_var.h index c613361..46d45df 100644 --- a/sys/netipsec/esp_var.h +++ b/sys/netipsec/esp_var.h @@ -48,27 +48,27 @@ #define ESP_ALG_MAX 256 /* NB: could be < but skipjack is 249 */ struct espstat { - u_int32_t esps_hdrops; /* Packet shorter than header shows */ - u_int32_t esps_nopf; /* Protocol family not supported */ - u_int32_t esps_notdb; - u_int32_t esps_badkcr; - u_int32_t esps_qfull; - u_int32_t esps_noxform; - u_int32_t esps_badilen; - u_int32_t esps_wrap; /* Replay counter wrapped around */ - u_int32_t esps_badenc; /* Bad encryption detected */ - u_int32_t esps_badauth; /* Only valid for transforms with auth */ - u_int32_t esps_replay; /* Possible packet replay detected */ - u_int32_t esps_input; /* Input ESP packets */ - u_int32_t esps_output; /* Output ESP packets */ - u_int32_t esps_invalid; /* Trying to use an invalid TDB */ - u_int64_t esps_ibytes; /* Input bytes */ - u_int64_t esps_obytes; /* Output bytes */ - u_int32_t esps_toobig; /* Packet got larger than IP_MAXPACKET */ - u_int32_t esps_pdrops; /* Packet blocked due to policy */ - u_int32_t esps_crypto; /* Crypto processing failure */ - u_int32_t esps_tunnel; /* Tunnel sanity check failure */ - u_int32_t esps_hist[ESP_ALG_MAX]; /* Per-algorithm op count */ + uint64_t esps_hdrops; /* Packet shorter than header shows */ + uint64_t esps_nopf; /* Protocol family not supported */ + uint64_t esps_notdb; + uint64_t esps_badkcr; + uint64_t esps_qfull; + uint64_t esps_noxform; + uint64_t esps_badilen; + uint64_t esps_wrap; /* Replay counter wrapped around */ + uint64_t esps_badenc; /* Bad encryption detected */ + uint64_t esps_badauth; /* Only valid for transforms with auth */ + uint64_t esps_replay; /* Possible packet replay detected */ + uint64_t esps_input; /* Input ESP packets */ + uint64_t esps_output; /* Output ESP packets */ + uint64_t esps_invalid; /* Trying to use an invalid TDB */ + uint64_t esps_ibytes; /* Input bytes */ + uint64_t esps_obytes; /* Output bytes */ + uint64_t esps_toobig; /* Packet got larger than IP_MAXPACKET */ + uint64_t esps_pdrops; /* Packet blocked due to policy */ + uint64_t esps_crypto; /* Crypto processing failure */ + uint64_t esps_tunnel; /* Tunnel sanity check failure */ + uint64_t esps_hist[ESP_ALG_MAX]; /* Per-algorithm op count */ }; #ifdef _KERNEL diff --git a/sys/netipsec/ipcomp_var.h b/sys/netipsec/ipcomp_var.h index ee15598..fa1f9f1 100644 --- a/sys/netipsec/ipcomp_var.h +++ b/sys/netipsec/ipcomp_var.h @@ -41,27 +41,26 @@ */ #define IPCOMP_ALG_MAX 8 -#define IPCOMPSTAT_VERSION 1 +#define IPCOMPSTAT_VERSION 2 struct ipcompstat { - u_int32_t ipcomps_hdrops; /* Packet shorter than header shows */ - u_int32_t ipcomps_nopf; /* Protocol family not supported */ - u_int32_t ipcomps_notdb; - u_int32_t ipcomps_badkcr; - u_int32_t ipcomps_qfull; - u_int32_t ipcomps_noxform; - u_int32_t ipcomps_wrap; - u_int32_t ipcomps_input; /* Input IPcomp packets */ - u_int32_t ipcomps_output; /* Output IPcomp packets */ - u_int32_t ipcomps_invalid;/* Trying to use an invalid TDB */ - u_int64_t ipcomps_ibytes; /* Input bytes */ - u_int64_t ipcomps_obytes; /* Output bytes */ - u_int32_t ipcomps_toobig; /* Packet got > IP_MAXPACKET */ - u_int32_t ipcomps_pdrops; /* Packet blocked due to policy */ - u_int32_t ipcomps_crypto; /* "Crypto" processing failure */ - u_int32_t ipcomps_hist[IPCOMP_ALG_MAX];/* Per-algorithm op count */ - u_int32_t version; /* Version of this structure. */ - u_int32_t ipcomps_threshold; /* Packet < comp. algo. threshold. */ - u_int32_t ipcomps_uncompr; /* Compression was useles. */ + uint64_t ipcomps_hdrops; /* Packet shorter than header shows */ + uint64_t ipcomps_nopf; /* Protocol family not supported */ + uint64_t ipcomps_notdb; + uint64_t ipcomps_badkcr; + uint64_t ipcomps_qfull; + uint64_t ipcomps_noxform; + uint64_t ipcomps_wrap; + uint64_t ipcomps_input; /* Input IPcomp packets */ + uint64_t ipcomps_output; /* Output IPcomp packets */ + uint64_t ipcomps_invalid;/* Trying to use an invalid TDB */ + uint64_t ipcomps_ibytes; /* Input bytes */ + uint64_t ipcomps_obytes; /* Output bytes */ + uint64_t ipcomps_toobig; /* Packet got > IP_MAXPACKET */ + uint64_t ipcomps_pdrops; /* Packet blocked due to policy */ + uint64_t ipcomps_crypto; /* "Crypto" processing failure */ + uint64_t ipcomps_hist[IPCOMP_ALG_MAX];/* Per-algorithm op count */ + uint64_t ipcomps_threshold; /* Packet < comp. algo. threshold. */ + uint64_t ipcomps_uncompr; /* Compression was useles. */ }; #ifdef _KERNEL diff --git a/sys/netipsec/ipip_var.h b/sys/netipsec/ipip_var.h index 415d5c1..2ad2fb1 100644 --- a/sys/netipsec/ipip_var.h +++ b/sys/netipsec/ipip_var.h @@ -44,18 +44,17 @@ * Not quite all the functionality of RFC-1853, but the main idea is there. */ -struct ipipstat -{ - u_int32_t ipips_ipackets; /* total input packets */ - u_int32_t ipips_opackets; /* total output packets */ - u_int32_t ipips_hdrops; /* packet shorter than header shows */ - u_int32_t ipips_qfull; - u_int64_t ipips_ibytes; - u_int64_t ipips_obytes; - u_int32_t ipips_pdrops; /* packet dropped due to policy */ - u_int32_t ipips_spoof; /* IP spoofing attempts */ - u_int32_t ipips_family; /* Protocol family mismatch */ - u_int32_t ipips_unspec; /* Missing tunnel endpoint address */ +struct ipipstat { + uint64_t ipips_ipackets; /* total input packets */ + uint64_t ipips_opackets; /* total output packets */ + uint64_t ipips_hdrops; /* packet shorter than header shows */ + uint64_t ipips_qfull; + uint64_t ipips_ibytes; + uint64_t ipips_obytes; + uint64_t ipips_pdrops; /* packet dropped due to policy */ + uint64_t ipips_spoof; /* IP spoofing attempts */ + uint64_t ipips_family; /* Protocol family mismatch */ + uint64_t ipips_unspec; /* Missing tunnel endpoint address */ }; #ifdef _KERNEL diff --git a/sys/netipsec/ipsec.h b/sys/netipsec/ipsec.h index ad22250..4c198f6 100644 --- a/sys/netipsec/ipsec.h +++ b/sys/netipsec/ipsec.h @@ -217,54 +217,54 @@ struct secspacq { /* statistics for ipsec processing */ struct ipsecstat { - u_quad_t in_success; /* succeeded inbound process */ - u_quad_t in_polvio; + uint64_t in_success; /* succeeded inbound process */ + uint64_t in_polvio; /* security policy violation for inbound process */ - u_quad_t in_nosa; /* inbound SA is unavailable */ - u_quad_t in_inval; /* inbound processing failed due to EINVAL */ - u_quad_t in_nomem; /* inbound processing failed due to ENOBUFS */ - u_quad_t in_badspi; /* failed getting a SPI */ - u_quad_t in_ahreplay; /* AH replay check failed */ - u_quad_t in_espreplay; /* ESP replay check failed */ - u_quad_t in_ahauthsucc; /* AH authentication success */ - u_quad_t in_ahauthfail; /* AH authentication failure */ - u_quad_t in_espauthsucc; /* ESP authentication success */ - u_quad_t in_espauthfail; /* ESP authentication failure */ - u_quad_t in_esphist[256]; - u_quad_t in_ahhist[256]; - u_quad_t in_comphist[256]; - u_quad_t out_success; /* succeeded outbound process */ - u_quad_t out_polvio; + uint64_t in_nosa; /* inbound SA is unavailable */ + uint64_t in_inval; /* inbound processing failed due to EINVAL */ + uint64_t in_nomem; /* inbound processing failed due to ENOBUFS */ + uint64_t in_badspi; /* failed getting a SPI */ + uint64_t in_ahreplay; /* AH replay check failed */ + uint64_t in_espreplay; /* ESP replay check failed */ + uint64_t in_ahauthsucc; /* AH authentication success */ + uint64_t in_ahauthfail; /* AH authentication failure */ + uint64_t in_espauthsucc; /* ESP authentication success */ + uint64_t in_espauthfail; /* ESP authentication failure */ + uint64_t in_esphist[256]; + uint64_t in_ahhist[256]; + uint64_t in_comphist[256]; + uint64_t out_success; /* succeeded outbound process */ + uint64_t out_polvio; /* security policy violation for outbound process */ - u_quad_t out_nosa; /* outbound SA is unavailable */ - u_quad_t out_inval; /* outbound process failed due to EINVAL */ - u_quad_t out_nomem; /* inbound processing failed due to ENOBUFS */ - u_quad_t out_noroute; /* there is no route */ - u_quad_t out_esphist[256]; - u_quad_t out_ahhist[256]; - u_quad_t out_comphist[256]; - - u_quad_t spdcachelookup; - u_quad_t spdcachemiss; - - u_int32_t ips_in_polvio; /* input: sec policy violation */ - u_int32_t ips_out_polvio; /* output: sec policy violation */ - u_int32_t ips_out_nosa; /* output: SA unavailable */ - u_int32_t ips_out_nomem; /* output: no memory available */ - u_int32_t ips_out_noroute; /* output: no route available */ - u_int32_t ips_out_inval; /* output: generic error */ - u_int32_t ips_out_bundlesa; /* output: bundled SA processed */ - u_int32_t ips_mbcoalesced; /* mbufs coalesced during clone */ - u_int32_t ips_clcoalesced; /* clusters coalesced during clone */ - u_int32_t ips_clcopied; /* clusters copied during clone */ - u_int32_t ips_mbinserted; /* mbufs inserted during makespace */ + uint64_t out_nosa; /* outbound SA is unavailable */ + uint64_t out_inval; /* outbound process failed due to EINVAL */ + uint64_t out_nomem; /* inbound processing failed due to ENOBUFS */ + uint64_t out_noroute; /* there is no route */ + uint64_t out_esphist[256]; + uint64_t out_ahhist[256]; + uint64_t out_comphist[256]; + + uint64_t spdcachelookup; + uint64_t spdcachemiss; + + uint64_t ips_in_polvio; /* input: sec policy violation */ + uint64_t ips_out_polvio; /* output: sec policy violation */ + uint64_t ips_out_nosa; /* output: SA unavailable */ + uint64_t ips_out_nomem; /* output: no memory available */ + uint64_t ips_out_noroute; /* output: no route available */ + uint64_t ips_out_inval; /* output: generic error */ + uint64_t ips_out_bundlesa; /* output: bundled SA processed */ + uint64_t ips_mbcoalesced; /* mbufs coalesced during clone */ + uint64_t ips_clcoalesced; /* clusters coalesced during clone */ + uint64_t ips_clcopied; /* clusters copied during clone */ + uint64_t ips_mbinserted; /* mbufs inserted during makespace */ /* * Temporary statistics for performance analysis. */ /* See where ESP/AH/IPCOMP header land in mbuf on input */ - u_int32_t ips_input_front; - u_int32_t ips_input_middle; - u_int32_t ips_input_end; + uint64_t ips_input_front; + uint64_t ips_input_middle; + uint64_t ips_input_end; }; /* diff --git a/sys/netipsec/keysock.h b/sys/netipsec/keysock.h index 6039dbb..9479bb1 100644 --- a/sys/netipsec/keysock.h +++ b/sys/netipsec/keysock.h @@ -36,26 +36,26 @@ /* statistics for pfkey socket */ struct pfkeystat { /* kernel -> userland */ - u_quad_t out_total; /* # of total calls */ - u_quad_t out_bytes; /* total bytecount */ - u_quad_t out_msgtype[256]; /* message type histogram */ - u_quad_t out_invlen; /* invalid length field */ - u_quad_t out_invver; /* invalid version field */ - u_quad_t out_invmsgtype; /* invalid message type field */ - u_quad_t out_tooshort; /* msg too short */ - u_quad_t out_nomem; /* memory allocation failure */ - u_quad_t out_dupext; /* duplicate extension */ - u_quad_t out_invexttype; /* invalid extension type */ - u_quad_t out_invsatype; /* invalid sa type */ - u_quad_t out_invaddr; /* invalid address extension */ + uint64_t out_total; /* # of total calls */ + uint64_t out_bytes; /* total bytecount */ + uint64_t out_msgtype[256]; /* message type histogram */ + uint64_t out_invlen; /* invalid length field */ + uint64_t out_invver; /* invalid version field */ + uint64_t out_invmsgtype; /* invalid message type field */ + uint64_t out_tooshort; /* msg too short */ + uint64_t out_nomem; /* memory allocation failure */ + uint64_t out_dupext; /* duplicate extension */ + uint64_t out_invexttype; /* invalid extension type */ + uint64_t out_invsatype; /* invalid sa type */ + uint64_t out_invaddr; /* invalid address extension */ /* userland -> kernel */ - u_quad_t in_total; /* # of total calls */ - u_quad_t in_bytes; /* total bytecount */ - u_quad_t in_msgtype[256]; /* message type histogram */ - u_quad_t in_msgtarget[3]; /* one/all/registered */ - u_quad_t in_nomem; /* memory allocation failure */ + uint64_t in_total; /* # of total calls */ + uint64_t in_bytes; /* total bytecount */ + uint64_t in_msgtype[256]; /* message type histogram */ + uint64_t in_msgtarget[3]; /* one/all/registered */ + uint64_t in_nomem; /* memory allocation failure */ /* others */ - u_quad_t sockerr; /* # of socket related errors */ + uint64_t sockerr; /* # of socket related errors */ }; #define KEY_SENDUP_ONE 0 diff --git a/sys/netipsec/xform_ipcomp.c b/sys/netipsec/xform_ipcomp.c index 8e8814a..ef248e0 100644 --- a/sys/netipsec/xform_ipcomp.c +++ b/sys/netipsec/xform_ipcomp.c @@ -636,8 +636,6 @@ static void vnet_ipcomp_attach(const void *unused __unused) { - /* XXX */ - V_ipcompstat.version = IPCOMPSTAT_VERSION; } VNET_SYSINIT(vnet_ipcomp_xform_init, SI_SUB_PROTO_DOMAIN, SI_ORDER_MIDDLE, diff --git a/tools/tools/crypto/ipsecstats.c b/tools/tools/crypto/ipsecstats.c index 6ecc1f4..7da16e5 100644 --- a/tools/tools/crypto/ipsecstats.c +++ b/tools/tools/crypto/ipsecstats.c @@ -82,7 +82,7 @@ algname(int a, const struct alg algs[], int nalgs) int main(int argc, char *argv[]) { -#define STAT(x,fmt) if (x) printf(fmt "\n", x) +#define STAT(x,fmt) if (x) printf(fmt "\n", (uintmax_t)x) struct ipsecstat ips; struct ahstat ahs; struct espstat esps; @@ -99,8 +99,7 @@ main(int argc, char *argv[]) if (sysctlbyname("net.inet.esp.stats", &esps, &slen, NULL, NULL) < 0) err(1, "net.inet.esp.stats"); -#define AHSTAT(x,fmt) if (x) printf("ah " fmt ": %u\n", x) -#define AHSTAT64(x,fmt) if (x) printf("ah " fmt ": %llu\n", x) +#define AHSTAT(x,fmt) if (x) printf("ah " fmt ": %ju\n", (uintmax_t)x) AHSTAT(ahs.ahs_input, "input packets processed"); AHSTAT(ahs.ahs_output, "output packets processed"); AHSTAT(ahs.ahs_hdrops, "headers too short"); @@ -120,17 +119,15 @@ main(int argc, char *argv[]) AHSTAT(ahs.ahs_tunnel, "tunnel sanity check failures"); for (i = 0; i < AH_ALG_MAX; i++) if (ahs.ahs_hist[i]) - printf("ah packets with %s: %u\n" + printf("ah packets with %s: %ju\n" , algname(i, aalgs, N(aalgs)) - , ahs.ahs_hist[i] + , (uintmax_t)ahs.ahs_hist[i] ); - AHSTAT64(ahs.ahs_ibytes, "bytes received"); - AHSTAT64(ahs.ahs_obytes, "bytes transmitted"); -#undef AHSTAT64 + AHSTAT(ahs.ahs_ibytes, "bytes received"); + AHSTAT(ahs.ahs_obytes, "bytes transmitted"); #undef AHSTAT -#define ESPSTAT(x,fmt) if (x) printf("esp " fmt ": %u\n", x) -#define ESPSTAT64(x,fmt) if (x) printf("esp " fmt ": %llu\n", x) +#define ESPSTAT(x,fmt) if (x) printf("esp " fmt ": %ju\n", (uintmax_t)x) ESPSTAT(esps.esps_input, "input packets processed"); ESPSTAT(esps.esps_output, "output packets processed"); ESPSTAT(esps.esps_hdrops, "headers too short"); @@ -151,29 +148,30 @@ main(int argc, char *argv[]) ESPSTAT(esps.esps_tunnel, "tunnel sanity check failures"); for (i = 0; i < ESP_ALG_MAX; i++) if (esps.esps_hist[i]) - printf("esp packets with %s: %u\n" + printf("esp packets with %s: %ju\n" , algname(i, espalgs, N(espalgs)) - , esps.esps_hist[i] + , (uintmax_t)esps.esps_hist[i] ); - ESPSTAT64(esps.esps_ibytes, "bytes received"); - ESPSTAT64(esps.esps_obytes, "bytes transmitted"); -#undef ESPSTAT64 + ESPSTAT(esps.esps_ibytes, "bytes received"); + ESPSTAT(esps.esps_obytes, "bytes transmitted"); #undef ESPSTAT printf("\n"); if (ips.ips_in_polvio+ips.ips_out_polvio) - printf("policy violations: input %u output %u\n", - ips.ips_in_polvio, ips.ips_out_polvio); - STAT(ips.ips_out_nosa, "no SA found %u (output)"); - STAT(ips.ips_out_nomem, "no memory available %u (output)"); - STAT(ips.ips_out_noroute, "no route available %u (output)"); - STAT(ips.ips_out_inval, "generic error %u (output)"); - STAT(ips.ips_out_bundlesa, "bundled SA processed %u (output)"); - printf("m_clone processing: %u mbufs + %u clusters coalesced\n", - ips.ips_mbcoalesced, ips.ips_clcoalesced); - printf("m_clone processing: %u clusters copied\n", ips.ips_clcopied); - printf("m_makespace: %u mbufs inserted\n", ips.ips_mbinserted); - printf("header position [front/middle/end]: %u/%u/%u\n", - ips.ips_input_front, ips.ips_input_middle, ips.ips_input_end); + printf("policy violations: input %ju output %ju\n", + (uintmax_t)ips.ips_in_polvio, + (uintmax_t)ips.ips_out_polvio); + STAT(ips.ips_out_nosa, "no SA found %ju (output)"); + STAT(ips.ips_out_nomem, "no memory available %ju (output)"); + STAT(ips.ips_out_noroute, "no route available %ju (output)"); + STAT(ips.ips_out_inval, "generic error %ju (output)"); + STAT(ips.ips_out_bundlesa, "bundled SA processed %ju (output)"); + printf("m_clone processing: %ju mbufs + %ju clusters coalesced\n", + (uintmax_t)ips.ips_mbcoalesced, (uintmax_t)ips.ips_clcoalesced); + STAT(ips.ips_clcopied, "m_clone processing: %ju clusters copied\n"); + STAT(ips.ips_mbinserted, "m_makespace: %ju mbufs inserted\n"); + printf("header position [front/middle/end]: %ju/%ju/%ju\n", + (uintmax_t)ips.ips_input_front, (uintmax_t)ips.ips_input_middle, + (uintmax_t)ips.ips_input_end); return 0; } diff --git a/usr.bin/netstat/inet.c b/usr.bin/netstat/inet.c index a04cc9a..c898775 100644 --- a/usr.bin/netstat/inet.c +++ b/usr.bin/netstat/inet.c @@ -743,7 +743,7 @@ udp_stats(u_long off, const char *name, int af1 __unused, int proto __unused) { struct udpstat udpstat, zerostat; size_t len = sizeof udpstat; - u_long delivered; + uint64_t delivered; #ifdef INET6 if (udp_done != 0) @@ -765,19 +765,19 @@ udp_stats(u_long off, const char *name, int af1 __unused, int proto __unused) printf("%s:\n", name); #define p(f, m) if (udpstat.f || sflag <= 1) \ - printf(m, udpstat.f, plural(udpstat.f)) + printf("\t%ju " m, (uintmax_t)udpstat.f, plural(udpstat.f)) #define p1a(f, m) if (udpstat.f || sflag <= 1) \ - printf(m, udpstat.f) - p(udps_ipackets, "\t%lu datagram%s received\n"); - p1a(udps_hdrops, "\t%lu with incomplete header\n"); - p1a(udps_badlen, "\t%lu with bad data length field\n"); - p1a(udps_badsum, "\t%lu with bad checksum\n"); - p1a(udps_nosum, "\t%lu with no checksum\n"); - p1a(udps_noport, "\t%lu dropped due to no socket\n"); + printf("\t%ju " m, (uintmax_t)udpstat.f) + p(udps_ipackets, "datagram%s received\n"); + p1a(udps_hdrops, "with incomplete header\n"); + p1a(udps_badlen, "with bad data length field\n"); + p1a(udps_badsum, "with bad checksum\n"); + p1a(udps_nosum, "with no checksum\n"); + p1a(udps_noport, "dropped due to no socket\n"); p(udps_noportbcast, - "\t%lu broadcast/multicast datagram%s undelivered\n"); - p1a(udps_fullsock, "\t%lu dropped due to full socket buffers\n"); - p1a(udpps_pcbhashmiss, "\t%lu not for hashed pcb\n"); + "broadcast/multicast datagram%s undelivered\n"); + p1a(udps_fullsock, "dropped due to full socket buffers\n"); + p1a(udpps_pcbhashmiss, "not for hashed pcb\n"); delivered = udpstat.udps_ipackets - udpstat.udps_hdrops - udpstat.udps_badlen - @@ -786,11 +786,11 @@ udp_stats(u_long off, const char *name, int af1 __unused, int proto __unused) udpstat.udps_noportbcast - udpstat.udps_fullsock; if (delivered || sflag <= 1) - printf("\t%lu delivered\n", delivered); - p(udps_opackets, "\t%lu datagram%s output\n"); + printf("\t%ju delivered\n", (uint64_t)delivered); + p(udps_opackets, "datagram%s output\n"); /* the next statistic is cumulative in udps_noportbcast */ p(udps_filtermcast, - "\t%lu time%s multicast source filter matched\n"); + "time%s multicast source filter matched\n"); #undef p #undef p1a } @@ -938,18 +938,18 @@ arp_stats(u_long off, const char *name, int af1 __unused, int proto __unused) printf("%s:\n", name); #define p(f, m) if (arpstat.f || sflag <= 1) \ - printf(m, arpstat.f, plural(arpstat.f)) + printf("\t%ju " m, (uintmax_t)arpstat.f, plural(arpstat.f)) #define p2(f, m) if (arpstat.f || sflag <= 1) \ - printf(m, arpstat.f, pluralies(arpstat.f)) - - p(txrequests, "\t%lu ARP request%s sent\n"); - p2(txreplies, "\t%lu ARP repl%s sent\n"); - p(rxrequests, "\t%lu ARP request%s received\n"); - p2(rxreplies, "\t%lu ARP repl%s received\n"); - p(received, "\t%lu ARP packet%s received\n"); - p(dropped, "\t%lu total packet%s dropped due to no ARP entry\n"); - p(timeouts, "\t%lu ARP entry%s timed out\n"); - p(dupips, "\t%lu Duplicate IP%s seen\n"); + printf("\t%ju " m, (uintmax_t)arpstat.f, pluralies(arpstat.f)) + + p(txrequests, "ARP request%s sent\n"); + p2(txreplies, "ARP repl%s sent\n"); + p(rxrequests, "ARP request%s received\n"); + p2(rxreplies, "ARP repl%s received\n"); + p(received, "ARP packet%s received\n"); + p(dropped, "total packet%s dropped due to no ARP entry\n"); + p(timeouts, "ARP entry%s timed out\n"); + p(dupips, "Duplicate IP%s seen\n"); #undef p #undef p2 } diff --git a/usr.bin/netstat/ipsec.c b/usr.bin/netstat/ipsec.c index 7b16f57..ad3c092 100644 --- a/usr.bin/netstat/ipsec.c +++ b/usr.bin/netstat/ipsec.c @@ -274,7 +274,7 @@ ipsec_stats(u_long off, const char *name, int af1 __unused, int proto __unused) } -static void ipsec_hist_new(const u_int32_t *hist, size_t histmax, +static void ipsec_hist_new(const uint64_t *hist, size_t histmax, const struct val2str *name, const char *title); static void print_ahstats(const struct ahstat *ahstat); static void print_espstats(const struct espstat *espstat); @@ -284,7 +284,7 @@ static void print_ipcompstats(const struct ipcompstat *ipcompstat); * Dump IPSEC statistics structure. */ static void -ipsec_hist_new(const u_int32_t *hist, size_t histmax, +ipsec_hist_new(const uint64_t *hist, size_t histmax, const struct val2str *name, const char *title) { int first; @@ -304,10 +304,11 @@ ipsec_hist_new(const u_int32_t *hist, size_t histmax, break; } if (p && p->str) { - printf("\t\t%s: %u\n", p->str, hist[proto]); + printf("\t\t%s: %ju\n", p->str, + (uintmax_t)hist[proto]); } else { - printf("\t\t#%lu: %u\n", (unsigned long)proto, - hist[proto]); + printf("\t\t#%lu: %ju\n", (unsigned long)proto, + (uintmax_t)hist[proto]); } } } @@ -315,36 +316,33 @@ ipsec_hist_new(const u_int32_t *hist, size_t histmax, static void print_ahstats(const struct ahstat *ahstat) { -#define p32(f, m) if (ahstat->f || sflag <= 1) \ - printf("\t%u" m, (unsigned int)ahstat->f, plural(ahstat->f)) -#define p64(f, m) if (ahstat->f || sflag <= 1) \ +#define p(f, m) if (ahstat->f || sflag <= 1) \ printf("\t%ju" m, (uintmax_t)ahstat->f, plural(ahstat->f)) #define hist(f, n, t) \ ipsec_hist_new((f), sizeof(f)/sizeof(f[0]), (n), (t)); - p32(ahs_hdrops, " packet%s shorter than header shows\n"); - p32(ahs_nopf, " packet%s dropped; protocol family not supported\n"); - p32(ahs_notdb, " packet%s dropped; no TDB\n"); - p32(ahs_badkcr, " packet%s dropped; bad KCR\n"); - p32(ahs_qfull, " packet%s dropped; queue full\n"); - p32(ahs_noxform, " packet%s dropped; no transform\n"); - p32(ahs_wrap, " replay counter wrap%s\n"); - p32(ahs_badauth, " packet%s dropped; bad authentication detected\n"); - p32(ahs_badauthl, " packet%s dropped; bad authentication length\n"); - p32(ahs_replay, " possible replay packet%s detected\n"); - p32(ahs_input, " packet%s in\n"); - p32(ahs_output, " packet%s out\n"); - p32(ahs_invalid, " packet%s dropped; invalid TDB\n"); - p64(ahs_ibytes, " byte%s in\n"); - p64(ahs_obytes, " byte%s out\n"); - p32(ahs_toobig, " packet%s dropped; larger than IP_MAXPACKET\n"); - p32(ahs_pdrops, " packet%s blocked due to policy\n"); - p32(ahs_crypto, " crypto processing failure%s\n"); - p32(ahs_tunnel, " tunnel sanity check failure%s\n"); + p(ahs_hdrops, " packet%s shorter than header shows\n"); + p(ahs_nopf, " packet%s dropped; protocol family not supported\n"); + p(ahs_notdb, " packet%s dropped; no TDB\n"); + p(ahs_badkcr, " packet%s dropped; bad KCR\n"); + p(ahs_qfull, " packet%s dropped; queue full\n"); + p(ahs_noxform, " packet%s dropped; no transform\n"); + p(ahs_wrap, " replay counter wrap%s\n"); + p(ahs_badauth, " packet%s dropped; bad authentication detected\n"); + p(ahs_badauthl, " packet%s dropped; bad authentication length\n"); + p(ahs_replay, " possible replay packet%s detected\n"); + p(ahs_input, " packet%s in\n"); + p(ahs_output, " packet%s out\n"); + p(ahs_invalid, " packet%s dropped; invalid TDB\n"); + p(ahs_ibytes, " byte%s in\n"); + p(ahs_obytes, " byte%s out\n"); + p(ahs_toobig, " packet%s dropped; larger than IP_MAXPACKET\n"); + p(ahs_pdrops, " packet%s blocked due to policy\n"); + p(ahs_crypto, " crypto processing failure%s\n"); + p(ahs_tunnel, " tunnel sanity check failure%s\n"); hist(ahstat->ahs_hist, ipsec_ahnames, "AH output"); -#undef p32 -#undef p64 +#undef p #undef hist } @@ -364,37 +362,34 @@ ah_stats(u_long off, const char *name, int family __unused, int proto __unused) static void print_espstats(const struct espstat *espstat) { -#define p32(f, m) if (espstat->f || sflag <= 1) \ - printf("\t%u" m, (unsigned int)espstat->f, plural(espstat->f)) -#define p64(f, m) if (espstat->f || sflag <= 1) \ +#define p(f, m) if (espstat->f || sflag <= 1) \ printf("\t%ju" m, (uintmax_t)espstat->f, plural(espstat->f)) #define hist(f, n, t) \ ipsec_hist_new((f), sizeof(f)/sizeof(f[0]), (n), (t)); - p32(esps_hdrops, " packet%s shorter than header shows\n"); - p32(esps_nopf, " packet%s dropped; protocol family not supported\n"); - p32(esps_notdb, " packet%s dropped; no TDB\n"); - p32(esps_badkcr, " packet%s dropped; bad KCR\n"); - p32(esps_qfull, " packet%s dropped; queue full\n"); - p32(esps_noxform, " packet%s dropped; no transform\n"); - p32(esps_badilen, " packet%s dropped; bad ilen\n"); - p32(esps_wrap, " replay counter wrap%s\n"); - p32(esps_badenc, " packet%s dropped; bad encryption detected\n"); - p32(esps_badauth, " packet%s dropped; bad authentication detected\n"); - p32(esps_replay, " possible replay packet%s detected\n"); - p32(esps_input, " packet%s in\n"); - p32(esps_output, " packet%s out\n"); - p32(esps_invalid, " packet%s dropped; invalid TDB\n"); - p64(esps_ibytes, " byte%s in\n"); - p64(esps_obytes, " byte%s out\n"); - p32(esps_toobig, " packet%s dropped; larger than IP_MAXPACKET\n"); - p32(esps_pdrops, " packet%s blocked due to policy\n"); - p32(esps_crypto, " crypto processing failure%s\n"); - p32(esps_tunnel, " tunnel sanity check failure%s\n"); + p(esps_hdrops, " packet%s shorter than header shows\n"); + p(esps_nopf, " packet%s dropped; protocol family not supported\n"); + p(esps_notdb, " packet%s dropped; no TDB\n"); + p(esps_badkcr, " packet%s dropped; bad KCR\n"); + p(esps_qfull, " packet%s dropped; queue full\n"); + p(esps_noxform, " packet%s dropped; no transform\n"); + p(esps_badilen, " packet%s dropped; bad ilen\n"); + p(esps_wrap, " replay counter wrap%s\n"); + p(esps_badenc, " packet%s dropped; bad encryption detected\n"); + p(esps_badauth, " packet%s dropped; bad authentication detected\n"); + p(esps_replay, " possible replay packet%s detected\n"); + p(esps_input, " packet%s in\n"); + p(esps_output, " packet%s out\n"); + p(esps_invalid, " packet%s dropped; invalid TDB\n"); + p(esps_ibytes, " byte%s in\n"); + p(esps_obytes, " byte%s out\n"); + p(esps_toobig, " packet%s dropped; larger than IP_MAXPACKET\n"); + p(esps_pdrops, " packet%s blocked due to policy\n"); + p(esps_crypto, " crypto processing failure%s\n"); + p(esps_tunnel, " tunnel sanity check failure%s\n"); hist(espstat->esps_hist, ipsec_espnames, "ESP output"); -#undef p32 -#undef p64 +#undef p #undef hist } @@ -414,42 +409,31 @@ esp_stats(u_long off, const char *name, int family __unused, int proto __unused) static void print_ipcompstats(const struct ipcompstat *ipcompstat) { - uint32_t version; -#define p32(f, m) if (ipcompstat->f || sflag <= 1) \ - printf("\t%u" m, (unsigned int)ipcompstat->f, plural(ipcompstat->f)) -#define p64(f, m) if (ipcompstat->f || sflag <= 1) \ +#define p(f, m) if (ipcompstat->f || sflag <= 1) \ printf("\t%ju" m, (uintmax_t)ipcompstat->f, plural(ipcompstat->f)) #define hist(f, n, t) \ ipsec_hist_new((f), sizeof(f)/sizeof(f[0]), (n), (t)); -#ifndef IPCOMPSTAT_VERSION - version = 0; -#else - version = ipcompstat->version; -#endif - p32(ipcomps_hdrops, " packet%s shorter than header shows\n"); - p32(ipcomps_nopf, " packet%s dropped; protocol family not supported\n"); - p32(ipcomps_notdb, " packet%s dropped; no TDB\n"); - p32(ipcomps_badkcr, " packet%s dropped; bad KCR\n"); - p32(ipcomps_qfull, " packet%s dropped; queue full\n"); - p32(ipcomps_noxform, " packet%s dropped; no transform\n"); - p32(ipcomps_wrap, " replay counter wrap%s\n"); - p32(ipcomps_input, " packet%s in\n"); - p32(ipcomps_output, " packet%s out\n"); - p32(ipcomps_invalid, " packet%s dropped; invalid TDB\n"); - p64(ipcomps_ibytes, " byte%s in\n"); - p64(ipcomps_obytes, " byte%s out\n"); - p32(ipcomps_toobig, " packet%s dropped; larger than IP_MAXPACKET\n"); - p32(ipcomps_pdrops, " packet%s blocked due to policy\n"); - p32(ipcomps_crypto, " crypto processing failure%s\n"); + p(ipcomps_hdrops, " packet%s shorter than header shows\n"); + p(ipcomps_nopf, " packet%s dropped; protocol family not supported\n"); + p(ipcomps_notdb, " packet%s dropped; no TDB\n"); + p(ipcomps_badkcr, " packet%s dropped; bad KCR\n"); + p(ipcomps_qfull, " packet%s dropped; queue full\n"); + p(ipcomps_noxform, " packet%s dropped; no transform\n"); + p(ipcomps_wrap, " replay counter wrap%s\n"); + p(ipcomps_input, " packet%s in\n"); + p(ipcomps_output, " packet%s out\n"); + p(ipcomps_invalid, " packet%s dropped; invalid TDB\n"); + p(ipcomps_ibytes, " byte%s in\n"); + p(ipcomps_obytes, " byte%s out\n"); + p(ipcomps_toobig, " packet%s dropped; larger than IP_MAXPACKET\n"); + p(ipcomps_pdrops, " packet%s blocked due to policy\n"); + p(ipcomps_crypto, " crypto processing failure%s\n"); hist(ipcompstat->ipcomps_hist, ipsec_compnames, "COMP output"); - if (version >= 1) { - p32(ipcomps_threshold, " packet%s sent uncompressed; size < compr. algo. threshold\n"); - p32(ipcomps_uncompr, " packet%s sent uncompressed; compression was useless\n"); - } + p(ipcomps_threshold, " packet%s sent uncompressed; size < compr. algo. threshold\n"); + p(ipcomps_uncompr, " packet%s sent uncompressed; compression was useless\n"); -#undef p32 -#undef p64 +#undef p #undef hist } diff --git a/usr.bin/netstat/mroute.c b/usr.bin/netstat/mroute.c index 4d55cb6..b8e5d6d 100644 --- a/usr.bin/netstat/mroute.c +++ b/usr.bin/netstat/mroute.c @@ -355,24 +355,24 @@ mrt_stats(u_long mstaddr) printf("IPv4 multicast forwarding:\n"); #define p(f, m) if (mrtstat.f || sflag <= 1) \ - printf(m, mrtstat.f, plural(mrtstat.f)) + printf(m, (uintmax_t)mrtstat.f, plural(mrtstat.f)) #define p2(f, m) if (mrtstat.f || sflag <= 1) \ - printf(m, mrtstat.f, plurales(mrtstat.f)) + printf(m, (uintmax_t)mrtstat.f, plurales(mrtstat.f)) - p(mrts_mfc_lookups, "\t%lu multicast forwarding cache lookup%s\n"); - p2(mrts_mfc_misses, "\t%lu multicast forwarding cache miss%s\n"); - p(mrts_upcalls, "\t%lu upcall%s to multicast routing daemon\n"); - p(mrts_upq_ovflw, "\t%lu upcall queue overflow%s\n"); + p(mrts_mfc_lookups, "\t%ju multicast forwarding cache lookup%s\n"); + p2(mrts_mfc_misses, "\t%ju multicast forwarding cache miss%s\n"); + p(mrts_upcalls, "\t%ju upcall%s to multicast routing daemon\n"); + p(mrts_upq_ovflw, "\t%ju upcall queue overflow%s\n"); p(mrts_upq_sockfull, - "\t%lu upcall%s dropped due to full socket buffer\n"); - p(mrts_cache_cleanups, "\t%lu cache cleanup%s\n"); - p(mrts_no_route, "\t%lu datagram%s with no route for origin\n"); - p(mrts_bad_tunnel, "\t%lu datagram%s arrived with bad tunneling\n"); - p(mrts_cant_tunnel, "\t%lu datagram%s could not be tunneled\n"); - p(mrts_wrong_if, "\t%lu datagram%s arrived on wrong interface\n"); - p(mrts_drop_sel, "\t%lu datagram%s selectively dropped\n"); - p(mrts_q_overflow, "\t%lu datagram%s dropped due to queue overflow\n"); - p(mrts_pkt2large, "\t%lu datagram%s dropped for being too large\n"); + "\t%ju upcall%s dropped due to full socket buffer\n"); + p(mrts_cache_cleanups, "\t%ju cache cleanup%s\n"); + p(mrts_no_route, "\t%ju datagram%s with no route for origin\n"); + p(mrts_bad_tunnel, "\t%ju datagram%s arrived with bad tunneling\n"); + p(mrts_cant_tunnel, "\t%ju datagram%s could not be tunneled\n"); + p(mrts_wrong_if, "\t%ju datagram%s arrived on wrong interface\n"); + p(mrts_drop_sel, "\t%ju datagram%s selectively dropped\n"); + p(mrts_q_overflow, "\t%ju datagram%s dropped due to queue overflow\n"); + p(mrts_pkt2large, "\t%ju datagram%s dropped for being too large\n"); #undef p2 #undef p -- cgit v1.1