IP Library › Granted Patent US 12,261,773
Granted Patent B2
US 12,261,773 · App. 18/662,646 · Granted Mar 25, 2025

Egress pipeline with tag manipulation and ESI label push capability

Inventors: Vishal Bandekar (Bangalore, IN); Digvijay Singh Gahlot (Bangalore, IN); Ramakrishnan Ganapathy Iyer (Trivandrum, IN); Legena Puthanpurayil Kuttipunathil (Bangalore, IN)
Assignee: ARISTA NETWORKS, INC.
H04L45/50H04L12/4641H04L45/42H04L45/66
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,261,773
App. No.
18/662,646
Granted
Mar 25, 2025
Kind
B2
Abstract

Packet processing in a EVPN L2 MPLS deployment includes performing tag editing operations in the egress pipeline. More particularly, tag manipulation is based on the egress port. Packet processing further includes performing ESI label selection in the egress pipeline, and includes selecting the ESI label based on the ingress port where the ingress port can be a physical port or a subinterface configured on a physical port.

Claims (45)

1. A method in a network device on a Layer 2 Ethernet Virtual Private Network Multi-Protocol Label Switching (L2 EVPN MPLS) network, the method comprising:

(a) receiving an ingress packet on a (ingress) port that is associated with a plurality of Ethernet segments (ES's);

(b) determining an (ingress) ES, from among the plurality of ES's, based on the ingress port on which the ingress packet was received;

(c) selecting a destination device from among a plurality of destination devices;

(d) in response to the selected destination device being associated with the ingress ES, pushing the ingress ES on the egress packet as a first MPLS label;

(e) pushing a second MPLS label on an egress packet, the second MPLS label based on the selected destination device; and

(f) transmitting the egress packet to the selected destination device.

2. The method of claim 1 , wherein the ingress port is a subinterface among a plurality of subinterfaces defined on a physical port of the network device.

3. The method of claim 1 , wherein the method further includes using the ingress ES and the selected destination device as lookup key in a database to access the first MPLS label.

4. The method of claim 1 , wherein the ingress packet is a flood packet, the method further comprising repeating steps (b) to (f) for each destination device in the plurality of destination devices.

5. The method of claim 1 , wherein the ingress packet is received in an ingress pipeline circuit, wherein the ingress packet is a flood packet, the method further comprising:

identifying an egress pipeline circuit from a plurality of egress pipeline circuits separate from the ingress pipeline circuit based on the ingress packet; and

repeating steps (b) to (f) for each identified egress pipeline circuit.

6. The method of claim 1 , wherein the ingress packet is a flood packet, wherein the selected destination device receives the egress packet from the network device and uses the ESI label therein to determine Ethernet segments on which to forward the packet.

7. The method of claim 1 , wherein the network device and the plurality of destination devices are provider edge (PE) devices on the L2 EVPN MPLS network.

8. A network device comprising:

one or more computer processors; and

a computer-readable storage device comprising instructions for controlling the one or more computer processors to:

(a) receive an ingress packet on a (ingress) port that is associated with a plurality of Ethernet segments (ES's);

(b) determine an (ingress) ES, from among the plurality of ES's, based on the ingress port on which the ingress packet was received;

(c) select a destination device from among a plurality of destination devices;

(d) in response to the selected destination device being associated with the ingress ES, push the ingress ES on the egress packet as a first MPLS label;

(e) push a second MPLS label on an egress packet, the second MPLS label based on the selected destination device; and

(f) transmit the egress packet to the selected destination device.

9. The network device of claim 8 , wherein the ingress port is a subinterface among a plurality of subinterfaces defined on a physical port of the network device.

10. The network device of claim 8 , wherein the computer-readable storage device further comprises instructions for controlling the one or more computer processors to use the ingress ES and the selected destination device as lookup key in a database to access the first MPLS label.

11. The network device of claim 8 , wherein the ingress packet is a flood packet wherein the computer-readable storage device further comprises instructions for controlling the one or more computer processors to repeat steps (b) to (f) for each destination device in the plurality of destination devices.

12. The network device of claim 8 , wherein the ingress packet is received in an ingress pipeline circuit, wherein the ingress packet is a flood packet, wherein the computer-readable storage device further comprises instructions for controlling the one or more computer processors to:

identify an egress pipeline circuit from a plurality of egress pipeline circuits separate from the ingress pipeline circuit based on the ingress packet; and

repeat steps (b) to (f) for each identified egress pipeline circuit.

13. The network device of claim 8 , wherein the ingress packet is a flood packet, wherein the selected destination device receives the egress packet from the network device and uses the ESI label therein to determine Ethernet segments on which to forward the packet.

14. A method in a network device on an Ethernet virtual private network (EVPN) Layer 2 (L2) multi-protocol label switching (MPLS) network, the method comprising:

receiving an ingress packet on an ingress pipeline;

accessing an ingress database associated with the ingress pipeline using information in the ingress packet to identify an egress pipeline separate from the ingress pipeline;

accessing an egress database associated with the identified egress pipeline using a virtual local area network (VLAN) bridge identifier associated with the ingress packet to identify one or more VLAN tag manipulation actions;

using the VLAN tag manipulation actions to produce a modified ingress packet, including at least one of adding VLAN tags, deleting VLAN tags, changing VLAN tags, and changing between single-tagged and double-tagged formats; and

transmitting the modified ingress packet on a port associated with the identified egress pipeline.

15. The method of 14 , wherein accessing an ingress database and accessing an egress database are performed in the ingress pipeline, wherein using the VLAN tag manipulation actions is performed in the egress pipeline.

16. The method of 14 , wherein the ingress database is accessed using content in the ingress packet to identify the egress pipeline from a plurality of egress pipelines separate from the ingress pipeline.

17. The method of 14 , further comprising, in the ingress pipeline, accessing edit actions from the ingress database and editing the ingress packet using the accessed edit actions, wherein the VLAN tag manipulation actions are applied to the edited ingress packet, in the identified egress pipeline, to produce the modified ingress packet.

18. The method of 14 , further comprising, in the ingress pipeline, identifying the VLAN bridge identifier based on a VLAN identifier (VID) contained in the ingress packet.

19. The method of 14 , wherein the network device is a provider edge (PE) device on the EVPN L2 MPLS network.

20. The method of 14 , further comprising:

pushing at least one MPLS label onto the modified ingress packet; and

transmitting the modified ingress packet to a destination device on the MPLS network.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 15, 2024
From: BANDEKAR, VISHAL; GAHLOT, DIGVIJAY SINGH; IYER, RAMAKRISHNAN GANAPATHY; KUTTIPUNATHIL, LEGENA PUTHANPURAYIL
To: ARISTA NETWORKS, INC.
Reel/Frame 067989/0254 →
Continuity (2)
Continuation 17718887 · Apr 12, 2022
Related Publication 20240372804A1 · Nov 7, 2024
References Cited (9)
US 8817807B2 · Suzuki et al. · 2014 [cited by applicant]
US 12010015B2 · Bandekar et al. · 2024 [cited by applicant]
US 20070286204A1 · Ould-Brahim · 2007 [cited by applicant]
US 20080240113A1 · Arad · 2008 [cited by examiner]
US 20090135833A1 · Lee et al. · 2009 [cited by applicant]
US 20110216772A1 · Mohan et al. · 2011 [cited by applicant]
US 20140241358A1 · Bosshart · 2014 [cited by examiner]
US 20160337251A1 · Venkataramanan et al. · 2016 [cited by applicant]
US 20230031683A1 · Jiang et al. · 2023 [cited by applicant]