icmp6: make icmp6_ratelimit() responsible to update the stats counter

Reviewed by:		tuexen
Differential Revision:	https://reviews.freebsd.org/D44479

(cherry picked from commit c6c96aaba8dd74eb39469ed156ff19cc31d599b7)
This commit is contained in:
Gleb Smirnoff 2024-03-24 09:13:23 -07:00 committed by Zhenlei Huang
parent d8acc7277c
commit 9e09b33e8e

View file

@ -343,10 +343,8 @@ icmp6_error(struct mbuf *m, int type, int code, int param)
}
/* Finally, do rate limitation check. */
if (icmp6_ratelimit(&oip6->ip6_src, type, code)) {
ICMP6STAT_INC(icp6s_toofreq);
if (icmp6_ratelimit(&oip6->ip6_src, type, code))
goto freeit;
}
/*
* OK, ICMP6 can be generated.
@ -2746,6 +2744,7 @@ icmp6_ratelimit(const struct in6_addr *dst, const int type,
V_icmp6errppslim)) {
/* The packet is subject to rate limit */
ret++;
ICMP6STAT_INC(icp6s_toofreq);
}
return ret;