Danny, Please see inline [DD] In general, I feel the specification of the programming API is incomplete, which may cause incompatibilities in different operating systems. (I'm not concerned with the implementation specifics of communicating with the network, just the API.)
-Dave From: Moses, Danny [mailto:[email protected]] Sent: Wednesday, December 14, 2016 4:47 AM To: Dave Dolson Cc: [email protected]; [email protected] Subject: RE: WGLC for draft-ietf-dmm-ondemand-mobility-08 -- Hi, I have fixed the two typos you indicated in the previous emails. Please see my embedded reply. I am waiting for you reply on my question below regarding the source code example comment before uploading rev 10. Thanks for the useful comments, Danny From: Dave Dolson [mailto:[email protected]] Sent: Thursday, December 08, 2016 21:00 To: Moses, Danny <[email protected]> Cc: [email protected]; [email protected] Subject: WGLC for draft-ietf-dmm-ondemand-mobility-08 -- I'm just catching up on the recent drafts, so apologies if this has been covered... 1. It seems like RFC 6724 will need to be updated by dmm-ondemand-mobility. I'm unclear on how the algorithm should be modified. Has anyone worked this out? My sense is that Rule 4 needs to be modified to consider the new flags. Either this document should spell out the new algorithm, or we plan for RFC6724bis. DM>> This is probably true. I am adding an RFC6724 fix to my ToDo list which is quite long, so I hope someone else Takes this work. If not, let's do this together in the future. [DD] Question to the list: has anyone worked out a viable algorithm for selecting source address? 2. Regarding the language about IPV6_PREFER_SRC_HOME and IPV6_PREFER_SRC_COA with legacy applications, I think it would be right to continue to support these. PREFER_SRC_HOME could ask the network for FIXED, but automatically fall back to another address. I think this is useful so that the application doesn't have to handle EAI_REQUIREDIPNOTSUPPORTED and try again. (This comment goes back to point 1.) DM>> First, for backwards compatibility, we must support these flags and the draft does not suggest otherwise. I prefer not to mix the functionality of the legacy flags - IPV6_PREFER_SRC_HOME and IPV6_PREFER_SRC_COA with the new flags defined in the OnDemand draft. The main reason is that the former flags are related to a MIP environment were the MN terminates the tunnel, while the OnDemand flags are related to a proxy MIP environment (PMIP or GTP - for example) were the MN is not aware of the mobility support. [DD] OK, but the tone of the document, including use of the word "legacy" implies deprecation. There is even wording "Legacy applications ... will not enjoy On-Demand Mobility feature." In contrast, I think that IPV6_PREFER_SRC_HOME should provide a home address when available. 3. I don't understand the need for IPV6_REQUIRE_NON-PERSISTENT_IP as an explicit flag. I would think it works better to provide this behavior if neither of the other flags are set. Literally it says, "I will not accept a FIXED or SESSION_LASTING IP". Is that useful? It can be provided, but I don't think any app would use it. Maybe just for testing the network? DM>> Actually, this flag is one of the main motivation for this work. It enables the application to explicitly request the network not to create a tunnel for the IP session and avoid the unnecessary overhead associated with the tunnel. Opening a socket without using any of these flags means that the application does not have a preference to the type of service it receives from the network and leave the decision of choosing the type of service to either the IP stack in the MN or the network. It is important to enable the application to explicitly request a non-persistent service (and to receive an error if this service is not supported). [DD] But wearing the hat of a developer, why would my application ever request this, other than for network diagnostics? If I don't care for HOME address, I would just let the stack choose... Or is there some benefit to the non-persistent address that I'm missing? 4. Consider an appendix showing source code for clients and servers with different requirements. E.g., I believe that the setsockopt() needs to be done after socket() but before bind(), connect(), send(), sendmsg(), sendmmsg(), sendto(),etc. (After any packets are sent is too late.) I think it would be useful to show this recipe. DM>> Your description is correct. I am wondering what is better, to add a short paragraph describing when setsockopt() should be used (as you described) or adding source code example. I prefer the text to be short and clear, and whenever we add source code examples we either end up with a long example, or limit ourselves to some obvious example that does not address all alternatives. Will adding the clarification that you pointed out be sufficient? [DD] OK. Perhaps when the flags are mentioned with setsockopt(), find a place for some words like, "In practice, setsockopt() would need to be called immediately after socket creation with socket(), before bind(), listen(), connect(), sendto(), etc. that would require an address to be chosen." 5. Are there new errors from bind(), listen() or connect(), etc.? E.g., socket option is FIXED, but user explicitly specified a COA address to bind to? DM>> We considered this, but decided not to go there since we would have to think of all the possible erroneous combination and programmer might do. We therefore, decided to clearly state that such behavior would be ignored. [DD] Wearing the hat of an implementor, I'm sad that the specification is ambiguous. How about saying, "When an application explicitly provides an address (e.g., to bind()), this should override any address-selection hints, and an error SHOULD NOT be raised." David Dolson Senior Software Architect, Sandvine Inc. --------------------------------------------------------------------- A member of the Intel Corporation group of companies This e-mail and any attachments may contain confidential material for the sole use of the intended recipient(s). Any review or distribution by others is strictly prohibited. If you are not the intended recipient, please contact the sender and delete all copies.
_______________________________________________ dmm mailing list [email protected] https://www.ietf.org/mailman/listinfo/dmm
