summaryrefslogtreecommitdiff
path: root/cesar/cp/sta/mgr
diff options
context:
space:
mode:
Diffstat (limited to 'cesar/cp/sta/mgr')
-rw-r--r--cesar/cp/sta/mgr/src/sta_mgr.c15
1 files changed, 13 insertions, 2 deletions
diff --git a/cesar/cp/sta/mgr/src/sta_mgr.c b/cesar/cp/sta/mgr/src/sta_mgr.c
index eae0a1003a..480396a7a5 100644
--- a/cesar/cp/sta/mgr/src/sta_mgr.c
+++ b/cesar/cp/sta/mgr/src/sta_mgr.c
@@ -313,9 +313,20 @@ cp_sta_mgr_remove_avln (cp_t *ctx, cp_snid_t snid, cp_nid_t nid)
/* Is it our net ? */
if (ctx->sta_mgr.our_avln == net)
cp_sta_mgr_set_our_avln (ctx, NULL);
+ /* Get the CCo to inform the BSU. */
+ mac_t cco_mac = MAC_ZERO;
+ cp_sta_t *cco = cp_net_get_cco (ctx, net);
+ if (cco)
+ {
+ cco_mac = cp_sta_get_mac_address (cco);
+ /* Mac address can be broadcast. */
+ if (cco_mac == MAC_BROADCAST)
+ cco_mac = MAC_ZERO;
+ slab_release (cco);
+ }
+ /* Inform BSU. */
+ bsu_avln_remove (nid, snid, cco_mac);
cp_net_uninit (ctx, net);
- /* Inform the BSU. */
- bsu_avln_remove (nid, snid);
}
}