]> git.proxmox.com Git - mirror_frr.git/log
mirror_frr.git
7 years agoMerge remote-tracking branch 'origin/stable/3.0'
Donald Sharp [Mon, 8 May 2017 20:51:21 +0000 (16:51 -0400)]
Merge remote-tracking branch 'origin/stable/3.0'

7 years agoMerge pull request #475 from chiragshah6/pim_dev_3_0
Jafar Al-Gharaibeh [Mon, 8 May 2017 20:01:04 +0000 (15:01 -0500)]
Merge pull request #475 from chiragshah6/pim_dev_3_0

Pim related defect fixes

7 years agoMerge pull request #464 from donaldsharp/datacenter
Jafar Al-Gharaibeh [Mon, 8 May 2017 20:00:09 +0000 (15:00 -0500)]
Merge pull request #464 from donaldsharp/datacenter

Datacenter

7 years agoMerge remote-tracking branch 'origin/master' into datacenter
Donald Sharp [Mon, 8 May 2017 18:44:25 +0000 (14:44 -0400)]
Merge remote-tracking branch 'origin/master' into datacenter

7 years agoMerge pull request #477 from opensourcerouting/gitignore
Donald Sharp [Mon, 8 May 2017 17:40:14 +0000 (13:40 -0400)]
Merge pull request #477 from opensourcerouting/gitignore

*: ignore libtool library anotation files

7 years ago*: ignore libtool library anotation files
Christian Franke [Mon, 8 May 2017 15:24:34 +0000 (17:24 +0200)]
*: ignore libtool library anotation files

Signed-off-by: Christian Franke <chris@opensourcerouting.org>
7 years agoMerge pull request #449 from dwalton76/valgrind-enable
Martin Winter [Mon, 8 May 2017 14:32:42 +0000 (16:32 +0200)]
Merge pull request #449 from dwalton76/valgrind-enable

Add valgrind_enable option to /etc/frr/debian.conf

7 years agoAdded config option for valgrind executable
Daniel Walton [Mon, 8 May 2017 13:28:07 +0000 (13:28 +0000)]
Added config option for valgrind executable

Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
7 years agoMerge pull request #476 from qlyoung/abort-select-fd
Russ White [Sun, 7 May 2017 23:49:26 +0000 (19:49 -0400)]
Merge pull request #476 from qlyoung/abort-select-fd

lib: abort if fd >= FD_SETSIZE and using select

7 years agoMerge pull request #409 from donaldsharp/EIGRP
Russ White [Sun, 7 May 2017 23:48:33 +0000 (19:48 -0400)]
Merge pull request #409 from donaldsharp/EIGRP

Eigrp

7 years agodoc: Fix spelling mistake.
Donald Sharp [Sun, 7 May 2017 12:15:51 +0000 (08:15 -0400)]
doc: Fix spelling mistake.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agolib: abort if fd >= FD_SETSIZE and using select
Quentin Young [Sun, 7 May 2017 04:42:07 +0000 (04:42 +0000)]
lib: abort if fd >= FD_SETSIZE and using select

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
7 years agoMerge pull request #474 from opensourcerouting/isis-mt-additions
Donald Sharp [Sun, 7 May 2017 00:55:15 +0000 (20:55 -0400)]
Merge pull request #474 from opensourcerouting/isis-mt-additions

IS-IS additions

7 years agopimd: Fix WG/SGRpt & WG J/P processing
Chirag Shah [Fri, 21 Apr 2017 22:08:03 +0000 (15:08 -0700)]
pimd: Fix WG/SGRpt & WG J/P processing

During processing of Join/Prune,
for a S,G entry, current state is SGRpt, when only *,G is
received, need to clear SGRpt and add/inherit the *,G OIF to S,G so
it can forward traffic to downstream where *,G is received.
Upon receiving SGRpt prune remove the inherited *,G OIF.

From, downstream router received *,G Prune along with SGRpt
prune. Avoid sending *,G and SGRpt Prune together.
Reset upstream_del reset ifchannel to NULL.

Testing Done:
Run failed smoke test of sending data packets, trigger SPT switchover,
*,G path received SGRpt later data traffic stopped S,G ages out from LHR, sends only
*,G join to upstream, verified S,G entry inherit the OIF.
Upon receiving SGRpt deletes inherited oif and retains in SGRpt state.

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
7 years agopimd: replay IGMP static group upon if creation
Chirag Shah [Wed, 26 Apr 2017 01:56:00 +0000 (18:56 -0700)]
pimd: replay IGMP static group upon if creation

Upon static IGMP configured port down igmp source info is destroyed.
Upon port up or quagga restart (if addr add) register IGMP sock with
port, source, group.

Testing Done:
Configure IGMPv3 Report on Host swpx, ifdown/ifup swpx,
verify ip mroute containng IGMP mroute

tor-1# show ip mroute
Source          Group           Proto  Input      Output     TTL  Uptime
30.1.1.1        225.1.1.21      IGMP   swp2       swp3       1    00:00:05

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
7 years agopimd: fix pimd crash when pim interface disabled
Chirag Shah [Thu, 4 May 2017 01:56:44 +0000 (18:56 -0700)]
pimd: fix pimd crash when pim interface disabled

