Pekka Savola wrote:
[...]
- Section 3.1.2 first change seems to assume that all the source addresses (when bind() is used for example) are equivalent. That's not necessarily the case. My perception is that app writers use bind() for client-like applications when they actually want to specify the address or interface (using SO_BINDTODEVICE or the like) in case of connected sockets or when they want to select the source address (so that they always use the same one) for unconnected sockets (e.g., NTP daemon). In either case, the proposed approach might not produce desired results. Hence, it would be useful to get a bit more knowledge of how folks use bind() like APIs for client apps.

I would say it's pretty common to use bind() to use one fixed source address. The application might let the stack choose the address, but by using bind() it can make sure that the address is fixed, and the application might also care which address it got for the socket.

From what I've seen on the operating systems I've tested, for tcp and also udp if socket is bound, the source address is fixed. I've even tried to remove an address from the interface and the removed address is still being used as source.

For udp if the socket is not bound, I would hope that address selection is used, but it might be bad for some applications to change source address during a udp "session".

Stig

- Section 3.1.2, proposed rule 0 should probably include some discussion on what "is known to be not working" means and how it's determined. Draft-ietf-v6ops-v6onbydefault already showed that more specification would be useful with "known to be unreachable".



_______________________________________________
Int-area mailing list
[email protected]
https://www1.ietf.org/mailman/listinfo/int-area

Reply via email to