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

7 years agoMerge pull request #521 from opensourcerouting/bgpd-fixes-stable
Donald Sharp [Sat, 13 May 2017 16:24:32 +0000 (12:24 -0400)]
Merge pull request #521 from opensourcerouting/bgpd-fixes-stable

bgpd: assorted fixes (stable/3.0)

7 years agoMerge pull request #508 from LabNConsulting/working/3.0/patch/issue198
David Lamparter [Sat, 13 May 2017 07:10:09 +0000 (09:10 +0200)]
Merge pull request #508 from LabNConsulting/working/3.0/patch/issue198

bgpd: Issue #198 - clean up duplicate encap SAFI commands

7 years agoMerge pull request #525 from qlyoung/frr-script-fix
David Lamparter [Sat, 13 May 2017 07:09:22 +0000 (09:09 +0200)]
Merge pull request #525 from qlyoung/frr-script-fix

tools: $valgrind --> "$valgrind"

7 years agoMerge pull request #524 from qlyoung/blublublub3.0
David Lamparter [Sat, 13 May 2017 07:08:55 +0000 (09:08 +0200)]
Merge pull request #524 from qlyoung/blublublub3.0

lib: use %p specifier for pointers

7 years agotools: $valgrind --> "$valgrind"
Quentin Young [Fri, 12 May 2017 23:29:58 +0000 (23:29 +0000)]
tools: $valgrind --> "$valgrind"

String cmp missing quotes

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
7 years agolib: use %p specifier for pointers
Quentin Young [Fri, 12 May 2017 21:37:36 +0000 (21:37 +0000)]
lib: use %p specifier for pointers

Fixes builds on ARM

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
7 years agoREADME: add references to EIGRP and NHRP.
Vincent JARDIN [Fri, 12 May 2017 20:51:45 +0000 (22:51 +0200)]
README: add references to EIGRP and NHRP.

7 years agoMerge pull request #518 from dwalton76/zebra-mpls-lsp-uninstall
Renato Westphal [Fri, 12 May 2017 15:51:06 +0000 (12:51 -0300)]
Merge pull request #518 from dwalton76/zebra-mpls-lsp-uninstall

zebra: zebra_mpls_lsp_uninstall was not being called

7 years agoMerge pull request #495 from donaldsharp/mpls_fixes
Renato Westphal [Fri, 12 May 2017 15:23:52 +0000 (12:23 -0300)]
Merge pull request #495 from donaldsharp/mpls_fixes

Mpls fixes

7 years agobgpd: fix segfault with '[no] bgp network import-check'
Renato Westphal [Fri, 12 May 2017 14:01:02 +0000 (11:01 -0300)]
bgpd: fix segfault with '[no] bgp network import-check'

These commands were causing bgpd to crash if a static VPN route was
configured.

While here, fix a bug in bgp_static_add() and bgp_static_delete().

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
7 years agobgpd: fix duplicate install of command
Renato Westphal [Fri, 12 May 2017 12:40:21 +0000 (09:40 -0300)]
bgpd: fix duplicate install of command

Only happens when FRR is configured with --enable-oldvpn-commands.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
7 years agobgpd: fix 'show bgp [...] longer-prefixes'
Renato Westphal [Fri, 12 May 2017 12:19:42 +0000 (09:19 -0300)]
bgpd: fix 'show bgp [...] longer-prefixes'

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
7 years agozebra: zebra_mpls_lsp_uninstall was not being called
Daniel Walton [Fri, 12 May 2017 13:34:51 +0000 (13:34 +0000)]
zebra: zebra_mpls_lsp_uninstall was not being called

Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
Old entries were not being removed from the MPLS table.

7 years agoMerge pull request #511 from donaldsharp/netlink_dump
Jafar Al-Gharaibeh [Fri, 12 May 2017 03:47:22 +0000 (22:47 -0500)]
Merge pull request #511 from donaldsharp/netlink_dump

zebra: Fix kernel netlink hex dump of information

7 years agozebra: Fix kernel netlink hex dump of information
Donald Sharp [Thu, 11 May 2017 15:44:07 +0000 (11:44 -0400)]
zebra: Fix kernel netlink hex dump of information

1) Fix the kernel send and recv hex dump of what we
are sending to the kernel