Upon pim enabled disabled, current upstreams entries rpf update callback,
needs to check if old rpf is still pim enabled otherwise do not trigger
prune towards old rpf.

Testing Done:
Verified by disabling pim enabled rpf interface and
 crash is not observed upon disabling pim on rpf interface.

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
7 years agopimd: fix pim ecmp rebalance config write
Chirag Shah [Mon, 10 Apr 2017 20:27:56 +0000 (13:27 -0700)]
pimd: fix pim ecmp rebalance config write

ip pim ecmp and ip pim ecmp rebalance configuration CLIs were
not adding to Quagga.confg or running configuration.
Added both the configuration write in Config write handler.

Testing Done: Execute configuration cli and verified running config
and Quagga.conf file containing both configuration.

03# show running-config
Building configuration...

Current configuration:
!
ip multicast-routing
ip pim rp 6.0.0.9 230.0.0.0/16
ip pim join-prune-interval 61
ip pim ecmp
ip pim ecmp rebalance
!

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
7 years agopimd: fix channel_oil and upstream RPF in sync
Chirag Shah [Thu, 27 Apr 2017 18:01:32 +0000 (11:01 -0700)]
pimd: fix channel_oil and upstream RPF in sync

During PIM Neighbor change/UP event, pim_scan_oil api
scans all channel oil to see any rpf impacted. Instead of
passing current upstream's RPF it passes current RPF as 0 and
does query to rib for nexhtop (without ECMP/Rebalance). This creates
inconsist RPF between Upstream and Channel oil.
In Channel Oil keep backward pointer to upstream DB and fetch up's
RPF and passed to channel_oil scan.
Decrement channel_oil ref_count in upstream_del when decrementing
up ref_count and it is not the last.
Created ECMP based FIB lookup API.

Testing Done:
Performed following testing on tester setup:
5 x LHR, 4 x MSDP Spines, 6 Sources each sending to 1023 groups from one of the spines.
Total send rate 8Mpps.
Test that caused problems was to reboot every device at the same time.
After fix performed 5 iterations of reboot devices and show no sign of the problem.

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
7 years agoMerge pull request #462 from donaldsharp/poll_3.0
Russ White [Sat, 6 May 2017 22:33:38 +0000 (18:33 -0400)]
Merge pull request #462 from donaldsharp/poll_3.0

lib: Rename HAVE_POLL to prevent conflicting #defines

7 years agoMerge pull request #470 from dslicenc/cm16223
Russ White [Sat, 6 May 2017 22:24:36 +0000 (18:24 -0400)]
Merge pull request #470 from dslicenc/cm16223

bgpd: resolve crash displaying bgp vrf routing info

7 years agoeigrpd: Basic Documentation
Donald Sharp [Sat, 6 May 2017 18:12:54 +0000 (14:12 -0400)]
eigrpd: Basic Documentation

Add some basic documentation for the EIGRP protocol.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agoisisd: use MT to only advertise usable links
Christian Franke [Sat, 6 May 2017 13:50:50 +0000 (15:50 +0200)]
isisd: use MT to only advertise usable links

Signed-off-by: Christian Franke <chris@opensourcerouting.org>
7 years agoisisd: support unnumbered operation
Christian Franke [Sat, 6 May 2017 13:50:47 +0000 (15:50 +0200)]
isisd: support unnumbered operation

Signed-off-by: Christian Franke <chris@opensourcerouting.org>
7 years agoisisd: show topology information for adjacencies
Christian Franke [Sat, 6 May 2017 13:50:45 +0000 (15:50 +0200)]
isisd: show topology information for adjacencies

Signed-off-by: Christian Franke <chris@opensourcerouting.org>
7 years agoisisd: ensure that MT is only used with wide metrics
Christian Franke [Sat, 6 May 2017 13:50:41 +0000 (15:50 +0200)]
isisd: ensure that MT is only used with wide metrics

Signed-off-by: Christian Franke <chris@opensourcerouting.org>
7 years agoisisd: fix initialization of ES vertizes
Christian Franke [Sat, 6 May 2017 13:50:37 +0000 (15:50 +0200)]
isisd: fix initialization of ES vertizes

Signed-off-by: Christian Franke <chris@opensourcerouting.org>
7 years agoMerge pull request #472 from qlyoung/rfapi-correct-types
Martin Winter [Sat, 6 May 2017 01:03:45 +0000 (18:03 -0700)]
Merge pull request #472 from qlyoung/rfapi-correct-types

rfapi void * -> struct thread *

7 years agoMerge pull request #447 from donaldsharp/moobot
Martin Winter [Sat, 6 May 2017 00:51:18 +0000 (17:51 -0700)]
Merge pull request #447 from donaldsharp/moobot

doc: Fix systemd build instructions

7 years agobgpd: use correct type for rfapi thread pointer
Quentin Young [Fri, 5 May 2017 21:08:44 +0000 (21:08 +0000)]
bgpd: use correct type for rfapi thread pointer

