summaryrefslogtreecommitdiff
path: root/pimd/pim_assert.c
diff options
context:
space:
mode:
Diffstat (limited to 'pimd/pim_assert.c')
-rw-r--r--pimd/pim_assert.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/pimd/pim_assert.c b/pimd/pim_assert.c
index f68c252a35..6af52bbf4d 100644
--- a/pimd/pim_assert.c
+++ b/pimd/pim_assert.c
@@ -47,6 +47,7 @@ void pim_ifassert_winner_set(struct pim_ifchannel *ch,
struct in_addr winner,
struct pim_assert_metric winner_metric)
{
+ struct pim_interface *pim_ifp = ch->interface->info;
int winner_changed = (ch->ifassert_winner.s_addr != winner.s_addr);
int metric_changed = !pim_assert_metric_match(
&ch->ifassert_winner_metric, &winner_metric);
@@ -81,7 +82,7 @@ void pim_ifassert_winner_set(struct pim_ifchannel *ch,
ch->ifassert_creation = pim_time_monotonic_sec();
if (winner_changed || metric_changed) {
- pim_upstream_update_join_desired(ch->upstream);
+ pim_upstream_update_join_desired(pim_ifp->pim, ch->upstream);
pim_ifchannel_update_could_assert(ch);
pim_ifchannel_update_assert_tracking_desired(ch);
}
@@ -404,9 +405,9 @@ int pim_assert_build_msg(uint8_t *pim_msg, int buf_size, struct interface *ifp,
}
/* Metric preference */
- pim_write_uint32(pim_msg_curr,
- rpt_bit_flag ? metric_preference | 0x80000000
- : metric_preference);
+ pim_write_uint32(pim_msg_curr, rpt_bit_flag
+ ? metric_preference | 0x80000000
+ : metric_preference);
pim_msg_curr += 4;
/* Route metric */