# US 10,454,877 B2 · Interoperability between data plane learning endpoints and control plane learning endpoints in overlay networks

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,454,877 B2
- Document ID: US10454877B2
- Status: Granted
- Kind: B2
- Application number: 15/143,202
- Filed: 2016-04-29
- Published: 2017-11-02
- Granted: 2019-10-22
- Earliest claimed: 2016-04-29
- Assignees: Cisco Technology, Inc.
- Applicants: Cisco Technology, Inc.
- Inventors: Rex Emmanuel Fernando; Victor Manuel Moreno; Shyam Kapadia; Liqin Dong; Murali Venkateshaiah
- Web page: https://patentgrep.com/patent/US10454877B2

## CPC

- H04L 61/103: across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
- H04L 12/4633: {Interconnection of networks using encapsulation techniques, e.g. tunneling}
- H04L 41/0806: for initial configuration or provisioning, e.g. plug-and-play
- H04L 41/0895: Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
- H04L 41/122: of virtualised topologies, e.g. software-defined networks [SDN] or network function virtualisation [NFV]
- H04L 41/40: using virtualisation of network functions or resources, e.g. SDN or NFV entities
- H04L 2101/622: Layer-2 addresses, e.g. medium access control [MAC] addresses
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A system and a method are disclosed for enabling interoperability between data plane learning endpoints and control plane learning endpoints in an overlay network environment. An exemplary method for managing network traffic in the overlay network environment includes receiving network packets in an overlay network from data plane learning endpoints and control plane learning endpoints, wherein the overlay network extends Layer 2 network traffic over a Layer 3 network; operating in a data plane learning mode when a network packet is received from a data plane learning endpoint; and operating in a control plane learning mode when the network packet is received from a control plane learning endpoint. Where the overlay network includes more than one overlay segment, the method further includes operating as an anchor node for routing inter-overlay segment traffic to and from hosts that operate behind the data plane learning endpoints.

## Claims

### Claim 1

A method for managing network traffic in an overlay network environment, the method comprising:
receiving a plurality of network packets in an overlay network from a plurality of endpoints including a first endpoint and a second endpoint, the overlay network configured to extend Layer 2 network traffic over a Layer 3 network and operate with a plurality of learning modes;
designating the first endpoint as a data plane learning endpoint and the second endpoint as a control plane learning endpoint to yield a plurality of designations;
tracking the plurality of designations via an endpoint identification table;
operating in a data plane learning mode when a network packet of the plurality of network packets is received from the data plane learning endpoint based on the endpoint identification table, the data plane learning mode allowing Layer 2 learning so the network packet is processed based on outer header information and inner header information, the operating in the data plane learning mode including use of the data plane learning mode when communicating with hosts behind the data plane learning endpoint; and
operating in a control plane learning mode when the network packet is received from the control plane learning endpoint based on the endpoint identification table, the control plane learning mode disabling the Layer 2 learning so the network packet is processed based on the inner header information, the operating in the control plane learning mode including use of the control plane learning mode when communicating with other hosts behind the control plane learning endpoint.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
de-encapsulating any of the plurality of network packets received from unknown endpoints in the overlay network.

### Claim 3 (depends on 1)

The method of claim 1, wherein,
the endpoint identification table includes entries, and
each of the entries indicate one of the plurality of learning modes of one of the plurality of endpoints in the overlay network.

### Claim 4 (depends on 3)

The method of claim 3, further comprising:
discovering a new endpoint in the overlay network;
generating an entry for the new endpoint in the endpoint identification table that indicates the data plane learning mode for the new endpoint; and
upon receiving network traffic from the new endpoint through a control plane of the overlay network, updating the entry for the new endpoint to indicate the control plane learning mode for the new endpoint.

### Claim 5 (depends on 1)

The method of claim 1, wherein the operating in the data plane learning mode when the network packet is received from the data plane learning endpoint includes:
de-encapsulating the network packet to yield a de-encapsulated network packet;
performing Layer 2 learning on the de-encapsulated network packet; and
forwarding the de-encapsulated network packet to a destination specified in the de-encapsulated network packet.

### Claim 6 (depends on 1)

The method of claim 1, further comprising:
operating as an anchor node for routing inter-overlay segment traffic to and from the hosts operating behind the data plane learning endpoint, the overlay network including more than one overlay segment.

### Claim 7 (depends on 6)

The method of claim 6, wherein operating as the anchor node includes resolving address resolution protocol (ARP) requests for a default gateway from the hosts.

### Claim 8 (depends on 7)