Pointer to void always points at the same thing so make it the type of
the thing that it points at

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
7 years agoMerge pull request #466 from dslicenc/aggregate
Lou Berger [Fri, 5 May 2017 19:54:11 +0000 (15:54 -0400)]
Merge pull request #466 from dslicenc/aggregate

bgpd: resolve crash in workqueue processing due to invalid safi

7 years agobgpd: resolve crash displaying bgp vrf routing info
Don Slice [Fri, 5 May 2017 13:53:49 +0000 (06:53 -0700)]
bgpd: resolve crash displaying bgp vrf routing info

Problem uncovered with crash when entering the command "show ip bgp
vrf vrf1001 0.0.0.0".   The crash was caused by a mistake incrementing
the index value in the vrf/view case.  Manual testing completed and
failing test case now passes successfully.

Ticket: CM-16223
Signed-off-by: Don Slice <dslice@cumulusnetworks.com>
Reviewed By: Donald Sharp <sharpd@cumulusnetworks.com>

7 years agoMerge pull request #465 from opensourcerouting/cli-fuzzer-fixes
Donald Sharp [Thu, 4 May 2017 20:27:12 +0000 (16:27 -0400)]
Merge pull request #465 from opensourcerouting/cli-fuzzer-fixes

*: fix a bunch of segfaults detected by a CLI fuzzer

7 years agoMerge pull request #452 from hwchiu/fix_ldpd
Renato Westphal [Thu, 4 May 2017 18:14:49 +0000 (15:14 -0300)]
Merge pull request #452 from hwchiu/fix_ldpd

Fix the error message when execute ldpd with --enable-tcp-zebra

7 years agoMerge pull request #463 from donaldsharp/pim_stable_3.0
Jafar Al-Gharaibeh [Thu, 4 May 2017 18:09:44 +0000 (13:09 -0500)]
Merge pull request #463 from donaldsharp/pim_stable_3.0

Pim stable 3.0

7 years agobgpd: resolve crash in workqueue processing due to invalid safi
Don Slice [Wed, 3 May 2017 13:15:20 +0000 (06:15 -0700)]
bgpd: resolve crash in workqueue processing due to invalid safi

Crash uncovered when workqueue item was pulled with safi set to 7
(SAFI_LABELED_UNICAST) without labled-unicast being configured.
Also fixed minor issue removing aggregate-address command due to bad
index.

Ticket: CM-16169
Signed-off-by: Don Slice <dslice@cumulusnetworks.com>
Reviewed-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years ago*: fix a bunch of segfaults detected by a CLI fuzzer
Renato Westphal [Thu, 4 May 2017 02:49:50 +0000 (23:49 -0300)]
*: fix a bunch of segfaults detected by a CLI fuzzer

