IP Library Granted Patent US 9,614,765
Granted Patent B2
US 9,614,765 · App. 14/469,325 · Granted Apr 4, 2017

Quantized congestion notification (QCN) proxy function in data center bridging capabilities exchange (DCBX) protocol

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 9,614,765
App. No.
14/469,325
Granted
Apr 4, 2017
Kind
B2
Abstract

In one embodiment, an apparatus for providing quantized congestion notification (QCN) proxy functionality to a network device control plane includes a processor and logic integrated with and/or executable by the processor, the logic being configured to enable QCN proxy functionality for a particular congestion notification priority value (CNPV) on each edge port of a QCN edge switch, wherein the QCN edge switch includes one or more edge ports connected to devices outside of a congestion notification domain (CND) that operates on the particular CNPV, and forward congestion notification packets received at the QCN edge switch using the QCN proxy functionality when the packets are destined for one of the devices connected outside of the CND that is not QCN-enabled. Other systems, methods, and computer program products for providing QCN proxy functionality to a network device control plane are described in more embodiments.

Claims (46)

1. An apparatus for providing quantized congestion notification (QCN) proxy functionality to a network device control plane, the apparatus comprising a processor and logic integrated with and/or executable by the processor, the logic being configured to:

enable QCN proxy functionality for a particular congestion notification priority value (CNPV) on each edge port of a QCN edge switch, wherein the QCN edge switch comprises one or more edge ports connected to devices outside of a congestion notification domain (CND) that operates on the particular CNPV; and

forward congestion notification packets received at the QCN edge switch using the QCN proxy functionality when the packets are destined for one of the devices connected outside of the CND that is not QCN-enabled.

2. The apparatus as recited in claim 1 , wherein the logic is further configured to exchange congestion capabilities of the QCN edge switch with each device connected to the QCN edge switch using data center bridging capabilities exchange (DCBX) protocol.

3. The apparatus as recited in claim 2 , wherein the logic configured to exchange the congestion capabilities of the QCN edge switch with each device connected to the QCN edge switch is further configured to:

send a first message indicating congestion capabilities of the QCN edge switch from all edge ports thereof to each peer device connected to one of the edge ports, wherein the congestion capabilities of the QCN edge switch include: priority flow control (PFC), QCN, and QCN proxy functionality.

4. The apparatus as recited in claim 3 , wherein the logic is further configured to:

receive a second message back from each of the peer devices indicating congestion capabilities of each of the peer devices, wherein the congestion capabilities of each of the peer devices include at least one of: PFC, QCN, and QCN proxy functionality; and

relay congestion information to a first peer device when the first peer device does not respond to the first message with the first peer device's congestion capabilities, thereby indicating that the first peer device is not capable of utilizing PFC or QCN.

5. The apparatus as recited in claim 1 , wherein the logic is further configured to:

map the particular CNPV of the CND to a predetermined PFC priority value to create a QCN-to-PFC mapping.

6. The apparatus as recited in claim 5 , wherein the predetermined PFC priority value is set to be equal to the CNPV.

7. The apparatus as recited in claim 1 , wherein the QCN proxy functionality is enabled in response to traffic engineering functionality being enabled by a software defined network (SDN) controller.

8. The apparatus as recited in claim 1 , wherein the logic is further configured to execute a defense mode state machine on the QCN edge switch, the defense mode state machine being configured to:

automatically recognize a congestion capability for a peer device upon receiving a packet from the peer device indicating the congestion capability for the peer device; and

set an appropriate defense mode for one or more ports of the QCN edge switch that are coupled to the peer device.

9. The apparatus as recited in claim 8 , wherein the defense mode state machine comprises two interior modes, a first interior mode where congestion notification proxy functionality is provided, and a second interior mode where congestion notification proxy functionality is not provided, and

wherein management information base (MIB) parameters for translation of QCN to PFC comprise: a cncpProxyEnable parameter indicating whether QCN proxy functionality is enabled for all ports of the QCN edge switch for the particular CNPV, a cnpdProxyEnable parameter indicating whether QCN proxy functionality is enabled for each port of the QCN edge switch on a per-port basis for the particular CNPV, a non-manageable cnpdPFCEnabled parameter indicating whether PFC functionality is enabled for each port of the QCN edge switch on a per-port basis, a cnpdDoesProxy parameter indicating whether QCN proxy functionality should be activated for a particular {port,priority} tuple derived from managed objects, a non-manageable TurnOnCnProxy( ) function which is configured to activate QCN proxy functionality on a per-port per-priority basis on the QCN edge switch, and a non-manageable TurnOffCnProxy( ) function which is configured to deactivate QCN proxy functionality on a per-port per-priority basis on the QCN edge switch.

10. A method for providing quantized congestion notification (QCN) proxy functionality to a network device control plane, the method comprising:

enabling QCN proxy functionality for a particular congestion notification priority value (CNPV) on each edge port of a QCN edge switch, wherein the QCN edge switch comprises one or more edge ports connected to devices outside of a congestion notification domain (CND) that operates on the particular CNPV; and

forwarding congestion notification packets received at the QCN edge switch using the QCN proxy functionality when the packets are destined for one of the devices connected outside of the CND that is not QCN-enabled.

11. The method as recited in claim 10 , further comprising exchanging congestion capabilities of the QCN edge switch with each device connected to the QCN edge switch using data center bridging capabilities exchange (DCBX) protocol.

12. The method as recited in claim 11 , wherein the exchanging the congestion capabilities of the QCN edge switch with each device connected to the QCN edge switch comprises:

sending a first message indicating congestion capabilities of the QCN edge switch from all edge ports thereof to each peer device connected to one of the edge ports, wherein the congestion capabilities of the QCN edge switch include: priority flow control (PFC), QCN, and QCN proxy functionality.

13. The method as recited in claim 12 , further comprising receiving a second message back from each of the peer devices indicating congestion capabilities of each of the peer devices, wherein the congestion capabilities of each of the peer devices include at least one of: PFC, QCN, and QCN proxy functionality.

14. The method as recited in claim 12 , further comprising relaying congestion information to a first peer device when the first peer device does not respond to the first message with the first peer device's congestion capabilities, thereby indicating that the first peer device is not capable of utilizing PFC or QCN.

15. The method as recited in claim 10 , further comprising:

mapping the particular CNPV of the CND to a predetermined PFC priority value to create a QCN-to-PFC mapping.

16. The method as recited in claim 15 , wherein the predetermined PFC priority value is set to be equal to the CNPV.

17. The method as recited in claim 10 , further comprising executing a defense mode state machine on the QCN edge switch, the defense mode state machine being configured to:

automatically recognize a congestion capability for a peer device upon receiving a packet from the peer device indicating the congestion capability for the peer device; and

set an appropriate defense mode for one or more ports of the QCN edge switch that are coupled to the peer device.

18. The method as recited in claim 17 , wherein the defense mode state machine comprises two interior modes, a first interior mode where congestion notification proxy functionality is provided, and a second interior mode where congestion notification proxy functionality is not provided, and wherein management information base (MIB) parameters for translation of QCN to PFC comprise: a cncpProxyEnable parameter indicating whether QCN proxy functionality is enabled for all ports of the QCN edge switch for the particular CNPV, a cnpdProxyEnable parameter indicating whether QCN proxy functionality is enabled for each port of the QCN edge switch on a per-port basis for the particular CNPV, a non-manageable cnpdPFCEnabled parameter indicating whether PFC functionality is enabled for each port of the QCN edge switch on a per-port basis, a cnpdDoesProxy parameter indicating whether QCN proxy functionality should be activated for a particular {port,priority} tuple derived from managed objects, a non-manageable TurnOnCnProxy( ) function which is configured to activate QCN proxy functionality on a per-port per-priority basis on the QCN edge switch, and a non-manageable TurnOffCnProxy( ) function which is configured to deactivate QCN proxy functionality on a per-port per-priority basis on the QCN edge switch.

19. A computer program product for providing quantized congestion notification (QCN) proxy functionality to a network device control plane, the computer program product comprising a computer readable storage medium having program code embodied therewith, the program code being readable and/or executable by at least one processor to cause the at least one processor to:

enable, by the at least one processor, QCN proxy functionality for a particular congestion notification priority value (CNPV) on each edge port of a QCN edge switch, wherein the QCN edge switch comprises one or more edge ports connected to devices outside of a congestion notification domain (CND) that operates on the particular CNPV; and

forward, by the at least one processor, packets received at the QCN edge switch using the QCN proxy functionality when the packets are destined for one of the devices connected outside of the CND that is not QCN-enabled.

20. The computer program product as recited in claim 19 , wherein the program code is further readable and/or executable by the at least one processor to:

exchange congestion capabilities of the QCN edge switch with each device connected to the QCN edge switch, at least one of the devices connected to the QCN edge switch being incapable of utilizing PFC or QCN, using data center bridging capabilities exchange (DCBX) protocol by:

sending a first message indicating congestion capabilities of the QCN edge switch from all edge ports thereof to each peer device connected to one of the edge ports, wherein the congestion capabilities of the QCN edge switch include: priority flow control (PFC), QCN, and QCN proxy functionality;

receiving a second message back from each of the peer devices indicating congestion capabilities of each of the peer devices, wherein the congestion capabilities of each of the peer devices include at least one of: PFC, QCN, and QCN proxy functionality; and

relaying congestion information to a first peer device when the first peer device does not respond to the first message with the first peer device's congestion capabilities, thereby indicating that the first peer device is not capable of utilizing PFC or QCN;

map the particular CNPV of the CND to a predetermined PFC priority value to create a QCN-to-PFC mapping;

utilize the QCN-to-PFC mapping when forwarding a congestion notification message (CNM) to a device outside of the CND which is not QCN-enabled, wherein the predetermined PFC priority value is set to be equal to the CNPV in the QCN-to-PFC mapping; and

execute a defense mode state machine on the QCN edge switch, the defense mode state machine being configured to:

automatically recognize a congestion capability for a peer device upon receiving a packet from the peer device indicating the congestion capability for the peer device; and

set an appropriate defense mode for one or more ports of the QCN edge switch that are coupled to the peer device.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 10, 2025
From: LENOVO GLOBAL TECHNOLOGIES INTERNATIONAL LIMITED
To: LENOVO GLOBAL TECHNOLOGIES SWITZERLAND INTERNATIONAL GMBH
Reel/Frame 069869/0614 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 6, 2019
From: LENOVO ENTERPRISE SOLUTIONS (SINGAPORE) PTE LTD.
To: LENOVO GLOBAL TECHNOLOGIES INTERNATIONAL LTD
Reel/Frame 050298/0650 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 10, 2014
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: LENOVO ENTERPRISE SOLUTIONS (SINGAPORE) PTE. LTD.
Reel/Frame 034194/0353 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 26, 2014
From: CALAVREZO, DAN-ALEXANDRU; IAVORSCHI, ION A.; KAMBLE, KESHAV G.; POP, VIRGILIU
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 033614/0764 →