]> git.proxmox.com Git - mirror_frr.git/log
mirror_frr.git
6 years agoMerge pull request #1387 from donaldsharp/save_zserv_incoming
Renato Westphal [Tue, 21 Nov 2017 11:06:06 +0000 (09:06 -0200)]
Merge pull request #1387 from donaldsharp/save_zserv_incoming

configure, zebra: Add some debug code to allow for fuzzing

6 years agoMerge pull request #1375 from donaldsharp/make_dist
Martin Winter [Tue, 21 Nov 2017 02:14:14 +0000 (18:14 -0800)]
Merge pull request #1375 from donaldsharp/make_dist

ldpd, zebra: Allow clippy files to be included in dist

6 years agoMerge pull request #1466 from opensourcerouting/debpkg-master
Donald Sharp [Sat, 18 Nov 2017 18:49:45 +0000 (13:49 -0500)]
Merge pull request #1466 from opensourcerouting/debpkg-master

Debian Package to Backport Change

6 years agodebianpkg: Update lintian-overrides
Martin Winter [Fri, 27 Oct 2017 08:11:28 +0000 (01:11 -0700)]
debianpkg: Update lintian-overrides

Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
6 years agodebpkg: Files from cumulus dir are moved to tools
Martin Winter [Fri, 27 Oct 2017 02:21:45 +0000 (19:21 -0700)]
debpkg: Files from cumulus dir are moved to tools

Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
6 years agoMakefile.am: Fix Merge error - missing char
Martin Winter [Thu, 19 Oct 2017 02:01:17 +0000 (19:01 -0700)]
Makefile.am: Fix Merge error - missing char

Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
6 years agodoc: Adding Doc for building on Debian 9
Martin Winter [Wed, 18 Oct 2017 22:15:55 +0000 (15:15 -0700)]
doc: Adding Doc for building on Debian 9

Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
6 years agodebianpkg: Add debian9 backport to distribution tar
Martin Winter [Mon, 16 Oct 2017 11:01:48 +0000 (04:01 -0700)]
debianpkg: Add debian9 backport to distribution tar

Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
6 years agodebianpkg: Add Debian 9 Package support
Martin Winter [Mon, 16 Oct 2017 10:31:47 +0000 (03:31 -0700)]
debianpkg: Add Debian 9 Package support

Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
Conflicts:
debianpkg/changelog.in

6 years agodebianpkg: Fix non-empty-dependency_libs-in-la-file for frr modules
Martin Winter [Tue, 10 Oct 2017 06:14:27 +0000 (23:14 -0700)]
debianpkg: Fix non-empty-dependency_libs-in-la-file for frr modules

Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
6 years agodebian-pkg: Remove hardening-wrapper and replace with dpkg-buildflags
Martin Winter [Tue, 10 Oct 2017 01:17:09 +0000 (18:17 -0700)]
debian-pkg: Remove hardening-wrapper and replace with dpkg-buildflags

* hardening-wrapper is obsolete
* Fixes Issue #967

Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
6 years agodebianpkg: Always build FPM module
Martin Winter [Mon, 9 Oct 2017 09:33:11 +0000 (02:33 -0700)]
debianpkg: Always build FPM module

- FPM is a module since 3.0. Always build it and allow user choice to enable or disable it

Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
6 years agodebianpkg: Remove -werror from Ubuntu 14.04 and 12.04 build to skip warnings from...
Martin Winter [Fri, 29 Sep 2017 02:59:35 +0000 (19:59 -0700)]
debianpkg: Remove -werror from Ubuntu 14.04 and 12.04 build to skip warnings from flex generated code

- Flex is too old on these releases and misses some prototypes in the generated code. Removing the
werror allows to build the package anyway

Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
6 years agodebianpkg: Add missing XSBC-Original-Maintainer field (fixes merge error)
Martin Winter [Fri, 29 Sep 2017 01:09:44 +0000 (18:09 -0700)]
debianpkg: Add missing XSBC-Original-Maintainer field (fixes merge error)

Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
6 years agodebianpkg: Fix some old references to freerangerouting instead of frrouting
Martin Winter [Fri, 29 Sep 2017 00:08:31 +0000 (17:08 -0700)]
debianpkg: Fix some old references to freerangerouting instead of frrouting

6 years agofrr.lintian-overrides: update for current list of built libs
smccroskey [Tue, 8 Aug 2017 21:51:38 +0000 (14:51 -0700)]
frr.lintian-overrides: update for current list of built libs

Because the lintian warning no longer matched exactly due to removal
of unused protobuf libraries from the build, the warning wasn't
masked.  Update it to match the current warning string.

Signed-off-by: Silas McCroskey <smccroskey@cumulusnetworks.com>
6 years agoubuntu trusty/precise: remove leftover debconf call
smccroskey [Tue, 8 Aug 2017 19:22:29 +0000 (12:22 -0700)]
ubuntu trusty/precise: remove leftover debconf call

