]> git.puffer.fish Git - mirror/frr.git/log
mirror/frr.git
7 years agopimd: Cleanup some join debug messages
Donald Sharp [Mon, 5 Jun 2017 17:44:15 +0000 (13:44 -0400)]
pimd: Cleanup some join debug messages

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agopimd: Fix help string
Donald Sharp [Mon, 5 Jun 2017 17:39:08 +0000 (13:39 -0400)]
pimd: Fix help string

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agopimd: Add 'debug pim trace detail' command
Donald Sharp [Mon, 5 Jun 2017 17:15:47 +0000 (13:15 -0400)]
pimd: Add 'debug pim trace detail' command

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agopimd: Reschedule the correct interface for incoming packets
Donald Sharp [Mon, 5 Jun 2017 16:10:31 +0000 (12:10 -0400)]
pimd: Reschedule the correct interface for incoming packets

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agopimd: Trust the recvfromto ifindex information
Donald Sharp [Sat, 3 Jun 2017 00:22:39 +0000 (20:22 -0400)]
pimd: Trust the recvfromto ifindex information

The vrf interface is receiving the pim packet
instead of the slave interface that is bound.

Lookup the ifindex ifp pointer from that.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agopimd: Don't send hello's out vrf interface
Donald Sharp [Fri, 2 Jun 2017 22:23:11 +0000 (18:23 -0400)]
pimd: Don't send hello's out vrf interface

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agopimd: We may receive a igmp packet in on unconfiged intf
Donald Sharp [Fri, 2 Jun 2017 21:17:44 +0000 (17:17 -0400)]
pimd: We may receive a igmp packet in on unconfiged intf

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agopimd: Fix dropped(?) telling of the kernel to recv cmsg data
Donald Sharp [Fri, 2 Jun 2017 17:30:48 +0000 (13:30 -0400)]
pimd: Fix dropped(?) telling of the kernel to recv cmsg data

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agopimd: Fix mixup in addition to vrf node
Donald Sharp [Fri, 2 Jun 2017 12:16:13 +0000 (08:16 -0400)]
pimd: Fix mixup in addition to vrf node

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agopimd: Bind pim kernel fd to appropriate vrf
Donald Sharp [Thu, 1 Jun 2017 22:59:43 +0000 (18:59 -0400)]
pimd: Bind pim kernel fd to appropriate vrf

