27.8 Historical IPv6 Advanced APIRFC 2292 [Stevens and Thomas 1998] defines an earlier version of the API described here, which is implemented and deployed in some systems. In this earlier version, the functions to deal with destination and hop-by-hop options are inet6_option_space , inet6_option_init , inet6_option_append , inet6_option_alloc , inet6_option_next and inet6_option_find . These functions dealt with struct cmsghdr objects directly, assuming that all options were contained in ancillary data. The routing header functions in that API were inet6_rthdr_space , inet6_rthdr_init , inet6_rthdr_add , inet6_rthdr_lasthop , inet6_rthdr_reverse , inet6_rthdr_segments , inet6_rthdr_getaddr and inet6_rthdr_getflags . These functions also operate directly on struct cmsghdr ancillary data objects. In this API, sticky options were set with the IPV6_PKTOPTIONS socket option. The ancillary data objects that would have been passed to sendmsg were instead set as the data portion of the IPV6_PKTOPTIONS socket option. In that API, the IPV6_DSTOPTS , IPV6_HOPOPTS , and IPV6_RTHDR socket options were flag values to request reception of the respective headers via ancillary data. For more information on these operations, refer to Sections 4 through 8 of RFC 2292 [Stevens and Thomas 1998]. |