WO2016180959A1 - Packet descriptor management - Google Patents

Packet descriptor management Download PDF

Info

Publication number
WO2016180959A1
WO2016180959A1 PCT/EP2016/060811 EP2016060811W WO2016180959A1 WO 2016180959 A1 WO2016180959 A1 WO 2016180959A1 EP 2016060811 W EP2016060811 W EP 2016060811W WO 2016180959 A1 WO2016180959 A1 WO 2016180959A1
Authority
WO
WIPO (PCT)
Prior art keywords
packet
descriptor
wlan
memory
packet descriptor
Prior art date
Application number
PCT/EP2016/060811
Other languages
French (fr)
Inventor
Yaron Alpert
Alex Pisarevski
Original Assignee
Lantiq Beteiligungs-GmbH & Co. KG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Lantiq Beteiligungs-GmbH & Co. KG filed Critical Lantiq Beteiligungs-GmbH & Co. KG
Priority to EP16722668.7A priority Critical patent/EP3295625A1/en
Publication of WO2016180959A1 publication Critical patent/WO2016180959A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/02Processing of mobility data, e.g. registration information at HLR [Home Location Register] or VLR [Visitor Location Register]; Transfer of mobility data, e.g. between HLR, VLR or external networks
    • H04W8/04Registration at HLR or HSS [Home Subscriber Server]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS

