Subject: Re: draft-ietf-ipngwg-scopedaddr-format-00.txt

From: David Borman <[email-masked]>
Date: Thu, 4 Nov 1999 14:08:40 -0600 (CST)

Jim,

> From: Jim Bound <[email-masked]>
> Subject: Re: draft-ietf-ipngwg-scopedaddr-format-00.txt 
> Date: Thu, 04 Nov 1999 14:29:04 -0500
> ...
> Please explain 1 to N.... If you mean more than AF_INET and AF_INET6

Yes.

> then I don't agree and don't care from a business perspective as an
> engineer about anything other than v4 or v6.

And I wouldn't expect anything else :-), as you have stated this
position before.  I belive it was along the lines of, if it was
decided that IPv6 was lacking and a new version of IP was needed,
you'd get out of the game and just go fishing.

> If you mean getting back a mix of both v4 and v6 addresses
> getipnodebyname supports that and returns v4 as v4mapped.
>
> Mabye our approaches of implementing v4mapped and the IP stack for IPv6
> are completely different.  

Perhaps.  The issue that I have is that getting a v4mapped address means
either using an AF_INET6 socket and sockaddr_in6, or recognizing that
it is a v4mapped address, converting it to use a sockaddr_in, and then
using an AF_INET socket.  Since I want the binary to run on systems
that are built without AF_INET6 support, that limits me to the latter
case, which is where the code starts to get ugly.  If I use getaddrinfo(),
it tells me what type of socket to open, and gives me the appropriate
sockaddr structure ready to go for the connect().

If I recall correctly, in the past you said that your systems have
AF_INET6 support, and excluding it is not an option.  If that is the
case, you can use the former option, and the code doesn't have to
get ugly.

			-David Borman, [email-masked]
--------------------------------------------------------------------
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-masked]
--------------------------------------------------------------------

---

From: Jim Bound <[email-masked]>
Date: Fri, 05 Nov 1999 00:01:11 -0500

>sockaddr structure ready to go for the connect().

This means you must always use PF_UNSPEC.  The same can be done for a
test for AF_INET6 with ifdef and once you target an IPv6 node with an
APP this can be done too.  

>case, you can use the former option, and the code doesn't have to

Well I would word it different.  The systems will all support AF_INET6
out of the box.  You can write your code with getipnodebyname and
friends or getaddrinfo and friends.   Once XNET completes the work for
getaddrinfo I will add.

Again ugly is really not a good term to me.  Whats ugly?  I can argue
that assembly code is more elegant in many ways over C code for many
jobs.  Then one could beat me up about constructs or the operations of
overloading that can be done with a compiler.  Then I would state I can
time each instruction during unit-test phase and use recursion... on and
on and on.

I would claim the getipnodebyname code is more familiar to most too.  
I am being conservative here.  The leap to getipnodebyname is a baby step.  
I don't know one production application in the market using getaddrinfo
for IPv4, it has not had its function tested by fire, and either has
getipnodebyname but its closer to what has been tested.

We are not going anywhere here.  I already stated and many many times.
If one wants to use getaddrinfo thats fine.  I just don't use it today.
I was simply agreeing with a wg member in mail I find it not useful
either thats all, and we we are now entering that place where rats live
I think?  Or like curly in the three stooges when he saw cheese??? Moe,
Larry, cheese ----).....

Your arguments pro getaddrinfo are excellent too.

/jim