Jim Bound <[EMAIL PROTECTED]> writes:
>I think I may have been misunderstood.  Let me see if the response clears it
>up?
...
>[piggy wrote:]
>> The issue is that a single host may have both IPv4 AND IPv6
>> interfaces.  SCTP allows a single association (connection) to span
>> both kinds of interface.  In our API draft we have suggested
>> af_inet6 as the socket type for associations with mixed address
>> types.
>
> This is a good idea and why I believe a hybrid stack is far superior
> to a pure dual stack implementation.  This paradigm is also inline
> with the IPv6 deployment message which is IPv4/IPv6 Integration not
> Migration.  So I am real happy to hear SCTP is thinking that way
> too.

Good.  I think I now understand your distinction between a hybrid
stack and a dual stack.

>> Effectively, we can create a passive socket which listens for
>> connections on both af_inet and af_inet6 ports.
>
> Yes.
>
>> Jim Bound's comment appears to claim this is a bad idea:
>>> An af_inet6 socket should not accept a connection for an af_inet socket.  
>
> If there is a v4 listener and a v6 listener then that is fine.  
...
> Above what I am saying is if a v4 listener and a v6 listener exist,
> then af_inet incoming connections should be sent to the v4 listener.

Is this v4 listener listening on INADDR_ANY and the v6 listener
listening on in6addr_any for the same port?  IMHO this should be
illegal.  The second listener should get an EBUSY when attempting to
bind.

> Good catch I made to many assumptions about after the preposition "for"
> and it was too terse.  But that is what I mean't by the prep phase
> "for an af_inet socket".  Meaning let the v4 listner have that
> connection, not the v6 listener.  Sorry.

> There is an issue for the case where an app that is only doing v6
> listener for both incoming af_inet and af_inet6, where the app may want
> to not receive any connections from v4.  Bill Sommerfield pointed this
> out to me offline.  The issue is that the v6 socket binds before a v4
> bind and the v6 socket receives the v4 address as v4mapped.  What we
> probably want to do is have a setsockopt in rfc2553bis that says DON"T
> ACCEPT V4MAPPED connections (there are other ways to do this but the
> socket level option is the cleanest).

Blech!  In SCTP we need to allow binding on arbitrary subsets of
addresses.  Our solution is to allow multiple calls to bind().  There
is nothing special about the sets "all IPv4 addresses" and "all IPv6
addresses" (well, there shouldn't be...).

> But the idea is to not have applications have to run two instances
> for v4 and v6, but only one instance (e.g. telnet, ftp, NFS, sctp
> app, oracle app).  It also permits ISVs to ship one code base and if
> the user does not even use IPv6 the app still works, until the user
> turns on IPv6 ---> Integration.

This is definately the way to go.  I shouldn't even have to "turn on
IPv6 Integration".  If all of my interfaces are ifconfig'd with v4
addresses, then I don't do IPv6...

> This will come up at ipng meeting via Dave Thaler agenda item.  

I'll make a point of attending, thanks.
-- 
Put no trust in extortion,              La Monte Henry Piggy Yarroll
set no vain hope in plunder;            NIC Handle LY
if riches increase,
do not set your heart upon them.
--------------------------------------------------------------------
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]
--------------------------------------------------------------------

Reply via email to