]> git.puffer.fish Git - matthieu/frr.git/log
matthieu/frr.git
8 years agoapply rename to readme.md
Quentin Young [Thu, 12 Jan 2017 18:10:48 +0000 (13:10 -0500)]
apply rename to readme.md

8 years agoMerge pull request #66 from pguibert6WIND/frr_6wind_afisafi_iana_1
Donald Sharp [Thu, 12 Jan 2017 17:53:00 +0000 (12:53 -0500)]
Merge pull request #66 from pguibert6WIND/frr_6wind_afisafi_iana_1

Quagga: AFI/SAFI mappings IANA to/from internal values

8 years agoQuagga: AFI/SAFI mappings IANA to/from internal values
vivek [Wed, 15 Jun 2016 17:25:35 +0000 (10:25 -0700)]
Quagga: AFI/SAFI mappings IANA to/from internal values

Introduce internal and IANA defintions for AFI/SAFI and mapping
functions and modify code to use these. This refactoring will
facilitate adding support for other AFI/SAFI whose IANA values
won't be suitable for internal data structure definitions (e.g.,
they are not contiguous).
The commit adds some fixes related to afi/safi testing with 'make check
' command.

Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
Reviewed-by: Donald Sharp <sharpd@cumulusnetworks.com>
Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
Ticket: CM-11416
Reviewed By: CCR-3594 (mpls branch)
Testing Done: Not tested now, tested earlier on mpls branch

8 years agoMerge remote-tracking branch 'origin/develop'
Donald Sharp [Wed, 11 Jan 2017 13:25:17 +0000 (08:25 -0500)]
Merge remote-tracking branch 'origin/develop'

8 years agoMerge pull request #58 from opensourcerouting/libxml-check
Donald Sharp [Mon, 9 Jan 2017 15:45:49 +0000 (10:45 -0500)]
Merge pull request #58 from opensourcerouting/libxml-check

build: check if the LibXML perl module is available

8 years agobuild: check if the LibXML perl module is available
Renato Westphal [Mon, 9 Jan 2017 14:35:57 +0000 (12:35 -0200)]
build: check if the LibXML perl module is available

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
8 years agoMerge pull request #55 from donaldsharp/monotonic
Olivier Dugeon [Mon, 9 Jan 2017 14:26:16 +0000 (15:26 +0100)]
Merge pull request #55 from donaldsharp/monotonic

Monotonic

8 years agoMerge pull request #56 from qlyoung/if-metric
Olivier Dugeon [Mon, 9 Jan 2017 14:25:40 +0000 (15:25 +0100)]
Merge pull request #56 from qlyoung/if-metric

lib: make interface metric a uint32_t

8 years agoredhat: update .gitignore
Quentin Young [Mon, 9 Jan 2017 02:36:53 +0000 (02:36 +0000)]
redhat: update .gitignore

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
8 years agolib: make interface metric a uint32_t
Quentin Young [Mon, 9 Jan 2017 01:35:41 +0000 (01:35 +0000)]
lib: make interface metric a uint32_t

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
8 years agobgpd: Remove knowledge of HAVE_CLOCK_MONTONIC
Donald Sharp [Sun, 8 Jan 2017 00:23:50 +0000 (19:23 -0500)]
bgpd: Remove knowledge of HAVE_CLOCK_MONTONIC

thread.c fails to build properly on systems that do
not have a CLOCK_MONOTONIC.  Therefore there is
no need for bgp to have knowledge of it.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
8 years agopimd: Remove knowledge of HAVE_CLOCK_MONOTONIC
Donald Sharp [Sun, 8 Jan 2017 00:21:21 +0000 (19:21 -0500)]
pimd: Remove knowledge of HAVE_CLOCK_MONOTONIC

thread.c fails to build if we do not have CLOCK_MONOTONIC
no need to have pim have any knowledge of it.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
8 years agoMerge pull request #54 from LabNConsulting/working/master/afi-safi-vty/a
Donald Sharp [Sat, 7 Jan 2017 22:14:27 +0000 (17:14 -0500)]
Merge pull request #54 from LabNConsulting/working/master/afi-safi-vty/a

Working/master/afi safi vty/a

8 years agobgpd: fixup safi as afi confusion in show update-groups
Lou Berger [Sat, 7 Jan 2017 18:41:33 +0000 (13:41 -0500)]
bgpd: fixup safi as afi confusion in show update-groups

