|  | SDK
    23.9.2
    For IoT System Software Development | 
Internet Protocol Version 6 Stack. More...
#include <IPv6.hpp>
| Classes | |
| struct | Header_t | 
| IPv6 Header.  More... | |
| struct | OptHeaderMPL_t | 
| MPL Option.  More... | |
| struct | OptHeaderRPL_t | 
| RPL Option Header for Carrying RPL Information in Data-Plane Datagrams.  More... | |
| struct | Reassembly_t | 
| struct | ReassemblyBuf_t | 
| struct | RecentDst_t | 
| class | Route | 
| class | RoutingEntry | 
| struct | TLVHeader_t | 
| IPv6 Options' TL (Type and Length)  More... | |
| Public Types | |
| enum | { MAX_NUM_IP6_RSM = 1, MAX_NUM_IP6_DC = 3 } | 
| Public Member Functions | |
| IPv6 (uint16_t nrt=0) | |
| Initialize IPv6 functionality.  More... | |
| void | begin () | 
| Initialize the IPv6 network layer. | |
| error_t | getRoutingEntry (uint16_t idx, IPv6Address *prefix, uint8_t *prefixLen, IPv6Interface **outInf) | 
| Get an IPv6 routing entry.  More... | |
| error_t | addRoute (const IPv6Address *prefix, uint8_t prefixLen, IPv6Interface &egressInf, const IPv6Address &nexthop) | 
| Add an IPv6 route to the main IPv6 routing table.  More... | |
| error_t | addRoute (const IPv6Address *prefix, uint8_t prefix_len, IPv6Interface &egressInterface, uint8_t nxhop) | 
| Static Public Member Functions | |
| static uint16_t | PseudoHeaderChecksum (Header_t &ip6, IPv6PacketBuffer *upper) | 
| Public Attributes | |
| const uint16_t | MAX_NUM_RT | 
| Size (number of entries) of the routing table. | |
| IPv6Interface * | nic | 
| IPv6::Reassembly_t | rsm [MAX_NUM_IP6_RSM] | 
| RoutingEntry * | rt | 
| Route | defRoute | 
| IPv6::RecentDst_t | dc [MAX_NUM_IP6_DC] | 
| Timer | lifetime | 
| void(* | fwd_state_cleanup )(void) | 
| error_t(* | icmp6_recv_echo_reply )(IPv6Interface &input, IPv6::Header_t &ip6, IPv6PacketBuffer *icmp_pkt) | 
| void(* | ping_tick )(void) | 
| bool(* | rpl_opt_check )(OptHeaderRPL_t *ro, const IPv6::Header_t &ip6, IPv6Interface &input, uint8_t sender) | 
| error_t(* | rpl_recv_msg )(IPv6Interface &input, IPv6::Header_t &ip6, void *icmpv6Msg, uint16_t msg_len) | 
| bool(* | mpl_opt_check )(OptHeaderMPL_t *mo, IPv6PacketBuffer *ip6_pkt, IPv6Interface &input, uint8_t sender) | 
| error_t(* | mpl_recv_ctrl_msg )(IPv6Interface &input, IPv6::Header_t &ip6, void *msg, uint16_t msg_len) | 
| void(* | udp_input )(IPv6Interface &input, IPv6PacketBuffer *head, IPv6PacketBuffer *ippkt, IPv6PacketBuffer *udppkt) | 
| void(* | tcp_input )(uint8_t ip6_inf, IPv6PacketBuffer *head, IPv6PacketBuffer *ippkt, IPv6PacketBuffer *tcppkt, uint8_t sender) | 
Internet Protocol Version 6 Stack.
| IPv6::IPv6 | ( | uint16_t | nrt = 0 | ) | 
| error_t IPv6::addRoute | ( | const IPv6Address * | prefix, | 
| uint8_t | prefixLen, | ||
| IPv6Interface & | egressInf, | ||
| const IPv6Address & | nexthop | ||
| ) | 
| error_t IPv6::getRoutingEntry | ( | uint16_t | idx, | 
| IPv6Address * | prefix, | ||
| uint8_t * | prefixLen, | ||
| IPv6Interface ** | outInf | ||
| ) | 
Get an IPv6 routing entry.
| [in] | idx | Index of the routing table. If it is out of range of the table, the default entry will be returned. | 
| [out] | prefix | Pointer where the entry's prefix will be stored at. | 
| [out] | prefixLen | Pointer where the entry's prefix length will be stored at. | 
| [out] | out_inf | Pointer where the entry's output interface pointer will be stored at. | 
idx is not valid.  1.8.17
 1.8.17