This patch fixes the following segfaults:
zebra aborted: vtysh -c "show ipv6 mroute"
zebra aborted: vtysh -c "configure terminal" -c "debug zebra kernel msgdump"
zebra aborted: vtysh -c "configure terminal" -c "interface eth99" -c "link-params" -c "no packet-loss"
zebra aborted: vtysh -c "configure terminal" -c "interface eth99" -c "link-params" -c "no metric"
zebra aborted: vtysh -c "configure terminal" -c "interface eth99" -c "link-params" -c "no ava-bw"
zebra aborted: vtysh -c "configure terminal" -c "interface eth99" -c "link-params" -c "no res-bw"
zebra aborted: vtysh -c "configure terminal" -c "interface eth99" -c "link-params" -c "no use-bw"
ospfd aborted: vtysh -c "configure terminal" -c "router ospf" -c "area 1.1.1.1 nssa"
ospfd aborted: vtysh -c "configure terminal" -c "router ospf" -c "area 4294967295 nssa"
pimd aborted: vtysh -c "show ip msdp sa 1.1.1.1"
pimd aborted: vtysh -c "configure terminal" -c "ip ssmpingd"
pimd aborted: vtysh -c "configure terminal" -c "no ip ssmpingd"
pimd aborted: vtysh -c "configure terminal" -c "no ip msdp mesh-group WORD source"
pimd aborted: vtysh -c "configure terminal" -c "interface eth99" -c "ip pim hello 180"
bgpd aborted: vtysh -c "show bgp l2vpn evpn rd 1:1"
bgpd aborted: vtysh -c "clear vnc nve un *"
bgpd aborted: vtysh -c "clear vnc nve un 1.1.1.1"
bgpd aborted: vtysh -c "clear vnc nve un 2001:db8::1"
bgpd aborted: vtysh -c "add vnc mac 11:11:11:11:11:11 virtual-network-identifier 4294967295 vn 1.1.1.1 un 1.1.1.1 lifetime 4294967295"
bgpd aborted: vtysh -c "add vnc mac 11:11:11:11:11:11 virtual-network-identifier 4294967295 vn 1.1.1.1 un 1.1.1.1 cost 255 lifetime 4294967295"
bgpd aborted: vtysh -c "add vnc mac 11:11:11:11:11:11 virtual-network-identifier 4294967295 vn 1.1.1.1 un 1.1.1.1 cost 255"
bgpd aborted: vtysh -c "add vnc mac 11:11:11:11:11:11 virtual-network-identifier 4294967295 vn 1.1.1.1 un 1.1.1.1"
bgpd aborted: vtysh -c "add vnc mac 11:11:11:11:11:11 virtual-network-identifier 4294967295 vn 1.1.1.1 un 2001:db8::1 lifetime 4294967295"
bgpd aborted: vtysh -c "add vnc mac 11:11:11:11:11:11 virtual-network-identifier 4294967295 vn 1.1.1.1 un 2001:db8::1 cost 255 lifetime 4294967295"
bgpd aborted: vtysh -c "add vnc mac 11:11:11:11:11:11 virtual-network-identifier 4294967295 vn 1.1.1.1 un 2001:db8::1 cost 255"
bgpd aborted: vtysh -c "add vnc mac 11:11:11:11:11:11 virtual-network-identifier 4294967295 vn 1.1.1.1 un 2001:db8::1"
bgpd aborted: vtysh -c "add vnc mac 11:11:11:11:11:11 virtual-network-identifier 4294967295 vn 2001:db8::1 un 1.1.1.1 lifetime 4294967295"
bgpd aborted: vtysh -c "add vnc mac 11:11:11:11:11:11 virtual-network-identifier 4294967295 vn 2001:db8::1 un 1.1.1.1 cost 255 lifetime 4294967295"
bgpd aborted: vtysh -c "add vnc mac 11:11:11:11:11:11 virtual-network-identifier 4294967295 vn 2001:db8::1 un 1.1.1.1 cost 255"
bgpd aborted: vtysh -c "add vnc mac 11:11:11:11:11:11 virtual-network-identifier 4294967295 vn 2001:db8::1 un 1.1.1.1"
bgpd aborted: vtysh -c "add vnc mac 11:11:11:11:11:11 virtual-network-identifier 4294967295 vn 2001:db8::1 un 2001:db8::1 lifetime 4294967295"
bgpd aborted: vtysh -c "add vnc mac 11:11:11:11:11:11 virtual-network-identifier 4294967295 vn 2001:db8::1 un 2001:db8::1 cost 255 lifetime 4294967295"
bgpd aborted: vtysh -c "add vnc mac 11:11:11:11:11:11 virtual-network-identifier 4294967295 vn 2001:db8::1 un 2001:db8::1 cost 255"
bgpd aborted: vtysh -c "add vnc mac 11:11:11:11:11:11 virtual-network-identifier 4294967295 vn 2001:db8::1 un 2001:db8::1"
bgpd aborted: vtysh -c "configure terminal" -c "router bgp 1" -c "no vnc export bgp ipv4 prefix-list NAME"
bgpd aborted: vtysh -c "configure terminal" -c "router bgp 1" -c "no vnc export bgp ipv6 prefix-list NAME"
bgpd aborted: vtysh -c "configure terminal" -c "router bgp 1" -c "no vnc export bgp route-map NAME"
bgpd aborted: vtysh -c "configure terminal" -c "router bgp 1" -c "no vnc export zebra ipv4 prefix-list NAME"
bgpd aborted: vtysh -c "configure terminal" -c "router bgp 1" -c "no vnc export zebra ipv6 prefix-list NAME"
bgpd aborted: vtysh -c "configure terminal" -c "router bgp 1" -c "no vnc export zebra route-map NAME"
bgpd aborted: vtysh -c "configure terminal" -c "route-map RMAP permit 1" -c "no set ipv6 vpn next-hop"
bgpd aborted: vtysh -c "configure terminal" -c "route-map RMAP permit 1" -c "set vpnv4 next-hop"
bgpd aborted: vtysh -c "configure terminal" -c "route-map RMAP permit 1" -c "set vpnv6 next-hop"
bgpd aborted: vtysh -c "configure terminal" -c "router bgp" -c "address-family ipv6 vpn" -c "network 2001:db8::1/128 rd 1:1 tag WORD"
bgpd aborted: vtysh -c "configure terminal" -c "router bgp" -c "address-family vpnv6 unicast" -c "network 2001:db8::1/128 rd 1:1 tag WORD"
bgpd aborted: vtysh -c "configure terminal" -c "router bgp" -c "no neighbor WORD shutdown message MSG..."
bgpd aborted: vtysh -c "configure terminal" -c "router bgp" -c "neighbor WORD shutdown message MSG..."

More to come later.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
7 years agoMerge remote-tracking branch 'origin/stable/3.0'
Donald Sharp [Thu, 4 May 2017 17:35:25 +0000 (13:35 -0400)]
Merge remote-tracking branch 'origin/stable/3.0'

7 years agoMerge pull request #450 from donaldsharp/afi_safi3
Renato Westphal [Thu, 4 May 2017 17:33:43 +0000 (14:33 -0300)]
Merge pull request #450 from donaldsharp/afi_safi3

Afi safi3

7 years agoMerge pull request #445 from donaldsharp/robot
Renato Westphal [Thu, 4 May 2017 17:28:47 +0000 (14:28 -0300)]
Merge pull request #445 from donaldsharp/robot

Robot

7 years ago*: Rename debian.conf -> daemons.conf
Donald Sharp [Thu, 4 May 2017 16:45:01 +0000 (12:45 -0400)]
*: Rename debian.conf -> daemons.conf

The debian.conf file is to specific of a name towards
debian distributions.  Rename to be daemons.conf

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agoredhat: Remove references to cumulus directory
Donald Sharp [Thu, 4 May 2017 16:22:50 +0000 (12:22 -0400)]
redhat: Remove references to cumulus directory

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years ago*: Remove cumulus Directory
Donald Sharp [Thu, 4 May 2017 16:20:29 +0000 (12:20 -0400)]
*: Remove cumulus Directory

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agodebian: Remove reference of cumulus directory
Donald Sharp [Thu, 4 May 2017 16:11:03 +0000 (12:11 -0400)]
debian: Remove reference of cumulus directory

Use the tools/etc... directory for packaging now
not the cumulus/etc since it is going away

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agotools: Proper file name is frr.conf
Donald Sharp [Thu, 4 May 2017 16:10:18 +0000 (12:10 -0400)]
tools: Proper file name is frr.conf

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years ago*: Move etc/frr into tools
Donald Sharp [Thu, 4 May 2017 16:09:22 +0000 (12:09 -0400)]
*: Move etc/frr into tools

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years ago*: Move default/frr into tools directory
Donald Sharp [Thu, 4 May 2017 16:07:45 +0000 (12:07 -0400)]
*: Move default/frr into tools directory

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years ago*: Move sudoers file into tools
Donald Sharp [Thu, 4 May 2017 16:06:11 +0000 (12:06 -0400)]
*: Move sudoers file into tools

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years ago*: Move ssd from cumulus to tools directory
Donald Sharp [Thu, 4 May 2017 15:58:36 +0000 (11:58 -0400)]
*: Move ssd from cumulus to tools directory

As discussed on the mailing list, the cumulus directory should
be going away.  This commit moves the ssd from cumulus to tools

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agodoc: Update Documentation to let compilers know about new option
Donald Sharp [Thu, 4 May 2017 15:45:30 +0000 (11:45 -0400)]
doc: Update Documentation to let compilers know about new option

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years ago*: Add --enable-datacenter to turn on datacenter defaults
Donald Sharp [Thu, 4 May 2017 15:26:22 +0000 (11:26 -0400)]
*: Add --enable-datacenter to turn on datacenter defaults

Compile in DataCenter Defaults if --enable-datacenter
is configured instead of --enable-cumulus

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agopimd: Note when a S,G stream should be a FHR as well
Donald Sharp [Tue, 25 Apr 2017 14:00:39 +0000 (10:00 -0400)]
pimd: Note when a S,G stream should be a FHR as well

When we have a S,G being created, that it might
also be a FHR router as well.  This happens
when the FHR is in the path of the RP->LHR
for when it builds it's SPT tree for the S,G.

Ticket: CM-16056, CM-15836
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agopimd: Only compare the actual IIF of the *,G to S,G
Donald Sharp [Thu, 20 Apr 2017 20:11:58 +0000 (16:11 -0400)]
pimd: Only compare the actual IIF of the *,G to S,G

Now that pim has the ability to use ecmp, the Group
path to the RP, may be different than what is choosen
for the *,G IIF.  As such when we are making the
spt switchover decision, compare the S,G IIF to the
*,G IIF.

Ticket: CM-15870
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agolib: Rename HAVE_POLL to prevent conflicting #defines
Donald Sharp [Thu, 4 May 2017 14:24:25 +0000 (10:24 -0400)]
lib: Rename HAVE_POLL to prevent conflicting #defines

Rename HAVE_POLL to HAVE_POLL_CALL, when compiling with
snmp and poll enabled this was causing issues.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agoospf6d: Allow some route-map commands to work
Donald Sharp [Wed, 3 May 2017 18:39:21 +0000 (14:39 -0400)]
ospf6d: Allow some route-map commands to work

The generic callbacks need to be enabled in order
for some route-map commands to properly work.

I've tried to match up to what is programmed to work
within ospfv3.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agoospf6d: Fix redistribution debug knowledge
Donald Sharp [Wed, 3 May 2017 18:33:28 +0000 (14:33 -0400)]
ospf6d: Fix redistribution debug knowledge

When redistributing into ospfv3 specify that the
route is add or delete correctly.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agoMerge pull request #451 from opensourcerouting/ospfd-fix-cmdstr
Jafar Al-Gharaibeh [Wed, 3 May 2017 15:04:59 +0000 (10:04 -0500)]
Merge pull request #451 from opensourcerouting/ospfd-fix-cmdstr

ospfd: fix small problem in the redistribute command

7 years agovtysh: Fix _ instead of - usage for labeled_unicast
Donald Sharp [Wed, 3 May 2017 14:24:04 +0000 (10:24 -0400)]
vtysh: Fix _ instead of - usage for labeled_unicast

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agodoc: Add systemd dev package to doc
Donald Sharp [Wed, 3 May 2017 13:35:06 +0000 (09:35 -0400)]
doc: Add systemd dev package to doc

