inet6_rthdr_lasthop()

Specify the Strict/Loose flag for the final hop of an IPv6 routing header

Synopsis:

#include <netinet/in.h>

int inet6_rthdr_lasthop(struct cmsghdr *cmsg, 
                        unsigned int flags);

Arguments:

cmsg
Ancillary data containing routing header.
flags
Routing header flags. It's either IPV6_RTHDR_LOOSE or IPV6_RTHDR_STRICT for an IPv6 Type 0 routing header.

Library:

libsocket

Use the -l socket option to qcc to link against this library.

Description:

This function specifies the Strict/Loose flag for the final hop of a Routing header.

A routing header specifying N intermediate nodes requires N+1 Strict/Loose flags. This requires N calls to inet6_rthdr_add() followed by one call to inet6_rthdr_lasthop().

Based on:

  • W. Stevens and M. Thomas, Advanced Sockets API for IPv6, RFC 2292, February 1998. Contains good examples.
  • S. Deering and R. Hinden, Internet Protocol, Version 6 (IPv6) Specification, RFC 2460, December 1998.

Returns:

0
Success.
-1
An error has occurred.

Classification:

RFC 2292

Safety:  
Cancellation point No
Interrupt handler No
Signal handler Yes
Thread Yes

Last modified: 2013-12-23

comments powered by Disqus