40#define GNRC_RPL_OPT_DODAG_CONF_LEN         (14) 
   41#define GNRC_RPL_OPT_PREFIX_INFO_LEN        (30) 
   42#define GNRC_RPL_OPT_TARGET_LEN             (18) 
   43#define GNRC_RPL_OPT_TRANSIT_INFO_LEN       (4) 
   50#define GNRC_RPL_DAO_D_BIT                  (1 << 6) 
   51#define GNRC_RPL_DAO_K_BIT                  (1 << 7) 
   58#define GNRC_RPL_DAO_ACK_D_BIT              (1 << 7) 
   66#define GNRC_RPL_REQ_DIO_OPT_DODAG_CONF_SHIFT       (0) 
   67#define GNRC_RPL_REQ_DIO_OPT_DODAG_CONF             (1 << GNRC_RPL_REQ_DIO_OPT_DODAG_CONF_SHIFT) 
   68#define GNRC_RPL_REQ_DIO_OPT_PREFIX_INFO_SHIFT      (1) 
   69#define GNRC_RPL_REQ_DIO_OPT_PREFIX_INFO            (1 << GNRC_RPL_REQ_DIO_OPT_PREFIX_INFO_SHIFT) 
   78typedef struct __attribute__((packed)) {
 
 
   89typedef struct __attribute__((packed)) {
 
 
  106typedef struct __attribute__((packed)) {
 
 
  127typedef struct __attribute__((packed)) {
 
 
  138typedef struct __attribute__((packed)) {
 
 
  153typedef struct __attribute__((packed)) {
 
 
  166typedef struct __attribute__((packed)) {
 
 
  179typedef struct __attribute__((packed)) {
 
 
  193typedef struct __attribute__((packed)) {
 
 
  208typedef struct __attribute__((packed)) {
 
 
  238struct gnrc_rpl_parent {
 
  246    uint8_t link_metric_type;       
 
  311struct gnrc_rpl_dodag {
 
  317    uint8_t dio_interval_doubl;     
 
  320    uint8_t default_lifetime;       
 
  321    uint16_t lifetime_unit;         
 
  329    bool dao_ack_received;          
 
  336struct gnrc_rpl_instance {
 
  342    uint16_t min_hop_rank_inc;      
 
  343    uint16_t max_rank_inc;          
 
  347    evtimer_msg_event_t cleanup_event;
 
Functions to work with different byte orders.
 
be_uint32_t network_uint32_t
A 32 bit integer in network byte order.
 
be_uint16_t network_uint16_t
A 16 bit integer in network byte order.
 
IPC-based evtimer definitions.
 
int16_t kernel_pid_t
Unique process identifier.
 
Definitions for IPv6 addresses.
 
Destination Advertisement Object Acknowledgement.
 
uint8_t dao_sequence
sequence must be equal to the sequence from the DAO object
 
uint8_t d_reserved
if set, indicates that the DODAG id should be included
 
uint8_t instance_id
id of the instance
 
uint8_t status
indicates completion
 
Destination Advertisement Object.
 
uint8_t instance_id
id of the instance
 
uint8_t k_d_flags
K and D flags.
 
uint8_t dao_sequence
sequence of the DAO, needs to be used for DAO-ACK
 
uint8_t version_number
version number of the DODAG
 
uint8_t dtsn
Destination Advertisement Trigger Sequence Number.
 
uint8_t g_mop_prf
grounded, MOP, preferred flags
 
network_uint16_t rank
rank of the parent emitting the DIO
 
ipv6_addr_t dodag_id
id of the dodag
 
uint8_t instance_id
id of the instance
 
DODAG Information Solicitation.
 
internal unpacked struct type for DIS solicited option insertion
 
uint8_t type
Option Type: 0x07.
 
uint8_t version_number
version number of the DODAG
 
ipv6_addr_t dodag_id
DODAG ID predicate.
 
uint8_t VID_flags
V|I|D predicate options followed by 5 bit unused flags.
 
uint8_t length
Option Length: 19 bytes.
 
uint8_t instance_id
id of the instance
 
internal unpacked struct type for option insertion
 
uint8_t length
Option Length, does not include the first two byte.
 
Objective function representation.
 
void(* reset)(gnrc_rpl_dodag_t *dodag)
Reset the state of the objective function.
 
uint16_t ocp
objective code point
 
void(* init)(gnrc_rpl_dodag_t *dodag)
Initialize the objective function.
 
int(* parent_cmp)(gnrc_rpl_parent_t *parent1, gnrc_rpl_parent_t *parent2)
Compare two gnrc_rpl_parent_t.
 
void(* process_dio)(void)
DIO processing callback (acc.
 
uint16_t(* calc_rank)(gnrc_rpl_dodag_t *dodag, uint16_t base_rank)
Calculate the rank of this node.
 
int(* which_dodag)(gnrc_rpl_dodag_t *, gnrc_rpl_dio_t *)
compare for dodags
 
void(* parent_state_callback)(gnrc_rpl_parent_t *, int, int)
retrieves the state of a parent
 
DIS Solicited Information option.
 
uint8_t VID_flags
V|I|D predicate options followed by 5 bit unused flags.
 
uint8_t type
Option Type: 0x07.
 
uint8_t length
Option Length: 19 bytes.
 
uint8_t version_number
version number of the DODAG
 
ipv6_addr_t dodag_id
DODAG ID predicate.
 
uint8_t instance_id
id of the instance
 
DODAG Configuration Option.
 
uint8_t length
length of option, not including first two bytes
 
uint8_t dio_int_min
trickle Imin parameter
 
uint8_t type
Option Type: 0x04.
 
network_uint16_t lifetime_unit
unit in seconds
 
uint8_t dio_redun
trickle k parameter
 
network_uint16_t ocp
Objective Code Point.
 
uint8_t default_lifetime
lifetime of RPL routes (lifetime * lifetime_unit)
 
network_uint16_t max_rank_inc
allowable increase in rank
 
network_uint16_t min_hop_rank_inc
DAGRank(rank) = floor(rank/MinHopRankIncrease)
 
uint8_t dio_int_doubl
trickle Imax parameter
 
Prefix Information Option.
 
uint8_t length
option length without the first two bytes
 
ipv6_addr_t prefix
prefix used for Stateless Address Autoconfiguration
 
uint32_t reserved
reserved
 
network_uint32_t valid_lifetime
valid lifetime
 
uint8_t LAR_flags
flags and resereved
 
uint8_t prefix_len
prefix length
 
network_uint32_t pref_lifetime
preferred lifetime
 
RPL-Option Generic Format.
 
uint8_t length
Option Length, does not include the first two byte.
 
ipv6_addr_t target
IPv6 prefix, address or multicast group.
 
uint8_t prefix_length
number of valid leading bits in the IPv6 prefix
 
uint8_t length
option length without the first two bytes
 
uint8_t length
option length without the first two bytes
 
uint8_t path_control
limits the number of DAO parents
 
uint8_t path_lifetime
lifetime of routes
 
uint8_t path_sequence
increased value for route updates
 
uint8_t e_flags
external flag indicates external routes
 
struct gnrc_rpl_instance gnrc_rpl_instance_t
Instance representation.
 
struct gnrc_rpl_parent gnrc_rpl_parent_t
Parent representation.
 
struct gnrc_rpl_dodag gnrc_rpl_dodag_t
DODAG representation.
 
all state variables of a trickle timer
 
Trickle timer interface definition.
 
Data type to represent an IPv6 address.