Selective Programming of Switch Forwarding Hardware

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Access switches in communication networks face inefficiencies due to the constant occupation of limited hardware resources by host routes and MAC addresses, even when inter-host communication is rare and short-lived, leading to underutilization of resources.

Innovation Solution

Implement a system where the routing daemon maintains host routes and MAC addresses in software data structures and programs them into forwarding hardware only when inter-host communication is initiated, using timers to remove entries when traffic ceases, thereby selectively utilizing the forwarding hardware.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If host routes and MAC addresses are constantly programmed into forwarding hardware to ensure fast forwarding, then forwarding speed is improved, but hardware resource utilization deteriorates due to underutilization when inter-host communication is rare

Engineering Contradiction:
Improveforwarding speedVSAvoidhardware resource waste
Core Design Contradiction:
SpeedVSLoss of energy

Solution Approach 1:

The patent implements dynamic programming of host routes and MAC addresses into forwarding hardware based on traffic monitoring. When inter-host traffic is detected, the routing daemon programs the necessary routes and MAC addresses into the forwarding hardware's TCAM. When traffic ceases (after a timeout period), the entries are removed. This dynamic approach ensures fast forwarding when needed while avoiding hardware resource waste during idle periods.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system uses periodic traffic monitoring and timeout-based entry removal to manage forwarding hardware resources. The routing daemon continuously monitors for inter-host traffic and periodically updates the forwarding hardware accordingly. Entries are removed after a timeout period of inactivity, creating a periodic cycle of programming and de-programming that optimizes resource utilization while maintaining forwarding performance when required.

Inventive Principle:
Principle #19Periodic action

2Quantity of substance

If forwarding hardware capacity is increased to accommodate all possible host routes and MAC addresses, then resource availability is improved, but hardware cost and complexity worsen

Engineering Contradiction:
Improveforwarding hardware capacityVSAvoidhardware complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

Instead of provisioning forwarding hardware with large static capacity to accommodate all possible hosts, the patent implements dynamic programming where only actively communicating hosts have their routes and MAC addresses programmed into the hardware. This on-demand approach allows the use of smaller, less complex forwarding hardware while maintaining the ability to support inter-host communication when it occurs.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS20240244000A1Selective programming of forwarding hardware of a switch
Publication Date: 2024.07.18 HEWLETT PACKARD ENTERPRISE DEV LP
  • US20240244000A1 patent drawing
  • US20240244000A1 patent drawing
  • US20240244000A1 patent drawing

AI summary

A system for selectively programming the forwarding hardware of a switch is provided. During operation, the system can operate the switch as a tunnel endpoint of a tunnel in conjunction with a remote switch. The tunnel can facilitate a virtual private network (VPN). The system can determine, using a routing protocol, a set of routes for the VPN. The system can maintain the set of routes in a first data structure in an application space. The set of routes can include a first subset of routes to remote hosts of the VPN and a second subset of routes comprising the rest of the set of routes. The system can program the second subset routes in the forwarding hardware. Upon receiving a packet for a remote host, the system can determine a route to the remote host from the first set of routes and program the route in the forwarding hardware.