Author: ae
Date: Wed Jun 19 15:59:21 2013
New Revision: 251995
URL: http://svnweb.freebsd.org/changeset/base/251995

Log:
  Use ICMP6STAT_INC() macro for ICMPv6 errors accounting.
  
  MFC after:    2 weeks

Modified:
  head/sys/netinet6/icmp6.c

Modified: head/sys/netinet6/icmp6.c
==============================================================================
--- head/sys/netinet6/icmp6.c   Wed Jun 19 15:12:10 2013        (r251994)
+++ head/sys/netinet6/icmp6.c   Wed Jun 19 15:59:21 2013        (r251995)
@@ -130,7 +130,7 @@ VNET_DECLARE(int, icmp6_nodeinfo);
 #define        V_icmp6errppslim_last           VNET(icmp6errppslim_last)
 #define        V_icmp6_nodeinfo                VNET(icmp6_nodeinfo)
 
-static void icmp6_errcount(struct icmp6errstat *, int, int);
+static void icmp6_errcount(int, int);
 static int icmp6_rip6_input(struct mbuf **, int);
 static int icmp6_ratelimit(const struct in6_addr *, const int, const int);
 static const char *icmp6_redirect_diag(struct in6_addr *,
@@ -159,59 +159,59 @@ kmod_icmp6stat_inc(int statnum)
 }
 
 static void
-icmp6_errcount(struct icmp6errstat *stat, int type, int code)
+icmp6_errcount(int type, int code)
 {
        switch (type) {
        case ICMP6_DST_UNREACH:
                switch (code) {
                case ICMP6_DST_UNREACH_NOROUTE:
-                       stat->icp6errs_dst_unreach_noroute++;
+                       ICMP6STAT_INC(icp6s_odst_unreach_noroute);
                        return;
                case ICMP6_DST_UNREACH_ADMIN:
-                       stat->icp6errs_dst_unreach_admin++;
+                       ICMP6STAT_INC(icp6s_odst_unreach_admin);
                        return;
                case ICMP6_DST_UNREACH_BEYONDSCOPE:
-                       stat->icp6errs_dst_unreach_beyondscope++;
+                       ICMP6STAT_INC(icp6s_odst_unreach_beyondscope);
                        return;
                case ICMP6_DST_UNREACH_ADDR:
-                       stat->icp6errs_dst_unreach_addr++;
+                       ICMP6STAT_INC(icp6s_odst_unreach_addr);
                        return;
                case ICMP6_DST_UNREACH_NOPORT:
-                       stat->icp6errs_dst_unreach_noport++;
+                       ICMP6STAT_INC(icp6s_odst_unreach_noport);
                        return;
                }
                break;
        case ICMP6_PACKET_TOO_BIG:
-               stat->icp6errs_packet_too_big++;
+               ICMP6STAT_INC(icp6s_opacket_too_big);
                return;
        case ICMP6_TIME_EXCEEDED:
                switch (code) {
                case ICMP6_TIME_EXCEED_TRANSIT:
-                       stat->icp6errs_time_exceed_transit++;
+                       ICMP6STAT_INC(icp6s_otime_exceed_transit);
                        return;
                case ICMP6_TIME_EXCEED_REASSEMBLY:
-                       stat->icp6errs_time_exceed_reassembly++;
+                       ICMP6STAT_INC(icp6s_otime_exceed_reassembly);
                        return;
                }
                break;
        case ICMP6_PARAM_PROB:
                switch (code) {
                case ICMP6_PARAMPROB_HEADER:
-                       stat->icp6errs_paramprob_header++;
+                       ICMP6STAT_INC(icp6s_oparamprob_header);
                        return;
                case ICMP6_PARAMPROB_NEXTHEADER:
-                       stat->icp6errs_paramprob_nextheader++;
+                       ICMP6STAT_INC(icp6s_oparamprob_nextheader);
                        return;
                case ICMP6_PARAMPROB_OPTION:
-                       stat->icp6errs_paramprob_option++;
+                       ICMP6STAT_INC(icp6s_oparamprob_option);
                        return;
                }
                break;
        case ND_REDIRECT:
-               stat->icp6errs_redirect++;
+               ICMP6STAT_INC(icp6s_oredirect);
                return;
        }
-       stat->icp6errs_unknown++;
+       ICMP6STAT_INC(icp6s_ounknown);
 }
 
 /*
@@ -262,7 +262,7 @@ icmp6_error(struct mbuf *m, int type, in
        ICMP6STAT_INC(icp6s_error);
 
        /* count per-type-code statistics */
-       icmp6_errcount(&V_icmp6stat.icp6s_outerrhist, type, code);
+       icmp6_errcount(type, code);
 
 #ifdef M_DECRYPTED     /*not openbsd*/
        if (m->m_flags & M_DECRYPTED) {
@@ -2530,7 +2530,7 @@ icmp6_redirect_output(struct mbuf *m0, s
        struct ifnet *outif = NULL;
        struct sockaddr_in6 src_sa;
 
-       icmp6_errcount(&V_icmp6stat.icp6s_outerrhist, ND_REDIRECT, 0);
+       icmp6_errcount(ND_REDIRECT, 0);
 
        /* if we are not router, we don't send icmp6 redirect */
        if (!V_ip6_forwarding)
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to