Implement multicast engine hooks in the uIPv6 core

- init()
  - process incoming multicast datagram
  - Pass ICMPv6 trickle messages to the engine
This commit is contained in:
George Oikonomou 2011-11-11 12:08:29 +00:00 committed by George Oikonomou
parent 151533b9bc
commit 226701b098
2 changed files with 46 additions and 0 deletions

View file

@ -42,6 +42,7 @@
extern uint16_t uip_slen;
#include "net/ip/uip-udp-packet.h"
#include "net/ipv6/multicast/uip-mcast6.h"
#include <string.h>
@ -57,6 +58,14 @@ uip_udp_packet_send(struct uip_udp_conn *c, const void *data, int len)
len > UIP_BUFSIZE - UIP_LLH_LEN - UIP_IPUDPH_LEN?
UIP_BUFSIZE - UIP_LLH_LEN - UIP_IPUDPH_LEN: len);
uip_process(UIP_UDP_SEND_CONN);
#if UIP_CONF_IPV6_MULTICAST
/* Let the multicast engine process the datagram before we send it */
if(uip_is_addr_mcast_routable(&uip_udp_conn->ripaddr)) {
UIP_MCAST6.out();
}
#endif /* UIP_IPV6_MULTICAST */
#if UIP_CONF_IPV6
tcpip_ipv6_output();
#else