]> git.puffer.fish Git - mirror/frr.git/log
mirror/frr.git
7 years agobgpd: uninstall type-5 routes from vrf
Mitesh Kanjariya [Mon, 13 Nov 2017 06:48:36 +0000 (22:48 -0800)]
bgpd: uninstall type-5 routes from vrf

When we receive an MP_UNREACH,
we try to uninstall routes from the VRF and the VNI.
The route-node in the VRF corresponds
to the ip prefix formed from EVPN prefix.
We should correctly form the prefix based on the EVPN route-type.

Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
7 years agobgpd: move vrf rd command under address-family l2vpn evpn
Mitesh Kanjariya [Sat, 11 Nov 2017 12:17:02 +0000 (04:17 -0800)]
bgpd: move vrf rd command under address-family l2vpn evpn

Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
7 years agobgpd: advertise/withdraw new added/deleted type-5 routes
Mitesh Kanjariya [Thu, 9 Nov 2017 10:37:09 +0000 (02:37 -0800)]
bgpd: advertise/withdraw new added/deleted type-5 routes

Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
7 years agobgpd: process evpn type-5 routes received from peers
Mitesh Kanjariya [Tue, 7 Nov 2017 09:52:23 +0000 (01:52 -0800)]
bgpd: process evpn type-5 routes received from peers

Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
7 years agobgpd: distinguish between frr prefixlen and packet prefixlen for EVPN type-5 routes
Mitesh Kanjariya [Mon, 6 Nov 2017 22:32:32 +0000 (14:32 -0800)]
bgpd: distinguish between frr prefixlen and packet prefixlen for EVPN type-5 routes

for EVPN routes prefixlen filed in struct prefix
represents the sizeof of the struct rather than the actual prefix len.
This is later used in looking up route node in RIB.

Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
7 years agobgpd: only advertise valid subnet routes as evpn type-5 routes
Mitesh Kanjariya [Mon, 6 Nov 2017 01:11:43 +0000 (17:11 -0800)]
bgpd: only advertise valid subnet routes as evpn type-5 routes

Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
7 years agobgpd: write advertise <ipv4|ipv6> unicast under bgp vrf config
Mitesh Kanjariya [Sun, 5 Nov 2017 01:36:19 +0000 (18:36 -0700)]
bgpd: write advertise <ipv4|ipv6> unicast under bgp vrf config

Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
7 years agobgpd: follow AFI/SAFI style for advertising/withdrawing type-5 routes
Mitesh Kanjariya [Sun, 5 Nov 2017 01:24:02 +0000 (18:24 -0700)]
bgpd: follow AFI/SAFI style for advertising/withdrawing type-5 routes

Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
7 years agobgpd: update type-5 routes upon vrf export-rt change
Mitesh Kanjariya [Fri, 3 Nov 2017 23:45:55 +0000 (16:45 -0700)]
bgpd: update type-5 routes upon vrf export-rt change

Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
7 years agobgpd: update/withdraw type-5 routes upon l3-vni add/del
Mitesh Kanjariya [Fri, 3 Nov 2017 21:54:20 +0000 (14:54 -0700)]
bgpd: update/withdraw type-5 routes upon l3-vni add/del

Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
7 years agobgpd: evpn enabled should only be checked for default instance
Mitesh Kanjariya [Thu, 2 Nov 2017 10:38:01 +0000 (03:38 -0700)]
bgpd: evpn enabled should only be checked for default instance

Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
7 years agobgpd: update type-5 routes when RD changes
Mitesh Kanjariya [Thu, 2 Nov 2017 09:15:14 +0000 (02:15 -0700)]
bgpd: update type-5 routes when RD changes

when router-id/RD changes for a bgp vrf instance,
we need to update all type-5 routes.

Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
7 years agobgpd: advertise/withdraw type-5 routes upon user config
mitesh [Fri, 27 Oct 2017 21:15:45 +0000 (14:15 -0700)]
bgpd: advertise/withdraw type-5 routes upon user config

CLI config for enabling/disabling type-5 routes

router bgp <as> vrf <vrf>
  address-family l2vpn evpn
    [no] advertise <ipv4|ipv6|both>

loop through all the routes in VRF instance and advertise/withdraw
all ip routes as type-5 routes in default instance.

Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
7 years agobgpd: set vrf originator ip to kernels local-ip
mitesh [Mon, 30 Oct 2017 23:58:15 +0000 (16:58 -0700)]
bgpd: set vrf originator ip to kernels local-ip