Add the systemd dev package to the list of items to install

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agoFix the error message when execute ldpd with --enable-tcp-zebra
Hung-Weic Chiu [Wed, 3 May 2017 13:27:29 +0000 (13:27 +0000)]
Fix the error message when execute ldpd with --enable-tcp-zebra

- If we use the option "--enable-tcp-zebra " to configure, the zclient will use the tcp socket instead of unix domain socket.
- The ldpd will pass the "-z path" options to `frr_opt` and that will execute zclient_serv_path_set to check the domain socket.
- Add the define to ldpd, if the "HAVE_TCP_ZEBRA" has been define, don't pass the "-z path" to `frr_opt`.

Signed-off-by: Hung-Weic Chiu <sppsorrg@gmail.com>
7 years agoAdd valgrind_enable option to /etc/frr/debian.conf
Daniel Walton [Wed, 3 May 2017 13:18:20 +0000 (13:18 +0000)]
Add valgrind_enable option to /etc/frr/debian.conf

Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
This allows you to start all daemons via valgrind so you can catch
memory leaks, etc.

7 years agobgpd: Fix crashes with '[no] neighbor ... shutdown ..' command
Donald Sharp [Wed, 3 May 2017 13:13:12 +0000 (09:13 -0400)]
bgpd: Fix crashes with '[no] neighbor ... shutdown ..' command

This fixes two crashes:

1) When we enter a 'neighbor shutdown..' command for a peer
group or interface based peer we were not properly looking
up the peer.

2) When we we enter 'no neighbor shutdown..' command for
a peer group or interface based peer we were not properly
lookup up the peer.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agoospfd: fix small problem in the redistribute command
Renato Westphal [Wed, 3 May 2017 13:03:14 +0000 (10:03 -0300)]
ospfd: fix small problem in the redistribute command

The use of {<>} is unnecessary and not correct.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
7 years agozebra: Fix leaked memory in label manager code
Donald Sharp [Wed, 3 May 2017 12:11:38 +0000 (08:11 -0400)]
zebra: Fix leaked memory in label manager code

When we fail to properly setup we can leak some memory.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agodoc: Fix systemd build instructions
Donald Sharp [Wed, 3 May 2017 11:06:20 +0000 (07:06 -0400)]
doc: Fix systemd build instructions

Fix the build/install instructions for Ubuntu 16.04 and
systemd.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agobgpd: Fix crash associated with aggregate command
Donald Sharp [Wed, 3 May 2017 02:14:24 +0000 (22:14 -0400)]
bgpd: Fix crash associated with aggregate command

The cli rework created this issue

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agobgpd: When receiving a route set the label to invalid
Donald Sharp [Wed, 3 May 2017 01:48:46 +0000 (21:48 -0400)]
bgpd: When receiving a route set the label to invalid

When we are receiving a route the attr->extra->label_index
is being set to 0.  This should be BGP_INVALID_LABEL_INDEX
instead since we cannot rely on 0 to be correct for labels.

I believe that there are probably other spots that need this
type of fix, but I will let testing snuggle-bump them out.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agobgpd: Fix 'show bgp ... summary json' to have empty {}
Donald Sharp [Tue, 2 May 2017 14:20:10 +0000 (10:20 -0400)]
bgpd: Fix 'show bgp ... summary json' to have empty {}

When we have no output for a json command we should have
an empty {} displayed.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agoMerge pull request #442 from Jafaral/pim-hello-fix
Donald Sharp [Tue, 2 May 2017 23:49:13 +0000 (19:49 -0400)]
Merge pull request #442 from Jafaral/pim-hello-fix

Fix: Off by one error, correct index for hold timer

7 years agoFix: Off by one error, correct index for hold timer
Jafar Al-Gharaibeh [Tue, 2 May 2017 22:23:34 +0000 (17:23 -0500)]
Fix: Off by one error, correct index for hold timer

Signed-off-by: Jafar Al-Gharaibeh <jafar@atcorp.com>
7 years agoMerge remote-tracking branch 'origin/stable/3.0'
Donald Sharp [Tue, 2 May 2017 19:52:09 +0000 (15:52 -0400)]
Merge remote-tracking branch 'origin/stable/3.0'

7 years agoupdate doc of ubuntu 12.04
Hung-Wei Chiu [Thu, 27 Apr 2017 15:30:56 +0000 (23:30 +0800)]
update doc of ubuntu 12.04

1. modify the prefix to /usr (which is hard-code in /etc/init.d/frr)
2. install init.d related files.

7 years agoUpdate 14.04 docs to support init.d service
Hung-Wei Chiu [Thu, 27 Apr 2017 15:14:23 +0000 (23:14 +0800)]
Update 14.04 docs to support init.d service

1. Configure the prefix to /usr  (frr script hard-code those path in /etc/init.d/frr)
2. Install the service file to /etc/init.d

7 years agoMerge pull request #440 from donaldsharp/afi_safi3
Jafar Al-Gharaibeh [Tue, 2 May 2017 19:20:30 +0000 (14:20 -0500)]
Merge pull request #440 from donaldsharp/afi_safi3

