Contiki-NG
Loading...
Searching...
No Matches

The data structure used to represent a multicast engine. More...

#include <os/net/ipv6/multicast/uip-mcast6.h>

Data Fields

char * name
 The driver's name.
 
void(* init )(void)
 Initialize the multicast engine.
 
void(* out )(void)
 Process an outgoing datagram with a multicast IPv6 destination address.
 
uint8_t(* in )(void)
 Process an incoming multicast datagram and determine whether it should be delivered up the stack or not.
 

Detailed Description

The data structure used to represent a multicast engine.

Definition at line 101 of file uip-mcast6.h.

Field Documentation

◆ in

uint8_t(* uip_mcast6_driver::in) (void)

Process an incoming multicast datagram and determine whether it should be delivered up the stack or not.

Returns
0: Drop, 1: Deliver
   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.

Definition at line 139 of file uip-mcast6.h.

◆ out

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

Definition at line 121 of file uip-mcast6.h.