2) When configuring the debugs under 'conf t' display
it too.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agoMerge pull request #510 from opensourcerouting/update-tools-gitignore
Donald Sharp [Thu, 11 May 2017 13:19:15 +0000 (09:19 -0400)]
Merge pull request #510 from opensourcerouting/update-tools-gitignore

tools: update .gitignore

7 years agotools: update .gitignore
Christian Franke [Thu, 11 May 2017 13:14:00 +0000 (15:14 +0200)]
tools: update .gitignore

Signed-off-by: Christian Franke <chris@opensourcerouting.org>
7 years agobgpd: Issue #198 - clean up duplicate command resulting from CLI refactoring
Lou Berger [Thu, 11 May 2017 12:46:48 +0000 (08:46 -0400)]
bgpd: Issue #198 - clean up duplicate command resulting from CLI refactoring

Signed-off-by: Lou Berger <lberger@labn.net>
7 years agobgpd: fixup bgpd: allow VPN next hop to be different AFI than NLRI next
Philippe Guibert [Wed, 10 May 2017 17:27:33 +0000 (19:27 +0200)]
bgpd: fixup bgpd: allow VPN next hop to be different AFI than NLRI next
hop for EVPN

In the case of EVPN, add the nexthop attribute.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
7 years agoadded troubleshooting section to debian 8 build doc
Adam Fitzgerald [Thu, 11 May 2017 11:03:23 +0000 (21:03 +1000)]
added troubleshooting section to debian 8 build doc

7 years agoMerge pull request #503 from pguibert6WIND/issue_473
Lou Berger [Thu, 11 May 2017 12:14:33 +0000 (08:14 -0400)]
Merge pull request #503 from pguibert6WIND/issue_473

bgpd: fixup bgpd: allow VPN next hop to be different AFI than NLRI nexthop for EVPN

7 years agoMerge pull request #500 from qlyoung/fix-router-rip-3.0-3.0
David Lamparter [Thu, 11 May 2017 11:58:40 +0000 (13:58 +0200)]
Merge pull request #500 from qlyoung/fix-router-rip-3.0-3.0

vtysh: add \n to 'router rip[ng]' docstrings (3.0)

7 years agoMerge pull request #496 from donaldsharp/vtysh_pager
David Lamparter [Thu, 11 May 2017 11:57:45 +0000 (13:57 +0200)]
Merge pull request #496 from donaldsharp/vtysh_pager

*: Allow configure to control VTYSH_PAGER used

7 years agoMerge pull request #502 from opensourcerouting/show-ip-fib
Donald Sharp [Wed, 10 May 2017 23:39:26 +0000 (19:39 -0400)]
Merge pull request #502 from opensourcerouting/show-ip-fib

add 'show <ip|ipv6> fib' command

7 years agozebra: add 'show ipv6 fib' command
Christian Franke [Wed, 10 May 2017 20:33:51 +0000 (22:33 +0200)]
zebra: add 'show ipv6 fib' command

Signed-off-by: Christian Franke <chris@opensourcerouting.org>
7 years agozebra: add 'show ip fib' commands
Christian Franke [Wed, 10 May 2017 20:33:48 +0000 (22:33 +0200)]
zebra: add 'show ip fib' commands

Signed-off-by: Christian Franke <chris@opensourcerouting.org>
7 years agoAddress the error "Dead assignment" of static analysif
Hung-Weic Chiu [Wed, 10 May 2017 02:51:28 +0000 (02:51 +0000)]
Address the error "Dead assignment" of static analysif

- Refer to https://ci1.netdef.org/browse/FRR-FRR4-44/artifact/shared/static_analysis/index.html
- Remove unused variable

Signed-off-by: Hung-Weic Chiu <sppsorrg@gmail.com>
7 years ago- Solve the Coverity Scan PW.ASSIGN_WHERE_COMPARE_MEANT
Hung-Weic Chiu [Wed, 10 May 2017 01:57:11 +0000 (01:57 +0000)]
- Solve the Coverity Scan PW.ASSIGN_WHERE_COMPARE_MEANT

- Minor refactoring

Signed-off-by: Hung-Weic Chiu <sppsorrg@gmail.com>
7 years agovtysh: add \n to 'router rip[ng]' docstrings
Quentin Young [Tue, 9 May 2017 21:04:00 +0000 (21:04 +0000)]
vtysh: add \n to 'router rip[ng]' docstrings

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
7 years agoAddress the error "Dead assignment" of static analysif
Hung-Weic Chiu [Wed, 10 May 2017 02:51:28 +0000 (02:51 +0000)]
Address the error "Dead assignment" of static analysif

- Refer to https://ci1.netdef.org/browse/FRR-FRR4-44/artifact/shared/static_analysis/index.html
- Remove unused variable

Signed-off-by: Hung-Weic Chiu <sppsorrg@gmail.com>
7 years ago- Solve the Coverity Scan PW.ASSIGN_WHERE_COMPARE_MEANT
Hung-Weic Chiu [Wed, 10 May 2017 01:57:11 +0000 (01:57 +0000)]
- Solve the Coverity Scan PW.ASSIGN_WHERE_COMPARE_MEANT

- Minor refactoring

Signed-off-by: Hung-Weic Chiu <sppsorrg@gmail.com>
7 years agoMerge pull request #408 from qlyoung/remove-thread-macros
Russ White [Wed, 10 May 2017 17:51:47 +0000 (13:51 -0400)]
Merge pull request #408 from qlyoung/remove-thread-macros

*: remove THREAD_ON macros, add nullity check

7 years agobgpd: fixup bgpd: allow VPN next hop to be different AFI than NLRI next
Philippe Guibert [Wed, 10 May 2017 17:27:33 +0000 (19:27 +0200)]
bgpd: fixup bgpd: allow VPN next hop to be different AFI than NLRI next
hop for EVPN

In the case of EVPN, add the nexthop attribute.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
7 years ago*: Allow configure to control VTYSH_PAGER used
Donald Sharp [Wed, 10 May 2017 15:09:24 +0000 (11:09 -0400)]
*: Allow configure to control VTYSH_PAGER used

Signed-off-by: Donald Sharp
7 years agoeigrpd: Fix compilation errors for some versions of gcc
Daniel Walton [Wed, 10 May 2017 13:56:25 +0000 (09:56 -0400)]
eigrpd: Fix compilation errors for some versions of gcc

Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
7 years agozebra: do not crash if zebrad.lsp_process_q is NULL
Daniel Walton [Wed, 10 May 2017 13:42:56 +0000 (09:42 -0400)]
zebra: do not crash if zebrad.lsp_process_q is NULL

Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
7 years agozebra: lsp_install() failed due to ZEBRA_FLAG_SELECTED check
Daniel Walton [Wed, 10 May 2017 13:42:00 +0000 (09:42 -0400)]
zebra: lsp_install() failed due to ZEBRA_FLAG_SELECTED check

ZEBRA_FLAG_SELECTED hasn't been set yet by the time lsp_install is
called.  The call path is:
rib_process -> rib_process_add_fib -> zebra_mpls_lsp_install -> lsp_install

but ZEBRA_FLAG_SELECTED is set in rib_process after it calls
rib_process_add_fib.  I can't think of anything that it would hurt to
install the LSP regardless of whether ZEBRA_FLAG_SELECTED is set later.

I also cleaned up some UI (json and display the pretty label names
instead of their numeric values).

Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
7 years agozebra: ZEBRA_MIN_FEC_LENGTH should be 5
Daniel Walton [Wed, 10 May 2017 13:41:07 +0000 (09:41 -0400)]
zebra: ZEBRA_MIN_FEC_LENGTH should be 5

If the client registers for 0.0.0.0/0 the length will be 5

Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
7 years agobgpd: add ENHE support for "address-family ipv4 labeled-unicast"
Daniel Walton [Wed, 10 May 2017 13:40:29 +0000 (09:40 -0400)]
bgpd: add ENHE support for "address-family ipv4 labeled-unicast"

Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
7 years agoMerge pull request #494 from donaldsharp/community.md
Jafar Al-Gharaibeh [Wed, 10 May 2017 13:57:41 +0000 (08:57 -0500)]
Merge pull request #494 from donaldsharp/community.md

*: Modify documentation to show people where to work

7 years ago*: Modify documentation to show people where to work
Donald Sharp [Wed, 10 May 2017 12:13:17 +0000 (08:13 -0400)]
*: Modify documentation to show people where to work

Give some guidance to people on where they should work for
bug fixese and features.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agoMerge remote-tracking branch 'origin/stable/3.0'
Donald Sharp [Wed, 10 May 2017 00:39:35 +0000 (20:39 -0400)]
Merge remote-tracking branch 'origin/stable/3.0'

