Hi Keiichi,

> >  
> > >  One example might be that if sender wants to use global destination
> > >  address to talk to an onlink node for which it knows a smaller scope
> > >  address.  In that situation, setting  LARGESCOPE
> > >  socket option and passing AI flag to getaddrinfo() is recommended.
> > 
> > For which socket are you intending to set the LARGESCOPE socket
> > option?  Could you show an example code fragment that uses this option
> > (e.g., containing calls to getaddrinfo(), socket(), and connect() or
> > sendto())?
> 
> I had the same feeling with Tatsuya.
> 

Thanks for providing the example below.  It is similar to what I had in 
mind. I agree that setting IPV6_PREFER_DST socket option may be redundant
in most implementations.

I can see your and Jinmei's view point. 

> For the particular case, that you quated, maybe we don't need
> IPV6_PREFER_DST_ option.  If were you, I would write the following code:
> 
> hints.ai_family = PF_UNSPEC;
> hints.ai_socktype = SOCK_STREAM;
> hints.ai_flags = AI_PREFER_SRC_LARGESCOPE|AI_PREFER_DST_LARGESCOPE;
> getaddrinfo("www.foobar.com", "http", &hints, &res0);
> for every res in res0 {
>     s = socket(res->ai_family, res->ai_socktype, res->ai_protocol);
>     setsockopt(s, IPPROTO_IPV6, IPV6_PREFER_SRC_LARGESCOPE=on);
>     connect(s, res->ai_addr, res->ai_addrlen);
>     ...
> }
> 
> I think specifying IPV6_PREFER_DST_XXX doesn't have any meaning,
> because the destination address has already been chosen in
> getaddrinfo().
> 

Are you suggesting to drop all the IPV6_PREFER_DST_*SCOPE socket-option
flags ?  I'll discuss this with my co-authors of this draft.
Does any implementor in this list have any objection on dropping
the above socket option?


Thanks again,
-Samita


--------------------------------------------------------------------
IETF IPv6 working group mailing list
ipv6@ietf.org
Administrative Requests: https://www1.ietf.org/mailman/listinfo/ipv6
--------------------------------------------------------------------

Reply via email to