Skip to content

Commit 7144121

Browse files
author
Juha Heiskanen
committed
RPL DIO Multicast message update
Multicast DIO will include allways if rpl_control_set_dio_multicast_min_config_advertisment_count() set 0xff. Wi-sun Bootstrap set infinite advertisment rule for config advertisment. Change-Id: Iec2f52b33283729b675e4842b243c9acdd170653
1 parent 588f202 commit 7144121

File tree

3 files changed

+5
-3
lines changed

3 files changed

+5
-3
lines changed

source/6LoWPAN/ws/ws_config.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@ extern uint8_t DEVICE_MIN_SENS;
148148
*/
149149
#define WS_MAX_DAO_RETRIES 3 // With 40s, 80s, 160s, 320s, 640s
150150
#define WS_MAX_DAO_INITIAL_TIMEOUT 400 // With 40s initial value exponentially increasing
151-
#define WS_MIN_DIO_MULTICAST_CONFIG_ADVERTISMENT_COUNT 10 // Define 10 multicast advertisment when learn config or learn config update
151+
#define WS_MIN_DIO_MULTICAST_CONFIG_ADVERTISMENT_COUNT 0xff // Advertisment config at every MC DIO
152152

153153
/*
154154
* Candidate parent list parameters

source/RPL/rpl_structures.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ struct rpl_dodag {
8787
bool leaf: 1; /* We are a leaf in this DODAG (by policy) */
8888
bool have_config: 1; /* We have the config */
8989
bool used: 1; /* We have ever been a member of this DODAG? */
90-
uint8_t new_config_advertisment_count; /* We have advertiment new config at multicasti DIO */
90+
uint8_t new_config_advertisment_count; /* We have advertiment new config at multicasti DIO max updated value is 0xfe*/
9191
NS_LIST_HEAD(rpl_dodag_version_t, link) versions; /* List of DODAG versions (newest first) */
9292
prefix_list_t prefixes; /* Prefixes advertised in DIO PIOs */
9393
rpl_dio_route_list_t routes; /* Routes advertised in DIO RIOs*/

source/RPL/rpl_upward.c

+3-1
Original file line numberDiff line numberDiff line change
@@ -1610,7 +1610,9 @@ void rpl_instance_dio_trigger(rpl_instance_t *instance, protocol_interface_info_
16101610
conf = &dodag->config;
16111611
} else if (dodag->new_config_advertisment_count < rpl_policy_dio_multicast_config_advertisment_min_count()) {
16121612
conf = &dodag->config;
1613-
dodag->new_config_advertisment_count++;
1613+
if (dodag->new_config_advertisment_count < 0xfe) {
1614+
dodag->new_config_advertisment_count++;
1615+
}
16141616
} else {
16151617
conf = NULL;
16161618
}

0 commit comments

Comments
 (0)