Afi safi3

7 years agoMerge remote-tracking branch 'origin/stable/2.0'
Donald Sharp [Tue, 2 May 2017 19:11:46 +0000 (15:11 -0400)]
Merge remote-tracking branch 'origin/stable/2.0'

7 years agoMerge pull request #439 from Jafaral/pim_rpgrp-fix
Donald Sharp [Tue, 2 May 2017 18:31:55 +0000 (14:31 -0400)]
Merge pull request #439 from Jafaral/pim_rpgrp-fix

Fix: reverse logic of when to pass the supplied group address

7 years agoMerge pull request #438 from hwchiu/fix_nhrpd_privs
Donald Sharp [Tue, 2 May 2017 18:20:43 +0000 (14:20 -0400)]
Merge pull request #438 from hwchiu/fix_nhrpd_privs

Fix the error when execute nhrpd

7 years agopimd: Fix cli uplift mistakes
Donald Sharp [Tue, 2 May 2017 17:55:02 +0000 (13:55 -0400)]
pimd: Fix cli uplift mistakes

When we uplifted the cli from old -> new, I did not properly
handle the switch from <1-3> to (1-3) for number ranges.

Also fix some minor variable renaming that happened?

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agoospfd: Fix a variant of the ospf redistribute command
Donald Sharp [Tue, 2 May 2017 13:47:16 +0000 (09:47 -0400)]
ospfd: Fix a variant of the ospf redistribute command

Fix 'redistribute (ospf|table) ....' command

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agoFix: reverse logic of when to pass the supplied group address
Jafar Al-Gharaibeh [Tue, 2 May 2017 17:15:06 +0000 (12:15 -0500)]
Fix: reverse logic of when to pass the supplied group address

   This was causing a crash when no group address was passed
   because a garbage pointer valuse was used. It also was ignoring
   the group address when passing one.

Signed-off-by: Jafar Al-Gharaibeh <jafar@atcorp.com>
7 years agoMerge pull request #429 from hwchiu/fix_clang_sa
Donald Sharp [Tue, 2 May 2017 15:45:42 +0000 (11:45 -0400)]
Merge pull request #429 from hwchiu/fix_clang_sa

Fix some warnings by clang static analyzer

7 years agoMerge pull request #412 from dwalton76/draft-ietf-idr-bgp-prefix-sid-05
Russ White [Tue, 2 May 2017 15:43:50 +0000 (11:43 -0400)]
Merge pull request #412 from dwalton76/draft-ietf-idr-bgp-prefix-sid-05

Update to draft-ietf-idr-bgp-prefix-sid-05

7 years agoMerge pull request #410 from dslicenc/rdnbrd-vrr
Martin Winter [Tue, 2 May 2017 15:42:38 +0000 (08:42 -0700)]
Merge pull request #410 from dslicenc/rdnbrd-vrr

zebra: fix attempt to install a second rib from imported table entries

7 years agoFix the wrong user/group for nhrpd.
Hung-Weic Chiu [Tue, 2 May 2017 15:42:31 +0000 (15:42 +0000)]
Fix the wrong user/group for nhrpd.

- Modify the defince from quagga to frr

Signed-off-by: Hung-Weic Chiu <sppsorrg@gmail.com>
7 years agoMerge branch 'master' into EIGRP
Donald Sharp [Tue, 2 May 2017 15:38:06 +0000 (11:38 -0400)]
Merge branch 'master' into EIGRP

7 years agoMerge pull request #377 from qlyoung/frr-pthreads
Russ White [Tue, 2 May 2017 15:26:20 +0000 (11:26 -0400)]
Merge pull request #377 from qlyoung/frr-pthreads

lib: MT-safe thread.c + add pthread manager

7 years agoMerge pull request #426 from donaldsharp/afi_safi2
Renato Westphal [Tue, 2 May 2017 15:09:18 +0000 (12:09 -0300)]
Merge pull request #426 from donaldsharp/afi_safi2

Afi safi2

7 years agoRevert "Fix the "Use-after-free" of clang SA."
Hung-Weic Chiu [Tue, 2 May 2017 00:28:41 +0000 (00:28 +0000)]
Revert "Fix the "Use-after-free" of clang SA."

- This's the wrong way to fix this problem.
- Since the "TAILQ_FIRST()" always return diferent pointer as we call "TAILQ_REMOVE()", the clang static analyzer can't detect this behavior.
- Ignore this warning and keep files identical to its original one.

This reverts commit 5d6cc38ca36538583ff4c464c46a7c6de08608b6.

Signed-off-by: Hung-Weic Chiu <sppsorrg@gmail.com>
7 years agoMerge pull request #431 from opensourcerouting/fix-iface-renames
Donald Sharp [Mon, 1 May 2017 18:17:42 +0000 (14:17 -0400)]
Merge pull request #431 from opensourcerouting/fix-iface-renames

Fix interface renames

7 years agoMerge pull request #432 from opensourcerouting/ldpd-link-detect
Donald Sharp [Mon, 1 May 2017 18:17:14 +0000 (14:17 -0400)]
Merge pull request #432 from opensourcerouting/ldpd-link-detect