Forgot to unstash this when attempting to rebase it into
1e6df754913b4218ec809742fe0fff4eb8461035.

Signed-off-by: Silas McCroskey <smccroskey@cumulusnetworks.com>
6 years agodebianpkg/Makefile.am: remove frr.config
smccroskey [Tue, 8 Aug 2017 18:36:10 +0000 (11:36 -0700)]
debianpkg/Makefile.am: remove frr.config

File was removed by 1e6df754913b4218ec809742fe0fff4eb8461035
but missed removing it from the Makefile.am.

Signed-off-by: Silas McCroskey <smccroskey@cumulusnetworks.com>
6 years agodebianpkg/Makefile.am: remove po/ directory
smccroskey [Tue, 8 Aug 2017 18:24:05 +0000 (11:24 -0700)]
debianpkg/Makefile.am: remove po/ directory

Directory was removed by 1e6df754913b4218ec809742fe0fff4eb8461035 but
missed removing it from the Makefile.am.

Signed-off-by: Silas McCroskey <smccroskey@cumulusnetworks.com>
6 years agofrr.service: remove explicit dependency on socket-based syslog.target
smccroskey [Sat, 29 Jul 2017 00:29:36 +0000 (17:29 -0700)]
frr.service: remove explicit dependency on socket-based syslog.target

Testing done: built and installed for all ubuntu targets

Socket-based services such as syslog need not be specified as
dependencies in service files, and doing so may slow down boot by
reducing parallelism.  All known supported systemd-based platforms
have syslog as a socket-based service.

Clears the following lintian warnings:
W: frr: systemd-service-file-refers-to-obsolete-target lib/systemd/system/frr.service syslog.target

Signed-off-by: Silas McCroskey <smccroskey@cumulusnetworks.com>
6 years agoubuntu12.04: shorten frr-dbg description
smccroskey [Sat, 29 Jul 2017 00:22:20 +0000 (17:22 -0700)]
ubuntu12.04: shorten frr-dbg description

Testing done: built and installed on all ubuntu

Fix was applied elsewhere but didn't make it into this file.

Clears the following lintian warning:
W: frr-dbg: description too long

Signed-off-by: Silas McCroskey <smccroskey@cumulusnetworks.com>
6 years agodeb-based-distros: clean up leftover debconf references
smccroskey [Thu, 27 Jul 2017 01:45:52 +0000 (18:45 -0700)]
deb-based-distros: clean up leftover debconf references

Testing done: built and installed on all ubuntu

Debconf was in use by this packaging a long time ago, and references to it
were never fully cleaned up when the one question it asked was deleted.

Clears the following lintian warning:
W: frr: no-debconf-templates

Signed-off-by: Silas McCroskey <smccroskey@cumulusnetworks.com>
6 years agobackports: don't install frr-reload.py in frr package
smccroskey [Thu, 20 Jul 2017 18:58:43 +0000 (11:58 -0700)]
backports: don't install frr-reload.py in frr package

Testing done: built in sbuild with lintian enabled
              verified frr-reload.py still in frr-pythontools

Clean up issues missed when moving the script into a separate package.

Clears the following lintian warning:
E: frr: python-script-but-no-python-dep usr/lib/frr/frr-reload.py

Signed-off-by: Silas McCroskey <smccroskey@cumulusnetworks.com>
6 years agodebian: install PNG files in /usr/share/info
smccroskey [Mon, 29 May 2017 22:34:02 +0000 (15:34 -0700)]
debian: install PNG files in /usr/share/info

Testing done: built in sbuild with lintian enabled

Clears lintian warnings of the following form:
W: frr-doc: info-document-missing-image-file

According to the documentation for the lintian warning, certain
applications (e.g.  emacs) can render images from info files inline,
and expect the images to either have their full path defined or be
installed in the same directory as the info files themselves.
Automake doesn't seem to have a primary for handling this sort of
installation (info_DATA is invalid and causes an error), so opted to
handle it in the debian install file itself.

Installing the images elsewhere (another path installed by frr-doc)
and giving a full path to their location in info files might be a
better approach.

Signed-off-by: Silas McCroskey <smccroskey@cumulusnetworks.com>
6 years agodebianpkg: Overriding lintian package-name-doesnt-match-sonames warning
Martin Winter [Sat, 8 Jul 2017 01:37:58 +0000 (18:37 -0700)]
debianpkg: Overriding lintian package-name-doesnt-match-sonames warning

Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
6 years agodebianpkg: Fix 'make backports' warning about autopkgtest
Silas McCroskey [Fri, 7 Jul 2017 22:16:20 +0000 (15:16 -0700)]
debianpkg: Fix 'make backports' warning about autopkgtest

Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
6 years agodebianpkg: Move frr-reload.py to frr-pythontools subpackage
Martin Winter [Fri, 16 Jun 2017 22:49:27 +0000 (15:49 -0700)]
debianpkg: Move frr-reload.py to frr-pythontools subpackage

