I actually went back and read the existing RFC2292 - probably
something I should have done originally - and I think I have
a handle on this. Based on the current RFC and the -02 draft
my interpretation is that:
- IPV6_HOPLIMIT should not be allowed on a getsockopt() or
setsockopt() call, but instead IPV6_RECVHOPLIMIT should be
used. IPV6_HOPLIMIT can still be sent/received as ancillary
ancillary data.
- IPV6_RECVHOPLIMIT should be used on setsockopt() to request
that the IPV6_HOPLIMIT be returned as ancillary data.
Does this sound correct, or am I missing something?
Also, I see that the current 2292bis draft has expired. Are there
any plans to produce an updated version? From previous postings
back in November regarding the -02 draft there appear to be some
incompatible changes which are being proposed, such as changing
IPV6_PATHMTU to return an ip6_mtuinfo structure instead of an
int, not to mention the changes I listed above (plus several
others). I'd like to have our implementation track to the ID as
it progresses, but if there aren't any new drafts coming then
we should be implementing to the RFC.
Roy
On Wednesday, 06/13/2001 at 12:24 EDT, [EMAIL PROTECTED] wrote:
> I'm struggling to get my hands around the interaction between
> IPV6_HOPLIMIT, IPV6_UNICAST_HOPS, and IPV6_MULTICAST_HOPS. It
> seems pretty straight forward if IPV6_HOPLIMIT is specified as
> ancilliary data - IPV6_HOPLIMIT overrides the current hoplimit
> for that packet only. But what about when IPV6_HOPLIMIT is
> set using setsockopt()?
>
> Using setsockopt() calls, I think the behavior would be as follows:
>
> Unicast Hop Limit Multicast Hop Limit
> ----------------- -------------------
> default 255 1
> IPV6_HOPLIMIT=100 100 100
> IPV6_MULTICAST_HOPS=5 100 5
> IPV6_UNICAST_HOPS=50 50 5
> IPV6_HOPLIMIT=3 3 3
>
> The question is, what should be returned for a getsockopt() on
> IPV6_HOPLIMIT when the unicast and multicast hop limits are different?
> Take the default case for instance. What is the correct value to return
> on the getsockopt() call, 255 or 1? And what should be returned after
> setting IPV6_HOPLIMIT to 100 and following it with setting
> IPV6_MULTICAST_HOPS to 5, 100 or 5?
>
> All of this would be *much* simpler if the advanced API only allowed
> IPV6_HOPLIMIT to be specified as ancillary data and required the use of
> IPV6_UNICAST_HOPS and IPV6_MULTICAST_HOPS for setsockopt() and
> getsockopt() calls. Unfortunately, that isn't the case as 2292 allows
> IPV6_HOPLIMIT to be specified as a sticky option.
>
> Roy Brabson
--------------------------------------------------------------------
IETF IPng Working Group Mailing List
IPng Home Page: http://playground.sun.com/ipng
FTP archive: ftp://playground.sun.com/pub/ipng
Direct all administrative requests to [EMAIL PROTECTED]
--------------------------------------------------------------------