Commit Graph

9556 Commits

Author SHA1 Message Date
Donald Sharp
019a82cbbc zebra: Allow zebra_find_client to match on instance as well
zebra_find_client needs to match on instance as well so
protocols like ospfd will work correctly for notification.

Modify the zebra_find_client code to accept the instance
number and to pass it in appropriately.

Signed-off-by: Doanld Sharp <sharpd@cumulusnetworks.com>
2017-11-27 09:25:32 -05:00
Donald Sharp
8a71d93d85 sharpd: Add Super Happy Advanced Routing Protocol
Add a daemon that will allow us to test the zapi
as well as test route install/removal times from
the kernel.

The current commands are:

install route <starting ip address> nexthop <nexthop> (1-1000000)

This command starts installing at <starting ip address>/32
(1-100000) routes that it auto-increments by 1
Installation start time is noted in the log and finish
time is noted as well.

remove routes <starting ip address> (1-1000000)

This command removes routes at <starting ip address>/32
and removes (1-100000) routes created by the install route
command.

This code can be considered experimental and *is not*
something that should be run in a production environment.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-11-27 09:16:30 -05:00
Donald Sharp
ca890872db eigrpd: Start conversion to use route install failure callback
EIGRP must not advertise routes that have failed to install.
This commit turns on the notification for EIGRP.  We still
need to start handling this correctly.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-11-27 09:09:36 -05:00
Donald Sharp
2063a81497 zebra: Add notification for Route Install events
When we are installing into the kernel, not the
change points for notification to a higher level
protocol and make it happen

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-11-27 09:09:36 -05:00
Donald Sharp
e1a1880de3 *: Make zapi route install Notifications optional
Allow the higher level protocol to specify if it would
like to receive notifications about it's routes that
it has installed.

I've purposely made it part of zclient_new_notify because
we need to track the routes on a per daemon basis only.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-11-27 09:09:35 -05:00
Donald Sharp
7ea7b86e2b lib, zebra: Add ability to notify to Routing Protocols Success/Failure
Provide ZAPI code that can pass to an upper level protocol
what happened to it's route on install.

There are these notifications:
1) ZAPI_ROUTE_FAIL_INSTALL - The route attempted to be
   installed did not work.
2) ZAPI_ROUTE_BETTER_ADMIN_WON - A route that was installed
   has become un-installed due to another routing protocol
   installing a better admin distance
3) ZAPI_ROUTE_INSTALLED - The route specified has been installed

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-11-27 09:09:32 -05:00
Renato Westphal
6d1ac638f6
Merge pull request #1473 from chiragshah6/ospfv3_dev
ospfd: Make external routes in ospf VRF aware
2017-11-23 10:17:37 -02:00
Renato Westphal
1939b1949c
Merge pull request #1463 from donaldsharp/v6_route_replace
zebra: V6 does not have route replace semantics
2017-11-23 10:13:50 -02:00
Renato Westphal
67f1e3aa18
Merge pull request #1434 from dslicenc/zebra-nexthop-cm8192
zebra: fix resolving nexthop through itself
2017-11-23 10:13:18 -02:00
Don Slice
6f593e8003 zebra: slight mods to commit for nexthop resolution with /32 nexthop
Contains minor changes in response to code review comments.

Signed-off-by: Don Slice <dslice@cumulusnetworks.com>
2017-11-22 16:25:44 +00:00
Renato Westphal
fcaae8e4ec
Merge pull request #1474 from qlyoung/foreach_afi_safi
bgpd: use FOREACH_AFI_SAFI where possible
2017-11-22 13:54:30 -02:00
Chirag Shah
de1ac5fd63 ospfd: Make external routes in ospf VRF aware
Currently, ospf external routers are part of struct
ospf_master which is not vrf aware ospf instance.
All ospf external routes are injected/leaked into all
vrfs.

Moved ospf external routes db to struct ospf to make
vrf aware, such one external routes learnt in one vrf
is not leaked into another vrf.

