IPv6 Network Interface.
More...
#include <IPv6Interface.hpp>
|
enum | Type_t {
TYPE_UNKNOWN = 0
, TYPE_6LOWPAN = 1
, TYPE_ETHERNET = 2
, TYPE_PPP = 3
,
TYPE_6LPWAN = 4
} |
|
enum | State_t {
STATE_NONE = 0
, STATE_BECOMING_HOST = 1
, STATE_DUPLICATE = 2
, STATE_HOST = 3
,
STATE_BECOMING_ROUTER = 4
, STATE_ROUTER = 5
} |
|
|
| IPv6Interface (Type_t type, uint8_t neigh_list_len, uint8_t prefix_list_len, uint16_t mtu) |
|
error_t | getAddress (IPv6Address::Type_t type, IPv6Address &dst) |
| Get an IPv6 address assigned to the inf interface. More...
|
|
error_t | getAddress (IPv6Address::Type_t type, uint8_t *dst) |
|
uint8_t | setPrefix (const IPv6Address &prefix_addr, uint8_t prefix_len, uint32_t lifetime, uint32_t pref_lifetime, bool autoconf) |
| Set a prefix to an IPv6 interface. More...
|
|
void | setStateNotifier (void(*func)(IPv6Interface &, State_t)) |
|
bool | isAttached () |
|
State_t | setState (State_t s) |
|
|
static const char * | GetStateString (State_t) |
|
|
virtual error_t | getIID (uint8_t *dst)=0 |
|
bool | hasIID (const uint8_t *iid) |
|
virtual bool | isInMulticastGroup (const IPv6Address &mcaddr)=0 |
|
virtual error_t | send (uint8_t nxhop, IPv6PacketBuffer *ippkt)=0 |
|
virtual void | receiveRS (IPv6::Header_t &ip6, void *msg, uint16_t len)=0 |
|
virtual void | receiveRA (IPv6::Header_t &ip6, void *msg, uint16_t len)=0 |
|
virtual void | receiveNS (IPv6::Header_t &ip6, void *msg, uint16_t len)=0 |
|
virtual void | receiveNA (IPv6::Header_t &ip6, void *msg, uint16_t len)=0 |
|
virtual void | receiveRedirect (IPv6::Header_t &ip6, void *msg, uint16_t len)=0 |
|
virtual void | confirmReach (uint8_t neigh)=0 |
|
virtual void | onTick ()=0 |
|
virtual void | onStateChanged ()=0 |
|
virtual uint8_t | addNeighbor (const IPv6Address &addr) |
|
void | removeNeighbor (uint8_t n) |
|
IPv6Neighbor * | getNeighbor (const IPv6Address &addr) |
|
uint8_t | getNeighborIndex (const IPv6Address &addr) |
|
|
bool | ll_dad_passed |
|
uint8_t | def_hop_limit |
|
const uint16_t | MTU |
|
uint16_t | pmtu |
|
Type_t | dev_type |
|
IPv6Prefix ** | prefix = NULL |
|
const uint8_t | MAX_NUM_PREFIX |
|
uint8_t | num_valid_prefix |
|
IPv6Neighbor ** | neighbor = NULL |
|
const uint8_t | MAX_NUM_NEIGH |
|
State_t | state |
|
void(* | notify )(IPv6Interface &, State_t) = NULL |
|
IPv6Interface * | next = NULL |
|
◆ getAddress()
error_t IPv6Interface::getAddress |
( |
IPv6Address::Type_t |
type, |
|
|
IPv6Address & |
dst |
|
) |
| |
Get an IPv6 address assigned to the inf
interface.
- Parameters
-
[in] | type | Address type |
[in] | inf | Network interface |
[out] | dst | Pointer where the output address is stored |
- Returns
- ERROR_SUCCESS: Success
- ERROR_INVALID_ARGS: Invalid arguments
◆ setPrefix()
uint8_t IPv6Interface::setPrefix |
( |
const IPv6Address & |
prefix_addr, |
|
|
uint8_t |
prefix_len, |
|
|
uint32_t |
lifetime, |
|
|
uint32_t |
pref_lifetime, |
|
|
bool |
autoconf |
|
) |
| |
Set a prefix to an IPv6 interface.
- Parameters
-
[in] | prefix | Prefix to be registered |
[in] | len | Prefix length |
[in] | lifetime | Prefix lifetime |
[in] | pref_lifetime | Prefix preferred lifetime |
[in] | autoconf | Whether the prefix can be advertised for IPv6 address auto-configuration |
- Returns
- Whether my prefix is created or updated (< MAX_NUM_PREFIX), or not (>= MAX_NUM_PREFIX).
The documentation for this class was generated from the following file: