IP Library Granted Patent US 10,313,154
Granted Patent B2
US 10,313,154 · App. 15/568,252 · Granted Jun 4, 2019

Packet forwarding

Inventors: Yang Zhang (Beijing, CN); Ling Kuang (Beijing, CN); Minghui Wang (Beijing, CN); Hongyuan Zhang (Beijing, CN); Hai Hu (Beijing, CN); Guangliang Wen (Beijing, CN)
Assignee: New H3C Technologies Co., Ltd.
H04L12/4633H04L12/4625H04L12/4641H04L12/4645H04L45/745H04L49/25H04L49/30H04L49/3009H04L61/2592H04L61/2596H04L61/6013H04L61/6022H04L2012/4629
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 10,313,154
App. No.
15/568,252
Granted
Jun 4, 2019
Kind
B2
Abstract

An I/O board of a VXLAN switch searches out a layer 3 entry; when an egress port in the layer 3 entry is a VXLAN tunnel port, modifies a source MAC address of the packet into a gateway MAC address of the VXLAN switch, modifies a destination MAC address of the packet into a MAC address in the layer 3 entry, and sends the packet to a fabric board of the VXLAN switch. The fabric board determines to perform layer 2 forwarding for the packet, searches out a MAC entry, and when an egress port in the MAC entry is a VXLAN tunnel port, sends the packet to an I/O board associated with the egress port in the MAC entry. The I/O board associated with the egress port adds VXLAN encapsulation to the packet and forwards the packet with the VXLAN encapsulation to a VXLAN.

Claims (33)

1. A packet forwarding method, comprising:

receiving, by an Input/Output (I/O) board of a Virtual eXtensible Local Area Network (VXLAN) switch, a packet from a Virtual Local Area Network (VLAN), searching out a layer 3 entry matching a destination Internet Protocol (IP) address of the packet from a local layer 3 table; when an egress port in the layer 3 entry is a VXLAN tunnel port, modifying a source Media Access Control (MAC) address of the packet into a gateway MAC address of the VXLAN switch, modifying a destination MAC address of the packet into a MAC address in the layer 3 entry, and sending the modified packet to a fabric board of the VXLAN switch;

receiving, by the fabric board of the VXLAN switch, the packet sent by the I/O board, determining to perform layer 2 forwarding for the received packet, searching out a MAC entry matching a destination MAC address of the packet from a local MAC table, and when an egress port in the MAC entry is a VXLAN tunnel port, sending the packet to an I/O board associated with the egress port in the MAC entry in the gateway VXLAN switch; and

receiving, by the I/O board associated with the egress port in the MAC entry in the gateway VXLAN switch, the packet sent by the fabric board, adding VXLAN encapsulation to the received packet and forwarding the packet with the VXLAN encapsulation to a VXLAN,

wherein the sending the modified packet to the fabric board of the VXLAN switch comprises:

adding first internal encapsulation to the modified packet; and the first internal encapsulation includes a first destination chip identity and a first destination port identity, the first destination chip identity is a first virtual chip identity, and the first destination port identity is a first virtual port identity; and

when the I/O board is connected with one fabric board, sending the packet with the first internal encapsulation via an inner port through which the I/O board is connected with the fabric board; when the I/O board is connected with multiple fabric boards, sending the packet with the first internal encapsulation via one of inner ports through which the I/O board is connected with the multiple fabric boards respectively; and

the determining to perform layer 2 forwarding for the received packet by the fabric board comprises:

determining the first destination chip identity and the first destination port identity in a first internal encapsulation header of the received packet; when the first destination chip identity is the first virtual chip identity and the first destination port identity is the first virtual port identity, removing the first internal encapsulation from the packet; when the destination MAC address of the packet is not the gateway MAC address of the VXLAN switch after the first internal encapsulation is removed, determining to perform layer 2 forwarding for the received packet.

2. The method of claim 1 , wherein the sending the packet to the I/O board associated with the egress port in the MAC entry in the gateway VXLAN switch comprises:

adding second internal encapsulation to the packet, and sending the packet with the second internal encapsulation to the I/O board associated with the egress port in the MAC entry in the gateway VXLAN switch; the second internal encapsulation includes information of the egress port in the MAC entry;

the adding the VXLAN encapsulation to the received packet and forwarding the packet with the VXLAN encapsulation to the VXLAN comprises:

determining the information of the egress port in a second internal encapsulation header of the packet, removing the second internal encapsulation from the packet, searching out a VXLAN tunnel encapsulation entry from a local VXLAN tunnel encapsulation table according to the information of the egress port, determining a Virtual Network ID (VNID) corresponding to the information of the egress port, adding the VXLAN encapsulation to the packet according to the searched-out VXLAN tunnel encapsulation entry and the determined VNID, and sending the packet with the VXLAN encapsulation via an egress port in the VXLAN tunnel encapsulation entry.

3. The method of claim 1 , wherein the I/O board associated with the egress port in the MAC entry is determined through a process of:

searching out a local next-hop entry corresponding to a VXLAN tunnel associated with the egress port in the MAC entry;

