Search

EP-4738789-A1 - MANAGING PACKET DATA WITH VARIABLE METADATA SIZE

EP4738789A1EP 4738789 A1EP4738789 A1EP 4738789A1EP-4738789-A1

Abstract

The subject technology is directed to an apparatus for packet processing in a network. In an embodiment, the apparatus comprises a first port configured to receive a first packet. The apparatus further comprises a processor coupled to the first port, the processor configured to generate a first metadata associated with the first packet and determine a first size of the first metadata. The apparatus also includes a buffer coupled to the processor, which is configured to store the first packet and the first metadata. Based on a determination that the first size exceeds a predefined threshold, the processor is further configured to move a portion of the first packet to accommodate the larger metadata. This configuration allows for dynamic adjustment of packet data and metadata storage, optimizing the handling of packets with varying metadata requirements. There are other embodiments as well.

Inventors

  • GOPALAKRISHNAN, MANOJ LAKSHMY
  • BANSAL, ANKIT SAJJAN KUMAR
  • LAU, MICHAEL HEI-LUNG

Assignees

  • Avago Technologies International Sales Pte. Limited

Dates

Publication Date
20260506
Application Date
20251022

Claims (15)

  1. An apparatus comprising: a first port configured to receive a first packet, the first packet comprising a first cell and a second cell; a processor coupled to the first port, the processor configured to generate a first metadata associated with the first packet and determine a first size of the first metadata, the first metadata comprising a first field indicating the first size of the first metadata; and a buffer coupled to the processor, the buffer configured to store the first packet and the first metadata; wherein the processor is configured to move a portion of the first packet from the first cell to the second cell based on a determination that the first size of the first metadata exceeds a first threshold; and wherein the processor is configured to generate a third cell based on a determination that the first size of the first metadata exceeds a second threshold, and the second threshold is greater than or equal to the first threshold.
  2. The apparatus of claim 1, further comprising a controller coupled to the first port, the controller being configured to manage a transmission of the first packet.
  3. The apparatus of claim 1 or 2, further comprising a second port coupled to the buffer, the second port being configured to transmit the first packet.
  4. The apparatus of any one of the claims 1 to 3, wherein the first metadata comprises a source address or a destination address.
  5. The apparatus of any one of the claims 1 to 4, the first metadata comprises a priority level associated with the first packet; wherein in particular the processor is configured to send a first signal to the first port in response to generating the third cell.
  6. The apparatus of any one of the claims 1 to 5, wherein the first metadata is configured in the first cell.
  7. The apparatus of any one of the claims 1 to 6, wherein the first metadata is configured in the second cell.
  8. The apparatus of any one of the claims 1 to 7, wherein the first port is configured to receive a second packet, the processor is configured to generate a second metadata associated with the second packet and determine a second size of the second metadata, the second size is different from the first size.
  9. An apparatus comprising: a first port configured to receive a first packet, the first packet comprising a first cell and a second cell; a processor coupled to the first port, the processor configured to generate a first metadata associated with the first packet and determine a first size of the first metadata, the first metadata comprising a first field indicating the first size of the first metadata; a buffer coupled to the processor, the buffer configured to store the first packet and the first metadata; and a second port coupled to the buffer, the second port being configured to transmit the first packet based on the first metadata; wherein the processor is further configured to move a portion of the first packet from the first cell to the second cell based on a determination that the first size of the first metadata exceeds a first threshold.
  10. The apparatus of claim 9, further comprising at least one of the following features: (A) the apparatus further comprises a controller coupled to the first port, the controller being configured to manage a transmission of the first packet; (B) the first metadata is configured in the second cell. (C) the first metadata is configured in the first cell; and (D) the first port is configured to receive a second packet, the processor is configured to generate a second metadata associated with the second packet and determine a second size of the second metadata, the second size is different from the first size.
  11. The apparatus of claim 9 or 10, wherein the processor is further configured to generate a third cell based on a determination that the first size of the first metadata exceeds a second threshold, and the second threshold is greater than or equal to the first threshold.
  12. The apparatus of any one of the claims 9 to 11, wherein the first metadata comprises at least one of a source address, a destination address, a priority level, or a traffic type identifier.
  13. An apparatus comprising: a first port configured to receive a first packet and a second packet; a processor coupled to the first port, the processor configured to generate a first metadata associated with the first packet and a second metadata associated with the second packet; and a buffer coupled to the processor, the buffer configured to store the first packet and the second packet; wherein the processor is further configured to determine a first size of the first metadata and a second size of the second metadata, the second size is different from the first size; wherein the first metadata comprises a first field indicating the first size of the first metadata, and the second metadata comprises a second field indicating the second size of the second metadata; and wherein the processor is further configured to move a portion of the first packet based on a determination that the first size of the first metadata exceeds a first threshold.
  14. The apparatus of claim 13, wherein the first packet comprises a first cell and a second cell, and the first metadata is configured in the first cell and the second cell.
  15. The apparatus of claim 13 or 14, further comprising at least one of the following features: (A) the apparatus further comprises a controller coupled to the first port, the controller being configured to manage a transmission of the first packet based on the first metadata; and (B) the processor is configured to generate a third cell in the first packet based on a determination that the first size of the first metadata exceeds a second threshold, the second threshold is greater than or equal to the first threshold.