Bind the pim kernel fd to the appropriate vrf, modify
the callback up into pim with the IGMP report to
retrieve the incoming interface and use that to
lookup the correct interface to use.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agopimd: Push 'struct pim_instance *' a bit further
Donald Sharp [Fri, 26 May 2017 14:30:31 +0000 (10:30 -0400)]
pimd: Push 'struct pim_instance *' a bit further

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agopimd: Fix crash when attempting to use channel_oil->pim before it is assigned
Donald Sharp [Fri, 26 May 2017 13:07:16 +0000 (09:07 -0400)]
pimd: Fix crash when attempting to use channel_oil->pim before it is assigned

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agopimd: Cleanup some basic crashes from mistakes made converting to vrf
Donald Sharp [Wed, 24 May 2017 14:37:23 +0000 (10:37 -0400)]
pimd: Cleanup some basic crashes from mistakes made converting to vrf

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agopimd: Fix crash in 'show ip multicast vrf..'
Donald Sharp [Wed, 24 May 2017 11:45:18 +0000 (07:45 -0400)]
pimd: Fix crash in 'show ip multicast vrf..'

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agopimd: Convert pim_cmd.c to use correct pim instance
Donald Sharp [Tue, 23 May 2017 12:57:11 +0000 (08:57 -0400)]
pimd: Convert pim_cmd.c to use correct pim instance

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agopimd: Fix instance startup to separate data structure setup from use
Donald Sharp [Tue, 23 May 2017 11:43:47 +0000 (07:43 -0400)]
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>
7 years agopimd: Add vrf help strings to some commands
Donald Sharp [Tue, 23 May 2017 11:34:19 +0000 (07:34 -0400)]
pimd: Add vrf help strings to some commands

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agopimd: Start 'show ip pim [vrf NAME] ...' conversions
Donald Sharp [Tue, 23 May 2017 11:25:30 +0000 (07:25 -0400)]
pimd: Start 'show ip pim [vrf NAME] ...' conversions

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agopimd: Add some vrf knowledge to some debugging statements
Donald Sharp [Tue, 23 May 2017 11:24:52 +0000 (07:24 -0400)]
pimd: Add some vrf knowledge to some debugging statements

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agopimd: Add vrf ability to msdp show commands
Donald Sharp [Mon, 22 May 2017 22:14:43 +0000 (18:14 -0400)]
pimd: Add vrf ability to msdp show commands

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agopimd: All CONFIG_NODE commands are now available in VRF_NODE
Donald Sharp [Mon, 22 May 2017 20:32:14 +0000 (16:32 -0400)]
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>
7 years agopimd: Create macro to get appropriate pim instance
Donald Sharp [Mon, 22 May 2017 20:12:41 +0000 (16:12 -0400)]
pimd: Create macro to get appropriate pim instance

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agopimd: Cleanup the rest of the global config to be vrf aware for spacing
Donald Sharp [Mon, 22 May 2017 19:49:01 +0000 (15:49 -0400)]
pimd: Cleanup the rest of the global config to be vrf aware for spacing

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agopimd: Add code to write spaces or not before 'ip pim rp'
Donald Sharp [Mon, 22 May 2017 19:35:42 +0000 (15:35 -0400)]
pimd: Add code to write spaces or not before 'ip pim rp'

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agopimd: Get show run to display vrf sub mode
Donald Sharp [Mon, 22 May 2017 19:13:13 +0000 (15:13 -0400)]
pimd: Get show run to display vrf sub mode

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agopimd: Fix intentional pass of NULL
Donald Sharp [Mon, 22 May 2017 18:52:18 +0000 (14:52 -0400)]
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>
7 years agopimd: Fix startup of pim instance a bit
Donald Sharp [Mon, 22 May 2017 17:02:48 +0000 (13:02 -0400)]
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>
7 years agopimd: Fix crash associated with pim_ifp not actually being created yet
Donald Sharp [Mon, 22 May 2017 17:02:17 +0000 (13:02 -0400)]
pimd: Fix crash associated with pim_ifp not actually being created yet

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agopimd: Cleanup pim_msg.c to use correct pim instance
Donald Sharp [Mon, 22 May 2017 15:18:22 +0000 (11:18 -0400)]
pimd: Cleanup pim_msg.c to use correct pim instance

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agopimd: Make pim_ssmpingd.c 'struct pim_instance' aware
Donald Sharp [Mon, 22 May 2017 15:09:13 +0000 (11:09 -0400)]
pimd: Make pim_ssmpingd.c 'struct pim_instance' aware

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agopimd: Make msdp `struct pim_instance *` aware
Donald Sharp [Mon, 22 May 2017 14:35:08 +0000 (10:35 -0400)]
pimd: Make msdp `struct pim_instance *` aware

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agopimd: Make pim MSDP pim instance aware to some extent
Donald Sharp [Mon, 22 May 2017 13:12:08 +0000 (09:12 -0400)]
pimd: Make pim MSDP pim instance aware to some extent

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agopimd: Get the default pim code ready to write into vrf's or not
Donald Sharp [Fri, 14 Jul 2017 13:19:13 +0000 (09:19 -0400)]
pimd: Get the default pim code ready to write into vrf's or not

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agopimd: Allow PIM to start writing vrf information if it has it
Donald Sharp [Mon, 22 May 2017 12:27:24 +0000 (08:27 -0400)]
pimd: Allow PIM to start writing vrf information if it has it

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agopimd: Cleanup pim_pim use of pimg
Donald Sharp [Sun, 21 May 2017 16:18:59 +0000 (12:18 -0400)]
pimd: Cleanup pim_pim use of pimg

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agopimd: Cleanup pimg from pim_igmpv3.c
Donald Sharp [Sun, 21 May 2017 16:16:15 +0000 (12:16 -0400)]
pimd: Cleanup pimg from pim_igmpv3.c

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agopimd: Lookup loopback based upon vrf correctly.
Donald Sharp [Sun, 21 May 2017 16:12:30 +0000 (12:12 -0400)]
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>
7 years agopimd: Cleanup pim_ssm.c to use 'struct pim_instance *'
Donald Sharp [Sun, 21 May 2017 13:30:02 +0000 (09:30 -0400)]
pimd: Cleanup pim_ssm.c to use 'struct pim_instance *'

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agopimd: Finish up pimg -> pim conversion in pim_rpf.c
Donald Sharp [Sun, 21 May 2017 13:20:37 +0000 (09:20 -0400)]
pimd: Finish up pimg -> pim conversion in pim_rpf.c

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agopimd: Cleanup missed pimg
Donald Sharp [Sun, 21 May 2017 13:18:09 +0000 (09:18 -0400)]
pimd: Cleanup missed pimg

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agopimd: Finish up pim_mroute.c 'struct pim_instance' awareness
Donald Sharp [Sun, 21 May 2017 13:16:49 +0000 (09:16 -0400)]
pimd: Finish up pim_mroute.c 'struct pim_instance' awareness

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agopimd: Make pim_hello choose correct vrf
Donald Sharp [Sun, 21 May 2017 13:14:39 +0000 (09:14 -0400)]
pimd: Make pim_hello choose correct vrf

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agopimd: Cleanup pimg from pim_upstream.c
Donald Sharp [Sun, 21 May 2017 13:10:17 +0000 (09:10 -0400)]
pimd: Cleanup pimg from pim_upstream.c

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agopimd: Make zlookup 'struct pim_instance' aware
Donald Sharp [Sun, 21 May 2017 13:03:07 +0000 (09:03 -0400)]
pimd: Make zlookup 'struct pim_instance' aware

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agopimd: Make XX_forward_start 'struct pim_instance *' aware
Donald Sharp [Sun, 21 May 2017 12:57:18 +0000 (08:57 -0400)]
pimd: Make XX_forward_start 'struct pim_instance *' aware

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agopimd: Convert channel_oil_hash and list into 'struct pim_instance *'
Donald Sharp [Sun, 21 May 2017 12:45:46 +0000 (08:45 -0400)]
pimd: Convert channel_oil_hash and list into 'struct pim_instance *'

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agopimd: Convert vif and ifindex lookups to use 'struct pim_instance *'
Donald Sharp [Sun, 21 May 2017 12:29:56 +0000 (08:29 -0400)]
pimd: Convert vif and ifindex lookups to use 'struct pim_instance *'

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agopimd: Move pim_ifchannel_list and vif array into 'struct pim_instance *'
Donald Sharp [Sat, 20 May 2017 18:17:48 +0000 (14:17 -0400)]
pimd: Move pim_ifchannel_list and vif array into 'struct pim_instance *'

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agopimd: Remove pimg from pim_iface.c
Donald Sharp [Sat, 20 May 2017 17:57:34 +0000 (13:57 -0400)]
pimd: Remove pimg from pim_iface.c

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agopimd: Remove pimg from pim_register.c
Donald Sharp [Sat, 20 May 2017 17:54:31 +0000 (13:54 -0400)]
pimd: Remove pimg from pim_register.c

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agopimd: Cleanup pim_jp_agg_upstream_verification function
Donald Sharp [Sat, 20 May 2017 17:48:26 +0000 (13:48 -0400)]
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>
7 years agopimd: Convert pim_rp.c to use 'struct pim_instance *'
Donald Sharp [Sat, 20 May 2017 17:43:58 +0000 (13:43 -0400)]
pimd: Convert pim_rp.c to use 'struct pim_instance *'

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agopimd: Remove pimg from pim_upstream.c
Donald Sharp [Fri, 19 May 2017 23:36:53 +0000 (19:36 -0400)]
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>
7 years agopimd: pim_rp.c -> convert pimg to pim
Donald Sharp [Fri, 19 May 2017 20:41:25 +0000 (16:41 -0400)]
pimd: pim_rp.c -> convert pimg to pim

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agopimd: Remove pimg from pim_nht.c in totality
Donald Sharp [Fri, 19 May 2017 20:00:00 +0000 (16:00 -0400)]
pimd: Remove pimg from pim_nht.c in totality

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agopimd: More refactor for 'struct pim_instance *' for pim_nht.c
Donald Sharp [Fri, 19 May 2017 19:45:51 +0000 (15:45 -0400)]
pimd: More refactor for 'struct pim_instance *' for pim_nht.c

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agopimd: Add 'struct pim_instance' to find_or_track_nexthop
Donald Sharp [Fri, 19 May 2017 19:40:34 +0000 (15:40 -0400)]
pimd: Add 'struct pim_instance' to find_or_track_nexthop

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agopimd: Make nexthop cache pim instance aware
Donald Sharp [Fri, 19 May 2017 19:34:40 +0000 (15:34 -0400)]
pimd: Make nexthop cache pim instance aware

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agopimd: Fix mistake in uplifting to new thread model
Donald Sharp [Fri, 19 May 2017 15:14:28 +0000 (11:14 -0400)]
pimd: Fix mistake in uplifting to new thread model

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agopimd: Refactor some functions
Donald Sharp [Fri, 19 May 2017 02:53:50 +0000 (22:53 -0400)]
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>
7 years agopimd: Have pim_if_find_by_vif_index iterate over all vrf's
Donald Sharp [Fri, 19 May 2017 00:11:24 +0000 (20:11 -0400)]
pimd: Have pim_if_find_by_vif_index iterate over all vrf's

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agopimd: Refactore qpim_static_route_list into pim->static_routes
Donald Sharp [Thu, 18 May 2017 23:56:10 +0000 (19:56 -0400)]
pimd: Refactore qpim_static_route_list into pim->static_routes

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agopimd: Fix c_oil->pim set spot
Donald Sharp [Thu, 18 May 2017 23:26:49 +0000 (19:26 -0400)]
pimd: Fix c_oil->pim set spot

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agopimd: Refactor code to be in better spots
Donald Sharp [Thu, 18 May 2017 22:51:31 +0000 (18:51 -0400)]
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>
7 years agopimd: Set c_oil->pim for static routes
Donald Sharp [Thu, 18 May 2017 22:00:49 +0000 (18:00 -0400)]
pimd: Set c_oil->pim for static routes

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agopimd: If c_oil->pim is set use that pim instance in pim_mroute.c
Donald Sharp [Thu, 18 May 2017 21:58:40 +0000 (17:58 -0400)]
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>
7 years agopimd: Add vrf output to 'interface ...' write command
Donald Sharp [Thu, 18 May 2017 21:25:52 +0000 (17:25 -0400)]
pimd: Add vrf output to 'interface ...' write command

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agopimd: Fix 'show ip multicast'
Donald Sharp [Thu, 18 May 2017 21:21:18 +0000 (17:21 -0400)]
pimd: Fix 'show ip multicast'

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agopimd: Modify 'show ip multicast' to be VRF aware
Donald Sharp [Wed, 17 May 2017 19:08:39 +0000 (15:08 -0400)]
pimd: Modify 'show ip multicast' to be VRF aware

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agopimd: Create the pimreg device name correctly
Donald Sharp [Fri, 19 May 2017 13:14:06 +0000 (09:14 -0400)]
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>
7 years agopimd: Use actual vrf table_id for pim vrf creation
Donald Sharp [Wed, 17 May 2017 20:01:31 +0000 (16:01 -0400)]
pimd: Use actual vrf table_id for pim vrf creation

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agopimd: Create the pimreg per vrf
Donald Sharp [Wed, 17 May 2017 20:21:33 +0000 (16:21 -0400)]
pimd: Create the pimreg per vrf

