Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F171460678
D26578.id77597.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
4 KB
Referenced Files
None
Subscribers
None
D26578.id77597.diff
View Options
Index: sys/netinet/icmp6.h
===================================================================
--- sys/netinet/icmp6.h
+++ sys/netinet/icmp6.h
@@ -639,6 +639,8 @@
uint64_t icp6s_overflowprfx; /* Too many prefixes. */
uint64_t icp6s_overflownndp; /* Too many neighbour entries. */
uint64_t icp6s_overflowredirect;/* Too many redirects. */
+ uint64_t icp6s_invlhlim; /* Invalid hop limit. */
+ uint64_t icp6s_spare[32];
};
#ifdef _KERNEL
Index: sys/netinet6/icmp6.c
===================================================================
--- sys/netinet6/icmp6.c
+++ sys/netinet6/icmp6.c
@@ -2262,10 +2262,7 @@
goto bad;
}
if (ip6->ip6_hlim != 255) {
- nd6log((LOG_ERR,
- "ICMP6 redirect sent from %s rejected; "
- "hlim=%d (must be 255)\n",
- ip6_sprintf(ip6buf, &src6), ip6->ip6_hlim));
+ ICMP6STAT_INC(icp6s_invlhlim);
goto bad;
}
{
Index: sys/netinet6/nd6_nbr.c
===================================================================
--- sys/netinet6/nd6_nbr.c
+++ sys/netinet6/nd6_nbr.c
@@ -124,7 +124,7 @@
struct ifaddr *ifa;
struct sockaddr_dl proxydl;
union nd_opts ndopts;
- char ip6bufs[INET6_ADDRSTRLEN], ip6bufd[INET6_ADDRSTRLEN];
+ char ip6bufs[INET6_ADDRSTRLEN];
char *lladdr;
int anycast, lladdrlen, proxy, rflag, tentative, tlladdr;
@@ -137,10 +137,7 @@
ifp = m->m_pkthdr.rcvif;
ip6 = mtod(m, struct ip6_hdr *);
if (ip6->ip6_hlim != 255) {
- nd6log((LOG_ERR,
- "nd6_ns_input: invalid hlim (%d) from %s to %s on %s\n",
- ip6->ip6_hlim, ip6_sprintf(ip6bufs, &ip6->ip6_src),
- ip6_sprintf(ip6bufd, &ip6->ip6_dst), if_name(ifp)));
+ ICMP6STAT_INC(icp6s_invlhlim);
goto bads;
}
@@ -623,7 +620,7 @@
struct sockaddr_in6 sin6;
union nd_opts ndopts;
u_char linkhdr[LLE_MAX_LINKHDR];
- char ip6bufs[INET6_ADDRSTRLEN], ip6bufd[INET6_ADDRSTRLEN];
+ char ip6bufs[INET6_ADDRSTRLEN];
char *lladdr;
size_t linkhdrsize;
int flags, is_override, is_router, is_solicited;
@@ -642,10 +639,7 @@
ifp = m->m_pkthdr.rcvif;
ip6 = mtod(m, struct ip6_hdr *);
if (ip6->ip6_hlim != 255) {
- nd6log((LOG_ERR,
- "nd6_na_input: invalid hlim (%d) from %s to %s on %s\n",
- ip6->ip6_hlim, ip6_sprintf(ip6bufs, &ip6->ip6_src),
- ip6_sprintf(ip6bufd, &ip6->ip6_dst), if_name(ifp)));
+ ICMP6STAT_INC(icp6s_invlhlim);
goto bad;
}
Index: sys/netinet6/nd6_rtr.c
===================================================================
--- sys/netinet6/nd6_rtr.c
+++ sys/netinet6/nd6_rtr.c
@@ -158,7 +158,7 @@
struct nd_router_solicit *nd_rs;
struct in6_addr saddr6;
union nd_opts ndopts;
- char ip6bufs[INET6_ADDRSTRLEN], ip6bufd[INET6_ADDRSTRLEN];
+ char ip6bufs[INET6_ADDRSTRLEN];
char *lladdr;
int lladdrlen;
@@ -178,10 +178,7 @@
/* Sanity checks */
ip6 = mtod(m, struct ip6_hdr *);
if (ip6->ip6_hlim != 255) {
- nd6log((LOG_ERR,
- "%s: invalid hlim (%d) from %s to %s on %s\n", __func__,
- ip6->ip6_hlim, ip6_sprintf(ip6bufs, &ip6->ip6_src),
- ip6_sprintf(ip6bufd, &ip6->ip6_dst), if_name(ifp)));
+ ICMP6STAT_INC(icp6s_invlhlim);
goto bad;
}
@@ -359,7 +356,7 @@
struct in6_addr saddr6;
struct nd_defrouter *dr;
union nd_opts ndopts;
- char ip6bufs[INET6_ADDRSTRLEN], ip6bufd[INET6_ADDRSTRLEN];
+ char ip6bufs[INET6_ADDRSTRLEN];
int mcast;
/*
@@ -377,10 +374,7 @@
ip6 = mtod(m, struct ip6_hdr *);
if (ip6->ip6_hlim != 255) {
- nd6log((LOG_ERR,
- "%s: invalid hlim (%d) from %s to %s on %s\n", __func__,
- ip6->ip6_hlim, ip6_sprintf(ip6bufs, &ip6->ip6_src),
- ip6_sprintf(ip6bufd, &ip6->ip6_dst), if_name(ifp)));
+ ICMP6STAT_INC(icp6s_invlhlim);
goto bad;
}
Index: usr.bin/netstat/inet6.c
===================================================================
--- usr.bin/netstat/inet6.c
+++ usr.bin/netstat/inet6.c
@@ -1063,6 +1063,8 @@
"{N:/neighbour entries overflow%s}\n");
p(icp6s_overflowredirect, "\t{:redirect-overflows/%ju} "
"{N:/redirect overflow%s}\n");
+ p(icp6s_invlhlim, "\t{:dropped-invalid-hop-limit/%ju} "
+ "{N:/message%s with invalid hop limit}\n");
xo_close_container("errors");
p(icp6s_pmtuchg, "\t{:path-mtu-changes/%ju} {N:/path MTU change%s}\n");
#undef p
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Sat, Sep 12, 5:53 AM (4 h, 7 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
38771695
Default Alt Text
D26578.id77597.diff (4 KB)
Attached To
Mode
D26578: nd6: Count packets dropped due to an invalid hop limit
Attached
Detach File
Event Timeline
Log In to Comment