#include <uip-mcast6.h>
Data Fields | |
uint8_t(* | in )(void) |
Process an incoming multicast datagram and determine whether it should be delivered up the stack or not. More... | |
void(* | init )(void) |
Initialize the multicast engine. More... | |
char * | name |
void(* | out )(void) |
Process an outgoing datagram with a multicast IPv6 destination address. More... | |
uint8_t(* uip_mcast6_driver::in)(void) |
Process an incoming multicast datagram and determine whether it should be delivered up the stack or not.
When a datagram with a multicast destination address is received, the forwarding logic in core is bypassed. Instead, we let the multicast engine handle forwarding internally if and as necessary. This function is where forwarding logic must be hooked in. Once the engine is done with forwarding, it must signal via the return value whether the datagram needs delivered up the network stack.
Referenced by uip_process().
void(* uip_mcast6_driver::init)(void) |
Initialize the multicast engine.
Referenced by uip_init().
char* uip_mcast6_driver::name |
void(* uip_mcast6_driver::out)(void) |
Process an outgoing datagram with a multicast IPv6 destination address.
This may be needed if the multicast engine needs to, for example, add IPv6 extension headers to the datagram, cache it, decide it needs dropped etc.
It is sometimes desirable to let the engine handle datagram dispatch instead of letting the networking core do it. If the engine decides to send the datagram itself, it must afterwards set uip_len = 0 to prevent the networking core from sending too
Referenced by uip_udp_packet_send().