-
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 Pseudowire management in Zebra #724
Conversation
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: FailedFedora24 amd64 build: Successful OpenBSD60 amd64 build: FailedMake failed for OpenBSD60 amd64 build:
OpenBSD60 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-952/artifact/CI011BUILD/config.status/config.status |
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: FailedFreeBSD10 amd64 build: Successful OpenBSD60 amd64 build: FailedMake failed for OpenBSD60 amd64 build:
OpenBSD60 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-964/artifact/CI011BUILD/config.status/config.status |
When Zebra receives a PW from ldpd, it tries to install it in kernel and in case of failure notifies back to ldpd daemon and enqueues the PW for retry. The installation to kernel is not yet implemented as Linux kernel doesn't have support for it yet. It will be done through a module hook, so it can be outsourced to a remote dataplane. Signed-off-by: ßingen <[email protected]> Signed-off-by: Renato Westphal <[email protected]>
Implicit-null labels are never installed in the FIB but we need to keep track of them because of L2/L3 VPNs nexthop resolution. Signed-off-by: Renato Westphal <[email protected]>
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: FailedUbuntu1404 amd64 build: Successful OpenBSD60 amd64 build: FailedMake failed for OpenBSD60 amd64 build:
OpenBSD60 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-965/artifact/CI011BUILD/config.status/config.status |
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: FailedUbuntu1404 amd64 build: Successful OpenBSD60 amd64 build: FailedMake failed for OpenBSD60 amd64 build:
OpenBSD60 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-966/artifact/CI011BUILD/config.status/config.status |
Signed-off-by: Renato Westphal <[email protected]>
It doesn't make sense to set RIB_ENTRY_NEXTHOPS_CHANGED outside zebra_rib.c because this flag is always cleared and reevaluated in the rib_process() function. With that said, define a new flag to indicate that the MPLS labels of a nexthop have been changed. Then translate this flag into RIB_ENTRY_NEXTHOPS_CHANGED in the nexthop_active_update() function. This allows the NHT code to detect when labels are added/removed from a nexthop and notify its clients accordingly. Signed-off-by: Renato Westphal <[email protected]>
Nexthop tracking allows ldpd to ensure that the nexthop of a pseudowire resolves into an MPLS LSP and only then activate it. Also, whenever the nexthop resolution for a pseudowire changes, check if it needs to be updated/installed/uninstalled in the kernel/hardware. Signed-off-by: Renato Westphal <[email protected]>
Signed-off-by: Renato Westphal <[email protected]>
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: FailedIPv4 ldp protocol on Ubuntu 16.04: Successful Topology tests on Ubuntu 16.04 amd64: FailedTopology Test Results are at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-TOPOU1604-968/test Topology Tests failed for Topology tests on Ubuntu 16.04 amd64 Topology Tests memoy analysis: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-968/artifact/TOPOU1604/MemoryLeaks/CLANG Static Analyzer Summary
No Changes in Static Analysis warnings compared to base132 Static Analyzer issues remaining.See details at |
Signed-off-by: ßingen <[email protected]>
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 amd64: FailedTopology Test Results are at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-TOPOU1604-971/test Topology Tests failed for Topology tests on Ubuntu 16.04 amd64 Topology Tests memoy analysis: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-971/artifact/TOPOU1604/MemoryLeaks/CLANG Static Analyzer Summary
No Changes in Static Analysis warnings compared to base132 Static Analyzer issues remaining.See details at |
Based on discussion Renato had with Bingen, Bingen is expected to send new PR to replace this one |
Replaced by #783 |
When Zebra receives a PW from ldpd, it tries to install it in kernel and
in case of failure notifies back to ldpd daemon and enqueues the PW for
retry.
The installation to kernel is not yet implemented as Linux kernel
doesn't have support for it yet. It will be done through a module hook,
so it can be outsourced to a remote dataplane.
Support for OpenBSD's pseudowires and Nexthop tracking for PWs are added too.