For EVPN type-5 route the NH in the NLRI is set to the local tunnel ip.
This information has to be obtained from kernel notification.
We need to pass this info from zebra to bgp in l3vni call flow.
This patch doesn't handle the tunnel-ip change.

Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
7 years agobgpd: RD derivation for VRF
mitesh [Wed, 25 Oct 2017 23:49:18 +0000 (16:49 -0700)]
bgpd: RD derivation for VRF

1. VRF RD can be auto-derived (simillar to RD for a VNI)
2. VRF RD can be configured manually through a config

Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
7 years agobgpd: move rd id bitfield to bgp_master
mitesh [Wed, 25 Oct 2017 23:13:32 +0000 (16:13 -0700)]
bgpd: move rd id bitfield to bgp_master

currently, we have a rd_id bitfield
to assign an unique index for auto RD.
This bitfield currently resides under struct bgp which seems wrong.
We need to shift this to a global space
as this ID space is really global per box.
One more reason to keep it at a global data structure is,
the ID space could be used by both VNIs and VRFs.

Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
7 years agozebra: vrf to vni mapping command is only valid under vrf submode
Mitesh Kanjariya [Wed, 15 Nov 2017 08:19:23 +0000 (00:19 -0800)]
zebra: vrf to vni mapping command is only valid under vrf submode

Ticket: CM-18821
Review: Trivial
Testing: Manual

Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
7 years agobgpd: handle different sequence of bgp vrf create/delete
Mitesh Kanjariya [Fri, 10 Nov 2017 09:49:48 +0000 (01:49 -0800)]
bgpd: handle different sequence of bgp vrf create/delete

BGP VRF can be created/deleted either via config or via l3vni add/del.
We need to handle various sequences.

1. If user config is presented, an l3vni del should not delete the vrf instance
2. do not write bgp config in show running for auto created vrf
2. If l3vni present, disallow the cli for deleting bgp vrf instance
3. If l3vni is added and vrf config is present set the flags properly
4. if bgp vrf is configured unset the AUTO flag

Ticket: CM-18630
Review: CCR-6906
Testing: Manual

Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
7 years agobgpd: properly initialize ret variable
Mitesh Kanjariya [Mon, 13 Nov 2017 18:57:52 +0000 (10:57 -0800)]
bgpd: properly initialize ret variable

Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
7 years agobgpd: move vrf RT command under address-family l2vpn evpn
Mitesh Kanjariya [Sat, 11 Nov 2017 12:06:58 +0000 (04:06 -0800)]
bgpd: move vrf RT command under address-family l2vpn evpn

Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
7 years agobgpd: do not advertise ipv6 host routes with l3-vni related ext-comm
Mitesh Kanjariya [Fri, 10 Nov 2017 22:29:39 +0000 (14:29 -0800)]
bgpd: do not advertise ipv6 host routes with l3-vni related ext-comm

Currently, kernel doesn't support ipv6 routes with ipv4 nexthops.
To avoid the crash,
we will only attach l3-vni related
RTs/ecommunities only to ipv4 host routes.

Ticket: CM-18743
Review: ccr-6912
Testing: Manaul

Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
7 years agozebra: Reinstall remote VTEP next hop when it becomes stale
vivek [Thu, 9 Nov 2017 17:13:28 +0000 (09:13 -0800)]
zebra: Reinstall remote VTEP next hop when it becomes stale

