80 likes | 231 Views
Mobile IPv6 Advanced Socket API Extensions. draft-chakrabarti-mobileip-mipext-advapi-01.txt Samita.Chakrabarti@Sun.com Erik.Nordmark@Sun.com. What is MIPv6 Socket API ?. This document is an extension to the IPv6 Advanced Socket API (RFC 3542)
E N D
Mobile IPv6 Advanced Socket API Extensions draft-chakrabarti-mobileip-mipext-advapi-01.txt Samita.Chakrabarti@Sun.com Erik.Nordmark@Sun.com IETF 57
What is MIPv6 Socket API ? • This document is an extension to the IPv6 Advanced Socket API (RFC 3542) • Contains data structures, definitions and access methods for Mobile IPv6 extensions to IPv6 Protocol header Mobility Header, Home Address Destination Option and Routing Header Type 2 • This API is useful for uniform socket interfaces across Mobile IPv6 implementations • Mobile IPv6 specific debugging, tracing , policy and system level applications can take advantage of this API IETF 57
Update Process • After San Fransisco IETF, mip6api@sun.com alias was formed to discuss the issues in the draft • Mip6api@sun.com contains participants from Connectathon-2003 and other individuals who expressed interest to join the MIPv6 API discussion • Draft v1 submitted before June30th. Darft V2 will be submitted after this IETF. IETF 57
Updated/Resolved Issues • New protocol name for the API Resolved : IPPROTO_MH as protocol number and ipv6-mh in /etc/protocols • A new header file for mobility header related definitions and structures <netinet/ip6mh.h> • What prefix to use for data structures and definitions ? For mobility headers: struct ip6_mh for fixed mobility header ip6mh* for prefix of fields in the data structure • Draft incorporates HA ICMPv6 related definitions and structures (consistent with rfc3542) DHAAD, MPA, MPS and ND changes are incorporated in <netinet/icmp6.h> • Type 2 Routing Header and home address destination option structures are in < netinet/ip6.h> IETF 57
Current Updates • Should the apps be allowed to set Mobile IPv6 headers ? User level ability to add Routing Header Type 2 and/or home address option or mobility headers to IPv6 headers. The API may not disallow this ability; it is up to the implementation to allow this feature. No resolution here – is this assumption OK? • Additional updates Added data structures for Mobility Options Macros have prefix IP6MH in <netinet/ip6mh.h> Defined BU and BA flags IETF 57
Suggested changes for the next revision • Use ip6_mh_* for the structure definitions and ip6mh_* for the respective fields example: struct ip6_mh_home_test_init { struct ip6_mh ip6mhti_hdr; uint16_t ip6mhti_resvd; uint32_t ip6mhti_cookie[2]; /* 64 bit Cookie by MN */ /* Followed by optional Mobility Options */ }; • Should the macros/definitions in icmp6.h for ND and ICMP related changes contain MIP6/mip6 or MIP/mip prefix ? example: mip_dhreq_hdr.icmp6_type vs mip6_dhreq_hdr.icmp6_type MIP_PREFIX_SOLICIT vs MIP6_PREFIX_SOLICIT IETF 57
Suggested changes for the next revision • Should we restrict other options setting when home-address option is set by the application ? • Should Checksumming be default for Mobility Header RAW socket applications ? Issue: RFC3542 RAW Socket behavior specifies that RAW sockets other than ICMPv6 must set IPV6_CHECKSUM for kernel to do the checksum operation– this may lead to backward compatibility issue Other minor issues would be resolved over the mailing list IETF 57
Next Step • Should this draft be a starting point of a working group informational draft as an extension to IPv6 Advanced Socket API? IETF 57