7 years agoMerge pull request #486 from LabNConsulting/working/3.0/patch/issue483
Russ White [Tue, 9 May 2017 23:56:47 +0000 (19:56 -0400)]
Merge pull request #486 from LabNConsulting/working/3.0/patch/issue483

bgp rfapi: rfapi shouldn't be called (yet) for BGP VRF instances.

7 years agoMerge pull request #480 from donaldsharp/agentx
Russ White [Tue, 9 May 2017 23:49:27 +0000 (19:49 -0400)]
Merge pull request #480 from donaldsharp/agentx

Agentx

7 years agoMerge pull request #488 from donaldsharp/sudoers3
Russ White [Tue, 9 May 2017 23:48:00 +0000 (19:48 -0400)]
Merge pull request #488 from donaldsharp/sudoers3

*: Remove ability to install frr_sudoers for 3.0

7 years agoeigrpd: spatch thread_add* calls and macros
Quentin Young [Tue, 9 May 2017 21:09:52 +0000 (21:09 +0000)]
eigrpd: spatch thread_add* calls and macros

As described in previous commits

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
7 years agoospf6d, zebra: remove unnecessary asserts
Quentin Young [Fri, 5 May 2017 21:55:29 +0000 (21:55 +0000)]
ospf6d, zebra: remove unnecessary asserts

These pointers are now guaranteed to be null, so asserting the opposite
will crash.

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
7 years ago*: update thread_add_* calls
Quentin Young [Fri, 5 May 2017 21:22:25 +0000 (21:22 +0000)]
*: update thread_add_* calls

Pass pointer to pointer instead of assigning by return value. See
previous commit message.

To ensure that the behavior stays functionally correct, any assignments
with the result of a thread_add* function have been transformed to set
the pointer to null before passing it. These can be removed wherever the
pointer is known to already be null.

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
7 years agolib: safely check & set thread pointers
Quentin Young [Fri, 5 May 2017 17:30:21 +0000 (17:30 +0000)]
lib: safely check & set thread pointers

When scheduling a thread, the scheduling function returns a pointer to
the struct thread that was placed on one of the scheduling queues in the
associated thread master. This pointer is used to check whether or not
the thread is scheduled, and is passed to thread_cancel() should the
daemon need to cancel that particular task.

The thread_fetch() function is called to retrieve the next thread to
execute. However, when it returns, the aforementioned pointer is not
updated. As a result, in order for the above use cases to work, every
thread handler function must set the associated pointer to NULL. This is
bug prone, and moreover, not thread safe.

This patch changes the thread scheduling functions to return void. If
the caller needs a reference to the scheduled thread, it must pass in a
pointer to store the pointer to the thread struct in. Subsequent calls
to thread_cancel(), thread_cancel_event() or thread_fetch() will result
in that pointer being nulled before return. These operations occur
within the thread_master critical sections.

Overall this should avoid bugs introduced by thread handler funcs
forgetting to null the associated pointer, double-scheduling caused by
overwriting pointers to currently scheduled threads without performing a
nullity check, and the introduction of true kernel threads causing race
conditions within the userspace threading world.

Also removes the return value for thread_execute since it always returns
null...

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
7 years ago*: remove THREAD_ON macros, add nullity check
Quentin Young [Mon, 24 Apr 2017 22:33:25 +0000 (22:33 +0000)]
*: remove THREAD_ON macros, add nullity check

The way thread.c is written, a caller who wishes to be able to cancel a
thread or avoid scheduling it twice must keep a reference to the thread.
Typically this is done with a long lived pointer whose value is checked
for null in order to know if the thread is currently scheduled.  The
check-and-schedule idiom is so common that several wrapper macros in
thread.h existed solely to provide it.

This patch removes those macros and adds a new parameter to all
thread_add_* functions which is a pointer to the struct thread * to
store the result of a scheduling call. If the value passed is non-null,
the thread will only be scheduled if the value is null. This helps with
consistency.

A Coccinelle spatch has been used to transform code of the form:

  if (t == NULL)
    t = thread_add_* (...)

to the form

  thread_add_* (..., &t)

The THREAD_ON macros have also been transformed to the underlying
thread.c calls.

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
7 years ago*: Remove ability to install frr_sudoers
Donald Sharp [Tue, 9 May 2017 20:18:04 +0000 (16:18 -0400)]
*: Remove ability to install frr_sudoers