When a remote VTEP next hop entry (for symmetric routing) becomes
stale, reinstall it. This makes the behavior the same as what is
done for remote host next hops (for asymmetric routing and ARP
suppression).

Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
7 years agozebra: use list_delete_and_null instead of list_delete
mitesh [Tue, 7 Nov 2017 01:11:55 +0000 (17:11 -0800)]
zebra: use list_delete_and_null instead of list_delete

Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
7 years agobgpd: adjust show bgp l2vpn evpn vni command to avoid sanity breakages
Mitesh Kanjariya [Thu, 2 Nov 2017 23:33:10 +0000 (16:33 -0700)]
bgpd: adjust show bgp l2vpn evpn vni command to avoid sanity breakages

Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
7 years agozebra: remove l3vni/rmac from gw macip APIs
Mitesh Kanjariya [Mon, 23 Oct 2017 09:07:36 +0000 (02:07 -0700)]
zebra: remove l3vni/rmac from gw macip APIs

Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
7 years agozebra: only write vni config under vrf if the vni is valid
Mitesh Kanjariya [Sun, 22 Oct 2017 10:46:49 +0000 (03:46 -0700)]
zebra: only write vni config under vrf if the vni is valid

Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
7 years agozebra: re-install remote next-hop neigh entries upon age out
Mitesh Kanjariya [Sun, 22 Oct 2017 08:16:54 +0000 (01:16 -0700)]
zebra: re-install remote next-hop neigh entries upon age out

Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
7 years agobgpd: write vrf import/export RT config to frr.conf
Mitesh Kanjariya [Thu, 19 Oct 2017 09:28:42 +0000 (02:28 -0700)]
bgpd: write vrf import/export RT config to frr.conf

Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
7 years agobgpd: update all routes when vrf changes on a VNI
Mitesh Kanjariya [Thu, 19 Oct 2017 01:08:28 +0000 (18:08 -0700)]
bgpd: update all routes when vrf changes on a VNI

Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
7 years agobgpd: uninstall all nh/rmac when l3vni is deleted
Mitesh Kanjariya [Wed, 18 Oct 2017 08:46:40 +0000 (01:46 -0700)]
bgpd: uninstall all nh/rmac when l3vni is deleted

Upon a l3vni delete (no vni under a vrf) is executed,
we should uninstall all the RMACs and NHs associated with the l3vni.
This is because by the time we get a route delete in zebra
l3vni is already deleted and we dont have refernce to RMACs and NHs

Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
7 years agozebra: json support for show evpn rmac specific mac command
Mitesh Kanjariya [Tue, 17 Oct 2017 12:25:47 +0000 (05:25 -0700)]
zebra: json support for show evpn rmac specific mac command

Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
7 years agozebra: json support for show evpn rmac vni command
Mitesh Kanjariya [Tue, 17 Oct 2017 12:14:33 +0000 (05:14 -0700)]
zebra: json support for show evpn rmac vni command

Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
7 years agozebra: json support for show evpn rmac command
Mitesh Kanjariya [Tue, 17 Oct 2017 11:59:42 +0000 (04:59 -0700)]
zebra: json support for show evpn rmac command

Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
7 years agozebra: json support for show evpn specific next-hop command
Mitesh Kanjariya [Tue, 17 Oct 2017 11:32:31 +0000 (04:32 -0700)]
zebra: json support for show evpn specific next-hop command

Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
7 years agozebra: json support for show evpn next-hop l3vni <vni>
Mitesh Kanjariya [Tue, 17 Oct 2017 11:12:51 +0000 (04:12 -0700)]
zebra: json support for show evpn next-hop l3vni <vni>

Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
7 years agozebra: json support for show evpn next-hop vni all
Mitesh Kanjariya [Tue, 17 Oct 2017 10:48:06 +0000 (03:48 -0700)]
zebra: json support for show evpn next-hop vni all

Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
7 years agozebra: json support for show evpn l3vni vni command
Mitesh Kanjariya [Tue, 17 Oct 2017 10:14:14 +0000 (03:14 -0700)]
zebra: json support for show evpn l3vni vni command

Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
7 years agozebra: json support for show evpn l3vni
Mitesh Kanjariya [Tue, 17 Oct 2017 09:59:35 +0000 (02:59 -0700)]
zebra: json support for show evpn l3vni

Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
7 years agozebra: json support for show vrf vni command
Mitesh Kanjariya [Tue, 17 Oct 2017 09:30:42 +0000 (02:30 -0700)]
zebra: json support for show vrf vni command

Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
7 years agobgpd: json support for show bgp vrf <> l3vni info
Mitesh Kanjariya [Tue, 17 Oct 2017 08:54:05 +0000 (01:54 -0700)]
bgpd: json support for show bgp vrf <> l3vni info

Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
7 years agobgpd: json support for show bgp l2vpn evpn vrf-import-rt
Mitesh Kanjariya [Tue, 17 Oct 2017 08:33:24 +0000 (01:33 -0700)]
bgpd: json support for show bgp l2vpn evpn vrf-import-rt

Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
7 years agozebra: free host_list while deleting rmac/nh entry
Mitesh Kanjariya [Tue, 17 Oct 2017 00:41:04 +0000 (17:41 -0700)]
zebra: free host_list while deleting rmac/nh entry

Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
7 years agobgpd: set type-2 route flag if necessary in bgp_zebra_witgdraw
Mitesh Kanjariya [Tue, 17 Oct 2017 00:31:36 +0000 (17:31 -0700)]
bgpd: set type-2 route flag if necessary in bgp_zebra_witgdraw

Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
7 years agozebra: show commands for specific rmac/nh entries
Mitesh Kanjariya [Mon, 16 Oct 2017 23:51:32 +0000 (16:51 -0700)]
zebra: show commands for specific rmac/nh entries

Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
7 years agozebra: proper refcounting for rmac/nh entries
mitesh [Mon, 16 Oct 2017 21:57:42 +0000 (14:57 -0700)]
zebra: proper refcounting for rmac/nh entries

Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.comy>
7 years agobgpd: do not send label to zebra route add for evpn routes
Mitesh Kanjariya [Mon, 16 Oct 2017 04:19:04 +0000 (21:19 -0700)]
bgpd: do not send label to zebra route add for evpn routes

Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
7 years agobgpd: only install mac_ip routes in vrf
Mitesh Kanjariya [Sun, 15 Oct 2017 04:12:06 +0000 (21:12 -0700)]
bgpd: only install mac_ip routes in vrf