Definitions

  • the present application relates to packet descriptor management in wireless local area network (WLAN) communications.
  • WLAN wireless local area network
  • WLAN communications have increasingly be used in modern data communication systems as a result of significant improvements in WLAN communication technology over recent years, in particular as regards achievable data rates.
  • WLAN is specified by various standards of the IEEE 802.1 1 family.
  • IEEE 802.1 1 version 2012, specifies WLAN medium access control (MAC) and physical layer (PHY).
  • MAC medium access control
  • PHY physical layer
  • WLAN communication is used to communicate data in a wireless manner between devices, for example access points (AP) or stations (STAs, which are devices that have the capability to communicate wirelessly, in particular according to the IEEE 802.1 1 protocol), or system elements (for example host processors, WLAN interfaces (l/F), switches, distribution layers etc.).
  • a distribution layer includes LAN (Local Area Network)-based routers and layer 3 switches. This distribution layer ensures that packets are properly routed between subnets and VLANs (Virtual Local Area Networks) in a network. WLAN communication therefore may act as an interface between various entities. For communication, digital data is transmitted in the form of datagram units commonly referred to as packets.
  • data streams to be transmitted are subdivided into discrete datagrams, referred to as packets herein, which are individually transmitted and routed over system elements or components, typically along with other packets being communicated between other source and destination system entities inside a device or network entities between devices.
  • packet switching and routing devices are used for routing such packets through the data network.
  • a source entity and a destination entity are in physical communication within the same device with one another via an external interface(l/F).
  • each packet is typically queued and buffered at each entity (for example source and destination entity) along an overall data path between an ingress interface to the switching device and an egress interface from the switching device.
  • a descriptor ring architecture is often used.
  • Conventional descriptor ring architecture sets up a descriptor ring at a host side.
  • a descriptor ring is a ring that contains a list of descriptors, which, in combination with a direct memory access (DMA) hardware, controls packet buffering.
  • DMA direct memory access
  • a descriptor also referred to as packet descriptor herein, in the context of the present application contains the packet's metadata i.e. data describing the packet or properties thereof, in contrast e.g. to payload data carried by the packet.
  • the descriptor ring acts as a "job" interface between internal entities. Hardware used for packet switching/routing/bridging then constantly polls into the host memory to see if the descriptor is ready for use by the hardware. This may require many read operations, for example for reading packet descriptors from the host memory/descriptor ring by polling. As a result, host memory/descriptor ring read operations conventionally take a long time compared to host memory write operations. Such read operations therefore require a lot of overhead, which is undesirable when buffering time- sensitive data packets.
  • Fig. 1 illustrates a WLAN communication system as an example environment where embodiments may be implemented.
  • Fig. 2 illustrates a WLAN packet switching device and system.
  • Fig. 3 illustrates a system according to an embodiment.
  • Fig. 4 illustrates a method according to an embodiment.
  • WLAN communication systems and devices In some embodiments, extended packet descriptors are used, which comprise more information than conventional descriptors. In some embodiments, the packet descriptor is pushed in from a destination system entity.
  • a WLAN system entity or WLAN device as used herein may refer to an entity which is responsible for WLAN communication (WLAN l/F) within a device like for example a host device, a computer, a mobile phone, a tablet etc.
  • Fig. 1 illustrates a simplified block diagram of a WLAN communication system 10.
  • WLAN communication system 10 may communicate with a plurality of devices via communication links 12 at interfaces (l/F) 13.
  • Communication links 12 may for example be wireless or wire-based communication links.
  • WLAN communication system 10 communicates via a WLAN link, i.e. wireless link, 1 10 with a WLAN transceiver 1 1 . Packets may be routed to and from communication links 12 and to and from WLAN link 1 10.
  • WLAN communication system 10 may include a host processor 14, WLAN hardware or firmware 18, a main memory 17, a layer 2 (L2) hardware or firmware 15 and a layer 3 (L3) hardware or firmware 16.
  • layer 2 (L2) and layer 3 (L3) as used herein refer to layers according to the OSI (Open Systems Interconnection) model, where L2 is the data link layer and L3 is the network layer. L2 and L3 hardware/firmware may be implemented conventionally known in the art of WLAN devices.
  • communication system 10 may include a WLAN local memory 19 which is used directly for the WLAN functionality. If not included, main memory 17 may be used instead.
  • Fig. 2 is a diagram illustrating packet switching in a WLAN system.
  • Fig. 3 then will show a more detailed diagram in which various features of some embodiments will be illustrated.
  • the system of Fig. 2 comprises a destination system entity having an egress queue 25 and ingress queue 26 storing packets to be transmitted/routed.
  • Destination system entity 20 communicates with a WLAN system entity 22 via a physical interface 21 .
  • WLAN system entity 22 comprises a WLAN transmission queue 27 for packets to be transmitted over a WLAN medium 23, i.e. in most cases via air, and a queue 28 for reordering received packets.
  • Descriptors for the packets may be stored in a main memory 24, and/or the packets themselves may be stored in main memory 24, whereas the queues 25, 26, 27 and 28 for example comprise pointers or other identifiers identifying the respective packets or descriptors may be stored.
  • the destination system entity 20 for example may be a host system.
  • Fig. 3 illustrates a block diagram of a system according to an embodiment
  • Fig. 4 is a flow chart illustrating a method according to an embodiment.
  • extended descriptors are used in association with WLAN packets. These extended descriptors, like conventional descriptors, include information about a current location of a packet in a memory. Such descriptors may be managed by way of a linked list, in which the descriptor for a given packet includes a memory address pointing to a location of a descriptor of a next packet in sequence within a particular message or data stream to be transmitted.
  • the extended packet descriptors used in embodiments may comprise additional information, hence the name extended descriptors.
  • the extended descriptor may include one or more of the following types of additional information: - Size of the data packet
  • QoS Quality of service
  • L3 characteristics of the packet like frame type (for example IPv4, IPv6, UDP, TCP), IP addresses, encapsulation information, number of VLAN (Virtual Local Area Network), tags, number of MPLS (Multiprotocol Layer Switching) layers, L3 coloring/tagging (coloring/tagging information)
  • Some embodiments transfer information between different entities (for example source and destination system entities within a same device, with one of them being a WLAN system entity) using such extended packet descriptor, wherein such extended packet descriptors are exchanged.
  • packets are transferred with minimal need for copies or direct reads of packet information.
  • the system of Fig. 3 comprises a destination system entity 30 linked to a WLAN system entity 310 via a physical interface 39, similar to what was explained in Fig. 2. Furthermore, similar to Fig. 2, destination system entity 30 comprises one or more egress queues 36 and one or more ingress queues 37 for data to be transmitted and received data, respectively.
  • WLAN system entity 310 also similar to what was explained referring to Fig. 2, comprises WLAN transmission queues 315 for data to be transmitted to a WLAN medium 319 via a transmitter 317 and WLAN reordering queues 316 for data received from WLAN medium 319 using a receiver 318.
  • a WLAN reordering queue implements a receive reordering buffer control operation, for example as defined in IEEE 802.1 I revMC section 10.24.7.6.
  • the system shown in Fig. 3 comprises a main memory 38 for storing packets and/or descriptors.
  • packets to be transmitted via WLAN are received from a higher system entity like destination system entity 30 (for example a host), the packets are then saved into a main memory like main memory 38, followed by processing the packets to map the packets to extended descriptors.
  • the extended descriptors may then be transferred to WLAN system entity 310.
  • the extended descriptors are then copied to a local WLAN memory 314, and the descriptor is processed without having to access the original packets stored at the main memory.
  • a regular transmission procedure is carried out where the packets are pulled from the main memory and transmitted in the order of WLAN medium access (and not necessarily in the arrival order to the WLAN physical interface 39), i.e. "on the fly".
  • a descriptor generator 33 which may be implemented using a processor/controller 31 or any dedicated hardware or firmware locates the packet at main memory 38 if needed, generates a dedicated extended packet descriptor for the packet or modifies a prepared extended packet descriptor to represent the packet processed by the destination system entity (for example to include a pointer to where the packet is stored to main memory 38 and/or to include additional information as explained above).
  • descriptor signaling 35 (which may be implemented using processor/controller 31 and/or by dedicated hardware, firmware or combinations thereof) sends a notification regarding the descriptor buffer stators to the descriptor signaling 312 of WLAN system entity 310.
  • Descriptor signaling 312 may be implemented in hardware, firmware, software or combinations thereof.
  • descriptor signaling 312 of WLAN system entity 310 may monitor the status of descriptor buffers 34. In such embodiments, descriptor signaling 35 of destination system entity 30 may even be omitted in some cases.
  • the extended packet descriptor may be transmitted directly using for example descriptor buffers 34 or may also be transmitted by sending a link list of pointers to location of the extended packet descriptors for example in main memory 38.
  • a multiple packet message using a link list for a plurality of extended packet descriptors may also be used.
  • a direct signaling approach may be implemented by descriptor signaling 35 (and/or 312).
  • indirect signaling approaches may be used.
  • descriptor signaling 312 needs to pull the descriptors (for example from descriptor buffer 34)
  • descriptor signaling 312 sends a message to interface controller 31 1 to pull the respective extended packet descriptor(s) from descriptor buffers 34 via physical interface 39.
  • the pulled descriptors may then be forwarded to a descriptor generator 313 of WLAN system entity 310.
  • Descriptor generator 313 may be implemented as hardware, software, firmware or combinations thereof.
  • Descriptor generator 313 may copy the extended packet descriptor from main memory 38 to an internal memory 314. In some embodiments, descriptor generator 313 may also add additional information to the extended packet descriptors, modify the information in the extended packet descriptors and/or remove some information from the extended packet descriptors. Then, the extended packet descriptor of a packet to be transmitted via WLAN medium 319 (or a pointer thereto) is placed in one of WLAN transmission queues 315 for transmission.
  • Transmitter 317 then pulls the relevant descriptors from the appropriate queue of WLAN transmission queues 315 and based on that constructs one or more corresponding physical protocol data units (PPDUs), which is the protocol data unit of the bit transmission layer, and based on the PPDU(s) and the selected descriptor(s) transmitter 317 pulls the relevant packets from main memory 38 and transmits them via WLAN medium 319.
  • PPDUs physical protocol data units
  • the transmitter 317 may indicate to descriptor signaling 312 that packets associated with certain packet descriptors have been transmitted.
  • Descriptor signaling 312 in some embodiments may then release the packet descriptors from internal memory 314, if stored there, or transmit a signal to descriptor signaling 35 of destination system entity 30 indicating that the packet descriptors of the transmitted packets may be released (for example deleted) from main memory 38.
  • descriptor generator 33 of destination system entity 13 and/or description generator 313 of WLAN system entity 310 Upon receipt of a packet at receiver 318, descriptor generator 33 of destination system entity 13 and/or description generator 313 of WLAN system entity 310 generates an extended packet descriptor for the received packet and/or allocates/copies the packet to main memory 38. The extended packet descriptor is then pulled into ingress queues 37 of destination system entity 30.
  • descriptor signaling 312 of WLAN system entity 310 sends a dedicated identification regarding descriptor buffer status to descriptor signaling 35 of destination system entity 30. In other embodiments, descriptor signaling 35 monitors the descriptor buffer status. This extended packet descriptor in particular may be transmitted via physical interface to descriptor buffers 34.
  • descriptor signaling 35 may request interface controller 32 to obtain the packet descriptor from WLAN system entity 310 and transfer it to descriptor generator 33 of destination system entity.
  • Descriptor generator 33 may add more information to the packet descriptor, modify the packet descriptor or remove information from the packet descriptor and place it in an appropriate ingress queue 37.
  • Processor/controller 31 in embodiments may then pull needed descriptors from the ingress queues 37 and forward it to corresponding egress queues 36 for further processing.
  • processor/controller 31 may send an indication to descriptor signaling 35.
  • Descriptor signaling 35 may then release the packet descriptor(s) (if the packet descriptor is in a memory of destination system entity 30) or send a dedicated signal to descriptor signaling 312 to indicate releasing the packet descriptor(s).
  • the above described operation of the system of Fig. 3 is summarized in the flow chart of Fig. 4. All details, variations and additions described with reference to the operation of Fig. 3 are also applicable to the method of Fig. 4.
  • a generated packet descriptor (for example generated by destination system entity 30) is pushed to a physical interface (e.g. 39) for further processing at WLAN system entity (e.g. 310).
  • WLAN system entity e.g. 310 reads the packet descriptor, obtains the packet from a main memory at 42 and transmits it over the WLAN medium.
  • operation is correspondingly, but with somewhat reversed roles of WLAN system entity (e.g. 310) and destination system entity (e.g. 30), as described above for the operation of the system of Fig. 3.

