CoAP: enable reaching link-local endpoints regardless of routing reachability
#include "contiki.h"
#include "net/ipv6/uip-udp-packet.h"
#include "net/ipv6/uiplib.h"
+#include "net/routing/routing.h"
#include "coap.h"
#include "coap-engine.h"
#include "coap-endpoint.h"
#include "coap-keystore.h"
#include "coap-keystore-simple.h"
-#if UIP_CONF_IPV6_RPL
-#include "rpl.h"
-#endif /* UIP_CONF_IPV6_RPL */
-
/* Log configuration */
#include "coap-log.h"
#define LOG_MODULE "coap-uip"
@@ -263,13 +260,12 @@ coap_endpoint_is_secure(const coap_endpoint_t *ep)
int
coap_endpoint_is_connected(const coap_endpoint_t *ep)
{
-#if UIP_CONF_IPV6_RPL
#ifndef CONTIKI_TARGET_NATIVE
- if(rpl_get_any_dag() == NULL) {
+ if(!uip_is_addr_linklocal(&ep->ipaddr)
+ && NETSTACK_ROUTING.node_is_reachable() == 0) {
return 0;
}
#endif
-#endif /* UIP_CONF_IPV6_RPL */
#ifdef WITH_DTLS
if(ep != NULL && ep->secure != 0) {