- avoids python dependency on main frr package

Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
6 years agodebianpkg: Register/remove init script on init.d based systems
Martin Winter [Fri, 16 Jun 2017 00:30:08 +0000 (17:30 -0700)]
debianpkg: Register/remove init script on init.d based systems

- Ubuntu 12.04 and Ubuntu 14.04 need init script registered during
  install and removed at uninstall

Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
6 years agodebianpkg: Fix description (make shorter - max 80 chars)
Martin Winter [Thu, 15 Jun 2017 21:23:09 +0000 (14:23 -0700)]
debianpkg: Fix description (make shorter - max 80 chars)

- Fixes lintian error 'description-too-long'

Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
6 years agodebianpkg: Support --with-pkg-extra-version and other modifier to build custom packag...
Martin Winter [Wed, 14 Jun 2017 01:06:14 +0000 (18:06 -0700)]
debianpkg: Support --with-pkg-extra-version and other modifier to build custom package version

Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
6 years agodebianpkg: Cleanup configure options
Martin Winter [Tue, 13 Jun 2017 02:32:02 +0000 (19:32 -0700)]
debianpkg: Cleanup configure options

- Make them configurable (with WANT_xxx env variables)
- Adjust defaults to generic package
- remove obsolete configure options

Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
6 years agodebianpkg: Do not start package after installation
Martin Winter [Mon, 12 Jun 2017 23:14:03 +0000 (16:14 -0700)]
debianpkg: Do not start package after installation

- Remove auto-start from Ubuntu 12.04 Backport
- Update Doc to explain on how to enable startup

Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
6 years agotools: Rename to FRRouting in frr.service file
Martin Winter [Sat, 10 Jun 2017 09:20:29 +0000 (02:20 -0700)]
tools: Rename to FRRouting in frr.service file

Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
6 years agodebianpkg/Ubuntu12.04-backport: Remove accidental reference to frr_sudoers
Martin Winter [Sat, 10 Jun 2017 03:41:09 +0000 (20:41 -0700)]
debianpkg/Ubuntu12.04-backport: Remove accidental reference to frr_sudoers

Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
6 years agodebianpkg: Update control to fix maintainer email
Martin Winter [Fri, 9 Jun 2017 22:57:32 +0000 (15:57 -0700)]
debianpkg: Update control to fix maintainer email

Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
6 years agodebianpkg: Fix Date format in changelog and version numbering to make sure custom...
Martin Winter [Fri, 9 Jun 2017 22:30:21 +0000 (15:30 -0700)]
debianpkg: Fix Date format in changelog and version numbering to make sure custom build is newer

Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
6 years agodebianpkg: Add backport for Debian 8
Martin Winter [Fri, 9 Jun 2017 08:58:31 +0000 (01:58 -0700)]
debianpkg: Add backport for Debian 8

Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
6 years agodebianpkg: debian rules file needs to be executable
Martin Winter [Fri, 9 Jun 2017 06:30:09 +0000 (23:30 -0700)]
debianpkg: debian rules file needs to be executable

Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
6 years agodebianpkg: Update Build-Depends to use libjson-c-dev / libjson-c2 instead of libjson0...
Martin Winter [Fri, 9 Jun 2017 06:12:02 +0000 (23:12 -0700)]
debianpkg: Update Build-Depends to use libjson-c-dev / libjson-c2 instead of libjson0 on newer debian systems

Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
6 years agodebianpkg: Add initial README to document the steps required to build the debian...
Martin Winter [Fri, 9 Jun 2017 03:34:22 +0000 (20:34 -0700)]
debianpkg: Add initial README to document the steps required to build the debian packages with backports

Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
6 years agodebian->debianpkg: Move debian files from debian dir to debianpkg dir.
Martin Winter [Fri, 9 Jun 2017 02:14:41 +0000 (19:14 -0700)]
debian->debianpkg: Move debian files from debian dir to debianpkg dir.

Debian build systems use debian subdir for building and having a debian
dir in the source package causes issues.
Moving it to debianpkg avoids the issue and allows us to ship debian
package files in the source distribution

Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
6 years agobackports: minimize diffs with base debian files
smccroskey [Fri, 28 Apr 2017 07:00:53 +0000 (00:00 -0700)]
backports: minimize diffs with base debian files

minimize diffs between the base debian files and each backport to the
changes that actually matter, so that they aren't lost in the noise of
capitalization and ordering differences.

Signed-off-by: Silas McCroskey <smccroskey@cumulusnetworks.com>
6 years agodebian: clean up, update base debian/control
smccroskey [Fri, 28 Apr 2017 06:58:13 +0000 (23:58 -0700)]
debian: clean up, update base debian/control

this removes some cruft -- old/outdated/incorrect information,
trailing whitespace, etc., and updates the descriptions.  Some small
changes were made where appropriate to minimize the diff between the
base control file and those of the various backports.

