52 #include "contiki-conf.h"
62 #define UIP_MCAST6_DROP 0
63 #define UIP_MCAST6_ACCEPT 1
66 #define UIP_MCAST6_SCOPE_INTERFACE 0x01
67 #define UIP_MCAST6_SCOPE_LINK_LOCAL 0x02
68 #define UIP_MCAST6_SCOPE_REALM_LOCAL 0x03
69 #define UIP_MCAST6_SCOPE_ADMIN_LOCAL 0x04
70 #define UIP_MCAST6_SCOPE_SITE_LOCAL 0x05
71 #define UIP_MCAST6_SCOPE_ORG_LOCAL 0x08
72 #define UIP_MCAST6_SCOPE_GLOBAL 0x0E
76 #ifdef UIP_MCAST6_CONF_ENGINE
77 #define UIP_MCAST6_ENGINE UIP_MCAST6_CONF_ENGINE
79 #define UIP_MCAST6_ENGINE UIP_MCAST6_ENGINE_NONE
86 struct uip_mcast6_driver {
122 uint8_t (* in)(void);
129 #define uip_mcast6_get_address_scope(a) ((a)->u8[1] & 0x0F)
132 #if UIP_MCAST6_ENGINE
135 #define UIP_CONF_IPV6_MULTICAST 1
137 #if UIP_MCAST6_ENGINE == UIP_MCAST6_ENGINE_ROLL_TM
138 #define RPL_CONF_MULTICAST 0
139 #define UIP_CONF_IPV6_ROLL_TM 1
141 #define UIP_MCAST6 roll_tm_driver
142 #elif UIP_MCAST6_ENGINE == UIP_MCAST6_ENGINE_SMRF
143 #define RPL_CONF_MULTICAST 1
145 #define UIP_MCAST6 smrf_driver
147 #error "Multicast Enabled with an Unknown Engine."
148 #error "Check the value of UIP_MCAST6_CONF_ENGINE in conf files."
152 extern const struct uip_mcast6_driver UIP_MCAST6;
156 #if RPL_CONF_MULTICAST && (!UIP_CONF_IPV6_RPL)
157 #error "The selected Multicast mode requires UIP_CONF_IPV6_RPL != 0"
158 #error "Check the value of UIP_CONF_IPV6_RPL in conf files."
Header file for 'Stateless Multicast RPL Forwarding' (SMRF)
Multicast routing table manipulation
Header file with definition of multicast engine constants
Header file for IPv6 multicast according to the algorithm in the "MCAST Forwarding Using Tric...