Packet buffer spill-over in network devices

    公开(公告)号:US11483244B2

    公开(公告)日:2022-10-25

    申请号:US17205502

    申请日:2021-03-18

    摘要: Packets to be transmitted from a network device are buffered in queues in a first packet memory. In response to detecting congestion in a queue in the first packet memory, groups of multiple packets are transferred from the first packet memory to a second packet memory, the second packet memory configured to buffer a portion of traffic bandwidth supported by the network device. Prior to transmission of the packets among the one or more groups of multiple packets from the network device, packets among the one or more groups of multiple packets are transferred from the second packet memory back to the first packet memory. The packets transferred from the second packet memory back to the first packet memory are retrieved from the first packet memory and are forwarded to one or more network ports for transmission of the packets from the network device.

    Methods and apparatus for load balancing in a network switching system

    公开(公告)号:US10855593B1

    公开(公告)日:2020-12-01

    申请号:US15938733

    申请日:2018-03-28

    摘要: A local network device of a network switching system determines, based on a first set of received packets that contain markings indicating congestion at one or more other network devices in the network switching system, one or more respective congestion levels of one or more network paths through the network switching system. The local network device selects, based on determined congestion levels, network paths via which a second set of received packets are to be forwarded for load balancing. The local network device alters header information in the second set of received packets, the altered header information to be used by other network devices in the network switching system to make network path selections so that the second set of received packets are subsequently forwarded responsively to the altered header information along the selected network paths within the network switching system.

    Methods and apparatus for load balancing in a network

    公开(公告)号:US10812391B1

    公开(公告)日:2020-10-20

    申请号:US15882725

    申请日:2018-01-29

    摘要: A local network device receives a plurality of packets via a plurality of network paths in a network system, and counts respective numbers of packets, per network path, that are marked, in Internet Protocol (IP) headers and/or headers corresponding to one or more protocols above an IP layer, to indicate congestion at one or more remote network devices in the network system. The local network device determines respective congestion levels of network paths among the plurality of paths based on the respective numbers of received packets that are marked to indicate congestion at one or more remote network devices in the network system, and performs load balancing operations using at least the respective determined congestion levels.

    Hybrid packet memory for buffering packets in network devices

    公开(公告)号:US11159440B2

    公开(公告)日:2021-10-26

    申请号:US16197028

    申请日:2018-11-20

    摘要: A network device processes received packets at least to determine port or ports of the network device via which to transmit the packet. The network device also classifies the packets into packet flows, the packet flows being further categorized into traffic pattern categories characteristic of traffic pattern characteristics of the packet flows. The network device buffers, according to the traffic pattern categories of the packet flows, packets that belong to the packet flows in a first packet memory or in a second packet memory, the first packet memory having a memory access bandwidth different from a memory access bandwidth of the second packet memory. After processing the packets, the network device retrieves the packets from the first packet memory or the second packet memory in which the packets are buffered, and forwards the packets to the determined one or more ports for transmission of the packets.

    EXACT MATCH AND TERNARY CONTENT ADDRESSABLE MEMORY (TCAM) HYBRID LOOKUP FOR NETWORK DEVICE

    公开(公告)号:US20200228449A1

    公开(公告)日:2020-07-16

    申请号:US16740170

    申请日:2020-01-10

    IPC分类号: H04L12/743 H04L29/06

    摘要: In a network device, a hash calculator generates a lookup hash value from data fields associated with a packet received by the network device. A compressed lookup key generator generates a compressed lookup key for the packet using the lookup hash value. A content addressable memory (CAM) stores compressed patterns corresponding to compressed lookup keys, uses the compressed lookup key received from the compressed lookup key generator to determine if the received compressed lookup key matches any stored compressed patterns, and outputs an index corresponding to a stored compressed pattern that matches the compressed lookup key. A memory stores uncompressed patterns corresponding to the compressed patterns stored in the CAM, and retrieves an uncompressed pattern using the index output by the CAM. A comparator generate a signal that indicates whether the uncompressed pattern retrieved from the memory matches the data fields associated with the packet.

    Enhanced congestion avoidance in network devices

    公开(公告)号:US10749803B1

    公开(公告)日:2020-08-18

    申请号:US16049717

    申请日:2018-07-30

    摘要: An upstream network device in a switching system processes packets an determines respective one or more egress ports of a downstream network device via which the packets are to be subsequently transmitted by the downstream network device. The upstream network device temporarily stores the packets in respective virtual output queues (VoQs) corresponding to the determined egress ports of the downstream network device. Responsively to receiving a flow control message indicating that particular one or more egress ports of the downstream network device are congested, the upstream network device modulates a flow of packets from particular one or more VoQs corresponding to the one or more particular congested egress ports of the downstream network device, to reduce congestion at the particular congested egress ports of the downstream network device, without modulating the flow of packets from other one or more VoQs corresponding to other egress ports of the downstream network device.

    Congestion avoidance in a network device

    公开(公告)号:US10516620B2

    公开(公告)日:2019-12-24

    申请号:US15599280

    申请日:2017-05-18

    摘要: A network device receives a packet is received from a network, and determines at least one port, among a plurality of ports of the network device, via which the packet is to be transmitted. The network device also determines an amount of free buffer space in a buffer memory of the network device, and dynamically determines, based at least in part on the amount of free buffer space, respective thresholds for triggering ones of multiple traffic management operations to be performed based on the packet. Using the respective thresholds, the network device determines whether or not to trigger ones of the multiple traffic management operations with respect to the packet. The network device performs one or more of the traffic management operations with respect to the packet determined to be triggered based on the corresponding one of the respective thresholds.

    CONGESTION AVOIDANCE IN A NETWORK SWITCH DEVICE

    公开(公告)号:US20190052566A1

    公开(公告)日:2019-02-14

    申请号:US16045488

    申请日:2018-07-25

    摘要: Packets received by a network switch device from upstream network devices, coupled to respective ones of a plurality of ports of the network switch device, are temporarily stored in an internal memory of the network switch device. In response to detecting a first congestion state in the internal memory, the network switch device transmits a first flow control message via a first subset of ports, without transmitting the flow control message via any port not included in the first subset of ports, to cause upstream network devices in a first subset of upstream network devices to temporarily suspend transmission of packets to the network switch device. The network switch device alternates between causing different subsets of the network devices to temporarily suspend transmission of packets to the network switch device, while continuing to monitor congestion in the internal memory of the network switch device.