# HG changeset patch # User dd193516 # Date 1154647141 25200 # Node ID 6467a7307fa229c7cd62e55c349673f8bc677c74 # Parent e571efc94c72f1135f481729b4f8653906102cba 6435899 Solaris host does not properly process 'Cur hop limit' field of Router Advertisement. diff -r e571efc94c72 -r 6467a7307fa2 usr/src/cmd/cmd-inet/usr.lib/in.ndpd/defs.h --- 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" diff -r e571efc94c72 -r 6467a7307fa2 usr/src/cmd/cmd-inet/usr.lib/in.ndpd/ndp.c --- 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;