Signed-off-by: Mitesh Kanjariya<mitesh@cumulusnetworks.com>
7 years agobgpd: use bgp_process while processing evpn routes in vrf
Mitesh Kanjariya [Sat, 14 Oct 2017 09:56:37 +0000 (02:56 -0700)]
bgpd: use bgp_process while processing evpn routes in vrf

Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
7 years agobgpd: set evpn rvtep nexthops as active by default
Mitesh Kanjariya [Fri, 13 Oct 2017 22:48:01 +0000 (15:48 -0700)]
bgpd: set evpn rvtep nexthops as active by default

Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
7 years agobgpd: import/unimport vrf routes upon l3vni change
Mitesh Kanjariya [Fri, 13 Oct 2017 11:10:03 +0000 (04:10 -0700)]
bgpd: import/unimport vrf routes upon l3vni change

Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
7 years agobgpd: program nh/rmac entries
mitesh [Fri, 13 Oct 2017 08:13:48 +0000 (01:13 -0700)]
bgpd: program nh/rmac entries

Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
7 years agobgpd: program mac-ip routes in matching vrfs
mitesh [Wed, 11 Oct 2017 08:32:54 +0000 (01:32 -0700)]
bgpd: program mac-ip routes in matching vrfs

Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
7 years agobgpd: import rt to vrf mapping
Mitesh Kanjariya [Tue, 10 Oct 2017 01:12:05 +0000 (18:12 -0700)]
bgpd: import rt to vrf mapping

Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
7 years agobgpd: rmac ext comm
Mitesh Kanjariya [Mon, 9 Oct 2017 11:55:57 +0000 (04:55 -0700)]
bgpd: rmac ext comm

Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
7 years agozebra: don't get rmac in remote macip delete
Mitesh Kanjariya [Mon, 9 Oct 2017 09:49:39 +0000 (02:49 -0700)]
zebra: don't get rmac in remote macip delete

Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
7 years agobgpd: handle export rt change for vrf
Mitesh Kanjariya [Mon, 9 Oct 2017 09:06:34 +0000 (02:06 -0700)]
bgpd: handle export rt change for vrf

Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
7 years agobgpd: add VRF export RTs to mac-ip routes
Mitesh Kanjariya [Mon, 9 Oct 2017 08:36:32 +0000 (01:36 -0700)]
bgpd: add VRF export RTs to mac-ip routes

Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
7 years agobgpd: bgpevpn APIs to get l3vni/rmac and import/export RT list
Mitesh Kanjariya [Mon, 9 Oct 2017 08:29:04 +0000 (01:29 -0700)]
bgpd: bgpevpn APIs to get l3vni/rmac and import/export RT list

Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
7 years agobgpd: link l2vnis(bgpevpn) to l3vni(vrf)
Mitesh Kanjariya [Mon, 9 Oct 2017 03:43:14 +0000 (20:43 -0700)]
bgpd: link l2vnis(bgpevpn) to l3vni(vrf)

Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
7 years agozebra: don't get rmac in remote macip add
Mitesh Kanjariya [Mon, 9 Oct 2017 03:49:16 +0000 (20:49 -0700)]
zebra: don't get rmac in remote macip add

Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
7 years agobgpd: import/export rt for BGP vrf
Mitesh Kanjariya [Mon, 9 Oct 2017 01:34:29 +0000 (18:34 -0700)]
bgpd: import/export rt for BGP vrf

Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
7 years agobgpd: l3vni/rmac association with bgp vrf
Mitesh Kanjariya [Mon, 9 Oct 2017 00:46:08 +0000 (17:46 -0700)]
bgpd: l3vni/rmac association with bgp vrf

Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
7 years agobgpd: Bgpevpn tenant vrf association
Mitesh Kanjariya [Sun, 8 Oct 2017 03:26:16 +0000 (20:26 -0700)]
bgpd: Bgpevpn tenant vrf association

Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
7 years agozebra, lib: zebra changes for symmetric routing support
Mitesh Kanjariya [Sun, 8 Oct 2017 01:49:27 +0000 (18:49 -0700)]
zebra, lib: zebra changes for symmetric routing support

Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
7 years agoMerge pull request #1554 from opensourcerouting/cover-fix1
Donald Sharp [Thu, 14 Dec 2017 17:24:52 +0000 (12:24 -0500)]
Merge pull request #1554 from opensourcerouting/cover-fix1