when the next-hop entry includes one next hop, determining the next hop in the next-hop entry as a target next hop; when the next-hop entry includes multiple next hops, selecting one next hop from the multiple next hops in the next-hop entry as the target next hop; and

when an egress port corresponding to the target next hop in the next-hop entry is a single physical port, determining an I/O board where the physical port is located as the I/O board associated with the egress port in the MAC entry; when the egress port corresponding to the target next hop in the next-hop entry is a physical port group in which multiple physical ports are bundled, determining an I/O board where one physical port in the physical port group is located as the I/O board associated with the egress port in the MAC entry.

4. A Virtual eXtensible Local Area Network (VXLAN) switch, comprising:

an Input/Output (I/O) board processing unit, located on an I/O board of the VXLAN switch, and to receive a packet from a Virtual Local Area Network (VLAN), search out a layer 3 entry matching a destination Internet Protocol (IP) address of the packet from a local layer 3 table; when an egress port in the layer 3 entry is a VXLAN tunnel port, modify a source Media Access Control (MAC) address of the packet into a gateway MAC address of the VXLAN switch, modify a destination MAC address of the packet into a MAC address in the layer 3 entry, and send the modified packet to a fabric board of the VXLAN switch; receive a packet sent by the fabric board, add VXLAN encapsulation to the received packet, and forward the packet with the VXLAN encapsulation to a VXLAN; and

a fabric board processing unit, located on the fabric board of the VXLAN switch, and to receive the packet sent by the I/O board, determine to perform layer 2 forwarding for the received packet, search out a MAC entry matching a destination MAC address of the packet from a local MAC table, and when an egress port in the MAC entry is a VXLAN tunnel port, send the packet to an I/O board associated with the egress port in the MAC entry in the VXLAN switch,

wherein the I/O board processing unit is to send the modified packet to the fabric board of the VXLAN switch through a process of:

adding first internal encapsulation to the modified packet; and the first internal encapsulation includes a first destination chip identity and a first destination port identity, the first destination chip identity is a first virtual chip identity, and the first destination port identity is a first virtual port identity; and

when the I/O board is connected with one fabric board, sending the packet with the first internal encapsulation via an inner port through which the I/O board is connected with the fabric board; when the I/O board is connected with multiple fabric boards, sending the packet with the first internal encapsulation via one of inner ports through which the I/O board is connected with the multiple fabric boards respectively; and

the fabric board processing unit is to determine to perform layer 2 forwarding for the received packet with the first internal encapsulation through a process of:

determining the first destination chip identity and the first destination port identity in a first internal encapsulation header of the received packet; when the first destination chip identity is the first virtual chip identity and the first destination port identity is the first virtual port identity, removing the first internal encapsulation from the packet; when the destination MAC address of the packet is not the gateway MAC address of the VXLAN switch after the first internal encapsulation is removed, determining to perform layer 2 forwarding for the received packet.

5. The VXLAN switch of claim 4 , wherein the fabric board processing unit is to send the packet to the I/O board associated with the egress port in the MAC entry in the VXLAN switch through a process of:

adding second internal encapsulation to the packet, and sending the packet with the second internal encapsulation to the I/O board associated with the egress port in the MAC entry in the gateway VXLAN switch; the second internal encapsulation includes information of the egress port in the MAC entry;

the I/O board processing unit is to add the VXLAN encapsulation to the received packet and forward the packet with the VXLAN encapsulation to the VXLAN through a process of:

determining the information of the egress port in a second internal encapsulation header of the packet, removing the second internal encapsulation from the packet, searching out a VXLAN tunnel encapsulation entry from a local VXLAN tunnel encapsulation table according to the information of the egress port, determining a Virtual Network ID (VNID) corresponding to the information of the egress port, adding the VXLAN encapsulation to the packet according to the searched-out VXLAN tunnel encapsulation entry and the determined VNID, and sending the packet with the VXLAN encapsulation via an egress port in the VXLAN tunnel encapsulation entry.

6. The VXLAN switch of claim 4 , wherein the fabric board processing unit is to determine the I/O board associated with the egress port in the MAC entry through a process of:

searching out a local next-hop entry corresponding to a VXLAN tunnel associated with the egress port in the MAC entry;

when the next-hop entry includes one next hop, determining the next hop in the next-hop entry as a target next hop; when the next-hop entry includes multiple next hops, selecting one next hop from the multiple next hops in the next-hop entry as the target next hop; and

when an egress port corresponding to the target next hop in the next-hop entry is a single physical port, determining an I/O board where the physical port is located as the I/O board associated with the egress port in the MAC entry; when the egress port corresponding to the target next hop in the next-hop entry is a physical port group in which multiple physical ports are bundled, determining an I/O board where one physical port in the physical port group is located as the I/O board associated with the egress port in the MAC entry.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 6, 2017
From: ZHANG, YANG; KUANG, LING; WANG, MINGHUI; ZHANG, HONGYUAN; HU, HAI; WEN, GUANGLIANG
To: NEW H3C TECHNOLOGIES CO., LTD.
Reel/Frame 044039/0771 →
Priority Claims (1)
CN 2015 1 0222676 · May 4, 2015 · national
Continuity (1)
Related Publication 20180123828A1 · May 3, 2018