Commit graph

278 commits

Author SHA1 Message Date
Ondřej Surý 0536ed66bb Use wrap-and-sort -a to unify debian/ wrapping and sorting
While it's ok to use individual wrapping/sorting in the debian/ source files,
it's often simpler to just go with the formatting supported by tools.  One such
tool is wrap-and-sort, so this commit re-wraps and re-sorts the debian/ files to
be unified and (-a) always wrapped.
2020-09-26 09:23:39 +02:00
Ondřej Surý 234b0ea7de Bump standards version to 4.5.0.2 (latest) - no change 2020-09-26 09:22:43 +02:00
Ondřej Surý 47ebc83368 Convert the package to dh compat level 10
There are couple of related changes:

* Bump the debhelper dependency to the version at least in Debian Jessie
* Drop the dh-autoreconf, autotools-dev dependency, this is automatically
  included.
* Drop the --parallel, --with=systemd and --with=autoreconf, this is
  automatically enabled in dh compat level 10, add a --without=systemd
  when requested via build profile.
2020-09-26 09:22:43 +02:00
Ondřej Surý a32cd91a25 Update and simplify d/watch 2020-09-26 09:22:43 +02:00
Ondřej Surý ecf2b90498 Make lsb-base a hard dependency
Directly depend on lsb-base in Debian, so we the shims are only used
on systems without LSB.

Signed-off-by: Ondřej Surý <ondrej@sury.org>
2020-09-26 09:22:43 +02:00
Ondřej Surý 9201c39f62 Remove mention of pkg.frr.snmp build profile from debian/README.Debian
The pkg.frr.snmp build profile is no longer present in the Debian build scripts,
so this just cleans up the old documentation that mentions it.

Signed-off-by: Ondřej Surý <ondrej@sury.org>
2020-09-26 09:22:23 +02:00
Ondřej Surý e5368acf89 Add missing lsof dependency
The logrotate script for frr uses lsof, but the package didn't depend on the
it.

Signed-off-by: Ondřej Surý <ondrej@sury.org>
2020-09-26 09:22:23 +02:00
Ondřej Surý 5632ff61df Remove unused debian/watchfrr.rc file
The debian/watchfrr.rc file was not install, so we just remove the cruft.

Signed-off-by: Ondřej Surý <ondrej@sury.org>
2020-09-26 09:22:23 +02:00
Ondřej Surý 322c00824a Use dh_installinit capabilities to install frr.tmpfile
The debian/frr.conf was manually installed as systemd-tmpfiles configuration,
but the dh_installinit now has capability to install it automatically if named
debian/frr.tmpfile.

Signed-off-by: Ondřej Surý <ondrej@sury.org>
2020-09-26 09:22:23 +02:00
Ondřej Surý 1446c82c1b Don't install frr-doc texinfo images, they are gone (Closes: #955067) 2020-09-26 09:22:23 +02:00
Ondřej Surý 2aa5ed1d1b Change the source format from git to quilt to use git-buildpackage 2020-09-26 09:22:23 +02:00
Ondřej Surý b40b0ac48b Add d/gbp.conf for master branch 2020-09-26 09:22:23 +02:00
Ondřej Surý 6b6970eafa Add myself to Uploaders 2020-09-26 09:22:23 +02:00
Renato Westphal 240b7826f6 build, yang: bump libyang minimum required version to 1.0.184
It's time to say good bye to libyang 0.16.105. The recently
released libyang 1.0.184 includes numerous bug fixes and performance
improvements that we need.