bgpd: fix some coverity scan issues

7 years agoMerge pull request #1550 from opensourcerouting/missing-lintian-file
Donald Sharp [Thu, 14 Dec 2017 16:05:29 +0000 (11:05 -0500)]
Merge pull request #1550 from opensourcerouting/missing-lintian-file

debianpkg: Add missing frr-dbg.lintian-overrides to Makefile

7 years agobgpd: handle argv_find_and_parse_afi return value 1554/head
Rafael Zalamena [Thu, 14 Dec 2017 16:00:58 +0000 (14:00 -0200)]
bgpd: handle argv_find_and_parse_afi return value

Handle the return value of argv_find_and_parse_afi() to avoid passing
along bad values.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
7 years agobgpd: use buffer size instead of hardcoded value
Rafael Zalamena [Thu, 14 Dec 2017 15:57:03 +0000 (13:57 -0200)]
bgpd: use buffer size instead of hardcoded value

This is a possible buffer overflow.

We should always use the buffer size (whenever possible) to tell
functions what the size of the buffer is, instead of a hardcoded value.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
7 years agoMerge pull request #1546 from pguibert6WIND/issue__1537
Donald Sharp [Thu, 14 Dec 2017 15:23:54 +0000 (10:23 -0500)]
Merge pull request #1546 from pguibert6WIND/issue__1537

Issue  1537

7 years agoMerge pull request #1527 from donaldsharp/zserv_thread
Renato Westphal [Thu, 14 Dec 2017 14:23:37 +0000 (12:23 -0200)]
Merge pull request #1527 from donaldsharp/zserv_thread

Zserv.h modifications

7 years agoMerge pull request #1521 from donaldsharp/bufsiz
Rafael Zalamena [Thu, 14 Dec 2017 13:21:40 +0000 (11:21 -0200)]
Merge pull request #1521 from donaldsharp/bufsiz

Cleanup Some Code Issues

7 years agoMerge pull request #1536 from opensourcerouting/isis-l2conv
Donald Sharp [Thu, 14 Dec 2017 12:40:23 +0000 (07:40 -0500)]
Merge pull request #1536 from opensourcerouting/isis-l2conv

Fix ISIS L2 formations

7 years agodebianpkg: Add missing frr-dbg.lintian-overrides to Makefile 1550/head
Martin Winter [Thu, 14 Dec 2017 02:58:33 +0000 (18:58 -0800)]
debianpkg: Add missing frr-dbg.lintian-overrides to Makefile

Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
7 years agoisisd: fix l2 neighbor formations 1536/head
Rafael Zalamena [Mon, 11 Dec 2017 20:25:06 +0000 (18:25 -0200)]
isisd: fix l2 neighbor formations

Add a timestamp information for level 2 circuits, otherwise if the
circuit is marked as already processed on level 1 we will not process
level 2 areas.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
7 years agozebra: remove useless iotcl linux calls 1546/head
Philippe Guibert [Wed, 13 Dec 2017 15:50:16 +0000 (16:50 +0100)]
zebra: remove useless iotcl linux calls

As netlink is available for all linux systems ( old linux distributions
are not considered), this commit removes the ipv6 ioctl support for
linux.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
7 years agozebra: ipv6 addressing uses netlink socket instead of standard ioctl
Philippe Guibert [Mon, 11 Dec 2017 14:21:04 +0000 (15:21 +0100)]
zebra: ipv6 addressing uses netlink socket instead of standard ioctl

