]> git.puffer.fish Git - mirror/frr.git/log
mirror/frr.git
8 years agoeigrpd: Switch u_int64_t -> uint64_t
Donald Sharp [Thu, 27 Apr 2017 02:10:33 +0000 (22:10 -0400)]
eigrpd: Switch u_int64_t -> uint64_t

Apparently u_int64_t is not available (or we don't pull
the right headers in for solaris based systems ).

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
8 years agoeigrpd: Add missing eigrp_fsm.h to 'make dist'
Donald Sharp [Thu, 27 Apr 2017 02:10:11 +0000 (22:10 -0400)]
eigrpd: Add missing eigrp_fsm.h to 'make dist'

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
8 years agolib: Actually include the header file
Donald Sharp [Thu, 27 Apr 2017 01:50:27 +0000 (21:50 -0400)]
lib: Actually include the header file

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
8 years agolib: Fix compilation of some be32* code
Donald Sharp [Thu, 27 Apr 2017 01:46:10 +0000 (21:46 -0400)]
lib: Fix compilation of some be32* code

The be32dec and be32enc functions are available on some
platforms and not others.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
8 years agolib: Fix some *bsd build issues introduced by EIGRP code
Donald Sharp [Wed, 26 Apr 2017 19:16:29 +0000 (15:16 -0400)]
lib: Fix some *bsd build issues introduced by EIGRP code

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
8 years agoMerge remote-tracking branch 'origin/master' into EIGRP
Donald Sharp [Wed, 26 Apr 2017 18:21:40 +0000 (14:21 -0400)]
Merge remote-tracking branch 'origin/master' into EIGRP

8 years agoMerge pull request #393 from opensourcerouting/ldpd-minor-fixes
Donald Sharp [Wed, 26 Apr 2017 14:38:28 +0000 (10:38 -0400)]
Merge pull request #393 from opensourcerouting/ldpd-minor-fixes

ldpd: minor fixes

8 years agoldpd: fix bug when changing the transport address 393/head
Renato Westphal [Sat, 22 Apr 2017 15:03:14 +0000 (12:03 -0300)]
ldpd: fix bug when changing the transport address

When the transport address is changed, all interfaces and targeted
neighbors are temporary disabled in the ldpe process until new sockets
bound to the new transport address are received from the parent.

This patch fixes a problem in which adjacencies weren't being removed
after the associated targeted neighbors were disabled. This was causing
ldpd not to set some MD5 sockoptions for new neighbors are thus preventing
MD5-protected sessions to come up after a change in the transport-address.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
8 years agoldpd: allow targeted neighbors over any interface
Renato Westphal [Sat, 22 Apr 2017 13:55:27 +0000 (10:55 -0300)]
ldpd: allow targeted neighbors over any interface

It's doesn't make sense to enforce that a targeted-hello is received
on an LDP-enabled interface. It should be possible, for example, to use
LDP only to signal pseudowires and other another protocol (e.g. RSVP-TE)
to create end-to-end LSPs.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
8 years agoldpd: schedule the sending of label messages when necessary
Renato Westphal [Sat, 22 Apr 2017 01:10:42 +0000 (22:10 -0300)]
ldpd: schedule the sending of label messages when necessary

