RFC 3542 (rfc3542) - Page 3 of 77
Advanced Sockets Application Program Interface (API) for IPv6
Alternative Format: Original Text Document
RFC 3542 Advanced Sockets API for IPv6 May 2003 10.1 inet6_opt_init ...................................... 41 10.2 inet6_opt_append .................................... 41 10.3 inet6_opt_finish .................................... 42 10.4 inet6_opt_set_val ................................... 42 10.5 inet6_opt_next ...................................... 42 10.6 inet6_opt_find ...................................... 43 10.7 inet6_opt_get_val ................................... 43 11. Additional Advanced API Functions ......................... 44 11.1 Sending with the Minimum MTU ........................ 44 11.2 Sending without Fragmentation ....................... 45 11.3 Path MTU Discovery and UDP .......................... 46 11.4 Determining the Current Path MTU .................... 47 12. Ordering of Ancillary Data and IPv6 Extension Headers ..... 48 13. IPv6-Specific Options with IPv4-Mapped IPv6 Addresses ..... 50 14. Extended interfaces for rresvport, rcmd and rexec ......... 51 14.1 rresvport_af ........................................ 51 14.2 rcmd_af ............................................. 51 14.3 rexec_af ............................................ 52 15. Summary of New Definitions ................................ 52 16. Security Considerations ................................... 56 17. Changes from RFC 2292 ..................................... 57 18. References ................................................ 59 19. Acknowledgments ........................................... 59 20. Appendix A: Ancillary Data Overview ....................... 60 20.1 The msghdr Structure ................................ 60 20.2 The cmsghdr Structure ............................... 61 20.3 Ancillary Data Object Macros ........................ 62 20.3.1 CMSG_FIRSTHDR ............................... 63 20.3.2 CMSG_NXTHDR ................................. 64 20.3.3 CMSG_DATA ................................... 65 20.3.4 CMSG_SPACE .................................. 65 20.3.5 CMSG_LEN .................................... 65 21. Appendix B: Examples Using the inet6_rth_XXX() Functions .. 65 21.1 Sending a Routing Header ............................ 65 21.2 Receiving Routing Headers ........................... 70 22. Appendix C: Examples Using the inet6_opt_XXX() Functions .. 72 22.1 Building Options .................................... 72 22.2 Parsing Received Options ............................ 74 23. Authors' Addresses ........................................ 76 24. Full Copyright Statement .................................. 77 1. Introduction A separate specification [RFC-3493] contains changes to the sockets API to support IP version 6. Those changes are for TCP and UDP-based applications. This document defines some of the "advanced" features of the sockets API that are required for applications to take advantage of additional features of IPv6. Stevens, et al. Informational