Abstract

Methods for managing packets for transmission and reception via WLAN are provided. In some examples, extended packet descriptors are used. The packet descriptor may be pushed from a further device to a WLAN device, which reads the packet descriptor and obtains the packet from a memory for transmission.

Description

PACKET DESCRIPTOR MANAGEMENT
TECHNICAL FIELD
The present application relates to packet descriptor management in wireless local area network (WLAN) communications.
BACKGROUND
WLAN communications have increasingly be used in modern data communication systems as a result of significant improvements in WLAN communication technology over recent years, in particular as regards achievable data rates. For example, WLAN is specified by various standards of the IEEE 802.1 1 family. For example, IEEE 802.1 1 , version 2012, specifies WLAN medium access control (MAC) and physical layer (PHY).
WLAN communication is used to communicate data in a wireless manner between devices, for example access points (AP) or stations (STAs, which are devices that have the capability to communicate wirelessly, in particular according to the IEEE 802.1 1 protocol), or system elements (for example host processors, WLAN interfaces (l/F), switches, distribution layers etc.). A distribution layer includes LAN (Local Area Network)-based routers and layer 3 switches. This distribution layer ensures that packets are properly routed between subnets and VLANs (Virtual Local Area Networks) in a network. WLAN communication therefore may act as an interface between various entities. For communication, digital data is transmitted in the form of datagram units commonly referred to as packets.
In such an approach, data streams to be transmitted are subdivided into discrete datagrams, referred to as packets herein, which are individually transmitted and routed over system elements or components, typically along with other packets being communicated between other source and destination system entities inside a device or network entities between devices. For routing such packets through the data network, packet switching and routing devices are used. In such packet switching or routing devices, a source entity and a destination entity are in physical communication within the same device with one another via an external interface(l/F). In the context of this application, for packet switching each packet is typically queued and buffered at each entity (for example source and destination entity) along an overall data path between an ingress interface to the switching device and an egress interface from the switching device.
In such packet routing or other packet handling, it is desirable to route packets between entities, devices or components with minimal number of copy transactions (i.e. copying the packet from one memory to another memory within a device and/or accumulate the packet in a central memory within a device) and reduced memory consumption to achieve high efficiency needed for high data rates. Conventionally, a descriptor ring architecture is often used. Conventional descriptor ring architecture sets up a descriptor ring at a host side. A descriptor ring is a ring that contains a list of descriptors, which, in combination with a direct memory access (DMA) hardware, controls packet buffering. A descriptor, also referred to as packet descriptor herein, in the context of the present application contains the packet's metadata i.e. data describing the packet or properties thereof, in contrast e.g. to payload data carried by the packet. The descriptor ring acts as a "job" interface between internal entities. Hardware used for packet switching/routing/bridging then constantly polls into the host memory to see if the descriptor is ready for use by the hardware. This may require many read operations, for example for reading packet descriptors from the host memory/descriptor ring by polling. As a result, host memory/descriptor ring read operations conventionally take a long time compared to host memory write operations. Such read operations therefore require a lot of overhead, which is undesirable when buffering time- sensitive data packets.
Even when using fast busses for time-sensitive data packets, such busses in conventional solutions are often unable to perform a read operation in a single transaction. Instead, the bus had to try the read operations several times, each time having to reschedule each read under control of a bus arbiter. This caused even a single read operation to be time-consuming. Read operations also cause a host to stop and wait for a data return, leading to slow and inefficient processing. Polling so-called ownership bits in conventional solutions further causes loss of bandwidth an unnecessary traffic. For example, in conventional solution every time a hardware DMA engine finishes transmitting or receiving, the DMA engine accesses the descriptor ring stored in the host memory and changed the ownership bits of the descriptor indicating ownership of the packet to the host. Such ownership bits are used as a semaphore between two or more entities that use the same descriptor ring. This constant changing of ownership bits requires bus bandwidth. SUMMARY
Various aspects are provided as defined in the independent claims attached hereto. The dependent claims define further embodiments.
The above summary is only a brief overview of some aspects, and other aspects and embodiments may also be provided. Therefore, the summary is not to be construed as limiting.
BRIEF DESCRIPTION OF THE DRAWINGS
Fig. 1 illustrates a WLAN communication system as an example environment where embodiments may be implemented.
Fig. 2 illustrates a WLAN packet switching device and system.
Fig. 3 illustrates a system according to an embodiment.
Fig. 4 illustrates a method according to an embodiment. DETAILED DESCRIPTION
In the following, various embodiments will be described in detail referring to the attached drawings. These embodiments are given by way of example only and are not to be construed as limiting. For example, while embodiments may be described as comprising a plurality of components, elements or details, in other embodiments some of the components, elements or details may be omitted and/or may be replaced by alternative components, elements or details. Furthermore, apart from the components, elements or details explicitly shown and described herein, further components, elements or details may be provided, for example components, elements or details conventionally used in WLAN communication systems.
Components or elements from different embodiments may be combined to form further embodiments unless noted otherwise. Modifications and variations described with respect to one of the embodiments may also be applicable to other embodiments. Various embodiments relate to WLAN communication systems and devices. In some embodiments, extended packet descriptors are used, which comprise more information than conventional descriptors. In some embodiments, the packet descriptor is pushed in from a destination system entity. A WLAN system entity or WLAN device as used herein may refer to an entity which is responsible for WLAN communication (WLAN l/F) within a device like for example a host device, a computer, a mobile phone, a tablet etc.
Turning now to the figures, Fig. 1 illustrates a simplified block diagram of a WLAN communication system 10. WLAN communication system 10 may communicate with a plurality of devices via communication links 12 at interfaces (l/F) 13. Communication links 12 may for example be wireless or wire-based communication links. Furthermore, WLAN communication system 10 communicates via a WLAN link, i.e. wireless link, 1 10 with a WLAN transceiver 1 1 . Packets may be routed to and from communication links 12 and to and from WLAN link 1 10.
As illustratively shown in Fig. 1 , WLAN communication system 10 may include a host processor 14, WLAN hardware or firmware 18, a main memory 17, a layer 2 (L2) hardware or firmware 15 and a layer 3 (L3) hardware or firmware 16. The terms layer 2 (L2) and layer 3 (L3) as used herein refer to layers according to the OSI (Open Systems Interconnection) model, where L2 is the data link layer and L3 is the network layer. L2 and L3 hardware/firmware may be implemented conventionally known in the art of WLAN devices. Optionally, communication system 10 may include a WLAN local memory 19 which is used directly for the WLAN functionality. If not included, main memory 17 may be used instead.
Fig. 2 is a diagram illustrating packet switching in a WLAN system. Fig. 3 then will show a more detailed diagram in which various features of some embodiments will be illustrated.
The system of Fig. 2 comprises a destination system entity having an egress queue 25 and ingress queue 26 storing packets to be transmitted/routed. Destination system entity 20 communicates with a WLAN system entity 22 via a physical interface 21 . WLAN system entity 22 comprises a WLAN transmission queue 27 for packets to be transmitted over a WLAN medium 23, i.e. in most cases via air, and a queue 28 for reordering received packets. Descriptors for the packets may be stored in a main memory 24, and/or the packets themselves may be stored in main memory 24, whereas the queues 25, 26, 27 and 28 for example comprise pointers or other identifiers identifying the respective packets or descriptors may be stored. The destination system entity 20 for example may be a host system. Next, embodiments will be described in more detail referring to Figs. 3 and 4. Fig. 3 illustrates a block diagram of a system according to an embodiment, and Fig. 4 is a flow chart illustrating a method according to an embodiment. In embodiments, extended descriptors are used in association with WLAN packets. These extended descriptors, like conventional descriptors, include information about a current location of a packet in a memory. Such descriptors may be managed by way of a linked list, in which the descriptor for a given packet includes a memory address pointing to a location of a descriptor of a next packet in sequence within a particular message or data stream to be transmitted. In addition to information contained in conventional descriptors, the extended packet descriptors used in embodiments may comprise additional information, hence the name extended descriptors. In particular, the extended descriptor may include one or more of the following types of additional information: - Size of the data packet
Size of elements of the packets
Offsets like start of L2 header, start of IP header, start of U DP/TCP header and/or start of UDP/TCP payload
Quality of service (QoS) characteristics of the packet (for example access category (AC) or PIB on layer 2 (L2) or class on layer 3 (L3))
L2 characteristics of packet like packet type, MAC (Medium Access Control) addresses, L2 coloring/tagging, coloring/tagging information
L3 characteristics of the packet like frame type (for example IPv4, IPv6, UDP, TCP), IP addresses, encapsulation information, number of VLAN (Virtual Local Area Network), tags, number of MPLS (Multiprotocol Layer Switching) layers, L3 coloring/tagging (coloring/tagging information)
Security characteristics of the packet (encryption method, hash key, WLAN key etc.)
VLAN info characteristic
Dedicated interface or port characteristics
WLAN characteristic of packet
Relevant traffic type characteristic
Packet type (multicast, unicast...)
Some embodiments transfer information between different entities (for example source and destination system entities within a same device, with one of them being a WLAN system entity) using such extended packet descriptor, wherein such extended packet descriptors are exchanged. In some embodiments, by employing such methods packets are transferred with minimal need for copies or direct reads of packet information.
Next, use of such packet descriptors will be explained referring to Fig. 3. The system of Fig. 3 comprises a destination system entity 30 linked to a WLAN system entity 310 via a physical interface 39, similar to what was explained in Fig. 2. Furthermore, similar to Fig. 2, destination system entity 30 comprises one or more egress queues 36 and one or more ingress queues 37 for data to be transmitted and received data, respectively. WLAN system entity 310, also similar to what was explained referring to Fig. 2, comprises WLAN transmission queues 315 for data to be transmitted to a WLAN medium 319 via a transmitter 317 and WLAN reordering queues 316 for data received from WLAN medium 319 using a receiver 318. A WLAN reordering queue implements a receive reordering buffer control operation, for example as defined in IEEE 802.1 I revMC section 10.24.7.6. Furthermore, the system shown in Fig. 3 comprises a main memory 38 for storing packets and/or descriptors. In the system of Fig. 3 or other embodiments, packets to be transmitted via WLAN are received from a higher system entity like destination system entity 30 (for example a host), the packets are then saved into a main memory like main memory 38, followed by processing the packets to map the packets to extended descriptors. The extended descriptors may then be transferred to WLAN system entity 310. In some embodiments, the extended descriptors are then copied to a local WLAN memory 314, and the descriptor is processed without having to access the original packets stored at the main memory. Following this, a regular transmission procedure is carried out where the packets are pulled from the main memory and transmitted in the order of WLAN medium access (and not necessarily in the arrival order to the WLAN physical interface 39), i.e. "on the fly". To illustrate further in a non-limiting manner, in Fig. 3 upon receipt of a packet by destination system entity 30 a descriptor generator 33 (which may be implemented using a processor/controller 31 or any dedicated hardware or firmware) locates the packet at main memory 38 if needed, generates a dedicated extended packet descriptor for the packet or modifies a prepared extended packet descriptor to represent the packet processed by the destination system entity (for example to include a pointer to where the packet is stored to main memory 38 and/or to include additional information as explained above).
The extended packet descriptor is then provided to a corresponding descriptor buffer 34, in this case for egress to WLAN system entity 310. In an embodiment, descriptor signaling 35 (which may be implemented using processor/controller 31 and/or by dedicated hardware, firmware or combinations thereof) sends a notification regarding the descriptor buffer stators to the descriptor signaling 312 of WLAN system entity 310. Descriptor signaling 312 may be implemented in hardware, firmware, software or combinations thereof. In other embodiments, descriptor signaling 312 of WLAN system entity 310 may monitor the status of descriptor buffers 34. In such embodiments, descriptor signaling 35 of destination system entity 30 may even be omitted in some cases.
It should be noted that in some embodiments the extended packet descriptor may be transmitted directly using for example descriptor buffers 34 or may also be transmitted by sending a link list of pointers to location of the extended packet descriptors for example in main memory 38. In embodiments, a multiple packet message using a link list for a plurality of extended packet descriptors may also be used.
In some embodiments, a direct signaling approach may be implemented by descriptor signaling 35 (and/or 312). In other embodiments, indirect signaling approaches may be used.
In embodiments where the descriptor signaling 312 needs to pull the descriptors (for example from descriptor buffer 34), descriptor signaling 312 sends a message to interface controller 31 1 to pull the respective extended packet descriptor(s) from descriptor buffers 34 via physical interface 39. The pulled descriptors may then be forwarded to a descriptor generator 313 of WLAN system entity 310. Descriptor generator 313 may be implemented as hardware, software, firmware or combinations thereof.
Descriptor generator 313 may copy the extended packet descriptor from main memory 38 to an internal memory 314. In some embodiments, descriptor generator 313 may also add additional information to the extended packet descriptors, modify the information in the extended packet descriptors and/or remove some information from the extended packet descriptors. Then, the extended packet descriptor of a packet to be transmitted via WLAN medium 319 (or a pointer thereto) is placed in one of WLAN transmission queues 315 for transmission. Transmitter 317 then pulls the relevant descriptors from the appropriate queue of WLAN transmission queues 315 and based on that constructs one or more corresponding physical protocol data units (PPDUs), which is the protocol data unit of the bit transmission layer, and based on the PPDU(s) and the selected descriptor(s) transmitter 317 pulls the relevant packets from main memory 38 and transmits them via WLAN medium 319. In some embodiments, after transmission the transmitter 317 may indicate to descriptor signaling 312 that packets associated with certain packet descriptors have been transmitted. Descriptor signaling 312 in some embodiments may then release the packet descriptors from internal memory 314, if stored there, or transmit a signal to descriptor signaling 35 of destination system entity 30 indicating that the packet descriptors of the transmitted packets may be released (for example deleted) from main memory 38.
The above description describes transmitting of WLAN packets. Next, receiving of WLAN packets by a receiver 318 of WLAN system entity 310 via WLAN medium 319 in the system of Fig. 3 will be described.
Upon receipt of a packet at receiver 318, descriptor generator 33 of destination system entity 13 and/or description generator 313 of WLAN system entity 310 generates an extended packet descriptor for the received packet and/or allocates/copies the packet to main memory 38. The extended packet descriptor is then pulled into ingress queues 37 of destination system entity 30. In some embodiments, when the descriptor is prepared, descriptor signaling 312 of WLAN system entity 310 sends a dedicated identification regarding descriptor buffer status to descriptor signaling 35 of destination system entity 30. In other embodiments, descriptor signaling 35 monitors the descriptor buffer status. This extended packet descriptor in particular may be transmitted via physical interface to descriptor buffers 34.
In embodiments where descriptor signaling 35 needs to pull the descriptors, it may request interface controller 32 to obtain the packet descriptor from WLAN system entity 310 and transfer it to descriptor generator 33 of destination system entity. Descriptor generator 33 may add more information to the packet descriptor, modify the packet descriptor or remove information from the packet descriptor and place it in an appropriate ingress queue 37.
Processor/controller 31 in embodiments may then pull needed descriptors from the ingress queues 37 and forward it to corresponding egress queues 36 for further processing.
After this transfer, processor/controller 31 may send an indication to descriptor signaling 35. Descriptor signaling 35 may then release the packet descriptor(s) (if the packet descriptor is in a memory of destination system entity 30) or send a dedicated signal to descriptor signaling 312 to indicate releasing the packet descriptor(s). The above described operation of the system of Fig. 3 is summarized in the flow chart of Fig. 4. All details, variations and additions described with reference to the operation of Fig. 3 are also applicable to the method of Fig. 4. At 40, a generated packet descriptor (for example generated by destination system entity 30) is pushed to a physical interface (e.g. 39) for further processing at WLAN system entity (e.g. 310). At 41 , WLAN system entity (e.g. 310) reads the packet descriptor, obtains the packet from a main memory at 42 and transmits it over the WLAN medium. In the opposite direction for receiving WLAN packets, operation is correspondingly, but with somewhat reversed roles of WLAN system entity (e.g. 310) and destination system entity (e.g. 30), as described above for the operation of the system of Fig. 3.
The above embodiments serve only as examples and are not to be construed as limiting. Furthermore, it should be noted that techniques disclosed herein are applicable to bridges, routers and switches.

