diff --git a/core/net/rime/route-discovery.c b/core/net/rime/route-discovery.c index 21afceaa9..4a471bbbc 100644 --- a/core/net/rime/route-discovery.c +++ b/core/net/rime/route-discovery.c @@ -271,14 +271,24 @@ static const struct unicast_callbacks rrep_callbacks = {rrep_packet_received}; static const struct netflood_callbacks rreq_callbacks = {rreq_packet_received, NULL, NULL}; /*---------------------------------------------------------------------------*/ void +route_discovery_expicit_open(struct route_discovery_conn *c, + clock_time_t time, + uint16_t netflood_channel, + uint16_t unicast_channel, + const struct route_discovery_callbacks *callbacks) +{ + netflood_open(&c->rreqconn, time, netflood_channel, &rreq_callbacks); + unicast_open(&c->rrepconn, unicast_channel, &rrep_callbacks); + c->cb = callbacks; +} +/*---------------------------------------------------------------------------*/ +void route_discovery_open(struct route_discovery_conn *c, clock_time_t time, uint16_t channels, const struct route_discovery_callbacks *callbacks) { - netflood_open(&c->rreqconn, time, channels + 0, &rreq_callbacks); - unicast_open(&c->rrepconn, channels + 1, &rrep_callbacks); - c->cb = callbacks; + route_discovery_expicit_open(c, time, channels + 0, channels + 1, callbacks); } /*---------------------------------------------------------------------------*/ void diff --git a/core/net/rime/route-discovery.h b/core/net/rime/route-discovery.h index 81d454d5f..09ce984c2 100644 --- a/core/net/rime/route-discovery.h +++ b/core/net/rime/route-discovery.h @@ -83,6 +83,10 @@ struct route_discovery_conn { void route_discovery_open(struct route_discovery_conn *c, clock_time_t time, uint16_t channels, const struct route_discovery_callbacks *callbacks); +void route_discovery_explicit_open(struct route_discovery_conn *c, clock_time_t time, + uint16_t netflood_channel, + uint16_t unicast_channel, + const struct route_discovery_callbacks *callbacks); int route_discovery_discover(struct route_discovery_conn *c, const linkaddr_t *dest, clock_time_t timeout);