]> git.puffer.fish Git - mirror/frr.git/commit
pimd: Match on longest prefix when searching for RP
authorDonald Sharp <sharpd@cumulusnetworks.com>
Tue, 29 Aug 2017 13:46:12 +0000 (09:46 -0400)
committerDonald Sharp <sharpd@cumulusnetworks.com>
Thu, 31 Aug 2017 14:30:19 +0000 (10:30 -0400)
commitb77b155068fccde782700e342d745f2090886223
tree8bc65b632d8492e5dcf8ea3b0a819201652c49e7
parent093c928fc16fb4210c9371af68abbbf4ffb9bfa5
pimd: Match on longest prefix when searching for RP

When we are searching for a RP to use, amongst
many RP's and separate prefix-lists, Match on
the longest prefix specified to choose the
correct RP.

Example:
ip pim rp 4.3.2.1 prefix-list A
ip pim rp 4.3.2.2 prefix-list B
ip pim rp 4.3.2.3 prefix-list C

ip prefix-list A seq 5 permit 225.0.0.0/8
ip prefix-list B seq 5 permit 225.1.0.0/16
ip prefix-list C seq 5 permit 225.1.1.0/24

Old behavior:  Group 225.1.1.14 comes in and
we need to find the RP to use, we would match
on the first prefix-list A( since we are searching
based on a sorted link list of RP address ) and
select 4.3.2.1 as our RP

New behavior:  Group 225.1.1.14 comes in and
we need to find theRP to use, we now will
match on C( longest prefix match ) and select
4.3.2.3 as our RP.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
pimd/pim_rp.c