Ticket:CM-18855
Testing Done:
Inject external route in non-default vrf x, validated
ospf database across the vrf x, validated ospf routes
for vrf x.

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
2017-11-21 11:23:08 -08:00
Quentin Young
05c7a1cc93
bgpd: use FOREACH_AFI_SAFI where possible
Improves consistency and readability.

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2017-11-21 13:02:06 -05:00
Olivier Dugeon
a09b30c108
Merge pull request #1430 from chiragshah6/ospf_vrf_dev
ospfd: flush self-originated LSAs upon Router-ID change/Restart frr
2017-11-21 18:08:54 +01:00
Renato Westphal
859dd94575
Merge pull request #1452 from donaldsharp/rip_nexthops
Blackhole Fixups for bgp and rip
2017-11-21 14:05:19 -02:00
Rafael Zalamena
9f1cac598a
Merge pull request #1413 from donaldsharp/bgp_packet_test
tests: Add code to allow us to test packet handling in bgp easier
2017-11-21 12:53:31 -02:00
Renato Westphal
88aa65f849
Merge pull request #1470 from donaldsharp/zebra_multicast
Zebra multicast
2017-11-21 12:50:46 -02:00
Lou Berger
02b5275b17
Merge pull request #1462 from donaldsharp/as_path_stuff
Json Stuff
2017-11-21 20:41:39 +08:00
Renato Westphal
133d8c61ff
Merge pull request #1387 from donaldsharp/save_zserv_incoming
configure, zebra: Add some debug code to allow for fuzzing
2017-11-21 09:06:06 -02:00
Martin Winter
5ea26b1dfe
Merge pull request #1375 from donaldsharp/make_dist
ldpd, zebra: Allow clippy files to be included in dist
2017-11-20 18:14:14 -08:00
Donald Sharp
d6792f9d7d zebra: When uninstalling a non-unicast route mark it so
The rib_uninstall_kernel for non-UNICAST routes when
it is marking a route as no-longer installed should
actually mark it as uninstalled.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-11-19 19:47:32 -05:00
Donald Sharp
fba31af2b5 zebra: Fix 'show ip rpf' to actually work
Rework of do_show_ip_route caused the 'show ip rpf'
cli to stop working.  This put's it back into working
order.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-11-19 19:47:32 -05:00
Donald Sharp
6553dce5cb
Merge pull request #1466 from opensourcerouting/debpkg-master
Debian Package to Backport Change
2017-11-18 13:49:45 -05:00
Martin Winter
32ef7bd1ef debianpkg: Update lintian-overrides
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2017-11-17 17:55:34 -08:00
Martin Winter
34174cc24a debpkg: Files from cumulus dir are moved to tools
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2017-11-17 17:55:34 -08:00
Martin Winter
4d86709988 Makefile.am: Fix Merge error - missing char
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2017-11-17 17:55:34 -08:00
Martin Winter
dd54a26c58 doc: Adding Doc for building on Debian 9
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2017-11-17 17:55:33 -08:00
Martin Winter
6b4ccdcc8c debianpkg: Add debian9 backport to distribution tar
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2017-11-17 17:55:33 -08:00
Martin Winter
0d14a9ef65 debianpkg: Add Debian 9 Package support
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>

Conflicts:
	debianpkg/changelog.in
2017-11-17 17:55:33 -08:00
Martin Winter
2723229195 debianpkg: Fix non-empty-dependency_libs-in-la-file for frr modules
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2017-11-17 17:55:33 -08:00
Martin Winter
4c2db6ed68 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>
2017-11-17 17:55:33 -08:00
Martin Winter
23b53dca77 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>
2017-11-17 17:55:33 -08:00
Martin Winter
979bf74e97 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>
2017-11-17 17:55:33 -08:00
Martin Winter
dd8fdd6524 debianpkg: Add missing XSBC-Original-Maintainer field (fixes merge error)
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2017-11-17 17:55:33 -08:00
Martin Winter
f35aefae62 debianpkg: Fix some old references to freerangerouting instead of frrouting 2017-11-17 17:55:33 -08:00
smccroskey
4ef6ea4c5c 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>
2017-11-17 17:55:33 -08:00
smccroskey
02f6c83e98 ubuntu trusty/precise: remove leftover debconf call
Forgot to unstash this when attempting to rebase it into
1e6df75491.

Signed-off-by: Silas McCroskey <smccroskey@cumulusnetworks.com>
2017-11-17 17:55:33 -08:00
smccroskey
77fa3fc2e2 debianpkg/Makefile.am: remove frr.config
File was removed by 1e6df75491
but missed removing it from the Makefile.am.

Signed-off-by: Silas McCroskey <smccroskey@cumulusnetworks.com>
2017-11-17 17:55:32 -08:00
smccroskey
77c9fc4239 debianpkg/Makefile.am: remove po/ directory
Directory was removed by 1e6df75491 but
missed removing it from the Makefile.am.

Signed-off-by: Silas McCroskey <smccroskey@cumulusnetworks.com>
2017-11-17 17:55:32 -08:00
smccroskey
e84b5a2a72 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>
2017-11-17 17:55:32 -08:00
smccroskey
ed560eac03 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>
2017-11-17 17:55:32 -08:00
smccroskey
3ea411bc80 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>
2017-11-17 17:55:32 -08:00
smccroskey
c650c681f6 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>
2017-11-17 17:55:32 -08:00
smccroskey
f2d56ccb40 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>
2017-11-17 17:55:32 -08:00
Martin Winter
8fead0c53f debianpkg: Overriding lintian package-name-doesnt-match-sonames warning
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2017-11-17 17:55:32 -08:00
Silas McCroskey
54ac077d42 debianpkg: Fix 'make backports' warning about autopkgtest
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2017-11-17 17:55:32 -08:00
Martin Winter
f3dbd03c7f debianpkg: Move frr-reload.py to frr-pythontools subpackage
- avoids python dependency on main frr package

Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2017-11-17 17:55:32 -08:00
Martin Winter
2c8f80ee3a 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>
2017-11-17 17:55:32 -08:00
Martin Winter
e27971ebf8 debianpkg: Fix description (make shorter - max 80 chars)
- Fixes lintian error 'description-too-long'

Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2017-11-17 17:55:32 -08:00
Martin Winter
5eee7099c8 debianpkg: Support --with-pkg-extra-version and other modifier to build custom package version
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2017-11-17 17:55:31 -08:00