Link Aggregation Protocol Negotiation for TCP Offload Reliability
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing link aggregation methods, such as the IEEE 802.3ad standard, lack a mechanism for negotiating which algorithm to use for processing data packets within a conversation, leading to potential packet reordering issues when using TCP-offloaded adapters, as reply packets may not be received on the same adapter as outgoing packets, causing processing failures.
Innovation Solution
A method for negotiating a protocol to select an algorithm for processing data packets in link aggregations, where one endpoint initiates a request for a preferred algorithm, and upon convergence, both endpoints use the agreed-upon algorithm to ensure packets are sent and received on the same adapter, using a lightweight protocol data unit to facilitate this negotiation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Extent of automation
If automated link aggregation is implemented using IEEE 802.3ad standard, then manual intervention is eliminated and setup is automated, but there is no mechanism to negotiate packet processing algorithms between host and switch, causing packet reordering issues with TCP-offloaded adapters
Solution Approach 1:
The patent implements a feedback mechanism where the host and switch exchange algorithm preference information through LACP protocol extensions. The host indicates its preferred packet processing algorithm in LACPDU packets, and the switch responds with its preferences, allowing both sides to converge on a compatible algorithm that ensures reliable packet processing with TCP-offloaded adapters.
Solution Approach 2:
The patent uses an intermediary negotiation protocol embedded within the LACP framework to mediate between the host's algorithm preferences and the switch's algorithm preferences. This intermediary mechanism allows automated selection of a compatible packet processing algorithm without manual intervention, resolving the contradiction between automation and reliability.
2Adaptability or versatility
If different packet processing schemes are used by host and switch, then flexibility is increased, but packet reordering occurs when outgoing and reply packets use different adapters, causing processing failures with TCP-offloaded adapters
Solution Approach 1:
The host and switch use feedback exchange to communicate their algorithm preferences and reach convergence on a matching packet processing scheme. This ensures that both sides use the same algorithm (e.g., both use source IP hash or both use destination MAC hash), preventing packet reordering while maintaining flexibility through multiple supported algorithms.
Solution Approach 2:
The patent changes the parameter of algorithm selection from fixed/imposed to negotiable/adaptive. By allowing dynamic selection of packet processing algorithms through LACP protocol extensions, the system adapts to the capabilities of both host and switch while ensuring consistent processing, resolving the contradiction between flexibility and consistency.
3Adaptability or versatility
If TCP state is contained in individual adapters rather than system-wide TCP layer, then adapter functionality is enhanced, but packet processing fails when reply packets arrive on different adapter than outgoing packets
Solution Approach 1:
The system performs preliminary action by negotiating and agreeing on a packet processing algorithm before actual data transmission begins. The host and switch exchange algorithm preferences during link aggregation setup, ensuring that both sides will use the same algorithm for packet processing, which guarantees that reply packets arrive on the same adapter as outgoing packets for TCP-offloaded adapters.
Data Source
AI summary
A method for negotiating a protocol for a conversation in which data packets are transmitted. Responsive to establishment of a link aggregation with an endpoint for the conversation, an algorithm for processing the data packets in the conversation is selected to form a preferred algorithm. A request is sent to the endpoint. This request indicates the preferred algorithm for processing the data packets in the conversation. A reply to the request is received from the endpoint. A determination is made as to whether a convergence has occurred. The data packets in the conversation are processed using the preferred algorithm in response to a determination that the convergence has occurred.