Signed-off-by: Silas McCroskey <smccroskey@cumulusnetworks.com>
6 years agodebian: delete unused files out of debian/
smccroskey [Thu, 27 Apr 2017 23:42:43 +0000 (16:42 -0700)]
debian: delete unused files out of debian/

These are unused and not referenced anywhere.

debian/rules.orig: included by mistake
debian/watch: no longer applicable; url is not valid
debian/patches: stale, unused, misleading

Signed-off-by: Silas McCroskey <smccroskey@cumulusnetworks.com>
6 years agoprecise/trusty: don't attempt to install pimd or ldpd manuals
smccroskey [Thu, 27 Apr 2017 21:31:29 +0000 (14:31 -0700)]
precise/trusty: don't attempt to install pimd or ldpd manuals

Neither of these daemons are installed on 14.04, leading to build
failures now that the man pages are excluded from the Makefiles when
the daemons aren't enabled for install.

Signed-off-by: Silas McCroskey <smccroskey@cumulusnetworks.com>
6 years agobackports: error out on upstream/downstream version mismatch
smccroskey [Thu, 27 Apr 2017 21:27:09 +0000 (14:27 -0700)]
backports: error out on upstream/downstream version mismatch

The quilt source format expects the upstream tarball's version to
correspond roughly to the debian version of the package, and errors
will be thrown (at unpack time, in our case) if it doesn't.  Do a
sanity check when we're building the source package to make sure they
match up.

Signed-off-by: Silas McCroskey <smccroskey@cumulusnetworks.com>
6 years agodebian: Fix some incorrect references to Quagga instead of FRR
Martin Winter [Thu, 16 Feb 2017 18:49:00 +0000 (01:49 +0700)]
debian: Fix some incorrect references to Quagga instead of FRR

Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
6 years agobackports: symlink identical files
Silas McCroskey [Tue, 14 Feb 2017 17:48:57 +0000 (00:48 +0700)]
backports: symlink identical files

Testing-done: built all backports in schroots and VMs

made files identical between different backports symlinks
to the ones for the more recent distribution, and updated
relevant tar invocations to follow symlinks.

Signed-off by: Silas McCroskey <smccroskey@cumulusnetworks.com>

6 years agodebian: add pkg-config to build-depends
Silas McCroskey [Tue, 14 Feb 2017 17:34:42 +0000 (00:34 +0700)]
debian: add pkg-config to build-depends