Claims

Claims
A method for Wireless Local Area Network (WLAN) transmission, comprising:
receiving, at a WLAN device, a packet descriptor from a further device, the packet descriptor comprising metadata about a packet associated with the packet descriptor, storing the packet descriptor in a transmission buffer in the WLAN device,
reading the packet associated with the packet descriptor from a memory external to the
WLAN device, and
wirelessly transmitting the packet by the WLAN device.
The method of claim 1 , wherein receiving the packet descriptor comprises receiving the packet descriptor via a physical interface between the WLAN device and the further device.
The method of claim 1 or 2, wherein the further device is a host device.
The method of any one of claims 1 -3, further comprising generating the packet descriptor at the further device.
The method of any one of claims 1 -4, wherein receiving the packet descriptor comprises copying the packet descriptor from a memory external to the WLAN device to a further memory internal to the WLAN device.
The method of claim 5, wherein the memory external to the WLAN device is a host memory.
The method of claim 5, wherein the memory external to the WLAN device is a further device memory.
The method of any one of claims 1 -7, wherein the packet descriptor indicates a current location of the packet in a memory.
The method of any one of claims 1 -8, further comprising modifying the packet descriptor at the WLAN device.
10. The method of any one of claims 1 -9, wherein said receiving comprises receiving a notification about one or more packet descriptors including the packet descriptor from the further device. 1 1 . The method of any one of claims 1 -10, further comprising sending a notification from the WLAN device to the further device after at least one of successful transmission or dropping of the packet to release the packet descriptor.
12. A method for wireless data communication, comprising:
wirelessly receiving a packet at a Wireless Local Area Network (WLAN) device, generating a packet descriptor associated with the packet at the WLAN device, the packet descriptor comprising metadata about the packet, and
providing the packet descriptor to a further device. 13. The method of claim 1 1 , further comprising storing the packet in at least one of a memory of the further device or a memory of the WLAN device.
14. The method of claim 12 or 13, wherein the further device is a host device. 15. The method of any one of claims 12-14, wherein the further device is coupled to the WLAN device via a physical interface.
16. The method of any one of claims 12-15, further comprising storing the packet descriptor in an ingress queue in the further device.
17. The method of any one of claims 12-16, further comprising storing the packet in a memory external to the WLAN device.
18. The method of any one of claims 12-17, further comprising modifying the packet descriptor at the further device.
19. The method of claim 18, further comprising transferring the packet descriptor to an egress queue in the further device after the modifying. 20. The method of any one of claims 1 -19, wherein the packet descriptor includes information indicating a current location of the packet in the memory.
21 . The method of claim 20, wherein the packet descriptor comprises information regarding one or more of:
- a size of the packet
- packet type and contains (elements/components)
- offset of a location at a memory and/or size of packet components
- quality of service characteristics of the packet
- Layer 2 (MAC) characteristics of the packet
- Layer 3 (l/P) characteristics of the packet
- security characteristics of the packet
- Virtual Local Area Network information regarding the packet
- dedicated interface or port characteristic of the packet
- WLAN characteristic of the packet
- traffic type characteristics.
22. An apparatus, comprising:
a WLAN device,
the WLAN device being configured to receive a packet descriptor from a further device, the WLAN device comprising a transmission buffer configured to store the received packet descriptor and a transmitter configured to read a packet associated with the packet descriptor from a memory external to the WLAN device and to wirelessly transmit the packet.
An apparatus, comprising:
a WLAN device,
the WLAN device comprising a receiver to receive a packet, a descriptor generator to generator a descriptor to the packet and an interface to provide to the descriptor to a further device. 24. The apparatus of claim 22 or 23, further comprising the further device.
25. The apparatus of any one of claims 22-24, wherein the apparatus is adapted to perform the method of any one of claims 1 -21 . 26. A method, comprising:
receiving a WLAN packet, and generating a packet descriptor for the WLAN packet,
wherein the packet descriptor includes information indicating a current location of the packet in a memory,
wherein the packet descriptor further comprises information regarding one or more of: - a size of the packet
- packet types and contains / elements
- offset of alocation at the memory and/or size) of packet components
- quality of service characteristics of the packet
- Layer 2 (MAC) characteristics of the packet
- Layer 3 (l/P) characteristics of the packet
- security characteristics of the packet
- Virtual Local Area Network information regarding the packet
- dedicated interface or port characteristic of the packet
- WLAN characteristic of the packet
- packet type
- traffic type characteristics.
PCT/EP2016/060811 2015-05-13 2016-05-13 Packet descriptor management WO2016180959A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP16722668.7A EP3295625A1 (en) 2015-05-13 2016-05-13 Packet descriptor management

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201562160666P 2015-05-13 2015-05-13
US62/160,666 2015-05-13