8 years agobgpd: restore wildcard handling in show summary (Issue#14)
Lou Berger [Fri, 6 Jan 2017 23:25:56 +0000 (18:25 -0500)]
bgpd: restore wildcard handling in show summary (Issue#14)

8 years agobgpd: restore some missing afi/safi commands (Issue #14)
Lou Berger [Fri, 6 Jan 2017 15:50:31 +0000 (10:50 -0500)]
bgpd: restore some missing afi/safi commands (Issue #14)
      Added defines and parse utility functions
      Fix vty code that treated vpn&encap as AFIs
      and some other related vty printing/handline issues

8 years agoMerge pull request #10 from qlyoung/fix-proto_redistnum
Donald Sharp [Sat, 7 Jan 2017 00:46:41 +0000 (19:46 -0500)]
Merge pull request #10 from qlyoung/fix-proto_redistnum

all: use ->text when parsing protocol argument

8 years agoMerge branch 'master' into fix-proto_redistnum
Quentin Young [Sat, 7 Jan 2017 00:44:46 +0000 (19:44 -0500)]
Merge branch 'master' into fix-proto_redistnum

8 years agoMerge pull request #35 from qlyoung/fix-zebra-rf
Donald Sharp [Sat, 7 Jan 2017 00:42:09 +0000 (19:42 -0500)]
Merge pull request #35 from qlyoung/fix-zebra-rf

zebra: check route flags when deciding whether to update existing route

8 years agoMerge pull request #32 from qlyoung/fix-cli-nits2
Donald Sharp [Sat, 7 Jan 2017 00:38:28 +0000 (19:38 -0500)]
Merge pull request #32 from qlyoung/fix-cli-nits2

bgpd, ospfd, zebra: remove duplicate cli installs

8 years agoMerge pull request #30 from qlyoung/fix-cli-nits
Donald Sharp [Sat, 7 Jan 2017 00:37:28 +0000 (19:37 -0500)]
Merge pull request #30 from qlyoung/fix-cli-nits

vtysh: add `logical-router ...` to extract.pl ignore list

8 years agoMerge pull request #27 from qlyoung/fix-derefs2
Donald Sharp [Sat, 7 Jan 2017 00:36:59 +0000 (19:36 -0500)]
Merge pull request #27 from qlyoung/fix-derefs2

bgpd, lib: fix a few scan-build catches

8 years agoMerge pull request #24 from qlyoung/fix-uninitialized-jump
Donald Sharp [Sat, 7 Jan 2017 00:34:09 +0000 (19:34 -0500)]
Merge pull request #24 from qlyoung/fix-uninitialized-jump

lib: Initialize ->allowrepeat

8 years agoMerge pull request #40 from opensourcerouting/ldpd-ordered-output
Donald Sharp [Fri, 6 Jan 2017 19:01:23 +0000 (14:01 -0500)]
Merge pull request #40 from opensourcerouting/ldpd-ordered-output

ldpd ordered output - fixes issue#18

8 years agoMerge pull request #39 from opensourcerouting/renato-assorted-fixes
Donald Sharp [Fri, 6 Jan 2017 19:00:29 +0000 (14:00 -0500)]
Merge pull request #39 from opensourcerouting/renato-assorted-fixes

Renato's assorted patches

8 years agoMerge remote-tracking branch 'origin/stable/2.0'
Donald Sharp [Fri, 6 Jan 2017 17:48:32 +0000 (12:48 -0500)]
Merge remote-tracking branch 'origin/stable/2.0'

8 years agoMerge pull request #50 from mwinter-osr/redhat-pkg-rename
Donald Sharp [Fri, 6 Jan 2017 17:41:43 +0000 (12:41 -0500)]
Merge pull request #50 from mwinter-osr/redhat-pkg-rename

Redhat pkg rename

8 years agoconfigure.ac: rename red hat spec from quagga.spec to frr.spec
Martin Winter [Fri, 6 Jan 2017 17:12:16 +0000 (00:12 +0700)]
configure.ac: rename red hat spec from quagga.spec to frr.spec

Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
8 years agocumulus files: Rename Project from Quagga to FRR
Martin Winter [Fri, 6 Jan 2017 17:10:57 +0000 (00:10 +0700)]
cumulus files: Rename Project from Quagga to FRR

Default files used by redhat package scripts

Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
8 years agoredhat: rename project from Quagga to FRR
Martin Winter [Fri, 6 Jan 2017 16:45:13 +0000 (23:45 +0700)]
redhat: rename project from Quagga to FRR

Rename all instances of Quagga to FRR in red hat package files

Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
8 years agoMerge pull request #49 from pguibert6WIND/frr_6wind_mpbgpgracefulrestart_2
Donald Sharp [Fri, 6 Jan 2017 15:22:11 +0000 (10:22 -0500)]
Merge pull request #49 from pguibert6WIND/frr_6wind_mpbgpgracefulrestart_2

Graceful Restart Route Preservation

8 years agoMerge remote-tracking branch 'origin/stable/2.0'
Donald Sharp [Fri, 6 Jan 2017 14:58:21 +0000 (09:58 -0500)]
Merge remote-tracking branch 'origin/stable/2.0'

8 years agobgpd: configure preserve forwarding state from vty
Julien Courtat [Tue, 17 May 2016 14:26:22 +0000 (16:26 +0200)]
bgpd: configure preserve forwarding state from vty

Preserve forwarding state bit can be set in OPEN message with the use of
new vty commands
bgp graceful-restart preserve-fw-state
no bgp graceful-restart preserve-fw-state

This must be set before activating the connection to a peer, since it is
for forging graceful restart capability of OPEN messages.

Signed-off-by: Julien Courtat <julien.courtat@6wind.com>
8 years agobgpd: enable send of Graceful Restart Preserve State F bit
Julien Courtat [Fri, 20 May 2016 10:10:07 +0000 (12:10 +0200)]
bgpd: enable send of Graceful Restart Preserve State F bit

Enhance struct bgp to add a new flag BGP_FLAG_GR_PRESERVE_FWD, which
allow to set the Preserve State F bit of Graceful Restart capability in
OPEN messages.

Signed-off-by: Julien Courtat <julien.courtat@6wind.com>
8 years agoMerge pull request #41 from donaldsharp/quagga_to_frr
Martin Winter [Fri, 6 Jan 2017 13:07:41 +0000 (20:07 +0700)]
Merge pull request #41 from donaldsharp/quagga_to_frr

Quagga to frr - Rename of Quagga to FRR (FreeRangeRouting)

8 years agoMerge pull request #45 from opensourcerouting/fixes/isis-for-stable
Donald Sharp [Fri, 6 Jan 2017 00:32:30 +0000 (19:32 -0500)]
Merge pull request #45 from opensourcerouting/fixes/isis-for-stable

isisd: don't generate LSPs with LSP-ID zero on is-type change

8 years agoisisd: don't generate LSPs with LSP-ID zero on is-type change
Christian Franke [Thu, 5 Jan 2017 19:22:31 +0000 (20:22 +0100)]
isisd: don't generate LSPs with LSP-ID zero on is-type change

Signed-off-by: Christian Franke <chris@opensourcerouting.org>
8 years agoMerge pull request #43 from pguibert6WIND/frr_6wind_mpbgpgracefulrestart_1
Donald Sharp [Thu, 5 Jan 2017 12:58:32 +0000 (07:58 -0500)]
Merge pull request #43 from pguibert6WIND/frr_6wind_mpbgpgracefulrestart_1

 VPNv4 Enhancement of Graceful Restart

8 years agoRationalize Link Parameters flags
Olivier Dugeon [Tue, 20 Dec 2016 14:02:34 +0000 (15:02 +0100)]
Rationalize Link Parameters flags

 * lib/if.h: Remove LP_TE as Link Parameters is set if different from 0
See IS_LINK_PARAMS_SET macro and use LP_TE_METRIC to determine if TE metric
is set or not
 * lib/if.c: replace LP_TE by LP_TE_METRIC in default LP status
 * zebra/interface.c: replace LP_TE by LP_TE_METRIC and check if TE metric
is equal to standard metric or not
 * ospfd/ospf_te.c: replace LP_TE by LP_TE_METRIC
 * isisd/isis_te.c: replace LP_TE by LP_TE_METRIC

Signed-off-by: Olivier Dugeon <olivier.dugeon@orange.com>
8 years agobgpd: support End-Of-Rib of VPNv4 address family
Julien Courtat [Fri, 17 Jun 2016 13:31:09 +0000 (15:31 +0200)]
bgpd: support End-Of-Rib of VPNv4 address family

After graceful restart procedure, when BGP speaker has finished to send
its VPNv4 routes to the restarting peer, it also sends End-Of-Rib
message for afi=AFI_IPv4 safi=SAFI_MPLS_VPN.

Signed-off-by: Julien Courtat <julien.courtat@6wind.com>
8 years agobgpd: graceful restart for vpnv4 address family
Julien Courtat [Wed, 25 May 2016 15:28:31 +0000 (17:28 +0200)]
bgpd: graceful restart for vpnv4 address family

This patch enable the support of graceful restart for routes sets with
vpnv4 address family format. In this specific case, data model is
slightly different and some additional processing must be done when
accessing bgp tables and nodes.
The clearing stale algorithm takes into account the specificity where
the 2 node level for MPLS has to be reached.

Signed-off-by: Julien Courtat <julien.courtat@6wind.com>
Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
8 years agolib: remove SAFI_RESERVED_3 and move SAFI_MPLS to that value
Philippe Guibert [Wed, 21 Dec 2016 07:21:02 +0000 (08:21 +0100)]
lib: remove SAFI_RESERVED_3 and move SAFI_MPLS to that value

Because SAFI_RESERVED_3 value is no more used, the SAFI_MPLS value is
lowered to that value.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
8 years agolib: add SAFI_RESERVED_4 value
Philippe Guibert [Wed, 21 Dec 2016 07:16:06 +0000 (08:16 +0100)]
lib: add SAFI_RESERVED_4 value

This value is used to limit certain feature to the safi values until
that reserved value.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
8 years agobgpd: set Graceful Restart R bit for vpnv4 address family
Julien Courtat [Fri, 20 May 2016 10:08:28 +0000 (12:08 +0200)]
bgpd: set Graceful Restart R bit for vpnv4 address family

Signed-off-by: Julien Courtat <julien.courtat@6wind.com>
8 years agodebian: Convert Quagga -> Frr
Donald Sharp [Wed, 4 Jan 2017 14:25:20 +0000 (09:25 -0500)]
debian: Convert Quagga -> Frr

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
8 years agolib: Update ZAPI to version 4 and HEADER_MARKER to 254
Donald Sharp [Wed, 4 Jan 2017 13:03:14 +0000 (08:03 -0500)]
lib: Update ZAPI to version 4 and HEADER_MARKER to 254

Update the ZEBRA_HEADER_MARKER to 254.  This will differentiate
ourselves from Quagga.  Zebra should not listen to people not
properly using the right programs now.

Update the ZAPI version number to 4.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
8 years agodoc: Fixup quagga -> frr
Donald Sharp [Wed, 4 Jan 2017 12:53:30 +0000 (07:53 -0500)]
doc: Fixup quagga -> frr

Modify the documentation so that it talks about FRR instead of Quagga.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
8 years agowatchfrr: Rename watchquagga -> watchfrr
Donald Sharp [Wed, 4 Jan 2017 01:13:02 +0000 (20:13 -0500)]
watchfrr: Rename watchquagga -> watchfrr

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
8 years agoldpd: use red-black trees to store 'adj' elements
Renato Westphal [Wed, 14 Dec 2016 19:39:28 +0000 (17:39 -0200)]
ldpd: use red-black trees to store 'adj' elements

Using red-black trees instead of linked lists brings the following
benefits:
1 - Elements are naturally ordered (no need to reorder anything before
    outputting data to the user);
2 - Faster lookups/deletes: O(log n) time complexity against O(n).

The insert operation with red-black trees is more expensive though,
but that's not a big issue since lookups are much more frequent.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
8 years agoldpd: use red-black trees to store 'l2vpn_pw' elements
Renato Westphal [Wed, 14 Dec 2016 15:53:07 +0000 (13:53 -0200)]
ldpd: use red-black trees to store 'l2vpn_pw' elements

Using red-black trees instead of linked lists brings the following
benefits:
1 - Elements are naturally ordered (no need to reorder anything before
    outputting data to the user);
2 - Faster lookups/deletes: O(log n) time complexity against O(n).

The insert operation with red-black trees is more expensive though,
but that's not a big issue since lookups are much more frequent.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
8 years agoldpd: use red-black trees to store 'l2vpn_if' elements
Renato Westphal [Wed, 14 Dec 2016 14:34:57 +0000 (12:34 -0200)]
ldpd: use red-black trees to store 'l2vpn_if' elements

Using red-black trees instead of linked lists brings the following
benefits:
1 - Elements are naturally ordered (no need to reorder anything before
    outputting data to the user);
2 - Faster lookups/deletes: O(log n) time complexity against O(n).

The insert operation with red-black trees is more expensive though,
but that's not a big issue since lookups are much more frequent.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
8 years agoldpd: use red-black trees to store 'l2vpn' elements
Renato Westphal [Wed, 14 Dec 2016 12:42:45 +0000 (10:42 -0200)]
ldpd: use red-black trees to store 'l2vpn' elements

Using red-black trees instead of linked lists brings the following
benefits:
1 - Elements are naturally ordered (no need to reorder anything before
    outputting data to the user);
2 - Faster lookups/deletes: O(log n) time complexity against O(n).

The insert operation with red-black trees is more expensive though,
but that's not a big issue since lookups are much more frequent.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
8 years agoldpd: use red-black trees to store 'nbr_params' elements
Renato Westphal [Wed, 14 Dec 2016 11:14:52 +0000 (09:14 -0200)]
ldpd: use red-black trees to store 'nbr_params' elements

Using red-black trees instead of linked lists brings the following
benefits:
1 - Elements are naturally ordered (no need to reorder anything before
    outputting data to the user);
2 - Faster lookups/deletes: O(log n) time complexity against O(n).

The insert operation with red-black trees is more expensive though,
but that's not a big issue since lookups are much more frequent.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
8 years agoldpd: use red-black trees to store 'tnbr' elements
Renato Westphal [Tue, 13 Dec 2016 18:19:15 +0000 (16:19 -0200)]
ldpd: use red-black trees to store 'tnbr' elements

Using red-black trees instead of linked lists brings the following
benefits:
1 - Elements are naturally ordered (no need to reorder anything before
    outputting data to the user);
2 - Faster lookups/deletes: O(log n) time complexity against O(n).

The insert operation with red-black trees is more expensive though,
but that's not a big issue since lookups are much more frequent.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
8 years agoldpd: use red-black trees to store 'iface' elements
Renato Westphal [Tue, 13 Dec 2016 17:29:35 +0000 (15:29 -0200)]
ldpd: use red-black trees to store 'iface' elements

Using red-black trees instead of linked lists brings the following
benefits:
1 - Elements are naturally ordered (no need to reorder anything before
    outputting data to the user);
2 - Faster lookups/deletes: O(log n) time complexity against O(n).

The insert operation with red-black trees is more expensive though,
but that's not a big issue since lookups are much more frequent.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
8 years agoldpd: use red-black trees to store 'lde_map' elements
Renato Westphal [Sat, 3 Dec 2016 23:14:44 +0000 (21:14 -0200)]
ldpd: use red-black trees to store 'lde_map' elements

Using red-black trees instead of linked lists brings the following
benefits:
1 - Elements are naturally ordered (no need to reorder anything before
    outputting data to the user);
2 - Faster lookups/deletes: O(log n) time complexity against O(n).

The insert operation with red-black trees is more expensive though,
but that's not a big issue since lookups are much more frequent.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
8 years agobuild/ldpd: auto-generate ldp_vty_cmds.c from ldp_vty.xml
Renato Westphal [Tue, 20 Dec 2016 01:29:49 +0000 (23:29 -0200)]
build/ldpd: auto-generate ldp_vty_cmds.c from ldp_vty.xml

Having ldp_vty_cmds.c around as part of the git repository was being
a major source of confusion. Since this file is auto-generated from
ldp_vty.xml, remove it from this git repository and make it be generated
on demand by adding a make target for it.

This patch adds another dependency to build Quagga, namely the LibXML
Perl module, which can be installed with this command:
$ sudo cpan XML::LibXML

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
8 years agotools: teach xml2cli.pl the "[]" notation for optional arguments
Renato Westphal [Mon, 19 Dec 2016 20:30:59 +0000 (18:30 -0200)]
tools: teach xml2cli.pl the "[]" notation for optional arguments

Requested by Daniel Walton.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
8 years agoospf6d: fix broken indentation in "show ipv6 ospf6 neighbor"
Renato Westphal [Mon, 19 Dec 2016 16:43:25 +0000 (14:43 -0200)]
ospf6d: fix broken indentation in "show ipv6 ospf6 neighbor"

In the State/IfState column, we were reserving only 6 characters to
print the state of each neighbor, but this is not enough for cases like
"Loading" (7 characters) and "ExChange" (8 characters). Increase the
width of this field to 8 to fix the broken indendation.

ospf6d's output before this patch:
ubuntu# show ipv6 ospf6 neighbor
Neighbor ID     Pri    DeadTime  State/IfState         Duration I/F[State]
2.2.2.2           1    00:00:35 ExChange/DR              00:01:15 rt1-eth0[BDR]
3.3.3.3           1    00:00:35 Loading/DR              00:01:15 rt1-eth1[BDR]
4.4.4.4           1    00:00:35   Full/DR              00:01:15 rt1-eth2[BDR]
5.5.5.5           1    00:00:35   None/DR              00:01:10 rt1-eth3[BDR]
6.6.6.6           1    00:00:35   Down/DR              00:01:15 rt1-eth4[BDR]
7.7.7.7           1    00:00:35 Attempt/DR              00:01:15 rt1-eth5[BDR]
8.8.8.8           1    00:00:35   Init/DR              00:01:10 rt1-eth6[BDR]
9.9.9.9           1    00:00:35 Twoway/DR              00:01:14 rt1-eth7[BDR]
10.10.10.10       1    00:00:35 ExStart/DR              00:01:10 rt1-eth8[BDR]

ospf6d's output with this patch:
ubuntu# show ipv6 ospf6 neighbor
Neighbor ID     Pri    DeadTime    State/IfState         Duration I/F[State]
2.2.2.2           1    00:00:36 ExChange/DR              00:00:44 rt1-eth0[BDR]
3.3.3.3           1    00:00:36  Loading/DR              00:00:39 rt1-eth1[BDR]
4.4.4.4           1    00:00:35     Full/DR              00:00:39 rt1-eth2[BDR]
5.5.5.5           1    00:00:36     None/DR              00:00:44 rt1-eth3[BDR]
6.6.6.6           1    00:00:36     Down/DR              00:00:39 rt1-eth4[BDR]
7.7.7.7           1    00:00:36  Attempt/DR              00:00:39 rt1-eth5[BDR]
8.8.8.8           1    00:00:36     Init/DR              00:00:39 rt1-eth6[BDR]
9.9.9.9           1    00:00:35   Twoway/DR              00:00:40 rt1-eth7[BDR]
10.10.10.10       1    00:00:36  ExStart/DR              00:00:39 rt1-eth8[BDR]

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
8 years agoldpd: add missing privilege dropping on error path
Renato Westphal [Mon, 19 Dec 2016 16:07:28 +0000 (14:07 -0200)]
ldpd: add missing privilege dropping on error path

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
8 years agoMerge pull request #37 from LabNConsulting/working/2.0/patch-set-170102a
David Lamparter [Tue, 3 Jan 2017 15:44:44 +0000 (16:44 +0100)]
Merge pull request #37 from LabNConsulting/working/2.0/patch-set-170102a

Working/2.0/patch set 170102a

8 years agoMerge pull request #28 from opensourcerouting/dev/osr/rename-part1
Donald Sharp [Tue, 3 Jan 2017 15:44:11 +0000 (10:44 -0500)]
Merge pull request #28 from opensourcerouting/dev/osr/rename-part1

rename, part1

8 years agolib: Partial Revert of 4ecc09d and modify zclient connect behavior
Donald Sharp [Mon, 12 Dec 2016 12:59:16 +0000 (07:59 -0500)]
lib: Partial Revert of 4ecc09d and modify zclient connect behavior

Commit 43cc09d has been shown to cause several issues with clients
connecting.

Partial revert, since I wanted to keep the debug logs added
for that commit, as well remove the piece of code that
stops attempting to connect to zebra.  If we've failed
a bunch of times, there is nothing wrong with continuing
to do so once every 60 seconds.  I've debug guarded
the connect failure for those people running bgp
without zebra.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
8 years agobgpd: fix ecommunity hash related leak
Lou Berger [Fri, 30 Dec 2016 21:48:29 +0000 (16:48 -0500)]
bgpd: fix ecommunity hash related leak

Signed-off-by: Lou Berger <lberger@labn.net>
8 years agobgp: Use intern/unintern for encap to fix valgrind identified memory leak
Lou Berger [Sat, 17 Dec 2016 22:58:33 +0000 (17:58 -0500)]
bgp: Use intern/unintern for encap to fix valgrind identified memory leak

Signed-off-by: Lou Berger <lberger@labn.net>
8 years agorfapi: pickup recent changes
Lou Berger [Fri, 4 Nov 2016 13:30:07 +0000 (09:30 -0400)]
rfapi: pickup recent changes
       expose bgp_rfapi_get_group_by_lni_label for use by rfp
       add EVPN Ethernet Tag (VID) RT
       ensure as is init'ed
       fix spelling of information

Signed-off-by: Lou Berger <lberger@labn.net>
8 years agobgp: first pass at restoring missing vpn&encap show commands (issue#14)
Lou Berger [Sun, 18 Dec 2016 18:45:20 +0000 (13:45 -0500)]
bgp: first pass at restoring missing vpn&encap show commands (issue#14)

Signed-off-by: Lou Berger <lberger@labn.net>
8 years agoBGP: deal with vnc related string ambiguities (issue #9)
G. Paul Ziemba [Fri, 4 Nov 2016 16:47:36 +0000 (09:47 -0700)]
BGP: deal with vnc related string ambiguities (issue #9)
    - "redist foo" parsing modified to check for foo==vnc and foo==vnc-direct
      instead of just leading 'v' character
    - string designating ZEBRA_ROUTE_VNC_DIRECT changed from "vpn" to "vnc-direct"
    - route_types.pl parser recognizes 7th field to restrict availability
      of a route type in the redist command to specific daemons
    - restrict "vnc-direct" to bgpd only (doesn't make sense elsewhere)
    - vnc documentation updated to match

Signed-off-by: Lou Berger <lberger@labn.net>
8 years agolib/command.c: fix leak id'ed by valgrind
Lou Berger [Sat, 17 Dec 2016 18:26:03 +0000 (13:26 -0500)]
lib/command.c: fix leak id'ed by valgrind

Signed-off-by: Lou Berger <lberger@labn.net>
8 years agobgpd: fix unitialized value check id'ed by valgrind
Lou Berger [Sat, 17 Dec 2016 18:20:59 +0000 (13:20 -0500)]
bgpd: fix unitialized value check id'ed by valgrind

Signed-off-by: Lou Berger <lberger@labn.net>
8 years agoprefix.c: replace free with XFREE for memory allocated with XMALLOC
Lou Berger [Mon, 7 Nov 2016 12:33:15 +0000 (07:33 -0500)]
prefix.c: replace free with XFREE for memory allocated with XMALLOC

Signed-off-by: Lou Berger <lberger@labn.net>
8 years agozebra: check route flags when deciding whether to update existing route
Quentin Young [Thu, 29 Dec 2016 07:01:05 +0000 (07:01 +0000)]
zebra: check route flags when deciding whether to update existing route

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
8 years agobgpd, ospfd, zebra: remove duplicate cli installs
Quentin Young [Thu, 29 Dec 2016 05:44:49 +0000 (05:44 +0000)]
bgpd, ospfd, zebra: remove duplicate cli installs

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
8 years agoMerge pull request #31 from opensourcerouting/freebsd-route-update-fix-for-2.0
David Lamparter [Wed, 28 Dec 2016 14:49:24 +0000 (15:49 +0100)]
Merge pull request #31 from opensourcerouting/freebsd-route-update-fix-for-2.0

Fixes #20

8 years agozebra: remove unused variable
Renato Westphal [Fri, 16 Dec 2016 14:51:07 +0000 (12:51 -0200)]
zebra: remove unused variable

It looks like 'nexthop_fib_num' has been lingering around since 2003
without any use. Remove it.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
8 years agodoc: add the ldpd vty port to the SERVICES file
Renato Westphal [Thu, 15 Dec 2016 18:24:54 +0000 (16:24 -0200)]
doc: add the ldpd vty port to the SERVICES file

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
8 years agozebra: fix FIB route updates on *BSD
Renato Westphal [Fri, 16 Dec 2016 12:48:37 +0000 (10:48 -0200)]
zebra: fix FIB route updates on *BSD

On *BSD, we update a route in the FIB by removing the old one and then
installing the new version.

With that said, on kernel_route_rib() we need to provide a pointer to
both the old version and the new version of the route.

We were, however, passing a pointer to the new version to both the
'old' and 'new' parameters. This is not a problem on Linux, which uses
NLM_F_REPLACE to update routes, but it breaks route updates on *BSD
because the 'old' parameter points to a route that is not installed in
the kernel. The kernel_route_rib() function then fails to uninstall the
supposedly 'old' route and can fail to install the new version as well if
the kernel doesn't support ECMP (e.g. FreeBSD with default configuration).

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
8 years agovtysh: add `logical-router ...` to extract.pl ignore list
Quentin Young [Fri, 23 Dec 2016 01:58:29 +0000 (01:58 +0000)]
vtysh: add `logical-router ...` to extract.pl ignore list

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
8 years agoldpd: allow multiple link adjacencies with unnumbered interfaces
Renato Westphal [Wed, 14 Dec 2016 21:20:10 +0000 (19:20 -0200)]
ldpd: allow multiple link adjacencies with unnumbered interfaces

Now we can have two different adjacencies coming from the same source
address. Check for the adjacency's interface on adj_find() to disambiguate
them.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
8 years agoldpd: fix segfault when configuring multiple pseudowires
Renato Westphal [Wed, 14 Dec 2016 00:51:41 +0000 (22:51 -0200)]
ldpd: fix segfault when configuring multiple pseudowires

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
8 years agobuild: rename (2 of ?): route_types macros
David Lamparter [Tue, 20 Dec 2016 17:31:42 +0000 (18:31 +0100)]
build: rename (2 of ?): route_types macros

All of the autogenerated macros in lib/route_types.pl are now called
FRR_* instead of QUAGGA_*.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
8 years agobuild: replace some hardcoding with ./configure
David Lamparter [Tue, 20 Dec 2016 17:10:30 +0000 (18:10 +0100)]
build: replace some hardcoding with ./configure

Several places have paths and names that can change hardcoded, e.g. the
package name and the /var/run path.  This fixes a few of them, there's
still some to do.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
8 years agobuild: remove INSTALL.quagga.txt
David Lamparter [Tue, 20 Dec 2016 16:59:13 +0000 (17:59 +0100)]
build: remove INSTALL.quagga.txt

It's horribly outdated & wrong info is worse than none.
doc/install.texi should probably be updated instead.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
8 years agobuild: more renaming in configure.ac
David Lamparter [Wed, 14 Dec 2016 19:22:59 +0000 (20:22 +0100)]
build: more renaming in configure.ac

8 years agobuild: rename (1 of ?): configure.ac + preproc
David Lamparter [Wed, 14 Dec 2016 18:30:44 +0000 (19:30 +0100)]
build: rename (1 of ?): configure.ac + preproc

This replaces Quagga -> FRR in most configure.ac settings as well as
a handful of preprocessor macros in the source code.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
8 years agodoc: use config values from configure in manpages
David Lamparter [Wed, 14 Dec 2016 19:22:25 +0000 (20:22 +0100)]
doc: use config values from configure in manpages

This makes the actual change to the manpages to get ./configure effects
applied into them.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
8 years agodoc: rename manpages to ".in" for autoconf
David Lamparter [Wed, 14 Dec 2016 19:24:34 +0000 (20:24 +0100)]
doc: rename manpages to ".in" for autoconf

The manpages contain references to installation paths and thus should be
preprocessed by ./configure to get the actual paths.

This commit is an exact-rename so the changes for the preprocessing are
easier to review (diffs in renames are hard to read...)

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
8 years agobuild: remove $Format tags
David Lamparter [Wed, 14 Dec 2016 18:14:04 +0000 (19:14 +0100)]
build: remove $Format tags

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
8 years agoMerge pull request #8 from donaldsharp/summary
David Lamparter [Tue, 20 Dec 2016 14:31:56 +0000 (15:31 +0100)]
Merge pull request #8 from donaldsharp/summary

bgpd: Fix 'show ip bgp summary' variable output being wrong

8 years agoMerge pull request #7 from donaldsharp/community
David Lamparter [Tue, 20 Dec 2016 14:29:43 +0000 (15:29 +0100)]
Merge pull request #7 from donaldsharp/community

frr: Modify doc to talk about cli

8 years agolib: add grammar_sandbox to .gitignore
Quentin Young [Tue, 20 Dec 2016 06:39:37 +0000 (06:39 +0000)]
lib: add grammar_sandbox to .gitignore

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
8 years agobgpd, lib: fix a few scan-build catches
Quentin Young [Tue, 20 Dec 2016 03:12:32 +0000 (03:12 +0000)]
bgpd, lib: fix a few scan-build catches

Fixes a couple null pointer derefs and uninit'd values.

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
8 years agoMerge pull request #22 from qlyoung/fix-do-tab
Quentin Young [Mon, 19 Dec 2016 22:35:03 +0000 (17:35 -0500)]
Merge pull request #22 from qlyoung/fix-do-tab

lib: fix crash when tab-completing `do ...` commands

8 years agolib: Initialize ->allowrepeat
Quentin Young [Sun, 18 Dec 2016 05:39:21 +0000 (05:39 +0000)]
lib: Initialize ->allowrepeat

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
8 years agolib: fix crash when tab-completing `do ...` commands
Quentin Young [Sun, 18 Dec 2016 05:14:55 +0000 (05:14 +0000)]
lib: fix crash when tab-completing `do ...` commands

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
8 years agoMerge pull request #6 from opensourcerouting/dev/osr/vty_pending
Donald Sharp [Fri, 16 Dec 2016 20:52:47 +0000 (15:52 -0500)]
Merge pull request #6 from opensourcerouting/dev/osr/vty_pending

parser: accept non-words as first tokens & numbers as word tokens

8 years agobgpd: Fix 'show ip bgp summary' variable output being wrong
Donald Sharp [Fri, 16 Dec 2016 02:28:51 +0000 (21:28 -0500)]
bgpd: Fix 'show ip bgp summary' variable output being wrong

The first time through calling 'show ip bgp summary'
we were always calculating the variable hostname field
size incorrectly.

Ticket: CM-13900
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
8 years agofrr: Modify doc to talk about cli
Donald Sharp [Fri, 16 Dec 2016 20:35:14 +0000 (15:35 -0500)]
frr: Modify doc to talk about cli

Add some verbiage to the COMMUNITY.md to talk
about the philosophy of what cli should do.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
8 years agoMerge pull request #5 from freerangerouting/dev/osr/fixes_plus_vty_keywords
Donald Sharp [Fri, 16 Dec 2016 20:12:34 +0000 (15:12 -0500)]
Merge pull request #5 from freerangerouting/dev/osr/fixes_plus_vty_keywords

Merge branch 'dev/osr/fixes_plus_vty_keywords'

8 years agolib: parser: remove startnode & sentence_root
David Lamparter [Wed, 23 Nov 2016 18:20:15 +0000 (19:20 +0100)]
lib: parser: remove startnode & sentence_root

This removes an artificial restriction for the first token in a
command's graph to be a WORD_TKN.  The intention seems to be to prohibit
empty paths through a command, and to restrict "explosion" of choices in
the root node.

The better approach to the former is to check for an empty path after
the definition is parsed.  The latter will happen anyway, by duplication
of the command, which just makes it worse...

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>