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>
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>
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>
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>
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>
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>
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>
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>
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>
- 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>
- 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>
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>
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>
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>
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>
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>
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>
- 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>