|
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. |