It is possible to configure IPv6 addresses from interfaces by using
netlink socket, intead of using standard sockets.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
7 years agozebra: Make zserv.h the true api for zapi northbound 1527/head
Donald Sharp [Thu, 7 Dec 2017 23:35:29 +0000 (18:35 -0500)]
zebra: Make zserv.h the true api for zapi northbound

zserv.c had a grab bag of function declarations that
did not belong in it.  Move those to where they better
belong.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agozebra: Try to move non zapi cli commands from zserv.c
Donald Sharp [Thu, 7 Dec 2017 15:47:30 +0000 (10:47 -0500)]
zebra: Try to move non zapi cli commands from zserv.c

zserv.c has become a bit of a dumping ground for zebra cli.
I'd like to focus the zserv.c code into it's core functionality
which is handling the zapi interface.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agozebra: Move zebrad initialization outside of cli init
Donald Sharp [Wed, 6 Dec 2017 01:21:37 +0000 (20:21 -0500)]
zebra: Move zebrad initialization outside of cli init

The zebrad initialization does not need to be part of cli
initialization and should be done separately.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agoMerge pull request #1478 from bingen/zeromq4
Donald Sharp [Wed, 13 Dec 2017 12:36:57 +0000 (07:36 -0500)]
Merge pull request #1478 from bingen/zeromq4

lib: Address ZMQ lib TODOs

7 years agoMerge pull request #1540 from opensourcerouting/isis-spfperf1
Donald Sharp [Tue, 12 Dec 2017 17:41:07 +0000 (12:41 -0500)]
Merge pull request #1540 from opensourcerouting/isis-spfperf1

isisd: save a clock_gettime() call

7 years agoMerge pull request #1539 from LabNConsulting/working/master/community-decisions
Donald Sharp [Tue, 12 Dec 2017 16:59:07 +0000 (11:59 -0500)]
Merge pull request #1539 from LabNConsulting/working/master/community-decisions

COMMUNITY.md: add paragraph on use of development list and discussing…

7 years agoMerge pull request #1514 from donaldsharp/watchfrr
Martin Winter [Tue, 12 Dec 2017 16:51:25 +0000 (08:51 -0800)]
Merge pull request #1514 from donaldsharp/watchfrr

tools, watchfrr: Modify timeout to 90 seconds

7 years agoisisd: save a clock_gettime() call 1540/head
Rafael Zalamena [Tue, 12 Dec 2017 13:47:04 +0000 (11:47 -0200)]
isisd: save a clock_gettime() call

Use the thread cached clock to use as start time. It will save a call to
clock_gettime() and also provide a more 'accurate' time measurement from
the start of the procedure.

7 years agoCOMMUNITY.md: add paragraph on use of development list and discussing/documenting... 1539/head
Lou Berger [Tue, 12 Dec 2017 13:42:54 +0000 (08:42 -0500)]
COMMUNITY.md: add paragraph on use of development list and discussing/documenting decisions

7 years agoisisd: fix debug message
Rafael Zalamena [Wed, 6 Dec 2017 21:23:55 +0000 (19:23 -0200)]
isisd: fix debug message

Show the actual timer instead of doing the arithmetic operation again.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
7 years agoMerge pull request #1526 from chiragshah6/ospfv3_dev
Jafar Al-Gharaibeh [Mon, 11 Dec 2017 17:51:43 +0000 (11:51 -0600)]
Merge pull request #1526 from chiragshah6/ospfv3_dev

ospf6d: Fix multi nexthop route remove

7 years agobgpd: Fixup buffer sizes for prefix_rd2str 1521/head
Donald Sharp [Mon, 11 Dec 2017 17:38:26 +0000 (12:38 -0500)]
bgpd: Fixup buffer sizes for prefix_rd2str

The prefix_rd2str uses a buffer size of RD_ADDRSTRLEN.
Modify the code to consistently use this for all of BGP.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agobgpd: Modify prefix_rd2str to return "Unknown" when unknown
Donald Sharp [Mon, 11 Dec 2017 13:48:59 +0000 (08:48 -0500)]
bgpd: Modify prefix_rd2str to return "Unknown" when unknown

Make prefix_rd2str return an "Unknown" string when something
goes wrong.  This will allow for simplification of the
code that uses prefix_rd2str.

