IP Library Granted Patent US 12,199,866
Granted Patent B2
US 12,199,866 · App. 17/486,546 · Granted Jan 14, 2025

Encoding end-to-end tenant reachability information in border gateway protocol (BGP) communities

Inventors: Jon Langemak (Rockford, MN); Christopher Blair Murray (Surrey, CA); Kyle Andrew Donald Mestery (Woodbury, MN)
Assignee: Cisco Technology, Inc.
H04L45/74H04L12/4633H04L12/4641H04L41/0816H04L41/0853H04L45/02H04L45/04H04L45/22H04L45/30H04L45/42H04L45/50H04L45/586H04L45/741H04L45/745H04L67/51
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,199,866
App. No.
17/486,546
Granted
Jan 14, 2025
Kind
B2
Abstract

Techniques for using global virtual network instance (VNI) labels in a multi-domain network to route network data with a multi-tenant network overlay are described herein. A routing device provisioned in a network domain of the multi-domain network may register with a service discovery system of the network domain for use of network configuration data to establish routes through the multi-domain network with network nodes. Each network domain of the multi-domain network may include an application programming interface (API) server for processing API requests to make changes to configurations of a network domain. A border gateway protocol (BGP) large community may be utilized to encode global VNI labels, network addresses, local next hop nodes, and/or additional network information and sent to routing devices provisioned in separate network domains. A service chain may be signaled by global VNI labels to route network traffic through various services prior to reaching a destination endpoint.

Claims (62)

1. A method comprising:

determining, by a first router of a first network domain associated with a multi-domain network, that a first tenant node is associated with the first router;

generating a first border gateway protocol (BGP) large community for the first tenant node;

encoding, into a first portion of the first BGP large community, a first global virtual network instance (VNI) label identifying the first tenant node;

encoding, into a second portion of the first BGP large community, a first address of a first tunnel endpoint associated with the first router;

generating a BGP advertisement packet including at least the first BGP large community encoded with the first global VNI label and the first address; and

sending the first BGP advertisement packet to a second network domain associated with the multi-domain network.

2. The method of claim 1 , wherein the BGP advertisement packet further includes one or more second BGP large communities associated with one or more second tenant nodes that are associated with the first router, wherein the one or more second BGP large communities are encoded with one or more second global VNI labels associated with the one or more second tenant nodes and the first address.

3. The method of claim 1 , wherein the multi-domain network is a virtual network, and the method further comprising encoding, into a third portion of the first BGP large community, an indication of a VNI type of the virtual network.

4. The method of claim 3 , wherein the VNI type indicates that the address of the first tunnel endpoint includes an indication of an Internet Protocol version 6 (IPv6) address.

5. The method of claim 1 , further comprising:

receiving, from a second router of the second network domain, a second BGP advertisement packet including a second BGP large community; and

storing, in a database associated with the first router, the second BGP large community in association with the second router of the second network domain.

6. The method of claim 5 , further comprising:

determining, based at least in part on the second BGP large community, a second address of a second tunnel endpoint associated with the second router; and

establishing a network tunnel connecting the first tunnel endpoint to the second tunnel endpoint.

7. The method of claim 6 , further comprising at least one of:

routing first data from the first tunnel endpoint and to the second tunnel endpoint based at least in part on the network tunnel; and

routing second data to the first tunnel endpoint and from the second tunnel endpoint based at least in part on the network tunnel.

8. A system comprising:

one or more processors; and

one or more computer-readable media storing computer-executable instructions that, when executed by the one or more processors, cause the one or more processors to perform operations comprising:

determining, by a first router of a first network domain associated with a multi-domain network, that a first tenant node is associated with the first router;

generating a first border gateway protocol (BGP) advertisement packet including a first BGP large community for the first tenant node;

encoding, into a first portion of the first BGP large community, a first global virtual network instance (VNI) label associated with identifying the first tenant node;

encoding, into a second portion of the first BGP large community, a first address of a first tunnel endpoint associated with the first router;

generating a BGP advertisement packet including at least the first BGP large community encoded with the first global VNI label and the first address; and

sending the first BGP advertisement packet to a second network domain associated with the multi-domain network.

