Nol.A SDK Library 26.11.2
For IoT System Software Development
Loading...
Searching...
No Matches
IPv6PPPoS Class Reference

IPv6 PPP over SerialPort. More...

#include <IPv6PPPoS.hpp>

Inheritance diagram for IPv6PPPoS:
IPv6Interface

Public Member Functions

 IPv6PPPoS (SerialPort &port)
 IPv6PPPoS 인스턴스를 생성합니다.
error_t begin ()
 IPv6PPPoS 인스턴스를 시작합니다.
error_t getIID (uint8_t *dst) override
bool isInMulticastGroup (const IPv6Address &mcaddr) override
error_t send (uint8_t nxhop, IPv6PacketBuffer *ippkt) override
void receiveRS (IPv6::Header_t &ip6, void *msg, uint16_t len) override
void receiveRA (IPv6::Header_t &ip6, void *msg, uint16_t len) override
void receiveNS (IPv6::Header_t &ip6, void *msg, uint16_t len) override
void receiveNA (IPv6::Header_t &ip6, void *msg, uint16_t len) override
void receiveRedirect (IPv6::Header_t &ip6, void *msg, uint16_t len) override
void confirmReach (uint8_t neigh) override
void onTick () override
void onStateChanged () override
Public Member Functions inherited from IPv6Interface
 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.
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.
void setStateNotifier (void(*func)(IPv6Interface &, State_t))
bool isAttached ()
State_t setState (State_t s)

Static Public Member Functions

static uint16_t SerialOutput (void *fd, void *payload, uint16_t len)
static void Receive (void *ctx, const uint8_t *packet, uint16_t len)
static void Timeout (void(*func)(void *), void *args, uint8_t time)
static void Untimeout (void(*func)(void *), void *args)
Static Public Member Functions inherited from IPv6Interface
static const char * GetStateString (State_t)

Additional Inherited Members

Public Types inherited from IPv6Interface
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
}
Protected Member Functions inherited from IPv6Interface
bool hasIID (const uint8_t *iid)
virtual uint8_t addNeighbor (const IPv6Address &addr)
void removeNeighbor (uint8_t n)
IPv6Neighbor * getNeighbor (const IPv6Address &addr)
uint8_t getNeighborIndex (const IPv6Address &addr)
Protected Attributes inherited from IPv6Interface
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

Detailed Description

IPv6 PPP over SerialPort.

Constructor & Destructor Documentation

◆ IPv6PPPoS()

IPv6PPPoS::IPv6PPPoS ( SerialPort & port)

IPv6PPPoS 인스턴스를 생성합니다.

Parameters
portPPP에서 사용할 SerialPort

Member Function Documentation

◆ confirmReach()

void IPv6PPPoS::confirmReach ( uint8_t neigh)
overridevirtual

Implements IPv6Interface.

◆ getIID()

error_t IPv6PPPoS::getIID ( uint8_t * dst)
overridevirtual

Implements IPv6Interface.

◆ isInMulticastGroup()

bool IPv6PPPoS::isInMulticastGroup ( const IPv6Address & mcaddr)
overridevirtual

Implements IPv6Interface.

◆ onStateChanged()

void IPv6PPPoS::onStateChanged ( )
overridevirtual

Implements IPv6Interface.

◆ onTick()

void IPv6PPPoS::onTick ( )
overridevirtual

Implements IPv6Interface.

◆ receiveNA()

void IPv6PPPoS::receiveNA ( IPv6::Header_t & ip6,
void * msg,
uint16_t len )
overridevirtual

Implements IPv6Interface.

◆ receiveNS()

void IPv6PPPoS::receiveNS ( IPv6::Header_t & ip6,
void * msg,
uint16_t len )
overridevirtual

Implements IPv6Interface.

◆ receiveRA()

void IPv6PPPoS::receiveRA ( IPv6::Header_t & ip6,
void * msg,
uint16_t len )
overridevirtual

Implements IPv6Interface.

◆ receiveRedirect()

void IPv6PPPoS::receiveRedirect ( IPv6::Header_t & ip6,
void * msg,
uint16_t len )
overridevirtual

Implements IPv6Interface.

◆ receiveRS()

void IPv6PPPoS::receiveRS ( IPv6::Header_t & ip6,
void * msg,
uint16_t len )
overridevirtual

Implements IPv6Interface.

◆ send()

error_t IPv6PPPoS::send ( uint8_t nxhop,
IPv6PacketBuffer * ippkt )
overridevirtual

Implements IPv6Interface.


The documentation for this class was generated from the following file: