OpenFlow Inter-VLAN Routing Using Temporary VLAN Identifiers

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current OpenFlow network implementations are inefficient and do not scale well for inter-VLAN routing, especially when dealing with larger numbers of VLANs, due to the reliance on VLAN IDs and the inability of many switches to access virtual routing and forwarding (VRF) metadata, which requires microcode updates.

Innovation Solution

The use of temporary internal VLAN values as placeholders for VLAN IDs in flow tables allows for efficient routing between VLANs by setting the VLAN ID to an internal value corresponding to the VRF, reducing the number of entries required in forwarding information base (FIB) tables and enabling scalable inter-VLAN routing without the need for microcode updates.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If VLAN IDs are used directly in flow tables for inter-VLAN routing, then routing between VLANs can be implemented, but the number of entries in FIB tables increases significantly and scalability deteriorates

Engineering Contradiction:
Improveinter-VLAN routing capabilityVSAvoidnumber of FIB table entries
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces temporary internal VLAN values as intermediary placeholders that replace actual VLAN IDs in flow table lookups. These temporary values act as a mediation layer between the packet's original VLAN ID and the routing destination, allowing the FIB table to use simplified temporary identifiers instead of managing complex mappings for every VLAN pair. This intermediary mechanism reduces the number of required FIB entries while preserving full inter-VLAN routing capability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If VRF metadata is accessed for routing decisions, then routing accuracy can be improved, but microcode updates are required which reduces ease of operation

Engineering Contradiction:
Improverouting accuracyVSAvoidsoftware update requirement
Core Design Contradiction:
Measurement precisionVSEase of operation

Solution Approach 1:

The patent employs temporary internal VLAN values that are short-lived intermediaries used only during the packet forwarding process. These temporary values are created on-the-fly and discarded after use, eliminating the need for persistent VRF metadata structures that would require complex microcode management. This disposable approach maintains routing accuracy without requiring software updates, as the temporary values can be generated and managed through standard OpenFlow operations.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

3Adaptability or versatility

If the number of VLANs in the network increases, then network coverage and functionality improve, but the efficiency of current OpenFlow implementations deteriorates

Engineering Contradiction:
Improvenetwork scalabilityVSAvoidrouting efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent segments the VLAN identification process into two distinct phases: (1) replacement of the original VLAN ID with a temporary internal value at the ingress point, and (2) use of the temporary value for flow table matching and routing decisions. This segmentation decouples the scaling of VLAN数量 from the complexity of routing table management, allowing the network to accommodate more VLANs without proportionally increasing routing overhead, thereby maintaining routing efficiency even as network规模 expands.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10581738B2Efficient inter-VLAN routing in openflow networks
Publication Date: 2020.03.03 CISCO TECHNOLOGY INC
  • US10581738B2 patent drawing
  • US10581738B2 patent drawing
  • US10581738B2 patent drawing

AI summary

In embodiments disclosed herein involve receiving a first packet, where the first packet originated from a first device on a first virtual local area network (VLAN) in a first plurality of VLANs, where routing is enabled among each of the first plurality of VLANs. A first temporary value is assigned to a first VLAN identifier associated with the first packet, where the first temporary value corresponds to the first plurality of VLANs. Additionally, the first packet is processed based on a plurality of flow tables. Further, a first destination value is assigned to the first VLAN identifier, where the first destination value corresponds to a second VLAN in the first plurality of VLANs, and the first packet is transmitted to a second device on the second VLAN.