-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add source of route as protocol string in ip route pushed into kernel #384
Conversation
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
I had originally submitted this against stable/2.0 but @eqvinox wisely pointed out that it was a new feature and we were attempting to stabilize the code. So now time to circle back around and get this into master |
Continous Integration Result: FAILEDSee below for issues. This is a comment from an EXPERIMENTAL automated CI system. Get source and apply patch from patchwork: SuccessfulBuilding Stage: SuccessfulBasic Tests: FailedStatic analyzer (clang): Successful Topology tests on Ubuntu 16.04: FailedTopology tests on Ubuntu 16.04: Unknown Log |
Just looking at the error (see https://ci1.netdef.org/browse/FRR-FRRPULLREQ-TOPOU1604-494): It seems the Linux Routing table shows Please let me know if this isn't an error and the Topotests should accept it. |
Put cumulus/etc/iproute2/ip_protos.d/frr.conf in /etc/iproute2/ip_protos.d/ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is less of a technical request, so feel free to bring this up at next technical call for discussion if you disagree.
I always thought (and many other comments I've heard) is that the cumulus subdirectory should be cumulus specific changes and we may decide to remove this directory at a later stage. So I really don't like adding anything new to it, specially not etc/iproute2/rt_protos.d/frr.conf
which (in my mind) isn't cumulus specific and should be somewhere else.
My request is to move this file to an appropriate location outside the cumulus directory.
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>
Continous Integration Result: FAILEDSee below for issues. This is a comment from an EXPERIMENTAL automated CI system. Get source and apply patch from patchwork: SuccessfulBuilding Stage: FailedNetBSD6 amd64 build: Successful Ubuntu1404 amd64 build: FailedPackage building failed for Ubuntu1404 amd64 build:
Ubuntu1404 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-511/artifact/CI001BUILD/config.status/config.status Ubuntu1604 amd64 build: FailedPackage building failed for Ubuntu1604 amd64 build:
Ubuntu1604 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-511/artifact/CI014BUILD/config.status/config.status Ubuntu1204 amd64 build: FailedPackage building failed for Ubuntu1204 amd64 build:
Ubuntu1204 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-511/artifact/CI002BUILD/config.status/config.status |
I've tested to adjust the package to get this working, but in my case it fails when I copy the This is as tested/seen with Ubuntu 16.04 (iproute2 4.3.0-1ubuntu3) As I'm not very familiar with adding extra protocols to iproute2, can you check how/where this needs to be correctly installed? |
Just found the issue. Directory is called Unless there is a better idea, I'm just going to install to The real solution can be done by whoever builds the proper debian package in the future. |
Continous Integration Result: SUCCESSFULCongratulations, this patch passed basic tests Tested-by: NetDEF / OpenSourceRouting.org CI System CI System Testrun URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-521/ This is a comment from an EXPERIMENTAL automated CI system. |
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