If the user were to uncomment last line
and allow VTYSH_SHOW to be used as a non-root
account, this would allow arbitrary command completion
inside of vtysh via multiple -c ... -c .... lines

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agoMerge pull request #485 from LabNConsulting/working/3.0/patch-set/missing1
Donald Sharp [Tue, 9 May 2017 19:45:15 +0000 (15:45 -0400)]
Merge pull request #485 from LabNConsulting/working/3.0/patch-set/missing1

Pick up a couple of patches to master that are needed on 3.0

7 years agobgp rfapi: rfapi shouldn't be called (yet) for BGP VRF instances.
Lou Berger [Tue, 9 May 2017 18:38:55 +0000 (14:38 -0400)]
bgp rfapi: rfapi shouldn't be called (yet) for BGP VRF instances.

7 years agobgpd: restore -S, --skip_runas options
Lou Berger [Sun, 2 Apr 2017 19:34:55 +0000 (15:34 -0400)]
bgpd: restore  -S, --skip_runas options

Signed-off-by: Lou Berger <lberger@labn.net>
7 years agobgp: fix a couple of instances of bm being used before init'ed
Lou Berger [Sun, 2 Apr 2017 17:55:58 +0000 (13:55 -0400)]
bgp: fix a couple of instances of bm being used before init'ed

Signed-off-by: Lou Berger <lberger@labn.net>
7 years agoMerge pull request #478 from opensourcerouting/test-extension
Donald Sharp [Tue, 9 May 2017 15:55:54 +0000 (11:55 -0400)]
Merge pull request #478 from opensourcerouting/test-extension

tests: allow to use exit_cleanly as test method

7 years agoMerge pull request #469 from qlyoung/fix-list-perm-3.0
David Lamparter [Tue, 9 May 2017 15:54:46 +0000 (17:54 +0200)]
Merge pull request #469 from qlyoung/fix-list-perm-3.0

lib: fix 'list permutations' (3.0)

7 years agoMerge pull request #454 from dwalton76/hide-router-bgp-peer-ipv4-unicast-commands
Lou Berger [Tue, 9 May 2017 15:54:33 +0000 (11:54 -0400)]
Merge pull request #454 from dwalton76/hide-router-bgp-peer-ipv4-unicast-commands

bgpd: hide "router bgp" commands also under "address-family ipv4 unic…

7 years agoMerge pull request #468 from qlyoung/fix-list-perm
David Lamparter [Tue, 9 May 2017 15:54:22 +0000 (17:54 +0200)]
Merge pull request #468 from qlyoung/fix-list-perm

lib: fix 'list permutations'

7 years agoMerge pull request #435 from chiragshah6/pim_dev
Jafar Al-Gharaibeh [Tue, 9 May 2017 15:50:56 +0000 (10:50 -0500)]
Merge pull request #435 from chiragshah6/pim_dev

pimd: Introduce show command for protocol counters

7 years agodebian: Mark FRR as conflicting with Quagga
Donald Sharp [Tue, 9 May 2017 14:16:38 +0000 (10:16 -0400)]
debian: Mark FRR as conflicting with Quagga

FRR when compiled with this debian packaging will cause
some issue with the system to work properly due to the
sudoers file conflicts.

So to prevent some level of stupidity, mark them as
conflicting.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years ago*: Allow agentx to be displayed as part of vtysh
Donald Sharp [Fri, 5 May 2017 19:28:38 +0000 (15:28 -0400)]
*: Allow agentx to be displayed as part of vtysh

Modify code so that that vtysh can now accept the
agentx command for snmp support

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
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 agotests: allow to use exit_cleanly as test method
Christian Franke [Mon, 8 May 2017 15:24:30 +0000 (17:24 +0200)]
tests: allow to use exit_cleanly as test method

TestMultiOut can now also just check for clean exit

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 agolib: fix 'list permutations'
Quentin Young [Thu, 4 May 2017 22:46:46 +0000 (22:46 +0000)]
lib: fix 'list permutations'

Cyclic graphs ftw

Also remove graph pretty printer from permutations.c 'cause it's not
really needed anymore

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
7 years agolib: fix 'list permutations'
Quentin Young [Thu, 4 May 2017 22:46:46 +0000 (22:46 +0000)]
lib: fix 'list permutations'

Cyclic graphs ftw

Also remove graph pretty printer from permutations.c 'cause it's not
really needed anymore

Signed-off-by: Quentin Young <qlyoung@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