IP Library › Granted Patent US 12,463,915
Granted Patent B2
US 12,463,915 · App. 17/843,362 · Granted Nov 4, 2025

Method and apparatus for managing a packet received at a switch

Inventors: Xiaolong Zheng (Toronto, CA); Xingjun Chu (North York, CA); Yashar Ganjali (North York, CA)
Assignee: HUAWEI TECHNOLOGIES CO., LTD.
H04L47/32H04L45/74H04L47/30
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,463,915
App. No.
17/843,362
Granted
Nov 4, 2025
Kind
B2
Abstract

A method and a network device are provided for transferring data packets to a port according to the priority of the packets and, when a packet is dropped, providing, to the sender of the packets, an early notification that the packet was dropped. The priority of a packet can be determined according to data contained in the packet, e.g., an operation code of the packet, or according to a marking of the packet by the sender, e.g., a marking resulting from a weighted random early detection template. The early notification that the packet was dropped is in the form of message generated at the network device and sent by the network device to the sender of the packet. The network device obtains, from the packet to be dropped or from a connection table, the information required for the message to arrive at the sender.

Claims (77)

1. A method comprising:

at a network device having an ingress port and an egress port, the egress port having a buffer, the network device holding a packet received at the ingress port, from a source:

determining a level of occupancy of the buffer;

determining a priority of the packet;

determining if the priority of the packet and the level of occupancy meet a condition to drop the packet;

when the condition to drop the packet is met:

determining an address of the source of the packet;

determining an address of a destination of the packet;

determining a sequence number of the packet;

generating a message, the message including:

an address of the source of the message, the address of the source of the message being the destination address of the packet;

an address of the destination of the message, the address of the destination of the message being the source address of the packet, and

the sequence number of the packet;

dropping the packet; and

sending to the source the message to indicate to the source that the packet has been dropped.

2. The method of claim 1 , further comprising:

at the network device:

determining a queue pair number (QPN) of the destination of the packet;

accessing a connection table to obtain a QPN of the source of the packet in accordance with the address of the source of the packet, the address of the destination of the packet, and the QPN of the destination of the packet, the message including, as the QPN of the destination of message, the QPN of the source of the packet.

3. The method of claim 2 , further comprising:

at the network device:

receiving a connection request packet; and

generating the connection table in accordance with the connection request packet.

4. The method of claim 1 , wherein determining the level of occupancy of the buffer includes comparing a queue length of the buffer to a threshold setting of the buffer.

5. The method of claim 4 , further comprising:

when the queue length is greater than the threshold and when the priority of the packet satisfies a priority policy, determining if an overflow condition is met at the buffer.

6. The method of claim 5 , wherein the drop condition is met when the overflow condition is met.

7. The method of claim 1 , wherein:

the packet is a received packet, and

determining a priority of the received packet includes:

reading an operation code (OpCode) of the received packet;

comparing the OpCode to pre-determined OpCode values to obtain a relative priority of the received packet over other packets in a same packet flow as that of the received packet.

8. The method of claim 7 , wherein OpCodes of SEND operations indicate a higher priority than OpCodes of READ operations.

9. The method of claim 7 , wherein OpCodes of CONTROL operations indicate a higher priority than OpCodes of READ operations.

10. The method of claim 1 , wherein determining a priority of the packet includes determining a value of a pre-determined field in a header of the packet.

11. The method of claim 1 , wherein:

the packet is a marked packet in accordance with a weighted random early detection template, a marking of the marked packet including a color, and

determining a priority of the packet includes determining the color of the packet.

12. A network device comprising:

an input port configured to receive a packet from a source;

an output port having a buffer;

a controller coupled to the input port and to the output port, the controller configured to:

determine a level of occupancy of the buffer;

determine a priority of the packet;

determine if the priority of the packet and the level of occupancy meet a condition to drop the packet;

when the condition to drop the packet is met:

determine an address of the source of the packet;

determine an address of a destination of the packet;

determine a sequence number of the packet;

generate s message, the message including:

an address of the source of the message, the address of the source of the message being the destination address of the packet;

an address of the destination of the message, the address of the destination of the message being the source address of the packet; and

the sequence number of the packet;

drop the packet; and

send to the source a message indicating the packet has been dropped.

13. The network device of claim 12 , wherein the controller is further configured to:

determine a queue pair number (QPN) of the destination of the packet;

access a connection table to obtain a QPN of the source of the packet in accordance with the address of the source of the packet, the address of the destination of the packet, and the QPN of the destination of the packet, the message including, as the QPN of the destination of message, the QPN of the source of the packet.

14. The network device of claim 13 , wherein the controller is further configured to:

receive a connection request packet; and

generate the connection table in accordance with the connection request packet.

15. The network device of claim 12 , wherein the controller is further configured to determine the level of occupancy of the buffer by comparing a queue length of the buffer to a threshold setting of the buffer.

16. The network device of claim 12 , further comprising a switch, the input port and the output port being part of the switch.

17. A computer program product comprising a non-transitory computer readable medium having recorded thereon instructions to be carried out by a processor to perform, at a network device coupled to the processor, the network device having an ingress port and an egress port, the egress port having a buffer, the network device holding a packet received at the ingress port, from a source:

determining a level of occupancy of the buffer;

determining a priority of the packet;

determining if the priority of the packet and the level of occupancy meet a condition to drop the packet;

when the condition to drop the packet is met:

determining an address of the source of the packet;

determining an address of a destination of the packet;

determining a sequence number of the packet;

generating a message, the message including:

an address of the source of the message, the address of the source of the message being the destination address of the packet;

an address of the destination of the message, the address of the destination of the message being the source address of the packet; and

the sequence number of the packet;

dropping the packet; and

sending to the source a message indicating the packet has been dropped.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 21, 2023
From: ZHENG, XIAOLONG; CHU, XINGJUN; GANJALI, YASHAR
To: HUAWEI TECHNOLOGIES CO., LTD.
Reel/Frame 063042/0080 →
Continuity (1)
Related Publication 20230412518A1 · Dec 21, 2023
References Cited (8)
US 11171891B2 · Srivastava · 2021 [cited by examiner]
US 20030137940A1 · Schwartz · 2003 [cited by examiner]
US 20070214302A1 · Kubo · 2007 [cited by examiner]
US 20140153574A1 · Louzoun · 2014 [cited by examiner]
US 20200177513A1 · Zhang · 2020 [cited by examiner]
US 20210021545A1 · Srivastava et al. · 2021 [cited by applicant]
US 20210376965A1 · Liu · 2021 [cited by examiner]
CN 112188557A · 2021 [cited by applicant]