OpenWSN Firmware
|
ICMPv6 RPL implementation. More...
Data Structures | |
struct | icmpv6rpl_dio_ht |
Header format of a RPL DIO packet. More... | |
struct | icmpv6rpl_dao_ht |
Header format of a RPL DAO packet. More... | |
struct | icmpv6rpl_dao_transit_ht |
Header format of a RPL DAO "Transit Information" option. More... | |
struct | icmpv6rpl_dao_target_ht |
Header format of a RPL DAO "Target" option. More... | |
struct | icmpv6rpl_vars_t |
Macros | |
#define | TIMER_DIO_TIMEOUT 1700 |
#define | TIMER_DAO_TIMEOUT 10000 |
#define | MOP_DIO_A 1<<5 |
#define | MOP_DIO_B 1<<4 |
#define | MOP_DIO_C 1<<3 |
#define | PRF_DIO_A 0<<2 |
#define | PRF_DIO_B 0<<1 |
#define | PRF_DIO_C 0<<0 |
#define | G_DIO 1<<7 |
#define | FLAG_DAO_A 0<<0 |
#define | FLAG_DAO_B 0<<1 |
#define | FLAG_DAO_C 0<<2 |
#define | FLAG_DAO_D 0<<3 |
#define | FLAG_DAO_E 0<<4 |
#define | FLAG_DAO_F 0<<5 |
#define | D_DAO 1<<6 |
#define | K_DAO 0<<7 |
#define | E_DAO_Transit_Info 0<<7 |
#define | PC1_A_DAO_Transit_Info 0<<7 |
#define | PC1_B_DAO_Transit_Info 1<<6 |
#define | PC2_A_DAO_Transit_Info 0<<5 |
#define | PC2_B_DAO_Transit_Info 0<<4 |
#define | PC3_A_DAO_Transit_Info 0<<3 |
#define | PC3_B_DAO_Transit_Info 0<<2 |
#define | PC4_A_DAO_Transit_Info 0<<1 |
#define | PC4_B_DAO_Transit_Info 0<<0 |
#define | Prf_A_dio_options 0<<4 |
#define | Prf_B_dio_options 0<<3 |
#define | MAX_TARGET_PARENTS 0x01 |
Enumerations | |
enum | { OPTION_ROUTE_INFORMATION_TYPE = 0x03, OPTION_DODAG_CONFIGURATION_TYPE = 0x04, OPTION_TARGET_INFORMATION_TYPE = 0x05, OPTION_TRANSIT_INFORMATION_TYPE = 0x06 } |
Functions | |
void | icmpv6rpl_init (void) |
Initialize this module. More... | |
void | icmpv6rpl_sendDone (OpenQueueEntry_t *msg, owerror_t error) |
Called when DIO/DAO was sent. More... | |
void | icmpv6rpl_receive (OpenQueueEntry_t *msg) |
Called when RPL message received. More... | |
uint8_t | icmpv6rpl_getRPLIntanceID (void) |
ICMPv6 RPL implementation.
#define D_DAO 1<<6 |
#define E_DAO_Transit_Info 0<<7 |
#define FLAG_DAO_A 0<<0 |
#define FLAG_DAO_B 0<<1 |
#define FLAG_DAO_C 0<<2 |
#define FLAG_DAO_D 0<<3 |
#define FLAG_DAO_E 0<<4 |
#define FLAG_DAO_F 0<<5 |
#define G_DIO 1<<7 |
#define K_DAO 0<<7 |
#define MAX_TARGET_PARENTS 0x01 |
#define MOP_DIO_A 1<<5 |
#define MOP_DIO_B 1<<4 |
#define MOP_DIO_C 1<<3 |
#define PC1_A_DAO_Transit_Info 0<<7 |
#define PC1_B_DAO_Transit_Info 1<<6 |
#define PC2_A_DAO_Transit_Info 0<<5 |
#define PC2_B_DAO_Transit_Info 0<<4 |
#define PC3_A_DAO_Transit_Info 0<<3 |
#define PC3_B_DAO_Transit_Info 0<<2 |
#define PC4_A_DAO_Transit_Info 0<<1 |
#define PC4_B_DAO_Transit_Info 0<<0 |
#define Prf_A_dio_options 0<<4 |
#define Prf_B_dio_options 0<<3 |
#define PRF_DIO_A 0<<2 |
#define PRF_DIO_B 0<<1 |
#define PRF_DIO_C 0<<0 |
#define TIMER_DAO_TIMEOUT 10000 |
#define TIMER_DIO_TIMEOUT 1700 |
anonymous enum |
uint8_t icmpv6rpl_getRPLIntanceID | ( | void | ) |
void icmpv6rpl_init | ( | void | ) |
Initialize this module.
< TODO: put correct value
< TODO: put correct value
< TODO: put correct value
< TODO: put correct value
void icmpv6rpl_receive | ( | OpenQueueEntry_t * | msg | ) |
Called when RPL message received.
[in] | msg | Pointer to the received message. |
void icmpv6rpl_sendDone | ( | OpenQueueEntry_t * | msg, |
owerror_t | error | ||
) |
Called when DIO/DAO was sent.
[in] | msg | Pointer to the message just sent. |
[in] | error | Outcome of the sending. |