@@ -151,17 +151,6 @@ static void rpl_control_publish_own_addresses(rpl_domain_t *domain, rpl_instance
151
151
}
152
152
}
153
153
154
- static void rpl_control_publish_own_address (rpl_domain_t * domain , const if_address_entry_t * addr )
155
- {
156
- ns_list_foreach (rpl_instance_t , instance , & domain -> instances ) {
157
- if (!rpl_instance_am_root (instance )) {
158
- uint32_t descriptor = 0 ;
159
- bool want_descriptor = rpl_policy_target_descriptor_for_own_address (domain , addr -> address , addr -> source , addr -> data , & descriptor );
160
- rpl_instance_publish_dao_target (instance , addr -> address , 128 , addr -> valid_lifetime , true, want_descriptor , descriptor );
161
- }
162
- }
163
- }
164
-
165
154
void rpl_control_publish_host_address (rpl_domain_t * domain , const uint8_t addr [16 ], uint32_t lifetime )
166
155
{
167
156
ns_list_foreach (rpl_instance_t , instance , & domain -> instances ) {
@@ -260,10 +249,6 @@ static void rpl_control_addr_notifier(struct protocol_interface_info_entry *inte
260
249
}
261
250
262
251
switch (reason ) {
263
- case ADDR_CALLBACK_DAD_COMPLETE :
264
- case ADDR_CALLBACK_REFRESHED :
265
- rpl_control_publish_own_address (interface -> rpl_domain , addr );
266
- break ;
267
252
case ADDR_CALLBACK_DELETED :
268
253
rpl_control_unpublish_address (interface -> rpl_domain , addr -> address );
269
254
break ;
@@ -345,11 +330,7 @@ void rpl_control_set_domain_on_interface(protocol_interface_info_entry_t *cur, r
345
330
cur -> rpl_domain = domain ;
346
331
addr_add_group (cur , ADDR_LINK_LOCAL_ALL_RPL_NODES );
347
332
}
348
- ns_list_foreach (if_address_entry_t , addr , & cur -> ip_addresses ) {
349
- if (!addr_is_ipv6_link_local (addr -> address )) {
350
- rpl_control_publish_own_address (domain , addr );
351
- }
352
- }
333
+
353
334
if (downstream ) {
354
335
domain -> non_storing_downstream_interface = cur -> id ;
355
336
}
@@ -898,10 +879,6 @@ static buffer_t *rpl_control_dio_handler(protocol_interface_info_entry_t *cur, r
898
879
if (!instance ) {
899
880
return buffer_free (buf );
900
881
}
901
-
902
- if ((g_mop_prf & RPL_MODE_MASK ) != RPL_MODE_NO_DOWNWARD ) {
903
- rpl_control_publish_own_addresses (domain , instance );
904
- }
905
882
}
906
883
907
884
/* Lookup any existing neighbour entry */
@@ -1628,6 +1605,7 @@ void rpl_control_slow_timer(uint16_t seconds)
1628
1605
1629
1606
ns_list_foreach (rpl_domain_t , domain , & rpl_domains ) {
1630
1607
ns_list_foreach_safe (rpl_instance_t , instance , & domain -> instances ) {
1608
+ rpl_control_publish_own_addresses (domain , instance );
1631
1609
rpl_instance_slow_timer (instance , seconds );
1632
1610
rpl_downward_dao_slow_timer (instance , seconds );
1633
1611
/* We purge one item from each instance, so as not to favour one domain or instance */
0 commit comments