Additionally ensure that size is big enough with an assert.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agoMerge pull request #1524 from dslicenc/zebra-ra-display-cm18702
Renato Westphal [Mon, 11 Dec 2017 17:37:26 +0000 (15:37 -0200)]
Merge pull request #1524 from dslicenc/zebra-ra-display-cm18702

zebra: do not display ipv6 ra commands created by bgpd

7 years agobgpd: Cleanup SA error in ignoring return from function
Donald Sharp [Tue, 5 Dec 2017 15:09:36 +0000 (10:09 -0500)]
bgpd: Cleanup SA error in ignoring return from function

Ignoring the return from argv_find_and_parse_afi
makes the SA system assume that you could pass a AFI_MAX
value to bgp_show_route.  Which in turn would cause
an array out of bounds read.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agoeigrpd: Fixup some SA issues
Donald Sharp [Tue, 5 Dec 2017 14:52:16 +0000 (09:52 -0500)]
eigrpd: Fixup some SA issues

1) strlen(buf) on an uninted value is the wrong thing to do
we should be getting sizeof(buf)

2) tlv is not freed in this error case, so let's free it up.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agobgpd: Fix prefix2str using BUFSIZ to PREFIX_STRLEN
Donald Sharp [Tue, 5 Dec 2017 14:44:11 +0000 (09:44 -0500)]
bgpd: Fix prefix2str using BUFSIZ to PREFIX_STRLEN

PREFIX_STRLEN is the correct length for buffers needed to output
a prefix2str.  Additionally cleanup some setting of the last
value to a `\0` this is handled by prefix2str.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agoMerge pull request #1531 from chiragshah6/ospf_vrf_dev
Renato Westphal [Mon, 11 Dec 2017 12:55:03 +0000 (10:55 -0200)]
Merge pull request #1531 from chiragshah6/ospf_vrf_dev

ospfd: prevent passive interface cmd crash

7 years agoMerge pull request #1528 from donaldsharp/ldp_macro
Renato Westphal [Mon, 11 Dec 2017 00:38:02 +0000 (22:38 -0200)]
Merge pull request #1528 from donaldsharp/ldp_macro

ldpd: Switch over to new debug style

7 years agoospfd: prevent passive interface cmd crash 1531/head
Chirag Shah [Fri, 8 Dec 2017 17:33:53 +0000 (09:33 -0800)]
ospfd: prevent passive interface cmd crash

Current OSPF VRF configuration are allow pre-provisining even if
VRF is not configured. In such case ospf->vrf_id would VRF_UNKNOWN,
when passive interface configuration done under such ospf instance,
it would lookup all vrf_device and try to create ifp with unknown
vrf_id.

for passive interface config command lookup ifp for vrf_id is within range.

Ticket:CM-19156
Testing Done:
Configure
Cumulus#: router ospf vrf vrf1
Cumulus(config-router)#: passive interface swp16
 interface swp16 not found.

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
7 years agoldpd: Switch over to new debug style 1528/head
Donald Sharp [Thu, 7 Dec 2017 23:59:54 +0000 (18:59 -0500)]
ldpd: Switch over to new debug style

When compiling ldpd on a mac, there exists a #define MSG_SEND
which conflicts with a define in ldp_debug.h.

During discussion about this we decided that it would be
better to remove the macro massaging that was going on and
to just call our own #define for it.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agoMerge pull request #1519 from donaldsharp/ptm
Rafael Zalamena [Thu, 7 Dec 2017 14:37:10 +0000 (12:37 -0200)]
Merge pull request #1519 from donaldsharp/ptm

Ptm

7 years agoMerge pull request #1520 from donaldsharp/vrf_leaking
Rafael Zalamena [Thu, 7 Dec 2017 13:43:38 +0000 (11:43 -0200)]
Merge pull request #1520 from donaldsharp/vrf_leaking

Cleanup a bunch of code

7 years agoospf6d: Fix multi nexthop route remove 1526/head
Chirag Shah [Fri, 1 Dec 2017 01:45:12 +0000 (17:45 -0800)]
ospf6d: Fix multi nexthop route remove

Fix sorting of route storage to DB.
Fix two list comparison which allows route with
multiple nexthop to updates.

Ticket:CM-19025
Testing Done:
Configured a topology where ospf6 learn
ecmp route via one neighbor and upon removal
of intra-prefix route from origin, DUT removes
ECMP intra-prefix route from RIB.

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>