IP Library Granted Patent US 12689585
Granted Patent B2
US 12689585 · App. 18/303,704 · Granted Jul 21, 2026

Configurable source virtual routing and forwarding (VRF) identifier for unicast reverse path forwarding (RPF) in a programmable network device

Inventors: Vishal Bandekar (Bangalore, IN); Naina Jalan (Hyderabad, IN)
Assignee: Arista Networks, Inc.
H04L45/745H04L41/0895H04L45/586
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 12689585
App. No.
18/303,704
Granted
Jul 21, 2026
Kind
B2
Abstract

A network device or a system can be configured to support split virtual routing and forwarding (VRF) for unicast reverse path forwarding (RPF). A method is provided that includes receiving a data packet, performing VRF mapping lookup to identify a forwarding VRF identifier and a source VRF identifier, storing at least the source VRF identifier and a VRF profile as metadata, passing the packet through one or more stages in a packet processing pipeline, extracting the source VRF identifier from the metadata, performing RPF lookup based on the extracted source VRF identifier or the forwarding VRF identifier based on the extracted VRF profile from the metadata and a source address of the packet, selectively dropping the packet, performing forwarding lookup based on the forwarding VRF identifier and a destination address of the packet, and selectively forwarding the packet.

Claims (42)

1 . A method of operating a network device comprising:

receiving a data packet via a logical interface;

performing virtual routing and forwarding (VRF) mapping lookup to identify, using the logical interface, a forwarding VRF identifier and a source VRF identifier;

setting a VRF profile equal to a first value in response to identifying the forwarding VRF identifier and the source VRF identifier or to a second value different than the first value in response to identifying the forwarding VRF identifier without the source VRF identifier;

identifying a next hop by performing reverse path forwarding (RPF) lookup using the source VRF identifier;

identifying an additional next hop by performing forwarding lookup using the forwarding VRF identifier; and

forwarding the data packet to the additional next hop identified by the forwarding lookup.

2 . The method of claim 1 , wherein performing the VRF mapping lookup comprises using the logical interface as a key to a VRF mapping lookup table.

3 . The method of claim 1 , further comprising:

storing the source VRF identifier and the VRF profile as metadata associated with the data packet.

4 . The method of claim 3 , further comprising:

retrieving the source VRF identifier from the metadata; and

in response to the VRF profile being set equal to the first value, setting a reverse path forwarding (RPF) VRF identifier to the retrieved source VRF.

5 . The method of claim 4 , further comprising:

in response to the VRF profile being set equal to the second value, setting the RPF VRF identifier to the forwarding VRF identifier.

6 . The method of claim 5 , further comprising:

in response to the RPF lookup not identifying a next hop based on the RPF VRF identifier and the source address of the data packet, dropping the data packet; and

in response to the forwarding lookup identifying an additional next hop based on the forwarding VRF identifier and the destination address of the data packet, forwarding the data packet to the additional next hop.

7 . The method of claim 1 , wherein identifying the next hop further comprises performing the RPF lookup using the source VRF identifier and a source address of the data packet as keys to lookup a forwarding table.

8 . A method of operating a network device comprising:

receiving a data packet via an interface;

performing virtual routing and forwarding (VRF) mapping lookup to identify, based on the interface, a forwarding VRF identifier and a source VRF identifier;

setting a VRF profile based on whether the VRF mapping lookup identifies the source VRF identifier;

setting a reverse path forwarding (RPF) VRF identifier to the source VRF identifier when the VRF profile has a first value or to the forwarding VRF identifier when the VRF profile has a second value different than the first value; and

forwarding the data packet based on the forwarding VRF identifier.

9 . The method of claim 8 , further comprising:

prior to performing forwarding operations, extracting the source VRF identifier from metadata associated with the data packet.

10 . The method of claim 8 , further comprising:

performing RPF lookup based on the RPF VRF identifier to identify a first next hop; and

performing forwarding lookup based on the forwarding VRF identifier to identify a second next hop different than the first next hop.

11 . A system comprising:

an interface configured to receive a data packet;

a virtual routing and forwarding (VRF) mapping stage configured to perform a VRF mapping lookup operation to identify first and second VRF identifiers and to set a VRF profile to a first value responsive to identifying the first VRF identifier or to a second value, different than the first value, responsive to identifying the first VRF identifier without the second VRF identifier,

a first forwarding stage configured to perform a reverse path forwarding (RPF) lookup operation to identify a first next hop based on at least the first VRF identifier, wherein an RPF VRF identifier is set to the second VRF identifier when the VRF profile has the first value or to the first VRF identifier when the VRF profile has the second value; and

a second forwarding stage configured to perform a forwarding lookup operation to identify a second next hop based on at least the second VRF identifier, wherein the data packet is forwarded to the second next hop.

12 . The system of claim 11 , further comprising:

one or more intermediate stages interposed between the VRF mapping stage and the first forwarding stage.

13 . The system of claim 12 , wherein during the VRF mapping lookup operation, a flag is asserted and wherein the asserted flag and the first VRF identifier are stored as metadata that is conveyed through the one or more intermediate stages along with the data packet.

14 . The system of claim 13 , wherein:

during the first forwarding stage, the first VRF identifier is retrieved from the metadata; and

the first forwarding stage is configured to perform the RPF lookup operation using the retrieved first VRF identifier and a source address of the data packet as keys to lookup a forwarding information base (FIB).

15 . The system of claim 14 , wherein the second forwarding stage is configured to perform the forwarding lookup operation using the second VRF identifier and a destination address of the data packet as keys to lookup the FIB.