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
Donald Sharp
856e863fda
pimd: If c_oil->pim is set use that pim instance in pim_mroute.c
...
As a transitory mechanism, if c_oil->pim is set, use that particular
pim instance, else use the default pimg.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-07-24 13:51:35 -04:00
Donald Sharp
024d6a751d
pimd: Add vrf output to 'interface ...' write command
...
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-07-24 13:51:35 -04:00
Donald Sharp
8395de9a9c
pimd: Fix 'show ip multicast'
...
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-07-24 13:51:35 -04:00
Donald Sharp
ecca97acb3
pimd: Modify 'show ip multicast' to be VRF aware
...
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-07-24 13:51:34 -04:00
Donald Sharp
afa2b17920
pimd: Create the pimreg device name correctly
...
The pimreg device name should be based upon the
tableid we create( as that this is what the kernel does )
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-07-24 13:51:34 -04:00
Donald Sharp
44a1bd88ee
pimd: Use actual vrf table_id for pim vrf creation
...
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-07-24 13:51:34 -04:00
Donald Sharp
43e40fdfe1
pimd: Create the pimreg per vrf
2017-07-24 13:51:34 -04:00
Donald Sharp
18d8291fa2
pimd: Create pim_get_pim_instance
...
Create function to get the pim instance from the vrf_id
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-07-24 13:51:34 -04:00
Donald Sharp
ea3d967be0
pimd: pim_mroute_[add|del]_vif become VRF aware
...
Make the pim_mroute_[add|del]_vif functions be vrf aware.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-07-24 13:51:34 -04:00
Donald Sharp
c3bd5a10f1
pimd: Store the pim instance off of the pim interface
...
Storing the pim instance off of the pim interface will allow
us to easily keep track of vrf information. This is because
pretty much is everything is interface based.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-07-24 13:51:34 -04:00
Donald Sharp
f507c1966e
pimg: Actually properly create the pim socket per vrf
...
Create the actual pim socket per vrf.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-07-24 13:51:34 -04:00
Donald Sharp
1145d0256e
pimd: Start cleanup of documentation
...
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-07-24 13:51:34 -04:00
Donald Sharp
405d63578a
pimd: Convert upcalls from kernel to use appropriate pim instance
...
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-07-24 13:51:34 -04:00
Donald Sharp
8ea5d94477
pimd: Move thread read to struct pim_instance
...
When we are handling the thread read/writes for
a pim mroute socket, make it so that it can
be appropriately handled by the 'struct pim_instance'
instead of defaulting to the default VRF's
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-07-24 13:51:34 -04:00
Donald Sharp
cdbfaec57b
pimd: Call code to create appropriate MRT_TABLE
...
When dealing with vrf's we need to create a table within
the linux kernel to handle the vrf.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-07-24 13:51:34 -04:00
Donald Sharp
a88e628d29
pimd: Remove unnecessary NULL check
...
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-07-24 13:51:34 -04:00
Donald Sharp
61e99c94ae
pimd: Ensure a 0 read fails cleanly
...
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-07-24 13:51:34 -04:00
Donald Sharp
9403d28515
pimd: Prevent NULL dereference
...
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-07-24 13:51:34 -04:00
Donald Sharp
2e8345c139
pimd: Error check str2prefix
...
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-07-24 13:51:34 -04:00
Donald Sharp
767a7788b9
pimd: Fix unchecked return value
...
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-07-24 13:51:34 -04:00
Donald Sharp
e07fe9e658
pimd: Save pim instance on vrf pointer
...
This commit does these things:
1) Saves the pim instance created on the vrf pointer
2) Moves some initialization to the proper spot.
3) Remove vrf_id from 'struct pim_ssm' it is not needed
4) Removes some checks to prevent non-default vrf's from
being created.
5) When creating the pim instance, save default vrf in pimg to allow backwards compatibility
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-07-24 13:51:34 -04:00
Donald Sharp
6beed98735
pimd: Modify pim_mroute_socket_[enable|disable] to be vrf aware
...
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-07-24 13:51:34 -04:00
Donald Sharp
fe232c1948
pimd: Use setsockopt_so_recvbuf instead of doing it ourselves
...
This change allows other non-linux platforms to be a bit
more forgiving if we ask for a very very large size.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-07-24 13:51:33 -04:00
Donald Sharp
ff673f4525
pimd: Start conversion of socket and counters for VRF
...
Convert the socket fd to be owned by the pimg pointer as
well as the counters associated with the fd. This will
allow us to future proof our code.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-07-24 13:51:33 -04:00
Donald Sharp
0708beb1f4
pimd: Cleanup use of VRF_DEFAULT to pimg->vrf_id
...
Use the appropriate vrf_id instead of always defaulting
to VRF_DEFAULT
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-07-24 13:51:33 -04:00
Donald Sharp
6f2f0be832
vtysh: Allow vtysh to pass through vrf commands to pim
...
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-07-24 13:51:33 -04:00
David Lamparter
92690ee649
*: fix git-reindent-branch.py reversing order
...
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2017-07-22 18:00:44 +02:00
David Lamparter
9d303b37d7
Revert "*: reindent pt. 2"
...
This reverts commit c14777c6bf
.
clang 5 is not widely available enough for people to indent with. This
is particularly problematic when rebasing/adjusting branches.
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2017-07-22 14:52:33 +02:00
David Lamparter
dceb5f8ac7
*: add git-reindent-branch.py
...
This tries to heave a branch over the reindentation step. Somewhat
tested, don't trust it blindly...
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2017-07-20 19:09:56 +02:00
David Lamparter
95b06c0aa5
Merge pull request #834 from dwalton76/ospf6d-show-crash
...
ospf6d: crash in ospf6_lsdb_show
2017-07-19 22:05:23 +02:00
David Lamparter
9fdcca14ca
Merge pull request #835 from dwalton76/lib-route-node-lookup
...
lib: route_node_lookup() needs to apply_mask() to prefix
2017-07-19 22:03:36 +02:00
Daniel Walton
b37aead99b
lib: route_node_lookup() needs to apply_mask() to prefix
...
Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
Reviewed-by: <qlyoung@cumulusnetworks.com>
2017-07-19 16:54:24 +00:00
Quentin Young
8ed86a5d20
Merge pull request #828 from tigranmartirosyan/master
...
#752 ARP is not updating if mac address changed on remote side
2017-07-18 12:11:35 -04:00
tmartiro
f26bc77358
Add 1 more identation to correspond to kernel style multi-line comment
2017-07-18 19:06:57 +03:00
Jafar Al-Gharaibeh
04ce08ecd1
Merge pull request #833 from dslicenc/cm16779-bgp-startup-ll
...
bgpd: fix peer startup for labeled-unicast if linklocal address not f…
2017-07-18 10:46:03 -05:00
Quentin Young
e71d2d641f
Merge pull request #827 from devicenull/patch-1
...
Add note about bridge limitations
2017-07-18 11:41:11 -04:00
Quentin Young
7b47def8cf
Merge pull request #805 from Orange-OpenSource/master
...
Add OSPF API and FRR Hacking documents
2017-07-18 11:34:25 -04:00
Daniel Walton
62d86b87fc
ospf6d: crash in ospf6_lsdb_show
...
Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
2017-07-18 13:19:47 +00:00