9. The system of claim 8 , wherein the first address of the first tunnel endpoint is an Internet Protocol version 4 (IPv4) address.

10. The system of claim 8 , wherein the multi-domain network is a virtual network, and the operations further comprising encoding, into a third portion of the first BGP large community, an indication of a VNI type of the virtual network.

11. The system of claim 10 , wherein the VNI type indicates that the address of the first tunnel endpoint includes an indication of an Internet Protocol version 6 (IPv6) address.

12. The system of claim 8 , the operations further comprising:

receiving, from a second router of the second network domain, a second BGP advertisement packet including a second BGP large community; and

storing, in a database associated with the first router, the second BGP large community in association with the second router of the second network domain.

13. The system of claim 12 , the operations further comprising:

determining, based at least in part on the second BGP large community, a second address of a second tunnel endpoint associated with the second router; and

establishing a network tunnel connecting the first tunnel endpoint to the second tunnel endpoint.

14. The system of claim 13 , wherein the first global VNI label includes at least one of:

a global multiprotocol label switching (MPLS) virtual private network (VPN) label;

a global virtual extensible local area network (VXLAN) label; or

a global generic network virtualization encapsulation (GENEVE) label.

15. A method comprising:

receiving, at a first router of a first network domain of a multi-domain network and from a second router of a second network domain of the multi-domain network, a first border gateway protocol (BGP) advertisement packet including BGP large communities associated with tenant nodes of the second network domain;

identifying a first BGP large community of the BGP large communities included in the BGP advertisement packet, wherein the BGP advertisement packet includes one or more second BGP large communities;

decoding, from a first portion of the first BGP large community, a first global virtual network instance (VNI) label identifying a first tenant node associated with the second router;

decoding, from a second portion of the first BGP large community, a first address of a first tunnel endpoint associated with the second router; and

storing, in a database associated with the first router, a mapping between the first global VNI label identifying the first tenant node and the first address of the first tunnel endpoint.

16. The method of claim 15 , wherein the first address of the first tunnel endpoint is an Internet Protocol version 4 (IPv4) address.

17. The method of claim 15 , wherein the multi-domain network is a virtual network, and the method further comprising decoding, from a third portion of the first BGP large community, an indication of a VNI type of the virtual network.

18. The method of claim 15 , wherein the multi-domain network is a virtual network, and the method further comprising decoding, from a third portion of the first BGP large community, an indication of a VNI type of the virtual network, the VNI type indicating that the address of the first tunnel endpoint includes an indication of an Internet Protocol version 6 (IPv6) address.

19. The method of claim 15 , further comprising:

determining that a second tenant node is associated with the first router;

generating a second BGP large community for the second tenant node;

encoding, into a first portion of the second BGP large community, a second global VNI label identifying the second tenant node associated with the first router;

encoding, into a second portion of the second BGP large community, a second address of a second tunnel endpoint associated with the first router;

generating a second BGP advertisement packet including at least the second BGP large community encoded with the second global VNI label and the second address; and

sending the second BGP advertisement packet to the second network domain associated with the multi-domain network.

20. The method of claim 19 , further comprising:

receiving, at the first router and from the second tenant node of the first network domain, a request to send a data packet to the first tenant node of the second network domain;

determining, by the first router and based at least in part on the mapping in the database, that the first tenant node is associated with the first global VNI label and the first address of the first tunnel endpoint;

determining, by the first router and based at least in part on the mapping in the database, a route for sending the data packet from the second tenant node to the first tenant node; and

