Donald Sharp
b4575b3aa0
pimd: Fix instance startup to separate data structure setup from use
...
Fix the instance startup to allow separation between the data structure
setup for pim instances from actual attempt to use. More than
likely there will be other issues that need to be fixed but
this gets us 'working' again.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-07-24 13:51:38 -04:00
Donald Sharp
f02d59db8b
pimd: Add vrf help strings to some commands
...
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-07-24 13:51:38 -04:00
Donald Sharp
c3169ac780
pimd: Start 'show ip pim [vrf NAME] ...' conversions
...
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-07-24 13:51:38 -04:00
Donald Sharp
7c2bfc2a1d
pimd: Add some vrf knowledge to some debugging statements
...
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-07-24 13:51:37 -04:00
Donald Sharp
02a16316f3
pimd: Add vrf ability to msdp show commands
...
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-07-24 13:51:37 -04:00
Donald Sharp
4f9f3925d6
pimd: All CONFIG_NODE commands are now available in VRF_NODE
...
Note -> Some commands storage needs to be moved into pim_instance
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-07-24 13:51:37 -04:00
Donald Sharp
ae4a6b57ca
pimd: Create macro to get appropriate pim instance
...
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-07-24 13:51:37 -04:00
Donald Sharp
c9657fdc91
pimd: Cleanup the rest of the global config to be vrf aware for spacing
...
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-07-24 13:51:37 -04:00
Donald Sharp
0c8b717ee6
pimd: Add code to write spaces or not before 'ip pim rp'
...
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-07-24 13:51:37 -04:00
Donald Sharp
9ecb7b7747
pimd: Get show run to display vrf sub mode
...
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-07-24 13:51:37 -04:00
Donald Sharp
4097373f90
pimd: Fix intentional pass of NULL
...
pim_msdp_pkt_sa_gen is intentionally passed mp as NULL
in some cases, so we need to pass through the pim instance
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-07-24 13:51:37 -04:00
Donald Sharp
6d3c195375
pimd: Fix startup of pim instance a bit
...
We will need to refine the difference between create and enable
of a pim instance.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-07-24 13:51:37 -04:00
Donald Sharp
b11e234147
pimd: Fix crash associated with pim_ifp not actually being created yet
...
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-07-24 13:51:37 -04:00
Donald Sharp
92b422f1b7
pimd: Cleanup pim_msg.c to use correct pim instance
...
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-07-24 13:51:37 -04:00
Donald Sharp
71ad9915e7
pimd: Make pim_ssmpingd.c 'struct pim_instance' aware
...
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-07-24 13:51:37 -04:00
Donald Sharp
472ad3832c
pimd: Make msdp struct pim_instance *
aware
...
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-07-24 13:51:37 -04:00
Donald Sharp
2ad78035cc
pimd: Make pim MSDP pim instance aware to some extent
...
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-07-24 13:51:37 -04:00
Donald Sharp
6196ed7154
pimd: Get the default pim code ready to write into vrf's or not
...
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-07-24 13:51:37 -04:00
Donald Sharp
a01538df21
pimd: Allow PIM to start writing vrf information if it has it
...
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-07-24 13:51:37 -04:00
Donald Sharp
ef434d3e39
pimd: Cleanup pim_pim use of pimg
...
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-07-24 13:51:37 -04:00
Donald Sharp
e52e322341
pimd: Cleanup pimg from pim_igmpv3.c
...
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-07-24 13:51:37 -04:00
Donald Sharp
896b2044c7
pimd: Lookup loopback based upon vrf correctly.
...
The vrf loopback ip address should be associated with the
vrf device for vrf's, else use the loopback.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-07-24 13:51:36 -04:00
Donald Sharp
6f439a7058
pimd: Cleanup pim_ssm.c to use 'struct pim_instance *'
...
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-07-24 13:51:36 -04:00
Donald Sharp
cc0cecae78
pimd: Finish up pimg -> pim conversion in pim_rpf.c
...
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-07-24 13:51:36 -04:00
Donald Sharp
ac7eaeb401
pimd: Cleanup missed pimg
...
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-07-24 13:51:36 -04:00
Donald Sharp
9a0f71c994
pimd: Finish up pim_mroute.c 'struct pim_instance' awareness
...
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-07-24 13:51:36 -04:00
Donald Sharp
88a3f5e121
pimd: Make pim_hello choose correct vrf
...
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-07-24 13:51:36 -04:00
Donald Sharp
8e5f97e3c1
pimd: Cleanup pimg from pim_upstream.c
...
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-07-24 13:51:36 -04:00
Donald Sharp
71edad0fd5
pimd: Make zlookup 'struct pim_instance' aware
...
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-07-24 13:51:36 -04:00
Donald Sharp
6f932b0c91
pimd: Make XX_forward_start 'struct pim_instance *' aware
...
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-07-24 13:51:36 -04:00
Donald Sharp
611925dc02
pimd: Convert channel_oil_hash and list into 'struct pim_instance *'
...
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-07-24 13:51:36 -04:00
Donald Sharp
7cfc7bcfe7
pimd: Convert vif and ifindex lookups to use 'struct pim_instance *'
...
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-07-24 13:51:36 -04:00
Donald Sharp
f88df3a642
pimd: Move pim_ifchannel_list and vif array into 'struct pim_instance *'
...
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-07-24 13:51:36 -04:00
Donald Sharp
5ec5d976eb
pimd: Remove pimg from pim_iface.c
...
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-07-24 13:51:36 -04:00
Donald Sharp
b206566b16
pimd: Remove pimg from pim_register.c
...
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-07-24 13:51:36 -04:00
Donald Sharp
b236555851
pimd: Cleanup pim_jp_agg_upstream_verification function
...
Do not use pimg, figure out which instance we are in and use that.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-07-24 13:51:36 -04:00
Donald Sharp
d9c9a9ee06
pimd: Convert pim_rp.c to use 'struct pim_instance *'
...
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-07-24 13:51:36 -04:00
Donald Sharp
9b29ea95fc
pimd: Remove pimg from pim_upstream.c
...
Move the upstream_list, hash and wheel into 'struct pim_instance'
Remove all pimg to pim in pim_upstream
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-07-24 13:51:35 -04:00
Donald Sharp
fec883d95a
pimd: pim_rp.c -> convert pimg to pim
...
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-07-24 13:51:35 -04:00
Donald Sharp
25b787a287
pimd: Remove pimg from pim_nht.c in totality
...
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-07-24 13:51:35 -04:00
Donald Sharp
cf663cebb3
pimd: More refactor for 'struct pim_instance *' for pim_nht.c
...
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-07-24 13:51:35 -04:00
Donald Sharp
25bdac421e
pimd: Add 'struct pim_instance' to find_or_track_nexthop
...
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-07-24 13:51:35 -04:00
Donald Sharp
d0a4f55d5d
pimd: Make nexthop cache pim instance aware
...
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-07-24 13:51:35 -04:00
Donald Sharp
f509d94116
pimd: Fix mistake in uplifting to new thread model
...
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-07-24 13:51:35 -04:00
Donald Sharp
cb9c7c50d3
pimd: Refactor some functions
...
A bunch of functions had return values that were never
checked for ( and not needed ) and opposite return values
for proper calling function boolean logic.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-07-24 13:51:35 -04:00
Donald Sharp
da82728dbf
pimd: Have pim_if_find_by_vif_index iterate over all vrf's
...
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-07-24 13:51:35 -04:00
Donald Sharp
4e0bc0f0a8
pimd: Refactore qpim_static_route_list into pim->static_routes
...
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-07-24 13:51:35 -04:00
Donald Sharp
2e4e8571f0
pimd: Fix c_oil->pim set spot
...
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-07-24 13:51:35 -04:00
Donald Sharp
c2cf4b0230
pimd: Refactor code to be in better spots
...
1) Create pim_instance.[ch] to allow us to handle the instance information there
2) Refactor some pim_rpf_ and some pim_rp commands into appropriate files and
appropriate includes.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-07-24 13:51:35 -04:00
Donald Sharp
72ec467289
pimd: Set c_oil->pim for static routes
...
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-07-24 13:51:35 -04:00