62 #include "contiki-conf.h"
72 #define UIP_MCAST6_DROP 0
73 #define UIP_MCAST6_ACCEPT 1
76 #define UIP_MCAST6_SCOPE_INTERFACE 0x01
77 #define UIP_MCAST6_SCOPE_LINK_LOCAL 0x02
78 #define UIP_MCAST6_SCOPE_REALM_LOCAL 0x03
79 #define UIP_MCAST6_SCOPE_ADMIN_LOCAL 0x04
80 #define UIP_MCAST6_SCOPE_SITE_LOCAL 0x05
81 #define UIP_MCAST6_SCOPE_ORG_LOCAL 0x08
82 #define UIP_MCAST6_SCOPE_GLOBAL 0x0E
86 #ifdef UIP_MCAST6_CONF_ENGINE
87 #define UIP_MCAST6_ENGINE UIP_MCAST6_CONF_ENGINE
89 #define UIP_MCAST6_ENGINE UIP_MCAST6_ENGINE_NONE
137 uint8_t (*
in)(void);
144 #define uip_mcast6_get_address_scope(a) ((a)->u8[1] & 0x0F)
147 #if UIP_MCAST6_ENGINE
150 #define UIP_CONF_IPV6_MULTICAST 1
152 #if UIP_MCAST6_ENGINE == UIP_MCAST6_ENGINE_ROLL_TM
153 #define RPL_CONF_MULTICAST 0
154 #define UIP_CONF_IPV6_ROLL_TM 1
156 #define UIP_MCAST6 roll_tm_driver
157 #elif UIP_MCAST6_ENGINE == UIP_MCAST6_ENGINE_SMRF
158 #define RPL_CONF_MULTICAST 1
160 #define UIP_MCAST6 smrf_driver
162 #error "Multicast Enabled with an Unknown Engine."
163 #error "Check the value of UIP_MCAST6_CONF_ENGINE in conf files."
171 #if RPL_CONF_MULTICAST && (!UIP_CONF_IPV6_RPL)
172 #error "The selected Multicast mode requires UIP_CONF_IPV6_RPL != 0"
173 #error "Check the value of UIP_CONF_IPV6_RPL in conf files."
The data structure used to represent a multicast engine.
uint8_t(* in)(void)
Process an incoming multicast datagram and determine whether it should be delivered up the stack or n...
void(* out)(void)
Process an outgoing datagram with a multicast IPv6 destination address.
char * name
The driver's name.
Header file for the implementation of the ROLL-TM multicast engine.
Header file with definition of multicast engine constants.
Header file for the SMRF forwarding engine.
Header file for multicast routing table manipulation.
void(* init)(void)
Initialize the multicast engine.