ECMP Fast Reroute via Port State Table Lookup
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional network elements take too long to recover from port failures, leading to increased downtime and packet loss due to slow rerouting of traffic.
Innovation Solution
Implementing a method for fast reroute of packets through Equal Cost Multi Path (ECMP) routes by using a Forwarding Data Unit (FDU) to perform lookups in a port state table to find available local or remote ports, and iteratively selecting alternative ECMP routes until a functioning port is found, allowing for automatic redirection of traffic without control plane intervention.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If conventional rerouting mechanisms are used, then traffic can be diverted to alternate ports, but the recovery time is too long (exceeds 10 milliseconds)
Solution Approach 1:
The patent pre-computes and stores backup ECMP routes along with their associated port state information before failures occur. When a port failure is detected, the system immediately switches to a pre-prepared backup route rather than computing a new route, enabling recovery within 10 milliseconds. This preliminary preparation of alternative paths eliminates the computational delay that would otherwise occur during failure recovery.
Solution Approach 2:
The patent extracts the route computation function from the control plane and implements it directly in the data plane forwarding engine. By separating the fast reroute functionality from the slower control plane processing, the system can perform port state lookups and route switching at line rate without waiting for control plane intervention, thus achieving sub-10-millisecond recovery times.
2Ease of operation
If traffic is concentrated on a single designated alternate port, then rerouting is simplified, but the alternate port becomes overloaded
Solution Approach 1:
The patent segments the traffic load by distributing it across multiple backup ports rather than concentrating it on a single alternate port. Each ECMP route in the backup set is associated with different egress ports, and traffic is load-balanced across these ports using hash functions. This segmentation prevents any single port from becoming overloaded while maintaining rerouting simplicity through automated distribution.
Solution Approach 2:
The patent implements dynamic load distribution across backup ports by continuously monitoring port states and adjusting traffic allocation. When ports fail or become congested, the system dynamically reconfigures the ECMP route set to utilize available capacity, ensuring optimal traffic distribution. This dynamic adaptation maintains both operational simplicity and load balance simultaneously.
3Measurement precision
If control plane intervention is used for route computation, then routing decisions are accurate, but the processing speed is too slow
Solution Approach 1:
The patent introduces an intermediary layer in the data plane that maintains a local cache of pre-computed ECMP routes and their associated port states. This intermediary structure allows the forwarding engine to make accurate routing decisions based on pre-validated routes without requiring real-time control plane involvement. The control plane acts as a periodic updater rather than a real-time decision maker, achieving both accuracy and speed.
Solution Approach 2:
The forwarding engine performs self-service by autonomously selecting from pre-computed ECMP routes based on real-time port state information stored in local tables. The system does not need to query the control plane for each routing decision; instead, it independently evaluates available routes using cached information and makes immediate forwarding decisions, achieving line-rate performance with accurate routing.
Data Source
AI summary
A method, apparatus and computer program product for providing fast reroute of a packet that may be forwarded on one of a plurality of Equal Cost Multi Path (ECMP) routes through a network is presented. A packet is received by a Forwarding Data Unit (FDU) in a data plane of a network element. The unicast packet is routed at L3, and ECMP is enabled for a next hop for the unicast packet. An ECMP route is selected for forwarding the packet to a destination port. A lookup is performed in a port state table maintained by the FDU to determine an available local port for said ECMP route that is in an UP state for the destination, and if no local port is UP, then a lookup is performed in the port state table to determine an available remote port that is in an UP state for the selected ECMP route.


