Commit Graph

5408 Commits

Author SHA1 Message Date
Donald Sharp
46c323a66b Merge pull request #27 from qlyoung/fix-derefs2
bgpd, lib: fix a few scan-build catches
2017-01-06 19:36:59 -05:00
Donald Sharp
15667da96d Merge pull request #24 from qlyoung/fix-uninitialized-jump
lib: Initialize ->allowrepeat
2017-01-06 19:34:09 -05:00
Donald Sharp
b89e46b2e2 Merge remote-tracking branch 'origin/stable/2.0' 2017-01-06 12:48:32 -05:00
Donald Sharp
799522a7a4 Merge pull request #50 from mwinter-osr/redhat-pkg-rename
Redhat pkg rename
2017-01-06 12:41:43 -05:00
Martin Winter
8b0cdbb8aa configure.ac: rename red hat spec from quagga.spec to frr.spec
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2017-01-07 00:12:16 +07:00
Martin Winter
c97ef38223 cumulus files: Rename Project from Quagga to FRR
Default files used by redhat package scripts

Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2017-01-07 00:10:57 +07:00
Martin Winter
c115e4a4b4 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>
2017-01-06 23:45:13 +07:00
Donald Sharp
2ad8ae5ca6 Merge pull request #49 from pguibert6WIND/frr_6wind_mpbgpgracefulrestart_2
Graceful Restart Route Preservation
2017-01-06 10:22:11 -05:00
Donald Sharp
3b14d86eed Merge remote-tracking branch 'origin/stable/2.0' 2017-01-06 09:58:21 -05:00
Julien Courtat
43fc21b363 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>
2017-01-06 15:08:48 +01:00
Julien Courtat
6a9a3cde58 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>
2017-01-06 15:08:45 +01:00
Martin Winter
7d53a49360 Merge pull request #41 from donaldsharp/quagga_to_frr
Quagga to frr - Rename of Quagga to FRR (FreeRangeRouting)
2017-01-06 20:07:41 +07:00
Donald Sharp
07da327054 Merge pull request #45 from opensourcerouting/fixes/isis-for-stable
isisd: don't generate LSPs with LSP-ID zero on is-type change
2017-01-05 19:32:30 -05:00
Christian Franke
4fedc05c88 isisd: don't generate LSPs with LSP-ID zero on is-type change
Signed-off-by: Christian Franke <chris@opensourcerouting.org>
2017-01-05 20:22:31 +01:00
Donald Sharp
0b0038b8bc Merge pull request #43 from pguibert6WIND/frr_6wind_mpbgpgracefulrestart_1
VPNv4 Enhancement of Graceful Restart
2017-01-05 07:58:32 -05:00
Olivier Dugeon
daf0a4d29c 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>
2017-01-05 08:19:11 +01:00
Julien Courtat
440129913d 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>
2017-01-04 18:02:57 +01:00
Julien Courtat
4d5b4f7bd9 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>
2017-01-04 18:02:04 +01:00
Philippe Guibert
db19215a73 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>
2017-01-04 17:58:53 +01:00
Philippe Guibert
268fef65f9 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>
2017-01-04 17:58:44 +01:00
Julien Courtat
e60eb8c4ed bgpd: set Graceful Restart R bit for vpnv4 address family
Signed-off-by: Julien Courtat <julien.courtat@6wind.com>
2017-01-04 17:57:31 +01:00
Donald Sharp
d8e4c43827 debian: Convert Quagga -> Frr
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-01-04 09:25:20 -05:00
Donald Sharp
80e71dcd1f 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>
2017-01-04 08:05:39 -05:00
Donald Sharp
438f5286d4 doc: Fixup quagga -> frr
Modify the documentation so that it talks about FRR instead of Quagga.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-01-04 07:53:30 -05:00
Donald Sharp
9473e34052 watchfrr: Rename watchquagga -> watchfrr
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-01-03 20:13:02 -05:00
David Lamparter
9b532e09f9 Merge pull request #37 from LabNConsulting/working/2.0/patch-set-170102a
Working/2.0/patch set 170102a
2017-01-03 16:44:44 +01:00
Donald Sharp
9f221bd1a8 Merge pull request #28 from opensourcerouting/dev/osr/rename-part1
rename, part1
2017-01-03 10:44:11 -05:00
Donald Sharp
ff9eb96a93 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>
2017-01-02 15:13:32 -05:00
Lou Berger
7bae2fb913 bgpd: fix ecommunity hash related leak
Signed-off-by: Lou Berger <lberger@labn.net>
2017-01-02 15:06:46 -05:00
Lou Berger
bede774450 bgp: Use intern/unintern for encap to fix valgrind identified memory leak
Signed-off-by: Lou Berger <lberger@labn.net>
2017-01-02 15:05:49 -05:00
Lou Berger
7979998755 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>
2017-01-02 15:04:47 -05:00
Lou Berger
ccbb332a37 bgp: first pass at restoring missing vpn&encap show commands (issue#14)
Signed-off-by: Lou Berger <lberger@labn.net>
2017-01-02 15:04:47 -05:00
G. Paul Ziemba
5ee62c66a9 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>
2017-01-02 15:04:47 -05:00
Lou Berger
271a0c2548 lib/command.c: fix leak id'ed by valgrind
Signed-off-by: Lou Berger <lberger@labn.net>
2017-01-02 15:04:47 -05:00
Lou Berger
53a7a06519 bgpd: fix unitialized value check id'ed by valgrind
Signed-off-by: Lou Berger <lberger@labn.net>
2017-01-02 15:04:47 -05:00
Lou Berger
21ab852483 prefix.c: replace free with XFREE for memory allocated with XMALLOC
Signed-off-by: Lou Berger <lberger@labn.net>
2017-01-02 15:04:47 -05:00
David Lamparter
524f2ba326 Merge pull request #31 from opensourcerouting/freebsd-route-update-fix-for-2.0
Fixes #20
2016-12-28 15:49:24 +01:00
Renato Westphal
e3edd1d1d4 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>
2016-12-23 13:27:55 +07:00
Renato Westphal
cc1e9ed2ab doc: add the ldpd vty port to the SERVICES file
Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2016-12-23 13:27:40 +07:00
Renato Westphal
949ae9ba15 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>
2016-12-23 13:27:03 +07:00
David Lamparter
ab0181eed3 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>
2016-12-20 18:34:29 +01:00
David Lamparter
ae435b1972 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>
2016-12-20 18:18:44 +01:00
David Lamparter
3bd82ffb70 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>
2016-12-20 18:00:22 +01:00
David Lamparter
8e4da10b0a build: more renaming in configure.ac 2016-12-20 17:58:25 +01:00
David Lamparter
b2f361571b 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>
2016-12-20 17:57:47 +01:00
David Lamparter
a07169b1f6 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>
2016-12-20 17:56:25 +01:00
David Lamparter
461c7bee69 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>
2016-12-20 17:54:22 +01:00
David Lamparter
8ef0791cb6 build: remove $Format tags
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2016-12-20 17:54:03 +01:00
David Lamparter
2504fdc95d Merge pull request #8 from donaldsharp/summary
bgpd: Fix 'show ip bgp summary' variable output being wrong
2016-12-20 15:31:56 +01:00
David Lamparter
e179b7bfa7 Merge pull request #7 from donaldsharp/community
frr: Modify doc to talk about cli
2016-12-20 15:29:43 +01:00