Once we send a Label Withdraw, we can't send a Label Mapping for the
same FEC until we receive a Label Release from the peer. This is due to
some limitations in the LDP algorithms described in Appendix A. ("LDP
Label Distribution Procedures") of RFC 5036.

To workaround this issue, make it possible to schedule the sending of
a Label Mapping as soon as a Label Release is received for the same FEC.

The easiest way to test this patch is by typing the "label local advertise
explicit-null" command. ldpd will withdraw all null labels using a
Wildcard FEC and then send new Label Mappings as soon the corresponding
Label Releases are received.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
8 years agoldpd: improve ldp_zebra_read_route()
Renato Westphal [Fri, 21 Apr 2017 22:39:11 +0000 (19:39 -0300)]
ldpd: improve ldp_zebra_read_route()

Log deleted routes and simplify the code a bit.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
8 years agoldpd: be more conservative with labels
Renato Westphal [Fri, 21 Apr 2017 18:41:14 +0000 (15:41 -0300)]
ldpd: be more conservative with labels

On unstable networks, routes can be lost and relearned very often. If
we deallocate the input label every time a route is lost and allocate
a new one when the route is relearned, a lot of changes are made in vain.

This patch introduces a logic in which labels are preserved for at least
five minutes before being deallocated by the LIB garbage collector. This
is consistent with what other implementations do.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
8 years agoldpd: accept notifications during the session establishment process
Renato Westphal [Wed, 19 Apr 2017 22:31:19 +0000 (19:31 -0300)]
ldpd: accept notifications during the session establishment process

If we don't do this, we'll never trigger the backoff exponential timer
since it's impossible to distinguish between Initialization NAK's and
general errors.

Also:
* Implement some missing bits from RFC 5036;
* remove superfluous log message in session_shutdown()
  (send_notification() logs that we're sending a fatal notification).

Regression introduced by commit 8819fc3.

Fixes the following ANVL LDP regressions: 6.19 and 6.21.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
8 years agoldpd: fix small style issues
Renato Westphal [Wed, 19 Apr 2017 21:14:20 +0000 (18:14 -0300)]
ldpd: fix small style issues

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
8 years agoldpd: minor changes in the output of some show commands
Renato Westphal [Wed, 19 Apr 2017 20:12:35 +0000 (17:12 -0300)]
ldpd: minor changes in the output of some show commands

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
8 years agoldpd: use synchronous channels for sending log messages
Renato Westphal [Wed, 19 Apr 2017 19:59:50 +0000 (16:59 -0300)]
ldpd: use synchronous channels for sending log messages

This is necessary to guarantee that all log messages sent from the child
processes are received in the parent process right away.

Without this patch, when a child process calls fatal() or fatalx(),
the log messages don't make it to the parent because the child doesn't
have a chance to flush its buffers before exiting.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
8 years agoldpd: remove unnecessary checks if a signal was caught
Renato Westphal [Wed, 19 Apr 2017 18:28:43 +0000 (15:28 -0300)]
ldpd: remove unnecessary checks if a signal was caught

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
8 years agoldpd: fix segfault after failed initialization
Renato Westphal [Wed, 19 Apr 2017 18:15:56 +0000 (15:15 -0300)]
ldpd: fix segfault after failed initialization

When ldpd fails to start for some reason, like failing to create a pid
file, the child processes call their shutdown functions without being
completely initialized. This patch adds some protections to prevent a
segmentation fault on such circumstances.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
8 years agoldpd: simplify initialization of the child processes
Renato Westphal [Wed, 19 Apr 2017 01:03:35 +0000 (22:03 -0300)]
ldpd: simplify initialization of the child processes

In order to have separate ASLR/cookies per process, ldpd calls exec()
in the child processes after fork() (this is also known as the fork+exec
model).

This is an important security feature but it makes the initialization
of the child processes a bit more complicated as they're not a copy of
the parent anymore, so all parameters given via command line are lost.

To solve this problem, we were creating an argv array by hand with all
necessary parameters and providing it to the exec() syscall. This works
but it's a very ugly solution. This patch introduces a different approach
to solve the problem: send an IMSG_INIT message to the child processes
with all parameters they need in order to initialize properly. This
makes adding additional initialization parameters much more convenient
and less error prone.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
8 years agoMerge remote-tracking branch 'origin/master' into EIGRP
Donald Sharp [Wed, 26 Apr 2017 12:03:54 +0000 (08:03 -0400)]
Merge remote-tracking branch 'origin/master' into EIGRP

8 years agocumulus: Add EIGRP to default file
Donald Sharp [Wed, 26 Apr 2017 12:03:29 +0000 (08:03 -0400)]
cumulus: Add EIGRP to default file

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
8 years agoMerge remote-tracking branch 'origin/stable/3.0'
Donald Sharp [Tue, 25 Apr 2017 14:42:14 +0000 (10:42 -0400)]
Merge remote-tracking branch 'origin/stable/3.0'

8 years agoMerge pull request #403 from donaldsharp/nhrpd2
Russ White [Tue, 25 Apr 2017 14:24:23 +0000 (10:24 -0400)]
Merge pull request #403 from donaldsharp/nhrpd2

Nhrpd2

8 years agonhrpd: Fix cli changes missed 403/head
Donald Sharp [Tue, 25 Apr 2017 13:07:05 +0000 (09:07 -0400)]
nhrpd: Fix cli changes missed

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
8 years agonhrp: parse and log command response errors from strongSwan
Timo Teräs [Fri, 21 Apr 2017 11:58:17 +0000 (14:58 +0300)]
nhrp: parse and log command response errors from strongSwan

helps to debug configuration problems

8 years agonhrp: fix potential crash when vici profile name is not configured
Timo Teräs [Fri, 21 Apr 2017 11:57:57 +0000 (14:57 +0300)]
nhrp: fix potential crash when vici profile name is not configured

8 years agonhrp: notify 'tunnel protection' changes
Timo Teräs [Fri, 21 Apr 2017 11:56:45 +0000 (14:56 +0300)]
nhrp: notify 'tunnel protection' changes

to triggers refresh of IKE SAs immediately on this command

8 years agonhrp: explicitly cast ints to size_t for vici_request_vc va_list handling
Timo Teräs [Fri, 21 Apr 2017 10:57:28 +0000 (13:57 +0300)]
nhrp: explicitly cast ints to size_t for vici_request_vc va_list handling

8 years agonhrp: fix protocol address family parsing on receive
Timo Teräs [Thu, 20 Apr 2017 13:24:14 +0000 (16:24 +0300)]
nhrp: fix protocol address family parsing on receive

See bugzilla #948

8 years agonhrp: implement 'no ip nhrp map' command
Timo Teräs [Fri, 21 Apr 2017 10:37:07 +0000 (13:37 +0300)]
nhrp: implement 'no ip nhrp map' command

was accidentally not implemented earlier

8 years agonhrpd: implement 'show ip nhrp nhs'
Timo Teräs [Sat, 25 Mar 2017 15:27:24 +0000 (17:27 +0200)]
nhrpd: implement 'show ip nhrp nhs'

8 years agoMerge pull request #400 from dwalton76/default-frr-conf
Martin Winter [Tue, 25 Apr 2017 03:11:11 +0000 (20:11 -0700)]
Merge pull request #400 from dwalton76/default-frr-conf

vtysh: "Command incomplete: log syslog"

8 years agoldpd: remove two unused imsg types
Renato Westphal [Tue, 18 Apr 2017 16:27:30 +0000 (13:27 -0300)]
ldpd: remove two unused imsg types

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
8 years agoldpd: call openzlog() in the child processes as well
Renato Westphal [Tue, 18 Apr 2017 15:17:30 +0000 (12:17 -0300)]
ldpd: call openzlog() in the child processes as well

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
8 years agoldpd: fix log level of log_warn() and log_warnx()
Renato Westphal [Tue, 18 Apr 2017 15:14:15 +0000 (12:14 -0300)]
ldpd: fix log level of log_warn() and log_warnx()

The log_warn() and log_warnx() functions indicate non-critical warnings
and errors, so use LOG_ERR instead of LOG_CRIT.

Keep using LOG_CRIT only in fatal() and fatalx() since these functions
indicate critical errors (when the program needs to exit).

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
8 years agoldpd: split log.c into two files
Renato Westphal [Tue, 18 Apr 2017 15:04:44 +0000 (12:04 -0300)]
ldpd: split log.c into two files

This is basically to keep in sync with OpenBSD's ldpd(8) where the same
change was done.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
8 years agoMerge pull request #345 from chiragshah6/pim_dev
Renato Westphal [Mon, 24 Apr 2017 19:59:58 +0000 (16:59 -0300)]
Merge pull request #345 from chiragshah6/pim_dev

pimd: Pim ECMP changes along with nexthop tracking using cached DB

8 years agovtysh: "Command incomplete: log syslog" 395/head 400/head
Daniel Walton [Mon, 24 Apr 2017 18:22:29 +0000 (18:22 +0000)]
vtysh: "Command incomplete: log syslog"

Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
Before
======
root@spine-1[~]# cat /etc/frr/frr.conf
no log monitor
!
service integrated-vtysh-config
!
log syslog
!
log syslog informational
!
line vty
!
root@spine-1[~]#
root@spine-1[~]# vtysh -m -f /etc/frr/frr.conf
no log monitor
!
service integrated-vtysh-config
!
line 5: % Command incomplete: log syslog

root@spine-1[~]#

After
=====
root@spine-1[~]# vtysh -m -f /etc/frr/frr.conf
no log monitor
!
service integrated-vtysh-config
!
log syslog
!
log syslog informational
!
line vty
!
end
root@spine-1[~]#

8 years agoMerge pull request #391 from opensourcerouting/fix-no-router-ospf6
Donald Sharp [Sat, 22 Apr 2017 21:55:26 +0000 (17:55 -0400)]
Merge pull request #391 from opensourcerouting/fix-no-router-ospf6

ospf6d: fix "no router ospf6"

8 years agoospf6d: fix "no router ospf6" 391/head
Renato Westphal [Sat, 22 Apr 2017 20:41:54 +0000 (17:41 -0300)]
ospf6d: fix "no router ospf6"

The "no router ospf6" command wasn't working.

Regression introduced by commit 16cedbb.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
8 years agoMerge pull request #388 from opensourcerouting/snap-fixes-3.0
Donald Sharp [Sat, 22 Apr 2017 00:13:31 +0000 (20:13 -0400)]
Merge pull request #388 from opensourcerouting/snap-fixes-3.0

Snap fixes 3.0

8 years agodoc: Add nhrpd to relevant section in Building_FRR_on_xxxx doc
Martin Winter [Fri, 21 Apr 2017 10:55:14 +0000 (03:55 -0700)]
doc: Add nhrpd to relevant section in Building_FRR_on_xxxx doc

Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
8 years agoClean installation guide with Debian/Ubuntu
Phil Huang [Thu, 13 Apr 2017 13:20:53 +0000 (21:20 +0800)]
Clean installation guide with Debian/Ubuntu

Signed-off-by: Phil Huang <phil_huang@edge-core.com>
8 years agoAdd user `frr` into group `frrvty`
Phil Huang [Thu, 13 Apr 2017 10:11:28 +0000 (18:11 +0800)]
Add user `frr` into group `frrvty`

Signed-off-by: Phil Huang <phil_huang@edge-core.com>
8 years agosnapcraft: Add FPM module with command to set mode or disable it 388/head
Martin Winter [Fri, 21 Apr 2017 09:49:39 +0000 (02:49 -0700)]
snapcraft: Add FPM module with command to set mode or disable it

- New snap command:
    frr.set fpm {disable | protobuf | netlink}

Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
8 years agolib: Add CLI option --moduledir to override default module location (needed for snap...
Martin Winter [Fri, 21 Apr 2017 06:03:03 +0000 (23:03 -0700)]
lib: Add CLI option --moduledir to override default module location (needed for snap support)

Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
8 years agosnapcraft: Add nhrpd to snap
Martin Winter [Fri, 21 Apr 2017 01:18:40 +0000 (18:18 -0700)]
snapcraft: Add nhrpd to snap

Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
8 years agosnapcraft: Fix another old leftover of ubuntu-core in build doc
Martin Winter [Fri, 21 Apr 2017 00:24:12 +0000 (17:24 -0700)]
snapcraft: Fix another old leftover of ubuntu-core in build doc

Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
8 years agosnapcraft: Update snapcraft requirements for FRR 3.0 (from 2.0)
Martin Winter [Thu, 20 Apr 2017 23:58:24 +0000 (16:58 -0700)]
snapcraft: Update snapcraft requirements for FRR 3.0 (from 2.0)

Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
8 years agoMerge pull request #382 from opensourcerouting/snap-doc-fixes-3.0
Donald Sharp [Thu, 20 Apr 2017 22:55:21 +0000 (18:55 -0400)]
Merge pull request #382 from opensourcerouting/snap-doc-fixes-3.0

snapcraft: Improve README.usage.md based on feedback received

8 years agosnapcraft: Improve README.usage.md based on feedback received 382/head
Martin Winter [Wed, 12 Apr 2017 23:00:43 +0000 (16:00 -0700)]
snapcraft: Improve README.usage.md based on feedback received

- Fix snap connect (it's now called core, not ubuntu-core)
- Add section on MPLS configuration
- Add FAQ topic on ospfd/ospf6d crashing before privs are assigned to snap
- Add pointer to official webpage

Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
8 years agoMerge remote-tracking branch 'origin/stable/3.0'
Donald Sharp [Wed, 19 Apr 2017 11:43:30 +0000 (07:43 -0400)]
Merge remote-tracking branch 'origin/stable/3.0'

8 years agoMerge pull request #373 from qlyoung/fix-no-pim-rp
Russ White [Wed, 19 Apr 2017 11:16:22 +0000 (07:16 -0400)]
Merge pull request #373 from qlyoung/fix-no-pim-rp

pimd: fix some pim commands

8 years agoMerge pull request #374 from qlyoung/pqueue-linear-remove
Russ White [Wed, 19 Apr 2017 11:04:04 +0000 (07:04 -0400)]
Merge pull request #374 from qlyoung/pqueue-linear-remove

lib: add removal by item to pqueue

8 years agoMerge pull request #379 from pguibert6WIND/frrouting_issue309_2
Russ White [Wed, 19 Apr 2017 10:58:48 +0000 (06:58 -0400)]
Merge pull request #379 from pguibert6WIND/frrouting_issue309_2

vtysh: remove deprecated HAVE_EVPN flag

8 years agovtysh: remove deprecated HAVE_EVPN flag 379/head
Philippe Guibert [Wed, 12 Apr 2017 13:22:41 +0000 (15:22 +0200)]
vtysh: remove deprecated HAVE_EVPN flag

This flag prevents from entering into evpn address-family node, when
calling command from vtysh.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
8 years agoMerge pull request #315 from LabNConsulting/working/master/patch/bgp-startup
Donald Sharp [Tue, 18 Apr 2017 16:14:58 +0000 (12:14 -0400)]
Merge pull request #315 from LabNConsulting/working/master/patch/bgp-startup

Restore functionality broken/overridden by 857b5446497505f582417e4a5ada029712743cbc

8 years agoMerge remote-tracking branch 'origin/stable/3.0'
Donald Sharp [Mon, 17 Apr 2017 23:12:44 +0000 (19:12 -0400)]
Merge remote-tracking branch 'origin/stable/3.0'

8 years agoMerge pull request #371 from donaldsharp/as_path_fix_3.0
Martin Winter [Mon, 17 Apr 2017 21:47:08 +0000 (14:47 -0700)]
Merge pull request #371 from donaldsharp/as_path_fix_3.0

bgpd: Fix 'set as-path prepend last-as 10'

8 years agopimd: fix 'show ip msdp sa ...' 373/head
Quentin Young [Mon, 17 Apr 2017 19:21:06 +0000 (19:21 +0000)]
pimd: fix 'show ip msdp sa ...'

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
8 years agoeigrpd: Save whether or not a interface is passive.
Donald Sharp [Mon, 17 Apr 2017 14:01:51 +0000 (10:01 -0400)]
eigrpd: Save whether or not a interface is passive.

Save whether or not a interface is passive in EIGRP.
More work is needed to actual respect that.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
8 years agolib: add removal by item to pqueue 374/head
Quentin Young [Mon, 17 Apr 2017 00:06:02 +0000 (00:06 +0000)]
lib: add removal by item to pqueue

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
8 years agoeigrpd: Cleanup cli
Donald Sharp [Sat, 15 Apr 2017 18:20:57 +0000 (14:20 -0400)]
eigrpd: Cleanup cli

The eigrp cli was using a define that was causing some issues
surrounding interface names and detailed information.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
8 years agopimd: fix off-by-one in `no ip pim rp ...`
Quentin Young [Sat, 15 Apr 2017 06:23:22 +0000 (06:23 +0000)]
pimd: fix off-by-one in `no ip pim rp ...`

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
8 years agobgpd: 'show .... bgp regexp WORD' fixed 371/head
Donald Sharp [Sat, 15 Apr 2017 00:39:56 +0000 (20:39 -0400)]
bgpd: 'show .... bgp regexp WORD' fixed

The command was always just returning as part of the
bgp_regexp_show function.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
8 years agobgpd: Fix 'set as-path prepend last-as 10'
Donald Sharp [Sat, 15 Apr 2017 00:13:26 +0000 (20:13 -0400)]
bgpd: Fix 'set as-path prepend last-as 10'

1) Fix missing newline in help string
2) Make the ability to have 10 be consistent with the stable/2.0 branch.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
8 years agoMerge pull request #359 from opensourcerouting/bgpd_largecomm_fix
Donald Sharp [Mon, 10 Apr 2017 23:21:05 +0000 (19:21 -0400)]
Merge pull request #359 from opensourcerouting/bgpd_largecomm_fix

bgpd: fixes for the "show bgp large-community" command

8 years agoMerge pull request #351 from donaldsharp/ospf_fix
Renato Westphal [Mon, 10 Apr 2017 22:06:17 +0000 (19:06 -0300)]
Merge pull request #351 from donaldsharp/ospf_fix

Some Issues fixed

8 years agobgpd: fixes for the "show bgp large-community" command 359/head
Renato Westphal [Mon, 10 Apr 2017 15:28:45 +0000 (12:28 -0300)]
bgpd: fixes for the "show bgp large-community" command

* Fix a segfault when the "show bgp large-community" command is given
  without any optional large communities;
* Fix parsing of optional large communities. Without this fix a
  "Large-community malformed" error is shown even for valid large
  communities.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
8 years agoMerge pull request #304 from donaldsharp/pim_5549
Jafar Al-Gharaibeh [Mon, 10 Apr 2017 16:07:58 +0000 (11:07 -0500)]
Merge pull request #304 from donaldsharp/pim_5549

Pim 5549 Additions

8 years agoripd: fix argv index numbers in the redistribute command
Renato Westphal [Sat, 8 Apr 2017 20:52:57 +0000 (17:52 -0300)]
ripd: fix argv index numbers in the redistribute command

Fixes Issue#350

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
8 years agoeigrpd: Cleanup tab/spacing of the *.c files
Donald Sharp [Sat, 8 Apr 2017 18:44:58 +0000 (14:44 -0400)]
eigrpd: Cleanup tab/spacing of the *.c files

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
8 years agolib: Fix debugs to be guarded. 351/head
Donald Sharp [Sat, 8 Apr 2017 12:55:40 +0000 (08:55 -0400)]
lib: Fix debugs to be guarded.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
8 years agoospfd: Fix the 'show ip ospf int ...' command
Donald Sharp [Sat, 8 Apr 2017 12:47:59 +0000 (08:47 -0400)]
ospfd: Fix the 'show ip ospf int ...' command

Fixed output:

robot.cumulusnetworks.com# show ip ospf int
enp0s3 is up
  ifindex 2, MTU 1500 bytes, BW 0 Mbit <UP,BROADCAST,RUNNING,MULTICAST>
  Internet Address 10.0.2.15/24, Broadcast 10.0.2.255, Area 0.0.0.0
  MTU mismatch detection:enabled
  Router ID 192.168.0.1, Network Type BROADCAST, Cost: 10
  Transmit Delay is 1 sec, State Waiting, Priority 1
  No backup designated router on this network
  Multicast group memberships: OSPFAllRouters
  Timer intervals configured, Hello 10s, Dead 40s, Wait 40s, Retransmit 5
    Hello due in 9.611s
  Neighbor Count is 0, Adjacent neighbor count is 0
enp0s10 is up
  ifindex 7, MTU 1500 bytes, BW 0 Mbit <UP,BROADCAST,RUNNING,MULTICAST>
  Internet Address 192.168.201.146/24, Broadcast 192.168.201.255, Area 0.0.0.0
  MTU mismatch detection:enabled
  Router ID 192.168.0.1, Network Type BROADCAST, Cost: 10
  Transmit Delay is 1 sec, State Waiting, Priority 1
  No backup designated router on this network
  Multicast group memberships: OSPFAllRouters
  Timer intervals configured, Hello 10s, Dead 40s, Wait 40s, Retransmit 5
    Hello due in 7.241s
  Neighbor Count is 0, Adjacent neighbor count is 0

robot.cumulusnetworks.com# show ip ospf int enp0s3
enp0s3 is up
  ifindex 2, MTU 1500 bytes, BW 0 Mbit <UP,BROADCAST,RUNNING,MULTICAST>
  Internet Address 10.0.2.15/24, Broadcast 10.0.2.255, Area 0.0.0.0
  MTU mismatch detection:enabled
  Router ID 192.168.0.1, Network Type BROADCAST, Cost: 10
  Transmit Delay is 1 sec, State Waiting, Priority 1
  No backup designated router on this network
  Multicast group memberships: OSPFAllRouters
  Timer intervals configured, Hello 10s, Dead 40s, Wait 40s, Retransmit 5
    Hello due in 2.915s
  Neighbor Count is 0, Adjacent neighbor count is 0

robot.cumulusnetworks.com# show ip ospf int enp0s10 json
{
  "enp0s10":{
    "ifUp":true,
    "ifIndex":7,
    "mtuBytes":1500,
    "bandwidthMbit":0,
    "ifFlags":"<UP,BROADCAST,RUNNING,MULTICAST>",
    "ospfEnabled":true,
    "ipAddress":"192.168.201.146",
    "ipAddressPrefixlen":24,
    "ospfIfType":"Broadcast",
    "localIfUsed":"192.168.201.255",
    "area":"0.0.0.0",
    "routerId":"192.168.0.1",
    "networkType":"BROADCAST",
    "cost":10,
    "transmitDelayMsecs":1000,
    "state":"Waiting",
    "priority":1,
    "mcastMemberOspfAllRouters":true,
    "timerMsecs":100,
    "timerDeadMsecs":25,
    "timerWaitMsecs":25,
    "timerRetransmit":200,
    "timerHelloInMsecs":2106,
    "nbrCount":0,
    "nbrAdjacentCount":0
  }
}
robot.cumulusnetworks.com#

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
8 years agoeigrpd: Only install up to eigrp->max_paths into rib.
Donald Sharp [Fri, 7 Apr 2017 22:59:06 +0000 (18:59 -0400)]
eigrpd: Only install up to eigrp->max_paths into rib.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
8 years agoMerge pull request #347 from qlyoung/ignore-flex-sign-error 355/head
Renato Westphal [Fri, 7 Apr 2017 21:48:14 +0000 (18:48 -0300)]
Merge pull request #347 from qlyoung/ignore-flex-sign-error

lib: add #pragma to ignore flex sign cmp error

8 years agolib: add #pragma's to ignore flex sign cmp error 347/head
Quentin Young [Fri, 7 Apr 2017 17:40:11 +0000 (17:40 +0000)]
lib: add #pragma's to ignore flex sign cmp error

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
8 years agoMerge remote-tracking branch 'origin/stable/3.0'
Donald Sharp [Fri, 7 Apr 2017 17:37:01 +0000 (13:37 -0400)]
Merge remote-tracking branch 'origin/stable/3.0'

8 years agopimd: Fix various sizeof and buffer length issues 304/head
Donald Sharp [Thu, 6 Apr 2017 21:57:24 +0000 (17:57 -0400)]
pimd: Fix various sizeof and buffer length issues

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
8 years agoMerge pull request #339 from donaldsharp/update_master
Jafar Al-Gharaibeh [Thu, 6 Apr 2017 18:38:44 +0000 (13:38 -0500)]
Merge pull request #339 from donaldsharp/update_master

*: Switchover to 3.1-dev

8 years agoMerge pull request #338 from donaldsharp/3.0_fixes
Jafar Al-Gharaibeh [Thu, 6 Apr 2017 18:38:29 +0000 (13:38 -0500)]
Merge pull request #338 from donaldsharp/3.0_fixes

3.0 fixes

8 years agopimd: Pim Nexthop Tracking support with ECMP 345/head
Chirag Shah [Wed, 5 Apr 2017 20:14:12 +0000 (13:14 -0700)]
pimd: Pim Nexthop Tracking support with ECMP

In this patch, PIM nexthop tracking uses locally populated nexthop cached list
to determine ECMP based nexthop (w/ ECMP knob enabled), otherwise picks
the first nexthop as RPF.
Introduced '[no] ip pim ecmp' command to enable/disable PIM ECMP knob.
By default, PIM ECMP is disabled.
Intorudced '[no] ip pim ecmp rebalance' command to provide existing mcache
entry to switch new path based on hash chosen path.
Introduced, show command to display pim registered addresses and respective nexthops.
Introuduce, show command to find nexthop and out interface for (S,G) or (RP,G).
Re-Register an address with nexthop when Interface UP event received,
to ensure the PIM nexthop cache is updated (being PIM enabled).
During PIM neighbor UP, traverse all RPs and Upstreams nexthop and determine, if
any of nexthop's IPv4 address changes/resolves due to neigbor UP event.

Testing Done: Run various LHR, RP and FHR related cases to resolve RPF using
nexthop cache with ECMP knob disabled, performed interface/PIM neighbor flap events.
Executed pim-smoke with knob disabled.

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
8 years ago*: Switchover to 3.1-dev 339/head
Donald Sharp [Thu, 6 Apr 2017 03:18:12 +0000 (23:18 -0400)]
*: Switchover to 3.1-dev

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
8 years ago*: Switchover to 3.0 338/head
Donald Sharp [Thu, 6 Apr 2017 03:18:12 +0000 (23:18 -0400)]
*: Switchover to 3.0

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
8 years agolib: Fix missing help strings
Donald Sharp [Thu, 6 Apr 2017 03:08:19 +0000 (23:08 -0400)]
lib: Fix missing help strings

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
8 years agoeigrpd: Fix 'router eigrp..' to be DEFUN_NOSH
Donald Sharp [Thu, 6 Apr 2017 02:58:21 +0000 (22:58 -0400)]
eigrpd: Fix 'router eigrp..' to be DEFUN_NOSH

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
8 years agoeigrpd: Cleanup the merge
Donald Sharp [Thu, 6 Apr 2017 01:01:31 +0000 (21:01 -0400)]
eigrpd: Cleanup the merge

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
8 years agoMerge remote-tracking branch 'origin/master' into EIGRP
Donald Sharp [Thu, 6 Apr 2017 00:52:32 +0000 (20:52 -0400)]
Merge remote-tracking branch 'origin/master' into EIGRP

8 years agoeigrpd: Fix add and delete of routes into the rib
Donald Sharp [Thu, 6 Apr 2017 00:35:50 +0000 (20:35 -0400)]
eigrpd: Fix add and delete of routes into the rib

Use the eigrp_topology_successors to give us the
list of successors we want to install.

Modify route add to send all the nexthops

Modify route delete to just delete the route

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
8 years agoeigrpd: Fix massive memory leak
Donald Sharp [Thu, 6 Apr 2017 00:07:46 +0000 (20:07 -0400)]
eigrpd: Fix massive memory leak

Each call into eigrp_topology_get_successors would leak the list
created.  As routes worked their way through the FSM we would
leak memory left and right.

Modify the eigrp_topology_get_successor to return NULL when
there are no SUCCESORS.

Clean up some dead code.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
8 years agoeigrpd: Convert FSM states to an enum
Donald Sharp [Wed, 5 Apr 2017 23:30:51 +0000 (19:30 -0400)]
eigrpd: Convert FSM states to an enum

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
8 years agoeigrpd: Cleanup long line
Donald Sharp [Wed, 5 Apr 2017 23:26:57 +0000 (19:26 -0400)]
eigrpd: Cleanup long line

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
8 years agoeigrpd: Cleanup Bit Field handling
Donald Sharp [Wed, 5 Apr 2017 23:24:56 +0000 (19:24 -0400)]
eigrpd: Cleanup Bit Field handling

Cleanup the Bit field handling for whether or
not entries are installed or not.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
8 years agocumulus, tools: Fix up startup
Donald Sharp [Wed, 5 Apr 2017 23:24:15 +0000 (19:24 -0400)]
cumulus, tools: Fix up startup

Allow EIGRP to work within the startup scripts

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
8 years agoMerge pull request #337 from donaldsharp/more_spt_more
David Lamparter [Wed, 5 Apr 2017 20:32:46 +0000 (22:32 +0200)]
Merge pull request #337 from donaldsharp/more_spt_more

More spt more

8 years agoMerge pull request #336 from dwalton76/bgpd-allowas-in-removal
David Lamparter [Wed, 5 Apr 2017 20:30:11 +0000 (22:30 +0200)]
Merge pull request #336 from dwalton76/bgpd-allowas-in-removal

bgpd: removing "allowas-in" for peer-group member still allows AS_PATHS

8 years agoMerge pull request #333 from donaldsharp/frr
David Lamparter [Wed, 5 Apr 2017 20:29:39 +0000 (22:29 +0200)]
Merge pull request #333 from donaldsharp/frr

Frr

8 years agoMerge branch 'master' into pim_5549
Donald Sharp [Wed, 5 Apr 2017 16:49:17 +0000 (12:49 -0400)]
Merge branch 'master' into pim_5549

8 years agoMerge pull request #310 from opensourcerouting/thread-prep
Donald Sharp [Wed, 5 Apr 2017 16:39:25 +0000 (12:39 -0400)]
Merge pull request #310 from opensourcerouting/thread-prep

MT preparations

8 years agopimd: Add the ability to never SPT switchover 337/head
Donald Sharp [Wed, 5 Apr 2017 16:08:53 +0000 (12:08 -0400)]
pimd: Add the ability to never SPT switchover

Add the ability to allow pim to determine if we should
allow spt-switchover or not on the LHR.

Signed-off-by: Donald Sharp