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 --------------------------------------------------------------------