UEFI Network Packet Filtering for Server Time-Outs

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

UEFI firmware's single-threaded network stack leads to prolonged processing times for network packets, causing network time-outs and performance issues when a computing system acts as a network server.

Innovation Solution

Implementing a network layer filter in the firmware's protocol stack that discards packets not meeting pre-defined criteria, allowing for more efficient processing and reducing time-outs by prioritizing relevant packets.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If polling mechanism is used to read network packets in single-threaded UEFI firmware, then network client operations work reasonably well, but network server operations experience extended acceptance times causing client time-outs

Engineering Contradiction:
Improvenetwork connection acceptanceVSAvoidpacket processing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by implementing a packet filter at the network layer that pre-evaluates incoming packets against predefined criteria before they enter the main processing queue. This filtering occurs in advance, separating relevant packets from irrelevant ones before the single-threaded network stack processes them, thereby reducing the time packets wait in queue and preventing client time-outs while maintaining reliable network server operations

Inventive Principle:
Principle #10Preliminary action

2Productivity

If all network packets are processed during each polling operation, then complete packet handling is achieved, but processing time becomes excessively long impacting network performance

Engineering Contradiction:
Improvepacket processing throughputVSAvoidpolling operation duration
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent applies the extraction principle by removing irrelevant packets from the processing stream through a network layer filter. The filter extracts only packets matching predefined criteria (such as destination MAC address, IP address, or protocol type) and passes them to the network stack for processing. This extraction eliminates unnecessary processing of irrelevant packets, significantly reducing polling operation duration while maintaining high packet processing throughput for relevant traffic

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS10754661B1Network packet filtering in network layer of firmware network stack
Publication Date: 2020.08.25 AMERICAN MEGATRENDS
  • US10754661B1 patent drawing
  • US10754661B1 patent drawing
  • US10754661B1 patent drawing

AI summary

A firmware, such as a unified extensible firmware interface (UEFI)-compliant firmware, provides a network protocol stack in a pre-boot execution environment. A network layer in the network protocol stack receives network packets. A firmware driver executing in the network layer determines whether individual network packets received at the network layer meet one or more pre-defined criteria. If individual network packets meet the pre-defined criteria, the firmware driver provides the network packets to a transport layer in the network protocol stack. If, however, the network packets received at the network layer do not meet the pre-defined criteria, the firmware driver discards the individual network packets.