ldpd: respect link-detect configuration

7 years agoldpd: respect link-detect configuration
Renato Westphal [Sun, 30 Apr 2017 23:16:15 +0000 (20:16 -0300)]
ldpd: respect link-detect configuration

We shouldn't check the operational status of an interface in ldpd if
it's configured with "no link-detect" in zebra. That's what all the
other routing daemons do.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
7 years agoldpd: fixes to handle interface renames properly
Renato Westphal [Sun, 30 Apr 2017 13:26:57 +0000 (10:26 -0300)]
ldpd: fixes to handle interface renames properly

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
7 years agozebra: fix detection of interface renames
Renato Westphal [Sun, 30 Apr 2017 13:26:06 +0000 (10:26 -0300)]
zebra: fix detection of interface renames

Restore the original logic in netlink_link_change() which works like this:
* once an interface event is detected, lookup the associated interface
  by its name;
* call the set_ifindex() function;
* set_ifindex() will lookup the interface again but now by its ifindex. If
  the lookups by name and ifindex yield to different results, then the
  interface was renamed and set_ifindex() will take care of that.

In the future, zns->if_table will be split into two different data
structures to allow faster lookups by both name and ifindex.

Fixes Issue #397.

Regression introduced by commit 12f6fb9.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
7 years agolib: allow nonblocking thread_fetch()
Quentin Young [Fri, 28 Apr 2017 22:45:59 +0000 (22:45 +0000)]
lib: allow nonblocking thread_fetch()

This change adds three fields to thread_master and associated code to
use them. The fields are:

 * long selectpoll_timeout

This is a millisecond value that, if nonzero, will override the
internally calculated timeout for select()/poll(). -1 indicates
nonblocking while a positive value indicates the desired timeout in
milliseconds.

 * bool spin

This indicates whether a call to thread_fetch() should result in a loop
until work is available. By default this is set to true, in order to
keep the default behavior. In this case a return value of NULL indicates
that a fatal signal was received in select() or poll(). If it is set to
false, thread_fetch() will return immediately. NULL is then an
acceptable return value if there is no work to be done.

 * bool handle_signals

This indicates whether or not the pthread that owns the thread master
is responsible for handling signals (since this is an MT-unsafe
operation, it is best to have just the root thread do it). It is set to
true by default. Non-root pthreads should set this to false.

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
7 years agoMerge pull request #406 from chiragshah6/pim_dev_3_0
Jafar Al-Gharaibeh [Sun, 30 Apr 2017 22:59:51 +0000 (17:59 -0500)]
Merge pull request #406 from chiragshah6/pim_dev_3_0

Pim dev 3 0

7 years agoMerge pull request #428 from qlyoung/fix-isis-mt
Renato Westphal [Sun, 30 Apr 2017 13:24:05 +0000 (10:24 -0300)]
Merge pull request #428 from qlyoung/fix-isis-mt

isisd: fix uninitialized pointer

7 years agoMerge pull request #430 from opensourcerouting/zebra-vrfdel-fix
Donald Sharp [Sun, 30 Apr 2017 12:57:12 +0000 (08:57 -0400)]
Merge pull request #430 from opensourcerouting/zebra-vrfdel-fix

zebra: fix infinite loop when deleting non-default vrf

7 years agozebra: fix infinite loop when deleting non-default vrf
Renato Westphal [Sat, 29 Apr 2017 17:15:11 +0000 (14:15 -0300)]
zebra: fix infinite loop when deleting non-default vrf

How to reproduce the bug:
% ip link add vrf-red type vrf table 10
% ip link set dev vrf-red up
% ip rule add oif vrf-red table 10
% ip rule add iif vrf-red table 10
% ip link add name lo1 type dummy
% ip link set dev lo1 up
% ip link set dev lo1 master vrf-red
% ip link del dev vrf-red
(zebra gets stuck in an infinite loop inside work_queue_run())

Regression introduced by commit 5a8dfcd8.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
7 years agoFix the "Uninitialized argument value" of clang SA.
Hung-Weic Chiu [Sat, 29 Apr 2017 15:34:18 +0000 (15:34 +0000)]
Fix the "Uninitialized argument value" of clang SA.

Signed-off-by: Hung-Weic Chiu <sppsorrg@gmail.com>
7 years agoFix the "Dead assignment" of clang SA.
Hung-Weic Chiu [Sat, 29 Apr 2017 15:25:32 +0000 (15:25 +0000)]
Fix the "Dead assignment" of clang SA.

- Remove duplicated assignemt.
- Remove unused initialized.

Signed-off-by: Hung-Weic Chiu <sppsorrg@gmail.com>
7 years agoFix the "Use-after-free" of clang SA.
Hung-Weic Chiu [Sat, 29 Apr 2017 15:02:31 +0000 (15:02 +0000)]
Fix the "Use-after-free" of clang SA.

- Set the pointer to NULL after free it, otherwise the pointer will be accessed again. (since not null)

Signed-off-by: Hung-Weic Chiu <sppsorrg@gmail.com>