7 years agopimd: Create pim_get_pim_instance
Donald Sharp [Mon, 15 May 2017 15:16:14 +0000 (11:16 -0400)]
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>
7 years agopimd: pim_mroute_[add|del]_vif become VRF aware
Donald Sharp [Sun, 14 May 2017 18:33:53 +0000 (14:33 -0400)]
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>
7 years agopimd: Store the pim instance off of the pim interface
Donald Sharp [Sun, 14 May 2017 18:20:17 +0000 (14:20 -0400)]
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>
7 years agopimg: Actually properly create the pim socket per vrf
Donald Sharp [Thu, 11 May 2017 13:53:45 +0000 (09:53 -0400)]
pimg: Actually properly create the pim socket per vrf

Create the actual pim socket per vrf.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agopimd: Start cleanup of documentation
Donald Sharp [Thu, 11 May 2017 01:47:26 +0000 (21:47 -0400)]
pimd: Start cleanup of documentation

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agopimd: Convert upcalls from kernel to use appropriate pim instance
Donald Sharp [Thu, 11 May 2017 01:44:25 +0000 (21:44 -0400)]
pimd: Convert upcalls from kernel to use appropriate pim instance

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agopimd: Move thread read to struct pim_instance
Donald Sharp [Thu, 11 May 2017 01:34:27 +0000 (21:34 -0400)]
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>
7 years agopimd: Call code to create appropriate MRT_TABLE
Donald Sharp [Thu, 11 May 2017 00:52:20 +0000 (20:52 -0400)]
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>
7 years agopimd: Remove unnecessary NULL check
Donald Sharp [Thu, 11 May 2017 00:06:17 +0000 (20:06 -0400)]
pimd: Remove unnecessary NULL check

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agopimd: Ensure a 0 read fails cleanly
Donald Sharp [Thu, 11 May 2017 00:04:02 +0000 (20:04 -0400)]
pimd: Ensure a 0 read fails cleanly

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agopimd: Prevent NULL dereference
Donald Sharp [Thu, 11 May 2017 00:00:07 +0000 (20:00 -0400)]
pimd: Prevent NULL dereference

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agopimd: Error check str2prefix
Donald Sharp [Wed, 10 May 2017 23:54:26 +0000 (19:54 -0400)]
pimd: Error check str2prefix

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agopimd: Fix unchecked return value
Donald Sharp [Wed, 10 May 2017 23:48:12 +0000 (19:48 -0400)]
pimd: Fix unchecked return value

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agopimd: Save pim instance on vrf pointer
Donald Sharp [Wed, 10 May 2017 12:50:16 +0000 (08:50 -0400)]
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>
7 years agopimd: Modify pim_mroute_socket_[enable|disable] to be vrf aware
Donald Sharp [Wed, 10 May 2017 12:45:25 +0000 (08:45 -0400)]
pimd: Modify pim_mroute_socket_[enable|disable] to be vrf aware

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agopimd: Use setsockopt_so_recvbuf instead of doing it ourselves
Donald Sharp [Wed, 10 May 2017 12:36:20 +0000 (08:36 -0400)]
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>
7 years agopimd: Start conversion of socket and counters for VRF
Donald Sharp [Wed, 10 May 2017 12:29:52 +0000 (08:29 -0400)]
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>
7 years agopimd: Cleanup use of VRF_DEFAULT to pimg->vrf_id
Donald Sharp [Thu, 4 May 2017 14:59:45 +0000 (10:59 -0400)]
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>
7 years agovtysh: Allow vtysh to pass through vrf commands to pim
Donald Sharp [Mon, 22 May 2017 18:55:47 +0000 (14:55 -0400)]
vtysh: Allow vtysh to pass through vrf commands to pim

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years ago*: fix git-reindent-branch.py reversing order
David Lamparter [Sat, 22 Jul 2017 16:00:44 +0000 (18:00 +0200)]
*: fix git-reindent-branch.py reversing order

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
7 years agoRevert "*: reindent pt. 2"
David Lamparter [Sat, 22 Jul 2017 12:52:33 +0000 (14:52 +0200)]
Revert "*: reindent pt. 2"

