IP Library Granted Patent US 12,580,992
Granted Patent B2
US 12,580,992 · App. 18/507,944 · Granted Mar 17, 2026

Dynamic per-link proxying of traffic between interconnects of devices in a fabric

Inventors: Jeffrey Yi Dar Lo (Cupertino, CA); Daniel Eric Talayco (Mountain View, CA); Robert Stephen Rodgers (Mountain View, CA); Kyle Andrew Donald Mestery (Woodbury, MN); Thomas John Giuli (Mountain View, CA)
Assignee: Cisco Technology, Inc.
H04L67/146
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,580,992
App. No.
18/507,944
Granted
Mar 17, 2026
Kind
B2
Abstract

Devices, networks, systems, methods, and processes for dynamically proxying traffic between interconnects of devices in a fabric are described herein. A communication network may include multiple switches, including gateway switches and non-gateway switches. Each switch can run a proxy agent for each port of the switch and for each link on each port. The switch may proxy data traffic within the communication network by utilizing the proxy agent. A non-gateway switch can send a connection request to a gateway switch to connect to an external cloud controller. The gateway switch may proxy the connection request to the external cloud controller and receive a session cookie. The non-gateway switch can establish a logical connection with the external cloud controller based on the session cookie.

Claims (52)

1 . A device, comprising:

a processor;

a memory communicatively coupled to the processor; and

a dynamic proxying logic, configured to:

discover a plurality of network devices;

transmit proximity data to the plurality of network devices;

receive modified proximity data from the plurality of network devices;

identify one or more gateway devices from the plurality of network devices;

select a gateway device from the one or more gateway devices based on the modified proximity data;

transmit a connection request to a proxy agent on the selected gateway device using an Internet Protocol Link Local Address (IP LLA);

receive a session cookie from the selected gateway device; and

establish a logical connection with an external cloud controller based on the session cookie.

2 . The device of claim 1 , wherein the proximity data is indicative of one or more hop counts between the device and one or more network devices of the plurality of network devices, and wherein the modified proximity data is indicative of a plurality of hop counts between the plurality of network devices and the device.

3 . The device of claim 2 , wherein the selected gateway device has lowest hop count.

4 . The device of claim 2 , wherein the dynamic proxying logic is further configured to:

determine the one or more gateway devices having lowest hop count as one or more closest gateway devices;

determine a priority assigned to each closest gateway device of the one or more closest gateway devices; and

select a closest gateway device, from the one or more closest gateway devices, having highest priority.

5 . The device of claim 1 , wherein the dynamic proxying logic is further configured to:

select a hash function;

apply the hash function on the IP LLA and an interface name of the device to obtain a gateway identifier; and

select the gateway device indicated by the gateway identifier.

6 . The device of claim 1 , wherein the one or more gateway devices are connected to the external cloud controller by way of an edge router.

7 . The device of claim 1 , wherein the dynamic proxying logic is further configured to initiate a proxy agent to proxy data traffic on each port of the device.

8 . The device of claim 7 , wherein the dynamic proxying logic is further configured to initiate a Remote Procedure Call (RPC) server on each port of the device and for each link on each port of the device.

9 . The device of claim 8 , wherein each link on each port of the device is connected to a network device of the plurality of network devices, and wherein the plurality of network devices are discovered using the RPC server.

10 . The device of claim 9 , wherein the dynamic proxying logic is further configured to receive the connection request from the network device using the RPC server.

11 . A device, comprising:

a processor; a memory communicatively coupled to the processor; and a dynamic proxying logic, configured to: establish a connection with an external cloud controller; receive a session cookie from the external cloud controller; initiate a proxy agent to proxy data traffic on each port of the device; initiate a Remote Procedure Call (RPC) server; discover a plurality of network devices using the RPC server; receive, by the proxy agent, a connection request from a network device of the plurality of network devices using an Internet Protocol Link Local Address (IP LLA); and transmit the connection request to the external cloud controller.

12 . The device of claim 11 , wherein the network device establishes a logical connection with the external cloud controller based on the session cookie.

13 . The device of claim 11 , wherein the device is connected to the external cloud controller by way of an edge router.

14 . The device of claim 11 , wherein the dynamic proxying logic is further configured to initiate a proxy agent to proxy data traffic on each port of the device.

15 . The device of claim 14 , wherein the dynamic proxying logic is further configured to initiate the RPC server on each port of the device and for each link on each port of the device.

16 . A method, comprising:

discovering a plurality of network devices;

transmitting proximity data to the plurality of network devices;

receiving modified proximity data from the plurality of network devices;

identifying one or more gateway devices from the plurality of network devices;

selecting a gateway device from the one or more gateway devices based on the modified proximity data;

transmitting a connection request to a proxy agent on the selected gateway device using an Internet Protocol Link Local Address (IP LLA);

receiving a session cookie from the selected gateway device; and

establishing a logical connection with an external cloud controller based on the session cookie.

17 . The method of claim 16 , wherein the proximity data is indicative of one or more hop counts for one or more network devices of the plurality of network devices, and wherein the modified proximity data is indicative of a plurality of hop counts for the plurality of network devices.

18 . The method of claim 17 , wherein the selected gateway device has lowest hop count.

19 . The method of claim 17 , further comprising:

determining the one or more gateway devices having lowest hop count as one or more closest gateway devices;

determining a priority assigned to each closest gateway device of the one or more closest gateway devices; and

selecting a closest gateway device, from the one or more closest gateway devices, having highest priority.

20 . The method of claim 16 , further comprising:

selecting a hash function;

applying the hash function on the IP LLA and an interface name to obtain a gateway identifier; and

selecting the gateway device indicated by the gateway identifier.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 30, 2025
From: LO, JEFFREY YI DAR; MESTERY, KYLE ANDREW DONALD; TALAYCO, DANIEL ERIC; RODGERS, ROBERT STEPHEN; GIULI, THOMAS JOHN
To: CISCO TECHNOLOGY, INC.
Reel/Frame 073334/0126 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 24, 2024
From: LO, JEFFREY YI DAR; GIULI, TJ; MESTERY, KYLE ANDREW DONALD; RODGERS, ROB; TALAYCO, DAN
To: CISCO TECHNOLOGY, INC.
Reel/Frame 067820/0345 →
Continuity (1)
Related Publication 20250159055A1 · May 15, 2025
References Cited (15)
US 7082460B2 · Hansen · 2006 [cited by examiner]
US 10069928B1 · Hardy et al. · 2018 [cited by applicant]
US 11197224B1 · Baker · 2021 [cited by examiner]
US 11601518B1 · Pilkauskas et al. · 2023 [cited by applicant]
US 20050198022A1 · Chang · 2005 [cited by examiner]
US 20110004674A1 · Zheng · 2011 [cited by applicant]
US 20190173850A1 · Jain · 2019 [cited by examiner]
US 20210044625A1 · Panchalingam et al. · 2021 [cited by applicant]
US 20210218588A1 · Skillermark · 2021 [cited by examiner]
US 20220109663A1 · Swain · 2022 [cited by examiner]
US 20230188382A1 · Nath et al. · 2023 [cited by applicant]
EP 1719325A1 · 2006 [cited by examiner]
EP 1719325B1 · 2017 [cited by applicant]
WO 2021205212A1 · 2021 [cited by applicant]
International Search Report and Written Opinion for International Application No. PCT/US2024/054530, mailed Feb. 18, 2025, 16 Pages. [cited by applicant]