sending the data packet from the first router and to the second router based at least in part on the route.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 27, 2021
From: LANGEMAK, JON; MURRAY, CHRISTOPHER BLAIR; MESTERY, KYLE ANDREW DONALD
To: CISCO TECHNOLOGY, INC.
Reel/Frame 057613/0588 →
Continuity (6)
Provisional Application 63193771 · May 27, 2021
Provisional Application 63193833 · May 27, 2021
Provisional Application 63193801 · May 27, 2021
Provisional Application 63193813 · May 27, 2021
Provisional Application 63193757 · May 27, 2021
Related Publication 20220385575A1 · Dec 1, 2022
References Cited (81)
US 8103760B2 · Reedy et al. · 2012 [cited by applicant]
US 8228786B2 · Vasseur et al. · 2012 [cited by applicant]
US 8599852B2 · Cuervo et al. · 2013 [cited by applicant]
US 9178801B1 · Guichard et al. · 2015 [cited by applicant]
US 9602341B1 · Degwekar et al. · 2017 [cited by applicant]
US 10122637B2 · Pfautz et al. · 2018 [cited by applicant]
US 10200274B1 · Suryanarayana et al. · 2019 [cited by applicant]
US 10291462B1 · Joyce et al. · 2019 [cited by applicant]
US 10382401B1 · Lee et al. · 2019 [cited by applicant]
US 10887225B1 · Chan et al. · 2021 [cited by applicant]
US 10887276B1 · Parulkar et al. · 2021 [cited by applicant]
US 11159366B1 · Gawade et al. · 2021 [cited by applicant]
US 11765083B2 · Lalani et al. · 2023 [cited by applicant]
US 11848865B2 · Mestery et al. · 2023 [cited by applicant]
US 12028248B2 · Murray et al. · 2024 [cited by applicant]
US 20030202476A1 · Billhartz et al. · 2003 [cited by applicant]
US 20060227723A1 · Vasseur et al. · 2006 [cited by applicant]
US 20090109852A1 · Grover et al. · 2009 [cited by applicant]
US 20100118732A1 · Filsfils et al. · 2010 [cited by applicant]
US 20100246545A1 · Berzin · 2010 [cited by applicant]
US 20100329270A1 · Asati et al. · 2010 [cited by applicant]
US 20110292937A1 · Gupta · 2011 [cited by examiner]
US 20130332577A1 · Nakil et al. · 2013 [cited by applicant]
US 20150063351A1 · Moreno et al. · 2015 [cited by applicant]
US 20150326473A1 · Dunbar et al. · 2015 [cited by applicant]
US 20150372913A1 · Van de Velde · 2015 [cited by examiner]
US 20160124742A1 · Rangasamy et al. · 2016 [cited by applicant]
US 20160234578A1 · Sareen et al. · 2016 [cited by applicant]
US 20160277291A1 · Lakshmikanthan et al. · 2016 [cited by applicant]
US 20170005831A1 · Lewis et al. · 2017 [cited by applicant]
US 20170118043A1 · Hao et al. · 2017 [cited by applicant]
US 20170142613A1 · Singh et al. · 2017 [cited by applicant]
US 20170214547A1 · Mehta et al. · 2017 [cited by applicant]
US 20170244631A1 · Guichard et al. · 2017 [cited by applicant]
US 20170324654A1 · Previdi et al. · 2017 [cited by applicant]
US 20180351863A1 · Vairavakkalai et al. · 2018 [cited by applicant]
US 20180359177A1 · Sorenson, III et al. · 2018 [cited by applicant]
US 20180367363A1 · Jaeger · 2018 [cited by applicant]
US 20180375963A1 · Hunt · 2018 [cited by applicant]
US 20190037005A1 · Palladino et al. · 2019 [cited by applicant]
US 20190190811A1 · Selvaraj et al. · 2019 [cited by applicant]
US 20190215191A1 · Fu · 2019 [cited by examiner]
US 20190296972A1 · Brotherson et al. · 2019 [cited by applicant]
US 20200059492A1 · Janakiraman et al. · 2020 [cited by applicant]
US 20200186427A1 · Chunduru Venkata et al. · 2020 [cited by applicant]
US 20200236046A1 · Jain et al. · 2020 [cited by applicant]
US 20200295997A1 · Kotalwar et al. · 2020 [cited by applicant]
US 20200374212A1 · Boucadair et al. · 2020 [cited by applicant]
US 20200382420A1 · Suryanarayana · 2020 [cited by examiner]
US 20210026703A1 · Fichtenholtz et al. · 2021 [cited by applicant]
US 20210036947A1 · Subbarao et al. · 2021 [cited by applicant]
US 20210083963A1 · Szarecki et al. · 2021 [cited by applicant]
US 20210336870A1 · Zhao et al. · 2021 [cited by applicant]
US 20220385558A1 · Mestery · 2022 [cited by applicant]
US 20220385563A1 · Lalani · 2022 [cited by applicant]
US 20220385564A1 · Langemak · 2022 [cited by applicant]
US 20220385572A1 · Murray · 2022 [cited by applicant]
US 20230073976A1 · Ackerman et al. · 2023 [cited by applicant]
CN 111756632 · 2020 [cited by applicant]
EP 2963866A2 · 2016 [cited by applicant]
EP 2993821A1 · 2016 [cited by applicant]
EP 3254447 · 2017 [cited by applicant]
WO WO2017114158A1 · 2017 [cited by examiner]
WO WO2017168204 · 2017 [cited by applicant]
WO WO2021055935 · 2021 [cited by applicant]
Dong, Export of BGP Community Information in IP Flow Information Export (IPFIX), Internet Engineering Taskforce, IETF; Standard, Internet Society (ISOC) 4, Rue Des Falaises CH—1205 Geneva, SW, Retrieved Apr. 3, 2019, pp… [cited by applicant]
PCT Search Report and Written Opinion mailed Sep. 2, 2022 for PCT application No. PCT/US2022/030836, 14 pages. [cited by applicant]
Knoll, “BGP Extended Community for QoS Marking”, Inter-Domain Routing Working Group, draft-knoll-idr-qos-attribute-06, Jul. 2010. [cited by applicant]
Office Action for U.S. Appl. No. 17/486,687, mailed on Jan. 6, 2023, Jon Langemak, “Encoding Local Next-Hop Information Into Border Gateway Protocol (BGP) Routes”, 16 pages. [cited by applicant]
Office Action for U.S. Appl. No. 17/486,687, mailed on Jul. 20, 2023, Langemak, “Encoding Local Next-Hop Information Into Border Gateway Protocol (BGP) Routes”, 19 Pages. [cited by applicant]
Afolabi Ibrahim et al. : “Toward a Real Deployment of Network Services Orchestration and Configuration Convergence Framework for 5G Network Slices.” IEEE Network, IEEE Service Center, New York, NY, US, vol. 35, No. 1, D… [cited by applicant]
Ankur Singla et al: Architecture Documentaion—OpenContrail Architecture Document, Jan. 24, 2015 (Jan. 24, 2015), pp. 1-35, XP055282550, Retrieved from the Internet: URL:https://web.archive.org/web/20150124113037/http://… [cited by applicant]
Office Action for U.S. Appl. No. 17/486,647, mailed on Jan. 23, 2023, Christopher Blair Murray, “Using Global Virtual Network Instance (VNI) Labels To Signal a Service Chain”, 12 pages. [cited by applicant]
Office Action for U.S. Appl. No. 17/486,349, mailed on Jan. 25, 2023, Inventor Rahim Lalani, Service Discovery for Control Plane and Establishing Border Gateway Protocol Sessions, 14 pages. [cited by applicant]
Office Action for U.S. Appl. No. 17/486,477, mailed on Apr. 13, 2023, Kyle Mestery, “Application Programming Interface (API)-Based Multi-Tenant Routing Control Plane”, 14 pages. [cited by applicant]
Office Action for U.S. Appl. No. 17/486,647, mailed on May 9, 2023, Inventor #1 Christopher Blair Murray, “Using Global Virtual Network Instance (VNI) Labels To Signal a Service Chain,” 14 pages. [cited by applicant]
Office Action for U.S. Appl. No. 17/486,349, mailed on Jun. 20, 2022, Lalani, “Service Discovery for Control Plane and Establishing Border Gateway Protocol Sessions”, 18 pages. [cited by applicant]
Office Action for U.S. Appl. No. 17/486,349, mailed on Sep. 19, 2022, Ralani, “Service Discovery for Control Plane and Establishing Border Gateway Protocol Sessions”, 14 Pages. [cited by applicant]
PCT Search Report and Written Opinion mailed Sep. 12, 2022 for PCT application No. PCT/US2022/030820, 18 pages. [cited by applicant]
PCT Search Report and Written Opinion mailed Sep. 12, 2022 for PCT application No. PCT/US2022/030828, 16 pages. [cited by applicant]
PCT Search Report and Written Opinion mailed Sep. 9, 2022 for PCT application No. PCT/US2022/030845, 14 pages. [cited by applicant]