diff options
| author | Donald Sharp <sharpd@cumulusnetworks.com> | 2016-08-05 17:08:06 +0000 |
|---|---|---|
| committer | Donald Sharp <sharpd@cumulusnetworks.com> | 2016-12-21 20:26:05 -0500 |
| commit | 36d6bd7d34090d3af3dd1953b7ccc1b02f042849 (patch) | |
| tree | 129a74cb7048295a6821743c8de9dfbcdeb1dfba /pimd/pim_zebra.c | |
| parent | 75a26779e8f25e9868f1f33e0fd35677f17c978b (diff) | |
pimd: multiple rp commands
Allow the user to specify multiple rp commands.
'ip pim rp A.B.C.D' -> translates to 'ip pim rp A.G.C.D 224.0.0.0/24'
ip pim rp A.B.C.D A.B.C.D/M
First is the rp, second is the group with mask.
Groups and masks cannot be over each other except 224.0.0.0/24 which
is the fallback if used.
Ticket: CM-7860
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Diffstat (limited to 'pimd/pim_zebra.c')
| -rw-r--r-- | pimd/pim_zebra.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/pimd/pim_zebra.c b/pimd/pim_zebra.c index 046628de26..c6ca5189c1 100644 --- a/pimd/pim_zebra.c +++ b/pimd/pim_zebra.c @@ -388,7 +388,7 @@ pim_scan_individual_oil (struct channel_oil *c_oil) int input_iface_vif_index; int old_vif_index; - if (!pim_rp_set_upstream_addr (&vif_source, c_oil->oil.mfcc_origin)) + if (!pim_rp_set_upstream_addr (&vif_source, c_oil->oil.mfcc_origin, c_oil->oil.mfcc_mcastgrp)) return; input_iface_vif_index = fib_lookup_if_vif_index (vif_source); @@ -976,7 +976,7 @@ void igmp_source_forward_start(struct igmp_source *source) struct in_addr vif_source; struct pim_interface *pim_oif; - if (!pim_rp_set_upstream_addr (&vif_source, source->source_addr)) + if (!pim_rp_set_upstream_addr (&vif_source, source->source_addr, sg.grp)) return; int input_iface_vif_index = fib_lookup_if_vif_index(vif_source); |
