-
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
Mpls #342
Mpls #342
Conversation
Implement static label binding of a label to a prefix (FEC). Note: Currently, only binding to a prefix is supported, the nexthop and/or other parameters are not considered. This was cherry-picked by hand from an earlier mpls branch. Signed-off-by: Don Slice <dslice@cumulusnetworks.com>
Implement interface that allows a client to register a FEC for obtaining a label binding (in-label). Update client whenever the label binding is updated and cleanup when client goes away. Signed-off-by: Don Slice <dslice@cumulusnetworks.com>
Add information about AFI/SAFI to updates - received and sent. Signed-off-by: Don Slice <dslice@cumulusnetworks.com>
Support install of labeled-unicast routes by a client. This would be BGP, in order to install routes corresponding to AFI/SAFI 1/4 (IPv4) or 2/4 (IPv6). Convert labeled-unicast routes into label forwarding entries (i.e., transit LSPs) when there is a static label binding. Signed-off-by: Don Slice <dslice@cumulusnetworks.com>
Internal and IANA definitions for labeled-unicast SAFI. Note that this SAFI is specific to BGP and maps to the corresponding unicast SAFI in Zebra. Signed-off-by: Don Slice <dslice@cumulusnetworks.com>
Implement support for activating the labeled-unicast address family in BGP and relevant configuration for this address family. Signed-off-by: Don Slice <dslice@cumulusnetworks.com>
Implement support for negotiating IPv4 or IPv6 labeled-unicast address family, exchanging prefixes and installing them in the routing table, as well as interactions with Zebra for FEC registration. This is the implementation of RFC 3107. Signed-off-by: Don Slice <dslice@cumulusnetworks.com>
Implement 'show' and 'clear' commands for the labeled-unicast address-family. Signed-off-by: Don Slice <dslice@cumulusnetworks.com>
Implement BGP Prefix-SID IETF draft to be able to signal a labeled-unicast prefix with a label index (segment ID). This makes it easier to deploy global MPLS labels with BGP, even without other aspects of Segment Routing implemented. This patch implements configuration of the global label block (SRGB) and configuration of a label-index for a network in BGP. Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
…index attr Implement BGP Prefix-SID IETF draft to be able to signal a labeled-unicast prefix with a label index (segment ID). This makes it easier to deploy global MPLS labels with BGP, even without other aspects of Segment Routing implemented. Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
Implement BGP Prefix-SID IETF draft to be able to signal a labeled-unicast prefix with a label index (segment ID). This makes it easier to deploy global MPLS labels with BGP, even without other aspects of Segment Routing implemented. This patch implements the handling of the BGP-Prefix-SID Label Index attribute. When received from a peer and the index is acceptable, the local label is picked up from the SRGB and is programmed as the incoming label as well as advertised to peers. If the index is not acceptable, no local label is assigned. The outgoing label will always be the one advertised by the downstream neighbor. Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
With the some current bgp drafts the Attribute number has surpassed 32. Which is a bit unfortunate in that we keep track of the attributes via a bitfield based on the attribute #. For the moment since I am not aware of Attribute #'s being greater than 64, convert the flag to 64 bit and allow the bit shifting to know about it. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
The draft-ietf-idr-bgp-prefix-sid-04 specifies the label attribute should be 40 not 30. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
flags is set but never used. Since we plan to use it in the future, make it evident what is going on here. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Just make it one function call Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com.
Labeled-unicast updates were being sent with an ipv6 nexthop due to not setting the mp_nexthop_len or nh_afi. On the receive side, the prefix length was being incorrectly determined and has been fixed. Also the stream for bgp_label_buf was not created. All resolved. Ticket: CM-15260 Signed-off-by: Don Slice <dslice@cumulusnetworks.com> Reviewed-by:
Signed-off-by: Don Slice <dslice@cumulusnetworks.com> Reviewed-by: Donald Sharp <sharpd@cumulusnetworks.com>
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
The function zebra_mpls_lsp_label_consistent needs to be wrappered by HAVE_CUMULUS 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: FailedDebian8 amd64 build: FailedMake failed for Debian8 amd64 build:
Debian8 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-444/artifact/CI008BLD/config.status/config.status FreeBSD11 amd64 build: FailedMake failed for FreeBSD11 amd64 build:
FreeBSD11 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-444/artifact/CI009BUILD/config.status/config.status 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-444/artifact/CI011BUILD/config.status/config.status NetBSD6 amd64 build: FailedMake failed for NetBSD6 amd64 build CentOS7 amd64 build: FailedMake failed for CentOS7 amd64 build:
CentOS7 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-444/artifact/CI005BUILD/config.status/config.status Fedora24 amd64 build: FailedMake failed for Fedora24 amd64 build:
Fedora24 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-444/artifact/CI015BUILD/config.status/config.status OmniOS amd64 build: FailedMake failed for OmniOS amd64 build:
OmniOS amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-444/artifact/CI010BUILD/config.status/config.status CentOS6 amd64 build: FailedMake failed for CentOS6 amd64 build:
CentOS6 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-444/artifact/CI006BUILD/config.status/config.status NetBSD7 amd64 build: FailedMake failed for NetBSD7 amd64 build FreeBSD9 amd64 build: FailedMake failed for FreeBSD9 amd64 build Ubuntu1604 amd64 build: FailedUbuntu1604 amd64 build: Unknown Log <log_make_dist.txt> Ubuntu1204 amd64 build: FailedMake 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-444/artifact/CI002BUILD/config.status/config.status FreeBSD10 amd64 build: FailedMake failed for FreeBSD10 amd64 build:
FreeBSD10 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-444/artifact/CI003BUILD/config.status/config.status Ubuntu1404 amd64 build: FailedMake 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-444/artifact/CI001BUILD/config.status/config.status |
No description provided.