Publications (1)

Publication Number Publication Date
WO2016180959A1 true WO2016180959A1 (en) 2016-11-17

Family

ID=55969160

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2016/060811 WO2016180959A1 (en) 2015-05-13 2016-05-13 Packet descriptor management

Country Status (2)

Country Link
EP (1) EP3295625A1 (en)
WO (1) WO2016180959A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6842423B1 (en) * 2001-05-02 2005-01-11 Advanced Micro Devices, Inc. Systems and methods for priority-based flow control masking
US20110268024A1 (en) * 2009-12-08 2011-11-03 Atheros Communications, Inc. Detection of co-located interference in a multi-radio coexistence environment
CN102984166A (en) * 2012-12-07 2013-03-20 苏州简约纳电子有限公司 IP data packet filter
US8429315B1 (en) * 2011-06-24 2013-04-23 Applied Micro Circuits Corporation Stashing system and method for the prevention of cache thrashing
US20140233383A1 (en) * 2013-02-15 2014-08-21 Broadcom Corporation Management of Traffic Buffering in Internal and External Memories in a Passive Optical Network

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6842423B1 (en) * 2001-05-02 2005-01-11 Advanced Micro Devices, Inc. Systems and methods for priority-based flow control masking
US20110268024A1 (en) * 2009-12-08 2011-11-03 Atheros Communications, Inc. Detection of co-located interference in a multi-radio coexistence environment
US8429315B1 (en) * 2011-06-24 2013-04-23 Applied Micro Circuits Corporation Stashing system and method for the prevention of cache thrashing
CN102984166A (en) * 2012-12-07 2013-03-20 苏州简约纳电子有限公司 IP data packet filter
US20140233383A1 (en) * 2013-02-15 2014-08-21 Broadcom Corporation Management of Traffic Buffering in Internal and External Memories in a Passive Optical Network

