svn commit: r249546 - head/sys/netinet6
Andrey V. Elsukov
ae at FreeBSD.org
Tue Apr 16 11:31:27 UTC 2013
Author: ae
Date: Tue Apr 16 11:31:26 2013
New Revision: 249546
URL: http://svnweb.freebsd.org/changeset/base/249546
Log:
Fix accounting after the r249528, also add several another counters to
the statistics.
Modified:
head/sys/netinet6/in6_src.c
Modified: head/sys/netinet6/in6_src.c
==============================================================================
--- head/sys/netinet6/in6_src.c Tue Apr 16 11:25:45 2013 (r249545)
+++ head/sys/netinet6/in6_src.c Tue Apr 16 11:31:26 2013 (r249546)
@@ -151,6 +151,7 @@ static struct in6_addrpolicy *match_addr
* an entry to the caller for later use.
*/
#define REPLACE(r) do {\
+ IP6STAT_INC(ip6s_sources_rule[(r)]); \
rule = (r); \
/* { \
char ip6buf[INET6_ADDRSTRLEN], ip6b[INET6_ADDRSTRLEN]; \
@@ -166,6 +167,7 @@ static struct in6_addrpolicy *match_addr
goto next; /* XXX: we can't use 'continue' here */ \
} while(0)
#define BREAK(r) do { \
+ IP6STAT_INC(ip6s_sources_rule[(r)]); \
rule = (r); \
goto out; /* XXX: we can't use 'break' here */ \
} while(0)
@@ -506,8 +508,17 @@ in6_selectsrc(struct sockaddr_in6 *dstso
*ifpp = ifp;
bcopy(&tmp, srcp, sizeof(*srcp));
+ if (ia->ia_ifp == ifp)
+ IP6STAT_INC(ip6s_sources_sameif[best_scope]);
+ else
+ IP6STAT_INC(ip6s_sources_otherif[best_scope]);
+ if (dst_scope == best_scope)
+ IP6STAT_INC(ip6s_sources_samescope[best_scope]);
+ else
+ IP6STAT_INC(ip6s_sources_otherscope[best_scope]);
+ if (IFA6_IS_DEPRECATED(ia))
+ IP6STAT_INC(ip6s_sources_deprecated[best_scope]);
IN6_IFADDR_RUNLOCK();
- IP6STAT_INC(ip6s_sources_rule[rule]);
return (0);
}
More information about the svn-src-all
mailing list