Testing-done: `--add-depends pkg-config' sbuild

The dependency on pkg-config was introduced recently, and
missed because it's in our schroots by default. Need to add
it for other build environments (e.g. ubuntu schroots).

Signed-off by: Silas McCroskey <smccroskey@cumulusnetworks.com>

6 years agodebian: move ubuntu 16.04 files into new backports system
Silas McCroskey [Tue, 14 Feb 2017 15:48:19 +0000 (22:48 +0700)]
debian: move ubuntu 16.04 files into new backports system

Added 'debian/patches' to the exclude file, since the existing patches
interfere with the build and are unused by our build.  No other
changes were necessary.  Used '-0~ubuntu16.04+1' as the version
extention, to denote: no patches (-0), debian packaging files changed
for backport (+1).

Signed-off-by: Silas McCroskey <smccroskey@cumulusnetworks.com>
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
6 years agodebian: move ubuntu 14.04 files into new backports system
Silas McCroskey [Tue, 14 Feb 2017 15:44:17 +0000 (22:44 +0700)]
debian: move ubuntu 14.04 files into new backports system

`git diff'ed the main (cmaster) branch against the 14.04 branch
to determine changed debian files, then pulled them into
debian/backports via `git cat-file'. Added 'debian/patches' to
the exclude file, since the existing patches interfere with the
build and are unused by our build. Used '-0~ubuntu14.04+1' as
the version extention, to denote: no patches (-0), debian
packaging files changed for backport (+1).

Original commit by Silas with updates on fork name by Martin

Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
6 years agodebian: move ubuntu 12.04 files into new backports system
Silas McCroskey [Tue, 14 Feb 2017 15:34:56 +0000 (22:34 +0700)]
debian: move ubuntu 12.04 files into new backports system

`git diff'ed the main (cmaster) branch against the 12.04 branch
to determine changed debian files, then pulled them into
debian/backports via `git cat-file'. Added 'debian/patches' to
the exclude file, since the existing patches interfere with the
build and are unused by our build. Used '-0~ubuntu12.04+1' as
the version extention, to denote: no patches (-0), debian
packaging files changed for backport (+1).

Original commit by Silas with updates on fork name by Martin

Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
6 years agodebian/backports: include in distfile, don't put files in ..
Silas McCroskey [Tue, 14 Feb 2017 12:04:10 +0000 (19:04 +0700)]
debian/backports: include in distfile, don't put files in ..

Testing-done: ran 'make dist', unpacked elsewhere, built from result

Adjusted target to build the .orig.tar.gz accordingly, since it must
exclude the debian/ subdirectory.  Allows for building any backport from
only a tarball.

Signed-off-by: Silas McCroskey <smccroskey@cumulusnetworks.com>
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
6 years agodebian: fix dpkg tool invocations to work on Ubuntu 12.04
Silas McCroskey [Tue, 14 Feb 2017 11:52:40 +0000 (18:52 +0700)]
debian: fix dpkg tool invocations to work on Ubuntu 12.04

dpkg-parsechangelog and dpkg-source were both using flags
not yet available in the versions available on 12.04.

Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
6 years agodebian: structure for building backports from a single branch
Silas McCroskey [Tue, 14 Feb 2017 11:45:50 +0000 (18:45 +0700)]
debian: structure for building backports from a single branch

Source a makefile (when it exists) in debian/rules to assemble
a source package via:

* a debian.tar.gz tarball built from combining the contents of debian/
  and debian/backports/$backport/debian/ using other details under
  debian/backports/$backport
* an orig.tar.gz file (not generated by this makefile). This can (and
  should) be the same for all backports.

Details in debian/backports/README

Signed-off-by: Silas McCroskey <smccroskey@cumulusnetworks.com>
6 years agoMerge pull request #1460 from bingen/bug_pw_conf_master
Renato Westphal [Fri, 17 Nov 2017 12:02:31 +0000 (10:02 -0200)]
Merge pull request #1460 from bingen/bug_pw_conf_master

ldp: Fix bug configuring PW

6 years agoldp: Fix bug configuring PW
ßingen [Fri, 17 Nov 2017 09:32:36 +0000 (10:32 +0100)]
ldp: Fix bug configuring PW

With non-targeted LDP receiving a PW label mapping before configuring
the PW was causing the SET message to be sent before the ADD one, so
Zebra PW manager wouldn't find the PW on first message reception.

Signed-off-by: ßingen <bingen@voltanet.io>
6 years agoMerge pull request #1458 from donaldsharp/southbound_flags
Renato Westphal [Thu, 16 Nov 2017 21:35:12 +0000 (19:35 -0200)]
Merge pull request #1458 from donaldsharp/southbound_flags

Southbound flags

6 years agoMerge pull request #1449 from donaldsharp/match_local_peer
Renato Westphal [Thu, 16 Nov 2017 20:34:43 +0000 (18:34 -0200)]
Merge pull request #1449 from donaldsharp/match_local_peer

bgpd: XMALLOC usage causes borken assumption in route_match_peer_free

6 years agozebra: Install/Update success caused flags to be cleared for lsp
Donald Sharp [Thu, 16 Nov 2017 19:06:10 +0000 (14:06 -0500)]
zebra: Install/Update success caused flags to be cleared for lsp

When the kernel installs/updates a lsp the return code for
success is a 0.  The code was interpreting the 0 as a failure
case for the Install/Update code paths.  This caused upon
a true deletion zebra loosing knowledge of the lsp
but the kernel still had it installed.

Failure:
mpls label bind 10.50.4.11/32 4444
!
line vty
!
end
robot.cumulusnetworks.com# conf t
robot.cumulusnetworks.com(config)# no mpls lsp 6666 10.50.11.1 3933
robot.cumulusnetworks.com(config)# exit
robot.cumulusnetworks.com# show mpls table 6666
robot.cumulusnetworks.com# exit
sharpd@robot ~/frr4> ip -f mpls route show
6666 as to 3933 via inet 10.50.11.1 dev enp0s10 proto static

With Fix:
sharpd@robot ~/frr4> ip -f mpls route show
6666 as to 3933 via inet 10.50.11.1 dev enp0s10 proto static
sharpd@robot ~/frr4> sudo vtysh

Hello, this is FRRouting (version 3.1-dev).
Copyright 1996-2005 Kunihiro Ishiguro, et al.

robot.cumulusnetworks.com# conf t
robot.cumulusnetworks.com(config)# no mpls lsp 6666 10.50.11.1 3933
robot.cumulusnetworks.com(config)# end
robot.cumulusnetworks.com# show mpls table 6666
robot.cumulusnetworks.com# exit
sharpd@robot ~/frr4> ip -f mpls route show
sharpd@robot ~/frr4>

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years agozebra: Move some LSP flag handling to common code
Donald Sharp [Thu, 16 Nov 2017 17:46:10 +0000 (12:46 -0500)]
zebra: Move some LSP flag handling to common code

The LSP_FLAG_CHANGED and LSP_FLAG_INSTALLED flags
should be handled in the common call function
for adding/updating/removing a lsp to/from the kernel.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years agozebra: rt_socket.c should not use SET_FLAG
Donald Sharp [Thu, 16 Nov 2017 17:26:07 +0000 (12:26 -0500)]
zebra: rt_socket.c should not use SET_FLAG

The SET_FLAG(nexthop->flags, NEXTHOP_FLAG_FIB)
is already taken care of in zebra_rib.c.  There
is no need for this to be handled by rt_socket.c.

rt_netlink.c does not do a SET_FLAG(nexthop->flags, NEXTHOP_FLAG_FIB)
for route installation.  Please note it does do it for a mpls
labeled route installation, which will be fixed in a future
commit.

Remove some dead code from 2002 as well.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years agozebra: Note about functionality in rt.h
Donald Sharp [Thu, 16 Nov 2017 18:10:41 +0000 (13:10 -0500)]
zebra: Note about functionality in rt.h

When we are modifying the kernel there could
be multiple modules/hooks involved in this
process.  As such let the caller set
the appropriate flags for success/failure.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years agoMerge pull request #1454 from donaldsharp/isis_newline
Rafael Zalamena [Thu, 16 Nov 2017 13:44:04 +0000 (11:44 -0200)]
Merge pull request #1454 from donaldsharp/isis_newline

isisd: Add a missing newline to a help string

6 years agoMerge pull request #1444 from fatihusta/patch-1
Donald Sharp [Thu, 16 Nov 2017 13:05:54 +0000 (08:05 -0500)]
Merge pull request #1444 from fatihusta/patch-1

Centos5 Build problem fixed

6 years agoisisd: Add a missing newline to a help string
Donald Sharp [Wed, 15 Nov 2017 20:34:02 +0000 (15:34 -0500)]
isisd: Add a missing newline to a help string

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years agoMerge pull request #1451 from msablic/msablic_frr_cm00003
Donald Sharp [Wed, 15 Nov 2017 15:55:50 +0000 (10:55 -0500)]
Merge pull request #1451 from msablic/msablic_frr_cm00003

*: repaired internal link to dev guide

6 years ago*: repaired internal link to dev guide
Mladen Sablic [Wed, 15 Nov 2017 15:24:48 +0000 (16:24 +0100)]
*: repaired internal link to dev guide

During renaming and expansion of Coding style
requirements, internal document link, from the
checklist, became unattached.

Signed-off-by: Mladen Sablic <mladen.sablic@gmail.com>
6 years agobgpd: XMALLOC usage causes borken assumption in route_match_peer_free
Donald Sharp [Wed, 15 Nov 2017 00:44:29 +0000 (19:44 -0500)]
bgpd: XMALLOC usage causes borken assumption in route_match_peer_free

The usage of XMALLOC for route_match_peer_compile causes
the pc->interface to be non-NULL.  The code assumes that
pc->interface will be NULL.

Ticket: CM-18824
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years agoMerge pull request #1447 from msablic/msablic_frr_cm00002
Quentin Young [Tue, 14 Nov 2017 16:16:33 +0000 (11:16 -0500)]
Merge pull request #1447 from msablic/msablic_frr_cm00002

*: commit message example formatting

6 years ago*: commit message example formatting
Mladen Sablic [Tue, 14 Nov 2017 15:17:52 +0000 (16:17 +0100)]
*: commit message example formatting

Having triple backquotes on the same line as code block
does not agree with Markdown parser of the repo hosting
site.

Signed-off-by: Mladen Sablic <mladen.sablic@gmail.com>
6 years agoMerge pull request #1411 from donaldsharp/stream_updates
Renato Westphal [Tue, 14 Nov 2017 15:15:08 +0000 (13:15 -0200)]
Merge pull request #1411 from donaldsharp/stream_updates

Stream updates

6 years agoMerge pull request #1443 from rtrlib/rpki
Donald Sharp [Tue, 14 Nov 2017 12:29:09 +0000 (07:29 -0500)]
Merge pull request #1443 from rtrlib/rpki

RPKI follow up

6 years agoCentos5 Build problem fixed
Fatih USTA [Tue, 14 Nov 2017 09:36:05 +0000 (12:36 +0300)]
Centos5 Build problem fixed

6 years agobgpd: add missing newlines to help strings in bgp_rpki.c command definitions
Marcel Röthke [Tue, 14 Nov 2017 08:51:28 +0000 (09:51 +0100)]
bgpd: add missing newlines to help strings in bgp_rpki.c command definitions

Signed-off-by: Marcel Röthke <marcel.roethke@haw-hamburg.de>
6 years agobgpd: fix prefix count in show rpki prefix-table
Marcel Röthke [Tue, 14 Nov 2017 08:38:51 +0000 (09:38 +0100)]
bgpd: fix prefix count in show rpki prefix-table

Signed-off-by: Marcel Röthke <marcel.roethke@haw-hamburg.de>
6 years agobgpd: fix race condition in build system regarding bgp_rpki_clippy.c
Marcel Röthke [Tue, 14 Nov 2017 08:29:32 +0000 (09:29 +0100)]
bgpd: fix race condition in build system regarding bgp_rpki_clippy.c

Signed-off-by: Marcel Röthke <marcel.roethke@haw-hamburg.de>
6 years agobgpd, zebra: Flags should be 0 for unregister
Donald Sharp [Tue, 14 Nov 2017 00:06:26 +0000 (19:06 -0500)]
bgpd, zebra: Flags should be 0 for unregister

The flags value is not used for unregister events.  Let's purposefully
not send anything and purposefully not accept non 0 for it.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years agoMerge pull request #1442 from msablic/msablic_frr_cm00001
Quentin Young [Mon, 13 Nov 2017 21:22:26 +0000 (16:22 -0500)]
Merge pull request #1442 from msablic/msablic_frr_cm00001

frr: COMMUNITY.md updated link to to kernel.org

6 years agofrr: COMMUNITY.md updated link to to kernel.org
Mladen Sablic [Mon, 13 Nov 2017 20:34:50 +0000 (21:34 +0100)]
frr: COMMUNITY.md updated link to to kernel.org

Signed-off-by: Mladen Sablic <mladen.sablic@gmail.com>
6 years agobgpd, zebra: Ensure that passed flags is 0 for unregister event
Donald Sharp [Mon, 13 Nov 2017 19:30:17 +0000 (14:30 -0500)]
bgpd, zebra: Ensure that passed flags is 0 for unregister event

The flags passed in should be 0 for an unregister event.  Ensure
that we respect that.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years agolib: Pass the safi as a uint8_t
Donald Sharp [Mon, 6 Nov 2017 18:04:19 +0000 (13:04 -0500)]
lib: Pass the safi as a uint8_t

The safi encode/decode is using 2 bytes, which
may cause problems on some platforms.  Let's assume
that a safi is a uint8_t and work accordingly.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years agolib, zebra: Modify zebra to use STREAM_GET for zapi
Donald Sharp [Fri, 10 Nov 2017 13:51:34 +0000 (08:51 -0500)]
lib, zebra: Modify zebra to use STREAM_GET for zapi

This code modifies zebra to use the STREAM_GET functionality.
This will allow zebra to continue functioning in the case of
bad input data from higher level protocols instead of crashing.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years agolib: Add STREAM_GETX functions
Donald Sharp [Thu, 2 Nov 2017 12:37:06 +0000 (08:37 -0400)]
lib: Add STREAM_GETX functions

Currently when stream reads fail, for any reason, we assert.
While a *great* debugging tool, Asserting on production code
is not a good thing.  So this is the start of a conversion over
to a series of STREAM_GETX functions that do not assert and
allow the developer a way to program this gracefully and still
clean up.

Current code is something like this( taken from redistribute.c
because this is dead simple ):

afi = stream_getc(client->ibuf);
type = stream_getc(client->ibuf);
instance = stream_getw(client->ibuf);

This code has several issues:

1) There is no failure mode for the stream read other than assert.
if afi fails to be read the code stops.
2) stream_getX functions cannot be converted to a failure mode
because it is impossible to tell a failure from good data
with this api.

So this new code will convert to this:

STREAM_GETC(client->ibuf, afi);
STREAM_GETC(client->ibuf, type);
STREAM_GETW(client->ibuf, instance);

....

stream_failure:
return;

We've created a stream_getc2( which does not assert ),
but we need a way to allow clean failure mode handling.
This is done by macro'ing stream_getX2 functions with
the equivalent all uppercase STREAM_GETX functions that
include a goto.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years agoMerge pull request #1436 from rtrlib/rpki
Donald Sharp [Mon, 13 Nov 2017 18:35:22 +0000 (13:35 -0500)]
Merge pull request #1436 from rtrlib/rpki

bgpd: Add RPKI/RTR support

6 years agoMerge pull request #1437 from dwalton76/frr-reload
Renato Westphal [Mon, 13 Nov 2017 15:53:37 +0000 (13:53 -0200)]
Merge pull request #1437 from dwalton76/frr-reload

frr-reload.py: misc fixes

6 years agobgpd: fix build against rtrlib versions without ssh support
Marcel Röthke [Mon, 13 Nov 2017 14:50:50 +0000 (15:50 +0100)]
bgpd: fix build against rtrlib versions without ssh support

Signed-off-by: Marcel Röthke <marcel.roethke@haw-hamburg.de>
6 years agodoc: add rpki.texi to makefile
Marcel Röthke [Fri, 10 Nov 2017 14:24:45 +0000 (15:24 +0100)]
doc: add rpki.texi to makefile

Signed-off-by: Marcel Röthke <marcel.roethke@haw-hamburg.de>
6 years agolib: Fix command `copy running-config startup-config` to alias `write file`
pogojotz [Mon, 6 Nov 2017 21:43:32 +0000 (22:43 +0100)]
lib: Fix command `copy running-config startup-config` to alias `write file`

Fixes: #1412
Signed-off-by: Juergen Werner <pogojotz@gmx.net>
6 years agotools: frr-reload do not attempt deleting lines that cannot be deleted
Daniel Walton [Fri, 10 Nov 2017 18:30:25 +0000 (18:30 +0000)]
tools: frr-reload do not attempt deleting lines that cannot be deleted

Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
There are several lines that we cannot do a "no" on
- frr version
- frr defaults
- password
- line vty

frr-reload should ignore these if asked to do a "no" on them

6 years agotools: frr-reload remove Cumulus Linux release numbers from comments
Daniel Walton [Fri, 10 Nov 2017 17:57:42 +0000 (17:57 +0000)]
tools: frr-reload remove Cumulus Linux release numbers from comments

Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
The "3.0", etc in the comments were referring to Cumulus Linux 3.0 which
was confusing now that FRR has a 3.0

6 years agotools: frr-reload combine "'router bgp' and line" checks
Daniel Walton [Fri, 10 Nov 2017 17:47:13 +0000 (17:47 +0000)]
tools: frr-reload combine "'router bgp' and line" checks

Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
We had multiple places checking for

    if ctx_keys[0].startswith('router bgp') and line

Combine these into a single check

6 years agotools: frr-reload avoid del/add of BGP table-map
Daniel Walton [Fri, 10 Nov 2017 17:41:43 +0000 (17:41 +0000)]
tools: frr-reload avoid del/add of BGP table-map

Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
6 years agotools: frr-reload.py ignore multiple whitespaces
Daniel Walton [Fri, 10 Nov 2017 17:19:08 +0000 (17:19 +0000)]
tools: frr-reload.py ignore multiple whitespaces

Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
Without this fix frr-reload would do a del/add even if the only
difference were bogus whitespaces.

root@cel-redxp-10[nclu]# /usr/lib/frr/frr-reload.py --test
/etc/frr/frr.conf

Lines To Delete
===============

router bgp 100
 no bgp router-id 1.1.1.1

Lines To Add
============

router bgp 100
 bgp   router-id 1.1.1.1
root@cel-redxp-10[nclu]#

6 years agoMerge pull request #1426 from donaldsharp/prefixlistafi
Jafar Al-Gharaibeh [Fri, 10 Nov 2017 15:11:53 +0000 (09:11 -0600)]
Merge pull request #1426 from donaldsharp/prefixlistafi

lib: Only apply prefix's to the same family

6 years agobgpd: Add RPKI/RTR support
Marcel Röthke [Fri, 10 Nov 2017 12:56:24 +0000 (13:56 +0100)]
bgpd: Add RPKI/RTR support

This commit adds support for the RTR protocol to receive ROA
information from a RPKI cache server. That information can than be used
to validate the BGP origin AS of IP prefixes.
Both features are implemented using [rtrlib](http://rtrlib.realmv6.org/).

Signed-off-by: Marcel Röthke <marcel.roethke@haw-hamburg.de>
6 years agoconfigure, zebra: Add some debug code to allow for fuzzing
Donald Sharp [Thu, 2 Nov 2017 14:56:03 +0000 (10:56 -0400)]
configure, zebra: Add some debug code to allow for fuzzing

1) Write zserv api commands( one of each type ) to the side.  This will allow
us to use them as input for a fuzzer.

2) Add -c <file to pass to zapi read process> into zebra as a run-time
option of we've turned on fuzzing.

While in and of itself these are not terribly useful( you still need
an external fuzzer ), they provide an infrastructure to allow
tools like afl to test the zapi.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years agoldpd, zebra: Fix `make dist` compiles
Donald Sharp [Thu, 9 Nov 2017 16:09:58 +0000 (11:09 -0500)]
ldpd, zebra: Fix `make dist` compiles

The original clippy implementation used if VTYSH_EXTRACT_PL
was defined or not to know to include as part of the creation
of vtysh.

Follow their lead here.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
6 years agoospf6d: Fix setting interface ipv6 ospf6 cost value (LSA hooks were never called)
Juergen Kammer [Tue, 7 Nov 2017 08:38:22 +0000 (09:38 +0100)]
ospf6d: Fix setting interface ipv6 ospf6 cost value (LSA hooks were never called)

Fixes: #1420
Signed-off-by: Juergen Kammer <j.kammer@eurodata.de>
If the ipv6 ospf6 cost on an interface is changed, no recalculation of routes happens, though the interface structure is updated with the new value. The new cost will be used later, when LSA hooks are called for any other reason.

Diagnosis:
The DEFUN for the config command sets oi->cost and calls ospf6_interface_recalculate_cost(oi) whenever there is a change in the supplied value. ospf6_interface_recalculate_cost then gets the new cost for the interface by calling ospf6_interface_get_cost(oi), which returns oi->cost if a cost is manually set (i.e. we get the value we just set). ospf6_interface_recalculate_cost only calls the LSA hooks if there is a change - which obviously never happens if we compare the new value with itself.

6 years agoMerge pull request #1391 from LabNConsulting/working/master/patch-set/vnc-vrf-export
Donald Sharp [Thu, 9 Nov 2017 13:53:24 +0000 (08:53 -0500)]
Merge pull request #1391 from LabNConsulting/working/master/patch-set/vnc-vrf-export

Support vrf export/import based on vrf-policy