6435899 Solaris host does not properly process 'Cur hop limit' field of Router Advertisement.
--- a/usr/src/cmd/cmd-inet/usr.lib/in.ndpd/defs.h Thu Aug 03 15:38:34 2006 -0700
+++ b/usr/src/cmd/cmd-inet/usr.lib/in.ndpd/defs.h Thu Aug 03 16:19:01 2006 -0700
@@ -69,6 +69,7 @@
extern "C" {
#endif
+#define CURHOP_UNSPECIFIED 0
#define PATH_NDPD_CONF "/etc/inet/ndpd.conf"
#define PATH_PID "/var/run/in.ndpd.pid"
--- a/usr/src/cmd/cmd-inet/usr.lib/in.ndpd/ndp.c Thu Aug 03 15:38:34 2006 -0700
+++ b/usr/src/cmd/cmd-inet/usr.lib/in.ndpd/ndp.c Thu Aug 03 16:19:01 2006 -0700
@@ -348,7 +348,8 @@
logperror_pi(pi, "incoming_ra: SIOCGLIFLNKINFO");
return;
}
- if (ra->nd_ra_curhoplimit != pi->pi_CurHopLimit) {
+ if (ra->nd_ra_curhoplimit != CURHOP_UNSPECIFIED &&
+ ra->nd_ra_curhoplimit != pi->pi_CurHopLimit) {
pi->pi_CurHopLimit = ra->nd_ra_curhoplimit;
lifr.lifr_ifinfo.lir_maxhops = pi->pi_CurHopLimit;