Despite the major version bump from 0.x to 1.x, the libyang API is
the same except for a single backward-incompatible change in the
user types interface (which we're currently not using). Hence no
code changes were necessary to adapt FRR to libyang 1.x.

This commit also reintroduces some leafrefs that needed to be
removed from our YANG modules due to a bug that was present on
libyang 0.16.105.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2020-08-07 14:07:46 -03:00
Donald Sharp f57a88f37c debian: Add missing daemons to logrotation knowledge
Update missing daemons to rotate as well.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2020-06-25 07:13:50 -04:00
Rafael Zalamena c871e6c9d1 build: fix data plane FPM netlink module
Changes:

*   Let the package builder scripts know that we have a new module that
    needs to be taken care of.
*   Include the frr atomic header to avoid undeclared atomic operations.
*   Disable build on *BSDs because the code is using some zebra netlink
    functions only available for Linux.
*   Move data plane FPM module outside old FPM automake definition.
*   Fix atomic usage for Ubuntu 14.04 (always use explicit).

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
2020-04-14 13:45:39 -03:00
David Lamparter 53f5660121 debian: 7.2.1 prep
Just the odd housekeeping bits.

Signed-off-by: David Lamparter <equinox@diac24.net>
2020-04-07 16:47:18 +02:00
David Lamparter 43e060fb4b debian: remove outdated README content
Signed-off-by: David Lamparter <equinox@diac24.net>
2020-04-07 16:45:04 +02:00
David Lamparter 429576883e doc: rename man pages to frr-*
The vrrpd one conflicts with the standalone vrrpd package; also we're
installing daemons to /usr/lib/frr on some systems so they're not on
PATH.

Signed-off-by: David Lamparter <equinox@diac24.net>
2020-01-15 14:05:11 +01:00
Tim Bray b1b9e219f9 debian: Fix logrotate in debian for bfdd, pbrd and vrrpd.
Signed-off-by: Tim Bray <tim@kooky.org>
2020-01-10 00:52:14 +00:00
Donald Sharp f83664895b debian: Fix spelling error
Spelling error pointed out by debian build.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2020-01-06 20:36:13 -05:00
David Lamparter d621815a0e zebra: create zebra_cumulus_mlag module
This is pretty much just to get rid of the HAVE_CUMULUS.  The
hook/module API is as "wtf" as it was before...

Signed-off-by: David Lamparter <equinox@diac24.net>
2019-12-11 11:40:47 +01:00
Vincent Bernat 6d8adf6b23 debian: update debian/copyright
Some authors are added in the "GPL-2+" section, notably Alexandre
Cassen for the code in `vrrpd/`, and Cumulus Networks and Open Source
Routing which were uncredited despite many occurrence in the headers.

Signed-off-by: Vincent Bernat <vincent@bernat.ch>
2019-11-03 18:36:18 +01:00
Sri Mohana Singamsetty 11c83aa48a tools: Modifications to copy support bundle files
This commit is to copy the support bundle scripts to appropriate directories during installation

Signed-off-by: Sri Mohana Singamsetty <msingamsetty@vmware.com>
2019-09-13 10:05:13 -07:00
David Lamparter ed18356f1f bgpd/bmp: BMP implementation
This implements BMP.  There's no fine-grained history here, the non-BMP
preparations are already split out from here so all that remains is BMP
proper.

Signed-off-by: David Lamparter <equinox@diac24.net>
2019-08-30 19:22:23 +02:00
David Lamparter 31140be108 debian: add .gitignore file
Ignore the build results when dpkg-buildpackage was run in the source
directory.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2019-08-06 16:56:15 +02:00
David Lamparter fe9e7b71cf lib: split off c-ares code from nhrpd
This is useful in other places too, e.g. for BMP outbound connections.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2019-07-03 17:15:34 +02:00
David Lamparter 4bef0ec4fb isisd: replace dict_* with DECLARE_RBTREE
Historically, isisd has been carrying around its own red-black tree to
manage its LSP DB in.  This replaces that with the newly-added
DECLARE_RBTREE_*.  This allows completely removing the dict_* code.

Signed-off-by: David Lamparter <equinox@diac24.net>
2019-04-27 19:33:45 +02:00
David Lamparter ae132a9497 debian: remove superseded systemd lintian override
This was fixed in f351f5f971.

Signed-off-by: David Lamparter <equinox@diac24.net>
2019-02-19 21:34:27 +01:00
David Lamparter c4266cb65d debian: update libyang dependency to >= 0.16.74
We're using builtin extension loading, so we need libyang 0.16.74.

Signed-off-by: David Lamparter <equinox@diac24.net>
2019-02-19 21:34:24 +01:00
David Lamparter 82ab1fc506 debian: fix autopkgtest
pgrep is in procps, which is an essential package.  killall is in
psmisc, which isn't.

Signed-off-by: David Lamparter <equinox@diac24.net>
2019-02-19 21:34:10 +01:00
David Lamparter 01b5725bf7 debian: add missing Conflicts:
We were missing several Conflicts: (or Breaks:) lines.  Specifically,
- the .png diagrams in frr-doc conflict with quagga-doc
- the quagga package was split up and we conflict on each on the
  daemon's man pages
- pimd also conflicts on the man page.

This is a "conservative" fix for the time being, putting everything into
Conflicts:.  Some of these might have other options to fix them (e.g.
renaming the diagrams or man pages) but that needs more thought and
isn't appropriate for a simple fix.

There is also the "layer 9" consideration of whether to add "Replaces:
quagga" lines.  For the time being I'd say it's a bit early to have that
discussion.

Reported-by: Andreas Beckmann <anbe@debian.org>
References: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=921376
Signed-off-by: David Lamparter <equinox@diac24.net>
2019-02-19 21:34:09 +01:00
David Lamparter 75ec70d358 debian: remove bogus libjson0 dependency
Dependencies for the actual library packages are autogenerated by shlib
handling.  Removing the bogus line should hopefully get this to build
on Debian buildd...

Signed-off-by: David Lamparter <equinox@diac24.net>
2019-02-19 21:34:09 +01:00
David Lamparter 4c3d9ff53a debian: extend comments on pre/postinst hooks
While originally created to support upgrading within non-official
previous FRR packages, the same logic makes upgrading from Quagga
configs more straightforward.

Signed-off-by: David Lamparter <equinox@diac24.net>
2019-02-19 21:34:09 +01:00
David Lamparter a945249532 debian: add libyang-dev dependency
Signed-off-by: David Lamparter <equinox@diac24.net>
2019-02-19 21:34:08 +01:00
Martin Winter 9ada5eadc6 debian: Don't create homdirectory for frr user
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2019-02-19 21:34:08 +01:00
David Lamparter 8209fe7988 debian/control: add python3-dev dependency
Just forgot to list this one.  libpython3 is not enough.

Signed-off-by: David Lamparter <equinox@diac24.net>
2019-02-19 21:34:08 +01:00
David Lamparter 58b1c7b653 debian: fix dropping daemons.conf
Need to apply some manual control here, so remove it from frr.install
and just do it in rules.

Signed-off-by: David Lamparter <equinox@diac24.net>
2019-02-19 21:34:07 +01:00
David Lamparter aaabb66e4a debian: rework autopkgtests
Ditch the old non-working one and add 3 new ones to check:
- that zebra can talk to the kernel at least somewhat
- that SNMP and RPKI modules can be loaded
- that frr-reload.py works

This should catch most build environment SNAFUs.

Signed-off-by: David Lamparter <equinox@diac24.net>
2019-02-19 21:34:07 +01:00
David Lamparter f673b4f640 debian: keep working nicely with split config
Drop our configs that say integrated config when there is some
pre-existing split config.

Signed-off-by: David Lamparter <equinox@diac24.net>
2019-02-19 21:34:06 +01:00
David Lamparter d29f324aa8 debian: chop down & rework maintainer scripts
Signed-off-by: David Lamparter <equinox@diac24.net>
2019-02-19 21:34:06 +01:00
David Lamparter 8a91a6ef9c debian: add python3-pytest build dependency
Signed-off-by: David Lamparter <equinox@diac24.net>
2019-02-19 21:32:19 +01:00
David Lamparter c9d06c3b06 debian: drop unused lintian overrides
Signed-off-by: David Lamparter <equinox@diac24.net>
2019-02-19 21:32:18 +01:00
David Lamparter 0d60efd879 debian: full & proper copyright file
Signed-off-by: David Lamparter <equinox@diac24.net>
2019-02-19 21:32:18 +01:00
David Lamparter 6fb8901930 debian: flag as "no stop on upgrade"
We don't want to break some user's internet routing that they're using
for their ssh login while upgrading...

Signed-off-by: David Lamparter <equinox@diac24.net>
2019-02-19 21:32:18 +01:00
David Lamparter f35d0a76d3 debian: don't install ssd & daemons.conf
ssd is unused and duplicates a system tool.  daemons.conf is deprecated.

Signed-off-by: David Lamparter <equinox@diac24.net>
2019-02-19 21:31:19 +01:00
David Lamparter 74afa5e686 debian: cleanly split off from dist tarball
The debian/ directory is distributed separately for tarballs in 3.0
(quilt) format.  Including it in the dist tarball causes problems with
automake when the separately distributed debian directory is unpacked on
top of the dist tarball;  the clean and correct thing to do here is to
not include the debian/ directory in dist tarballs.

Users have two choices for building FRR Debian packages:
- build straight off git
- build from a "frr.tar" + "frr-debian.tar"

The tarsource.sh tool does the right thing when invoked with the -D
("Debian") option.

Signed-off-by: David Lamparter <equinox@diac24.net>
2019-02-19 21:31:18 +01:00
David Lamparter cf3ae51c88 debian: fix up for new initscripts
Signed-off-by: David Lamparter <equinox@diac24.net>
2019-02-19 21:31:18 +01:00
David Lamparter 4741497b94 debian: clean up debian/ directory for git build
Running `dpkg-buildpackage` with source-format "git" complains about
newly created files under debian/.  Remove the build-created frr.init &
frr.service to avoid the build erroring out due to this.

Signed-off-by: David Lamparter <equinox@diac24.net>
2019-02-19 21:31:18 +01:00
David Lamparter b3c4c164b5 debian: make package "official"
Move us into place in debian/

Signed-off-by: David Lamparter <equinox@diac24.net>
2019-02-19 21:30:54 +01:00
Martin Winter 495feb8a41 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>
2017-11-17 17:55:30 -08:00
smccroskey 05f0385849 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>
2017-11-17 17:55:30 -08:00
smccroskey 5877299679 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>
2017-11-17 17:55:30 -08:00
smccroskey 05d5cb46b9 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>
2017-11-17 17:55:30 -08:00
smccroskey 8c43d3b14b 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>
2017-11-17 17:55:30 -08:00
smccroskey 47607bcaa0 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>
2017-11-17 17:55:30 -08:00
Martin Winter 0f4ac62149 debian: Fix some incorrect references to Quagga instead of FRR
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2017-11-17 17:55:30 -08:00
Silas McCroskey 891a387c0d 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>
2017-11-17 17:55:30 -08:00
Silas McCroskey dc885deff1 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>
2017-11-17 17:55:30 -08:00
Silas McCroskey 7fa9aa586c 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>
2017-11-17 17:55:30 -08:00
Silas McCroskey c3add5decb 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>
2017-11-17 17:55:29 -08:00
Silas McCroskey 5c9c02c58f 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>
2017-11-17 17:55:29 -08:00
Silas McCroskey ee9d7744f8 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>
2017-11-17 17:55:29 -08:00
Silas McCroskey 79c81c2651 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>
2017-11-17 17:55:29 -08:00
Silas McCroskey a8247b210f 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>
2017-11-17 17:55:29 -08:00
Sebastian Lohff 591fa044c9 debian: Add iproute2 as dependency alternative in Debian package
iproute has been a transitional package that only depends on iproute2
since Debian Jessie or Ubuntu 14.04. To avoid installing this transitional
dummy package on newer installations we add iproute2 as a dependency
alternative to iproute. The iproute dependency can be dropped when
wheezy / 12.04 support is no longer needed.

Signed-off-by: Sebastian Lohff <seba@someserver.de>
2017-10-04 22:18:01 +02:00
Dave Olson 83aadaa68d debian: Fix logrotate when FRR is not running
Fix the logrotate script to complete successfully even
if FRR is not currently running.

Signed-off-by: Dave Olson <olson@cumulusnetworks.com>
2017-09-27 12:02:58 -04:00
David Lamparter 5309b14eae doc: new frr-args(8) man page with general options
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2017-08-29 08:36:03 +02:00
Dave Olson a7c9d77a08 Switch to using syslog for logging as the default
Switch to using syslog as the default logging mechanism, rather than
the log file mechanism.

Send SIGHUP to syslog (any process with syslog in the name) if they have
files open in /var/log/frr/* (for debian, using lsof).  For redhat, add
sending HUP to any of the pids in /var/run/*syslog*pid, for /var/log/frr/frr.log

Updated logrotate.d/frr to handle all the new daemons for debian; redhat
already had them.

Continue to send SIGUSR1 to all running frr daemons even when syslog is
in use, in case logging has been switched from file to syslog or vice versa.
For debian, accumulate all the PIDs and use a single kill command.

Add /etc/rsyslogd.d/45-frr.conf to have all frr daemons (and tag
frr) logs go to /var/log/frr/frr.log.  If other syslog daemons are
used, logs will go to default log file.

Signed-off-by: Dave Olson <olson@cumulusnetworks.com>
2017-07-31 12:53:01 -07:00
Martin Winter 4448b4daec debian: python3-dev is now a build requirement for main package
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2017-06-27 18:09:38 -07:00
Donald Sharp a1b4f854b0 Merge remote-tracking branch 'origin/stable/3.0' 2017-05-09 20:39:35 -04:00
Donald Sharp e08dde01c5 *: Remove ability to install frr_sudoers
If the user were to uncomment last line
and allow VTYSH_SHOW to be used as a non-root
account, this would allow arbitrary command completion
inside of vtysh via multiple -c ... -c .... lines

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-05-09 16:19:48 -04:00
Donald Sharp 54c50210c9 debian: Mark FRR as conflicting with Quagga
FRR when compiled with this debian packaging will cause
some issue with the system to work properly due to the
sudoers file conflicts.

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

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-05-09 10:16:38 -04:00
Donald Sharp 82e6e35843 *: Rename debian.conf -> daemons.conf
The debian.conf file is to specific of a name towards
debian distributions.  Rename to be daemons.conf

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-05-04 12:45:01 -04:00
Donald Sharp adce2bc26a debian: Remove reference of cumulus directory
Use the tools/etc... directory for packaging now
not the cumulus/etc since it is going away

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-05-04 12:11:03 -04:00
Donald Sharp 22d289d393 *: Move the cumulus/etc/rt_protos.d/frr.conf
Moving cumulus/etc/rt_protos.d/frr.conf to tools/etc/rt_protos.d/frr.conf

Requested in Review.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-04-25 07:37:00 -04:00
Dinesh G Dutt 23b1f33451 Add source of route as protocol string in ip route pushed into kernel
Ticket: CM-14313
Reviewed By:
Testing Done: bgpmin, ospfmin, bgp_kitchen_sink_test

'ip route show' displays all routes as belonging to protocol zebra.
The user has to run an additional command (in vtysh) to get the actual
source of a route (bgp/ospf/static etc.). This patch addresses that by
pushing the appropriate protocol string into the protocol field of the
netlink route update message. Now you can see routes with the correct
origin as well as filter on them (ip route show proto ospf).

'ospf' is used for both IPv4 and IPv6 routes, even though the OSPF
version is different in both cases.

Sample output (old):
9.9.12.13 via 69.254.2.38 dev swp3.2  proto zebra  metric 20
9.9.13.3  proto zebra  metric 20
        nexthop via 69.254.2.30  dev swp1.2 weight 1
        nexthop via 69.254.2.34  dev swp2.2 weight 1
        nexthop via 69.254.2.38  dev swp3.2 weight 1

Sample output (new):
9.9.12.13 via 69.254.2.38 dev swp3.2  proto bgp  metric 20
9.9.13.3  proto bgp  metric 20
        nexthop via 69.254.2.30  dev swp1.2 weight 1
        nexthop via 69.254.2.34  dev swp2.2 weight 1
        nexthop via 69.254.2.38  dev swp3.2 weight 1
2017-04-20 21:24:31 -04:00
Donald Sharp 4952d0f0b0 *: Switchover to 3.1-dev
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-04-05 23:25:03 -04:00
Donald Sharp fa35a883c1 *: Switchover to 3.0
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-04-05 23:20:26 -04:00
David Lamparter 3e7c8d040c Merge branch 'stable/2.0'
Fixed minor conflicts from "defaults" change on stable.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2017-04-04 19:01:47 +02:00
Lou Berger d6180888fc Rename: freerangerouting --> frrouting
Signed-off-by: Lou Berger <lberger@labn.net>
2017-03-30 14:24:05 -04:00
Donald Sharp a492bccaca debian: Allow building the .deb to know about new dependency
libc-ares-dev and libc-ares2 are now dependencies to build nhrpd

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-03-10 13:02:09 -05:00
Martín Beauchamp 685e701ef3 Lowercase frr.conf 2017-03-09 09:45:00 -05:00
Martín Beauchamp e20dc2ba06 Lowercase frr.conf 2017-02-27 13:26:20 -05:00
Donald Sharp 3d85ffa58e debian: Fix to not auto-install snmp MIB
Only install the snmp MIB for zebra if we
are building the debian package with SNMP.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-02-09 11:52:48 -05:00
Donald Sharp 7df2e1c379 Merge remote-tracking branch 'origin/stable/2.0' 2017-02-07 13:20:12 -05:00
David Lamparter 3d04dc3854 ospfd: make libfrrospf a private non-dynamic lib
There's no point in installing libospf anymore, now that
libfrrospfclient doesn't link it.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2017-02-07 17:19:15 +01:00
Donald Sharp 50b05f3c3d *: Convert libospf -> libfrrospf
Convert the libospfapiclient -> libfrrospfapiclient
and libospf -> libfrrospf to prevent namespace
collision with Quagga.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-02-03 08:43:55 -05:00
Donald Sharp 55c7280315 *: Convert libzebra -> libfrr
The library libzebra that is installed with FRR will
conflict with Quagga.  So let's rename it to libfrr.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-02-03 08:29:13 -05:00
Donald Sharp 1a35e2e565 Merge remote-tracking branch 'origin/stable/2.0' 2017-02-02 10:42:51 -05:00
Donald Sharp eb8309c769 debian: Update version to 2.1
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-01-29 19:19:27 -05:00
Donald Sharp 8a2a37324c debian: Fix changelog so sbuild will work
Fix the changelog so a sbuild issued for the
creation of a .deb works.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-01-21 07:51:22 -05:00
Martin Winter 63a79ae1c2 Debian/Doc: Fix correct reference about FRR fork from Quagga
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2017-01-20 02:53:21 +07:00
Martin Winter 89ebfbb49d Doc: Update URL to freerangerouting.org
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2017-01-20 00:34:03 +07:00
Donald Sharp 3b14d86eed Merge remote-tracking branch 'origin/stable/2.0' 2017-01-06 09:58:21 -05: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 9473e34052 watchfrr: Rename watchquagga -> watchfrr
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-01-03 20:13:02 -05:00
Quentin Young 3bd20d8460 Merge branch 'cmaster-next' into vtysh-grammar
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>

Conflicts:
	zebra/interface.c
2016-11-22 21:36:54 +00:00
Donald Sharp 7fe3cf138f Merge remote-tracking branch 'origin/cmaster' into cmaster-next
Conflicts:
	debian/changelog
	zebra/zebra_rnh.c
2016-11-19 12:31:41 -05:00
Donald Sharp 8ceb45dc1c Cumulus: Fixup changelog and version string.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2016-11-11 19:31:05 -05:00
Quentin Young 476e95e3f3 Merge branch 'cmaster-next' into vtysh-grammar 2016-11-03 20:43:41 +00:00
Donald Sharp 73ea75daa5 Modify build version.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2016-10-28 20:44:12 -04:00
Quentin Young e52702f29d Merge branch 'cmaster-next' into vtysh-grammar
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>

Conflicts:
	bgpd/bgp_route.c
	bgpd/bgp_routemap.c
	bgpd/bgp_vty.c
	isisd/isis_redist.c
	isisd/isis_routemap.c
	isisd/isis_vty.c
	isisd/isisd.c
	lib/command.c
	lib/distribute.c
	lib/if.c
	lib/keychain.c
	lib/routemap.c
	lib/routemap.h
	ospf6d/ospf6_asbr.c
	ospf6d/ospf6_interface.c
	ospf6d/ospf6_neighbor.c
	ospf6d/ospf6_top.c
	ospf6d/ospf6_zebra.c
	ospf6d/ospf6d.c
	ospfd/ospf_routemap.c
	ospfd/ospf_vty.c
	ripd/rip_routemap.c
	ripngd/ripng_routemap.c
	vtysh/extract.pl.in
	vtysh/vtysh.c
	zebra/interface.c
	zebra/irdp_interface.c
	zebra/rt_netlink.c
	zebra/rtadv.c
	zebra/test_main.c
	zebra/zebra_routemap.c
	zebra/zebra_vty.c
2016-10-17 23:36:21 +00:00
Donald Sharp 9ad5ef406d debian: Disable build of vnc currently
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2016-10-03 08:25:33 -04:00
Quentin Young 844ec28cee Merge branch 'cmaster-next' into vtysh-grammar
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>

Conflicts:
	lib/.gitignore
	lib/command.c
	lib/command.h
2016-09-21 22:11:53 +00:00
Donald Sharp e544fa8509 debian: Update release information
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2016-09-09 14:42:59 -04:00
Quentin Young e61b63d180 debian: Add bison and flex to Build-Depends
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2016-08-10 15:08:14 +00:00
John Berezovik a79fb1aa76 Fix changelog to add maintainer info, build fails without it 2016-08-04 09:08:37 -07:00
Donald Sharp 473b996bfc quagga: Set version strings appropriately
Set the version strings to be correct for the upcoming
3.1 release of Quagga.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2016-08-02 04:54:45 -04:00
Donald Sharp 598a479fb3 debian: Remove pimd build object from packaging
We've disabled pimd, remove the build object
from our packaging.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Reviewed-by: Vivek Venkataraman <vivek@cumulusnetworks.com>
2016-07-26 13:32:52 -04:00
Donald Sharp 4f2125df1f debian: Disable pimd in cmaster-next
Turn off the building of pimd in cmaster-next.

Ticket: CM-12015
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Reviewed-by: Daniel Walton <dwalton@cumulusnetworks.com>
2016-07-26 12:42:28 -04:00
Donald Sharp 275382273b Merge remote-tracking branch 'origin/cmaster' into cmaster-next 2016-07-12 20:24:00 -04:00
Donald Sharp 03718c3d12 debian: Fix rules file
Fix the rules file to put back isis and vtysh

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2016-06-15 12:42:35 -04:00
Donald Sharp 4481b5b894 debian: Modifications to allow redhat to work properly
Modify the control files to allow redhat to build properly.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2016-06-15 07:36:41 -04:00
Donald Sharp 62cd657cdd cumulus: Changes to make this code work for redhat
Modify code base to allow rpm building.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2016-06-15 07:36:41 -04:00
Donald Sharp 909344ea40 debian: Remove obsoleted configure options.
configure.ac has moved on, catch debian up
with it.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2016-06-15 07:36:41 -04:00
Donald Sharp 803d367ed1 debian: Modifications to allow redhat to work properly
Modify the control files to allow redhat to build properly.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2016-06-14 08:15:48 -04:00
Donald Sharp 183843cd53 cumulus: Changes to make this code work for redhat
Modify code base to allow rpm building.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2016-06-14 08:15:48 -04:00
Donald Sharp eb7958b97c debian: Remove obsoleted configure options.
configure.ac has moved on, catch debian up
with it.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2016-06-10 09:18:19 -04:00
Daniel Walton 5d1a88075a "quagga reload" needs python-ipaddr, but it isn't a pkg dependency
Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
Reviewed-by:   Donald Sharp <sharpd@cumulusnetworks.com>

Ticket: CM-10563
2016-06-02 04:49:57 -07:00
Donald Sharp 705d6afb05 debian: Add pimd to logrotate script
Add pimd to the log rotate script so that the USR1 signal
can be sent to pimd to tell it to rotate the log.

Ticket: CM-11253
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2016-05-26 19:41:58 -04:00
Donald Sharp f02ebfde40 debian: Add test_igmpv3_join to packaging
Add the test_igmpv3_join program to packaging.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2016-05-26 19:21:20 -04:00
Donald Sharp 11364de510 Fixup of Code to allow pimd to actually run on startup
Fixup of various control files to allow quagga to startup
properly with pimd actually part of the set
2016-05-25 20:38:33 -04:00
Donald Sharp dc1810914c debian: Fix changelog
Fixup Changelog

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2016-05-10 15:06:14 -04:00
Donald Sharp 0904161c46 debian: Update changelog
Fix the changelog to show what we are releasing

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2016-05-06 11:06:37 -04:00
Donald Sharp 9e19d39a76 debian: Debian fixups
This commit does two things:

1)  Fixes package name to have ...+cl3u1
2)  Allows the build to determine if we are building
a debian package on a init.d or systemd style system
and to do the right thing.
3)  Fixed quagga service file naming

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Reviewed-by: Dave Olson <olson@cumulusnetworks.com>
Reviewed-by: Don Slice <dslice@cumulusnetworks.com>
Reviewed-by: Daniel Walton <dwalton@cumulusnetworks.com>
2016-05-02 08:23:05 -04:00
Donald Sharp 35dab95b76 debian: Attempt to fix parrelization
This commit fixes some quagga build issues such
that you can now use -j in your sbuild line.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Signed-off-by: Jon Toppins <toppins@cumulusnetworks.com>
2016-04-27 16:04:59 -04:00
Donald Sharp 651415bd61 quagga: Fixup startup to allow consistency between sysV and systemd
We want the ability to start up quagga in a varied set of
environments.  This needs to be done in SysV and systemd
startups.  As such refactor the code to allow us to
allow end users to easily switch between the two

sysV:
edit the /etc/quagga/daemons file
service quagga [start|stop|reload|restart]

Systemd:
edit the /etc/quagga/daemons file
systemctl [start|stop|reload|restart] quagga

Ticket: CM-10634
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Reviewed-by: Daniel Walton <dwalton@cumulusnetworks.com>
2016-04-27 16:04:48 -04:00
Donald Sharp 317c1004ee debian: Remove /usr/bin/quagga from distribution
We've decided to remove /usr/bin/quagga from
the quagga packaging.  It was only going
to confuse the end user.

Ticket: CM-10456
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Reviewed-by: Don Slice <dslice@cumulusnetworks.com>
2016-04-15 15:13:13 -04:00
Donald Sharp fd8155c046 debian: Add the creation of the quagga user to quaggavty group
The creation of the quagga user was not the only place
to add the quagga user to the quaggavty group.  If
we are reinstalling quagga over a old version of
code then we need to check to see if the quagga
user is in the quaggavty and do the right thing.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Reviewed-by: Dave Olson <olson@cumulusnetworks.com>
2016-04-13 07:21:44 -04:00
Donald Sharp 5e060ec5e8 debian: Modify preinst to add quagga user to quaggavty group
The quagga user was not being added to the quaggavty group.
Modify the user creation to add this step.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2016-04-08 19:42:00 -04:00
Donald Sharp e768b96bf3 debian: Add ability to call reload from systemctl
Add the ability to call 'systemctl reload <daemon>'.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Reviewed-by: Don Slice <dslice@cumulusnetworks.com>
2016-04-07 11:06:13 -04:00
Donald Sharp c9955087cf doc: Update man page for Quagga systemctl script
Create the man page for the quagga systemctl script.

Ticket: CM-9748
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Reviewed-by: Don Slice <dslice@cumulusnetworks.com>
2016-03-10 08:38:30 -05:00
Donald Sharp f879bbf456 debian: Turn on Poll usage
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2016-03-04 12:33:57 -05:00
Donald Sharp 3de8e929db debian: Fixup install location of quagga
Fix the install location of the quagga script
to /usr/bin/quagga.

Additionally reset restart controls to a more
normal level in the service files.

Ticket: CM-9492
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Reviewed-by: Daniel Walton <dwalton@cumulusnetworks.com>
2016-03-03 10:25:36 -05:00
Donald Sharp 54046401ad debian: Remove some unnecesary files from debian directory.
The daemons file is no longer needed as well as the debian.conf
file.  They have been subsumed by the systemd initialization
methodology.

Ticket: CM-9581
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Reviewed-by: Daniel Walton <dwalton@cumulusnetworks.com>
2016-03-01 13:12:22 -05:00
Donald Sharp 9b155c8b8f debian: Fixup removal of .pid and .vty files
The <daemon>.pid and <daemon>.vty files were not being
removed on shutdown.  This was causing issues w/
logrotate becaue it depends on pid files being correct
about what is running in order to not error out.

Fixed some additional debugs accidently left in the quagga
script.

Ticket: CM-9293
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Reviewed-by: Daniel Walton <dwalton@cumulusnetworks.com>
2016-02-23 15:06:59 -05:00
sharpd df44cf0032 debian: Revamp startup again
Remove quagga.service, it was a bad idea culminating in a
series of mistakes.

Replaced with /usr/lib/quagga/quagga script.

Use this script to start/stop quagga as a whole.

Ticket: CM-9445
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Reviewed-by: Daniel Walton <dwalton@cumulusnetworks.com>
Reviewed-by: Dave Olson <olson@cumulusnetworks.com>
2016-02-23 08:54:01 -08:00
Donald Sharp 69593b97df Merge branch 'cmaster' of ssh://stash.cumulusnetworks.com:7999/quag/quagga into cmaster 2016-02-23 07:48:00 -05:00
Donald Sharp 000cf1fb35 debian, config, zebra: Ensure Cumulus Extensions are not auto turned on
There exist cases where Cumulus Code( in this case code surrounding
when we want to send Router Advertisements ) should only be
turned on for Cumulus Switches.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2016-02-23 07:46:54 -05:00
sharpd cbf98b0240 debian: Fixup 'systemctl restart quagga'
The ability to restart was just restarting all daemons.
Modify code so that only daemons running *or* enabled are
started.

Ticket: CM-9384
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2016-02-21 15:39:10 -08:00
sharpd 86894a2eb1 debian: Fix up some issues Dave pointed out and Fix Multi-Instance OSPF
Address some start/stop issues that Dave has pointed out, in addition add
the ability to work with multi-instance ospf.

Ticket: CM-9298
Reviewed-by: Dave Olson
Testing: By hand and passed to Atul for further testing
2016-02-16 05:16:43 -08:00
sharpd 625000a91e debian: Add reload ability
Add the ability to issue 'systemctl reload quagga'
and for it to reload the quagga configuration.

Ticket: CM-9286
Reviewed-by: Daniel Walton
Testing: Manual
2016-02-12 07:33:58 -08:00
sharpd 391e92cd40 debian: Temporary fix to get quagga services running
Modify quagga startup control files to allow
for temporary startup while we iron out the
network.target details

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2016-02-12 07:33:56 -08:00
Daniel Walton 41d9cc6a65 quagga: remove babel
Ticket: CM-9274
Reviewed By: sharpd@cumulusnetworks.com
Testing Done:

<DETAILED DESCRIPTION (REPLACE)>
2016-02-11 08:55:24 -08:00
Daniel Walton f87adf0a5f Build was broken if systemd was not installed
Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
Reviewed-by:   Donald Sharp <sharpd@cumulusnetworks.com>
2016-02-10 20:47:05 +00:00
Donald Sharp 858aa29c68 debian: Add Systemd integration to control files
Ticket:
Reviewed By: inprogress
Testing Done: minimal.  Built, installed, started a few services.

This is in progress testing.  quagga.service tries to start and stop
all the routing daemons.  There is no check for whether they are enabled
via /etc/quagga/daemons (yet).

As installed, nothing is enabled (won't start on system boot or install).

The -A 127.0.0.1 is now in /etc/default/quagga, and picked up from there
by all routing daemons.

MAX_FDS is in all the service files for now as LimitNOFILE.  Users who
need to modified the number of fd's will use e.g.
the file /etc/systemd/system/bgpd.service.d/maxfds.conf to override
bgpd.service contents
    [Service]
    LimitNOFILE=2048

MAX_INSTANCES isn't implemented yet.

reload isn't implemented yet (it should be possible via ExecReload
in the services, just not done yet).

The init.d file is removed.

All of the daemons are started without the -d/--daemonize option, and
use Type=simple rather than forking in the services file, to use the
systemd daemonizing.

All the daemons were set to have a 1m start time, and restart up to 3
times in 3 minutes, and for now, are only restart on-abnormal, not always
(we'll likely want the latter, but testing is easier with abnormal).

Also use tmpfiles.d to create /run/quagga

For now, we leave dh_installinit, even though it creates unneeded
update-rc.d calls, and causes lintian complaints about init.d files
that aren't present, so that it installs files like etc/default/quagga.
It also runs the tmpfiles.d commands for us, so we need to add those to
postinst if we dummy it out to fix the update-rc.d lines being added
(and lintian complaints).

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2016-02-10 15:11:15 -05:00
Donald Sharp a5ac78cfea debian: Remove 'Do you want to stop Quagga' Question
During the upgrade process of quagga, the user is asked
if they would like to stop quagga.  There is no point in
asking this question.  The fact that you are upgrading
means you are willing for a service interruption.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2016-02-03 14:44:56 -05:00
Donald Sharp 90fb3e1389 debian: Use 256 multipaths
Turn on the ability for Quagga to use 256 multipaths

Ticket: CM-8098
Reviewed-by: Daniel Walton and Don Slice
Testing: Hand tested
2016-01-27 08:28:14 -08:00
Donald Sharp d4573a1274 debian: Remove unnecessary dependency on cl-utilties
The cl-utilities dependency were causing issues in two situations:

A) The cl-utilities package name has been changed but the quagga
cmaster branch was being built on two different branches, one
with the old name, one with the new name

B) People installing quagga on non-cumulus switches were experiencing
issues due to cl-utilities not being installed.  This was especially
true if they built quagga from our source code.  We only need
cl-utilities for the startt-stop-daemon wrapper so that we could
have jdoo watch watchquagga.  This is not a big deal if people are
missing this.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2015-12-15 17:24:26 -08:00