Description

FIELD OF INVENTION The subject technology is directed to network communication systems and methods. BACKGROUND OF THE INVENTION With the increasing complexity and data demands of modem network communication systems, there is a growing need for improved methods to manage and store data packets in network devices. As networks handle larger volumes of traffic, managing the allocation of resources, such as memory and processing power, becomes increasingly challenging. Applications such as cloud computing, telecommunications, and data centers rely on the efficient processing and transmission of packets to maintain system performance. Various approaches for improving packet management in network communication have been explored, but they are often inadequate. New and improved systems and methods are desired. BRIEF DESCRIPTION OF THE DRAWINGS A further understanding of the nature and advantages of particular embodiments may be realized by reference to the remaining portions of the specification and the drawings, in which like reference numerals are used to refer to similar components. In some instances, a sub-label is associated with a reference numeral to denote one of multiple similar components. When reference is made to a reference numeral without specification to an existing sub-label, it is intended to refer to all such multiple similar components. Figure 1 is a schematic block diagram illustrating a packet processing system, in accordance with various embodiments of the subject technology.Figure 2 is a schematic diagram illustrating the structure of data packets, in accordance with various embodiments of the subject technology.Figures 3A-3B are schematic block diagrams illustrating the structure of a packet with metadata, in accordance with various embodiments of the subject technology.Figure 4 is a schematic block diagram illustrating a packet processing system, in accordance with various embodiments of the subject technology.Figure 5 is a schematic block diagram illustrating a packet processing system, in accordance with various embodiments of the subject technology.Figures 6A-6C are schematic diagrams illustrating examples of how variable metadata is packed with packet data, in accordance with various embodiments of the subject technology. DETAILED DESCRIPTION OF THE INVENTION The subject technology is directed to an apparatus for packet processing in a network. In an embodiment, the apparatus comprises a first port configured to receive a first packet. The apparatus further comprises a processor coupled to the first port, the processor configured to generate a first metadata associated with the first packet and determine a first size of the first metadata. The apparatus also includes a buffer coupled to the processor, which is configured to store the first packet and the first metadata. Based on a determination that the first size exceeds a predefined threshold, the processor is further configured to move a portion of the first packet to accommodate the larger metadata. This configuration allows for dynamic adjustment of packet data and metadata storage, optimizing the handling of packets with varying metadata requirements. There are other embodiments as well. To facilitate packet transmission and routing, metadata is often used to provide essential information, such as routing details, security tags, and priority levels. Some approaches for managing packet transmission may involve assigning a fixed size to the metadata associated with each packet, regardless of the actual data requirements. While simple, these methods can lead to inefficient memory utilization, as smaller packets waste valuable space while larger packets may lack the necessary metadata capacity. Additionally, the fixed-size approach can lead to memory fragmentation and increased processing delays, as systems struggle to adjust to varying packet sizes and traffic conditions. Over time, these inefficiencies can result in network bottlenecks and reduced overall performance. One general aspect includes an apparatus, which comprises a first port configured to receive a first packet, the first packet comprising a first cell and a second cell. The apparatus further comprises a processor coupled to the first port, the processor configured to generate a first metadata associated with the first packet and determine a first size of the first metadata, the first metadata comprising a first field indicating the first size of the first metadata. The apparatus further comprises a buffer coupled to the processor, the buffer configured to store the first packet and the first metadata. The processor is configured to move a portion of the first packet from the first cell to the second cell based on a determination that the first size of the first metadata exceeds a first threshold. The processor is configured to generate a third cell based on a determination that the first size of the first metadata exceeds a second threshold, and the second threshold is