This reverts commit c14777c6bfd0a446c85243d3a9835054a259c276.

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>
7 years ago*: add git-reindent-branch.py
David Lamparter [Thu, 20 Jul 2017 17:09:40 +0000 (19:09 +0200)]
*: 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>
7 years agoMerge pull request #834 from dwalton76/ospf6d-show-crash
David Lamparter [Wed, 19 Jul 2017 20:05:23 +0000 (22:05 +0200)]
Merge pull request #834 from dwalton76/ospf6d-show-crash

ospf6d: crash in ospf6_lsdb_show

7 years agoMerge pull request #835 from dwalton76/lib-route-node-lookup
David Lamparter [Wed, 19 Jul 2017 20:03:36 +0000 (22:03 +0200)]
Merge pull request #835 from dwalton76/lib-route-node-lookup

lib: route_node_lookup() needs to apply_mask() to prefix

7 years agolib: route_node_lookup() needs to apply_mask() to prefix 835/head
Daniel Walton [Wed, 19 Jul 2017 16:54:24 +0000 (16:54 +0000)]
lib: route_node_lookup() needs to apply_mask() to prefix

Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
Reviewed-by: <qlyoung@cumulusnetworks.com>
7 years agoMerge pull request #828 from tigranmartirosyan/master
Quentin Young [Tue, 18 Jul 2017 16:11:35 +0000 (12:11 -0400)]
Merge pull request #828 from tigranmartirosyan/master

#752 ARP is not updating if mac address changed on remote side

7 years agoAdd 1 more identation to correspond to kernel style multi-line comment 828/head
tmartiro [Tue, 18 Jul 2017 16:06:57 +0000 (19:06 +0300)]
Add 1 more identation to correspond to kernel style multi-line comment

7 years agoMerge pull request #833 from dslicenc/cm16779-bgp-startup-ll
Jafar Al-Gharaibeh [Tue, 18 Jul 2017 15:46:03 +0000 (10:46 -0500)]
Merge pull request #833 from dslicenc/cm16779-bgp-startup-ll

bgpd: fix peer startup for labeled-unicast if linklocal address not f…