Also Published As

Publication number Publication date
EP3295625A1 (en) 2018-03-21

Similar Documents

Publication Publication Date Title
US6907042B1 (en) Packet processing device
US8374125B2 (en) Wireless-aware network switch
US9065701B2 (en) Enhanced serialization mechanism
CN107483370B (en) Method for transmitting IP and CAN service on FC network
US7990857B2 (en) Priority aware MAC flow control
US20060203730A1 (en) Method and system for reducing end station latency in response to network congestion
JP2009031954A (en) Data processing apparatus and data transfer method
WO2018036173A1 (en) Network load balancing method, device and system
US9125089B2 (en) Method and apparatus for packet aggregation in a network controller
EP3313031B1 (en) Sdn-based arp realization method and apparatus
US8194561B2 (en) Packet relay device and method for transferring packet therein
CA2953612C (en) Providing an interface for an avionics data transfer system
TWI310272B (en) A network switch and a method for forwarding an incoming frame in a network switch
US10205610B2 (en) Uplink packet routing in a system-on-a-chip base station architecture
US20170251419A1 (en) Downlink packet routing in a system-on-a-chip base station architecture
EP3982600A1 (en) Qos policy method, device, and computing device for service configuration
US20200059347A1 (en) Communication control device, communication control method, network switch, route control method, and communication system
CN112994928B (en) Virtual machine management method, device and system
WO2016180959A1 (en) Packet descriptor management
WO2014187089A1 (en) Data transmission system and method
WO2023273788A1 (en) Data processing method and related apparatus
US11533277B2 (en) Method and system for virtual channel remapping
CN114401214B (en) Network and method for realizing multicast communication of containers
WO2024001701A1 (en) Data processing method, apparatus and system
JP5058758B2 (en) COMMUNICATION MANAGEMENT DEVICE, ITS CONTROL METHOD, AND PROGRAM

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16722668

Country of ref document: EP

Kind code of ref document: A1

REEP Request for entry into the european phase

Ref document number: 2016722668

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE