Forwarding Plane Flow Entry Synchronization in SDN

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In Software Defined Networks (SDNs), network delays can cause asynchronous installation of flow entries, leading to erroneous packet processing as the forwarding plane device processes packets before all necessary flow entries are written into flow tables, resulting in incomplete processing of user packets.

Innovation Solution

Implement a method where the forwarding plane device writes all required flow entries into corresponding flow tables before processing user packets, ensuring simultaneous installation of flow entries by using a single flow entry installation message or employing an activation message to set flow entries to an active state after a predefined interval, thereby preventing asynchronous processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If multiple flow entry installation messages are sent to install flow entries in the forwarding plane device, then the flow entries can be installed according to protocol requirements, but network delays cause asynchronous installation leading to erroneous packet processing

Engineering Contradiction:
Improvepacket processing accuracyVSAvoidflow entry installation time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by buffering user packets before flow entries are installed in the forwarding plane device. The control plane device receives user packets in advance, buffers them, and only forwards them to the forwarding plane device after confirming that all necessary flow entries are installed. This prevents the device from processing packets with incomplete flow entry sets, eliminating erroneous processing while maintaining reliable packet handling.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements feedback by establishing a confirmation mechanism where the control plane device monitors the installation status of flow entries in the forwarding plane device. Before forwarding buffered user packets, the control plane device receives confirmation that all required flow entries are properly installed. This feedback loop ensures packets are only processed when the forwarding plane device has complete flow entry information, resolving the contradiction between installation time and processing accuracy.

Inventive Principle:
Principle #23Feedback

2Productivity

If flow entries are installed asynchronously due to network delays, then the forwarding plane device can start processing packets earlier, but some flow entries may be missing causing incomplete packet processing

Engineering Contradiction:
Improvepacket processing throughputVSAvoidpacket processing completeness
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The control plane device performs preliminary actions by pre-buffering user packets and pre-checking flow entry installation status before initiating packet processing. This ensures that packets are not forwarded to the forwarding plane device until all necessary flow entries are confirmed to be installed, preventing incomplete processing while maintaining system productivity through efficient buffering and batch forwarding.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent applies beforehand cushioning by introducing a buffering mechanism that temporarily holds user packets during the flow entry installation process. This cushioning buffer absorbs the time discrepancy between packet arrival and flow entry installation, ensuring packets are only released for processing when flow entries are complete. This protective measure prevents data loss or erroneous processing while maintaining overall system throughput.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

3Reliability

If the control plane device waits for all flow entries to be installed before forwarding packets, then packet processing accuracy is improved, but the buffering time increases

Engineering Contradiction:
Improvepacket processing accuracyVSAvoidpacket buffering time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The control plane device takes preliminary action by receiving and buffering user packets in advance, and simultaneously monitoring flow entry installation progress. Rather than passive waiting, the system actively tracks installation status and prepares packets for immediate forwarding once confirmation is received. This reduces the effective buffering time while maintaining accurate processing by ensuring flow entries are complete before packet forwarding begins.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent maintains continuity of useful action by having the control plane device continuously monitor flow entry installation status while packets are buffered. Instead of idle waiting, the system performs useful monitoring and preparation activities simultaneously. Once flow entry installation is confirmed complete, packets are immediately forwarded without additional delay, minimizing the effective buffering time while ensuring processing accuracy.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentEP3018867B1Method for processing user message and forwarding plane device
Publication Date: 2020.01.08 HUAWEI TECH CO LTD
  • EP3018867B1 patent drawingFigure 1~2
  • EP3018867B1 patent drawingFigure 3~4
  • EP3018867B1 patent drawingFigure 5~6

AI summary

The present invention discloses a user packet processing method and a forwarding plane device, where the method includes: receiving, by a forwarding plane device, a flow entry installation message from a control plane device, where a quantity of the flow entry installation messages is one, and the flow entry installation message carries all flow entries that are needed to process a user packet, and a flow table identifier of a flow table in which each flow entry of all the flow entries is located; writing, by the forwarding plane device, the flow entries into the flow tables corresponding to the flow table identifiers; and after the flow entries are written into the flow tables corresponding to the flow table identifiers, performing, by the forwarding plane device, a matching and processing procedure on the received user packet. By using the foregoing manner, the present invention can effectively avoid a case in which a forwarding plane device wrongly processes a user packet because of a network delay.