The method of claim 7, wherein operating as the anchor node includes advertising reachability information learned from the ARP requests for the hosts through a control plane of the overlay network.

### Claim 9 (depends on 1)

The method of claim 1, wherein the overlay network facilitates media access control (MAC) in Internet Protocol (IP) encapsulation.

### Claim 10 (depends on 9)

The method of claim 9, wherein the overlay network is a Virtual Extensible Local Area Network (VXLAN), and the data plane learning endpoint and the control plane learning endpoint are VXLAN tunnel endpoints (VTEPs).

### Claim 11 (depends on 1)

The method of claim 1, wherein, when operating in the data plane learning mode, processing of the network packet based on the outer header information includes learning reachability information for remote tunnel endpoints from the outer header information and learning reachability information for remote hosts from the inner header information.

### Claim 12 (depends on 1)

The method of claim 1, wherein, when operating in the control plane learning mode, processing of the network packet based on the inner header information includes forwarding data from the network packet based the inner header information.

### Claim 13

A non-transitory media encoded with logic that includes code for execution, and when executed by a processor, is operable to perform operations comprising:
receiving a plurality of network packets in an overlay network from a plurality of endpoints including a first endpoint and a second endpoint, the overlay network configured to extend Layer 2 network traffic over a Layer 3 network and operate with a plurality of learning modes;
designating the first endpoint as a data plane learning endpoint and the second endpoint as a control plane learning endpoint to yield a plurality of designations;
tracking the plurality of designations via an endpoint identification table;
operating in a data plane learning mode when a network packet of the plurality of network packets is received from the data plane learning endpoint based on the endpoint identification table, the data plane learning mode allowing Layer 2 learning so the network packet is processed based on outer header information, the operating in the data plane learning mode including use of the data plane learning mode when communicating with hosts behind the data plane learning endpoint;
operating in a control plane learning mode when the network packet is received from the control plane learning endpoint based on the endpoint identification table, the operating in the control plane learning mode including use of the control plane learning mode when communicating with other hosts behind the control plane learning endpoint; and
disabling the Layer 2 learning, when operating in the control plane learning mode, so the network packet is processed based on inner header information.

### Claim 14 (depends on 13)

The non-transitory media of claim 13, the operations further comprising:
de-encapsulating any of the plurality of network packets received from unknown endpoints in the overlay network.

### Claim 15 (depends on 13)

The non-transitory media of claim 13,
wherein
the endpoint identification table includes entries, and
each of the entries indicate one of the plurality of learning modes of one of the plurality of endpoints in the overlay network.

### Claim 16 (depends on 13)

The non-transitory media of claim 13, the operations further comprising:
operating as an anchor node for routing inter-overlay segment traffic to and from the hosts operating behind the data plane learning endpoint, the overlay network including more than one overlay segment.

### Claim 17

A system comprising:
a memory element for storing data; and
a processor operable to execute instructions associated with the data, wherein the processor and the memory element cooperate such that the system is configured for:
receiving a plurality of network packets in an overlay network from a plurality of endpoints including a first endpoint and a second endpoint, the overlay network configured to extend Layer 2 network traffic over a Layer 3 network and operate with a plurality of learning modes;
designating the first endpoint as a data plane learning endpoint and the second endpoint as a control plane learning endpoint to yield a plurality of designations;
tracking the plurality of designations via an endpoint identification table;
operating in a data plane learning mode when a network packet of the plurality of network packets is received from the data plane learning endpoint based on the endpoint identification table, the data plane learning mode allowing Layer 2 learning so the network packet is processed based on outer header information, the operating in the data plane learning mode including use of the data plane learning mode when communicating with hosts behind the data plane learning endpoint;
operating in a control plane learning mode when the network packet is received from the control plane learning endpoint based on the endpoint identification table, the operating in the control plane learning mode including use of the control plane learning mode when communicating with other hosts behind the control plane learning endpoint; and
disabling the Layer 2 learning, when operating in the control plane learning mode, so the network packet is processed based on inner header information.

### Claim 18 (depends on 17)

The system of claim 17, further configured for de-encapsulating any of the plurality of network packets received from unknown endpoints in the overlay network.

### Claim 19 (depends on 17)

The system of claim 17,
wherein,
the endpoint identification table includes entries, and
each of the entries indicate one of the plurality of learning modes of one of the plurality of endpoints in the overlay network.

### Claim 20 (depends on 17)

The system of claim 17, wherein the system is further configured for operating as an anchor node for routing inter-overlay segment traffic to and from the hosts operating behind the data plane learning endpoint, the overlay network including more than one overlay segment.
