IP Library Granted Patent US 10,148,556
Granted Patent B2
US 10,148,556 · App. 15/384,086 · Granted Dec 4, 2018

Link aggregation group (LAG) support on a software-defined network (SDN)

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 10,148,556
App. No.
15/384,086
Granted
Dec 4, 2018
Kind
B2
Abstract

In one embodiment, a system includes a software-defined network (SDN) controller including a processor and logic executable by the processor. The logic is executable by the processor to receive a port addition indication that a logical port is configured on a switching device, the switching device being coupled to the SDN controller and a second device, with the logical port representing a link aggregation group (LAG) that includes at least two links between the switching device and the second device. The logic is also executable by the processor to derive and maintain a logical index for all logical ports in software-defined switching devices connected to the SDN controller based on logical port identifiers thereof. Other systems, methods, and computer program products are described in accordance with more embodiments.

Claims (73)

1. A system, comprising:

a software-defined network (SDN) controller comprising a processing circuit and logic executable by the processing circuit to:

receive a port addition indication that a logical port is configured on a switching device, the switching device being coupled to the SDN controller and a second device, wherein the logical port represents a link aggregation group (LAG) that comprises at least two links between the switching device and the second device, and the port addition indication includes a logical port identifier for the logical port; and

add the logical port identifier for the logical port to a logical index for all logical ports in software-defined switching devices coupled to the SDN controller;

send, to the switching device, a request for statistics related to the logical port, the statistics including packets sent, packets received, and delay; and

receive, from the switching device, the statistics related to the logical port, in response to the request.

2. The system according to claim 1 , wherein the logic is further executable by the processing circuit to:

receive an indication of a speed change for the logical port;

store a speed for the logical port in association with the logical port identifier within the logical index;

receive an indication of a status change for the logical port;

indicate a status for the logical port in the logical index, in response to receiving the indication of the status change; and

send, to the switching device, a message comprising at least one packet to be sent out via the logical port.

3. The system according to claim 1 , wherein the logic is further executable by the processing circuit to:

send a port modification message to the switching device, where the port modification message indicates at least one modification to an operation of the logical port;

send a flow modification message to the switching device, where the port modification message indicates at least one modification to a flow profile for the logical port; and

send, to the switching device, a message comprising at least one packet to be sent out via the logical port.

4. The system according to claim 1 , wherein the logic is further executable by the processing circuit to:

receive a logical port removal indication from the switching device, the logical port removal indication being a port remove message that comprises a logical port identifier for the logical port; and

remove the logical port identifier from the logical index in response to receiving the logical port removal indication.

5. The system according to claim 1 , wherein the logic is further executable by the processing circuit to:

receive an indication of a speed change for the logical port from the switching device, the indication of the speed change representing at least one membership change for the logical port; and

store a speed for the logical port in the logical index in association with the logical port identifier for the logical port.

6. The system according to claim 1 , wherein the logic is further executable by the processing circuit to:

receive an indication of a status change for the logical port from the switching device, the status change representing whether the logical port is operational or non-operational; and

indicate a status for the logical port in the logical index selected from a group of statuses comprising: operational and non-operational.

7. The system according to claim 1 , wherein the logic is further executable by the processing circuit to send a port modification message to the switching device that indicates at least one modification to operation of the logical port.

8. The system according to claim 1 , wherein the logic is further executable by the processing circuit to send a flow modification message to the switching device that indicates at least one change to a flow profile for the logical port.

9. The system according to claim 1 , wherein the logic is further executable by the processing circuit to receive, from the switching device, indication that a packet has been received on the logical port in response to a determination that the switching device has received the packet in via the logical port.

10. The system according to claim 1 , wherein the logic is further executable by the processing circuit to:

send a port modification message to the switching device, where the port modification message indicates at least one modification to an operation of the logical port;

send a flow modification message to the switching device, where the port modification message indicates at least one modification to a flow profile for the logical port;

send, to the switching device, a request for statistics related to the logical port, the statistics including packets sent, packets received, and delay;

receive, from the switching device, the statistics related to the logical port, in response to the request; and

send, to the switching device, a message comprising at least one packet to be sent out via the logical port.

11. A computer-implemented method comprising:

receiving a port addition indication at a software-defined network (SDN) controller that a logical port is configured on a switching device, the switching device being coupled to the SDN controller and a second device, wherein the logical port represents a link aggregation group (LAG) that comprises at least two links between the switching device and the second device, and the port addition indication includes a logical port identifier for the logical port; and

adding the logical port identifier for the logical port to a logical index for all logical ports in software-defined switching devices coupled to the SDN controller;

sending, to the switching device, a request for statistics related to the logical port, the statistics including packets sent, packets received, and delay; and

receiving, from the switching device, the statistics related to the logical port, in response to the request.

12. The method according to claim 11 , further comprising:

receiving an indication of a speed change for the logical port;

storing a speed for the logical port in association with the logical port identifier within the logical index;

receiving an indication of a status change for the logical port;

indicating a status for the logical port in the logical index, in response to receiving the indication of the status change; and

sending, to the switching device, a message comprising at least one packet to be sent out via the logical port.

13. The method according to claim 11 , further comprising:

sending a port modification message to the switching device, where the port modification message indicates at least one modification to an operation of the logical port;

sending a flow modification message to the switching device, where the port modification message indicates at least one modification to a flow profile for the logical port; and

sending, to the switching device, a message comprising at least one packet to be sent out via the logical port.

14. The method according to claim 11 , further comprising:

receiving an indication of a speed change for the logical port from the switching device, the indication of the speed change representing at least one membership change for the logical port;

storing a speed for the logical port in the logical index in association with the logical port identifier for the logical port;

receiving an indication of a status change for the logical port from the switching device, the status change representing whether the logical port is operational or non-operational;

indicating a status for the logical port in the logical index selected from a group of statuses comprising: operational and non-operational;

sending a port modification message to the switching device that indicates at least one modification to operation of the logical port; and

sending a flow modification message to the switching device that indicates at least one change to a flow profile for the logical port.

15. The method according to claim 11 , further comprising:

receiving, from the switching device, indication that a packet has been received on the logical port in response to a determination that the switching device has received the packet in via the logical port;

sending to the switching device a message comprising at least one packet to be sent out via the logical port; and

sending a second statistics request to the switching device to request second statistics related to the switching device.

16. The method according to claim 11 , further comprising:

receiving an indication of a speed change for the logical port in response to at least one determination selected from: a determination that at least one port has been added as member ports of the logical port, and a determination that at least one member port of the logical port is removed to reflect a change in overall speed of the logical port; and

receiving an indication of a status change for the logical port at the SDN controller in response to the logical port changing a status selected from a group of statuses comprising: operational and non-operational.

17. The method according to claim 11 , further comprising:

sending a port modification message to the logical port specifying instructions to modify operation of the logical port;

sending a flow modification message to the logical port specifying instructions to change a flow profile for the logical port;

receiving at the SDN controller an indication that a packet has been received on the logical port in response to a determination that the switching device has received the packet in via the logical port; and

sending to the logical port a message comprising at least one packet to be sent out via the logical port.

18. A computer program product, the computer program product comprising a computer readable storage medium having program code embodied therewith, the program code executable by a processor to:

receive a port addition indication that a logical port is configured on a switching device, the switching device being coupled to a software-defined network (SDN) controller and a second device, wherein the logical port represents a link aggregation group (LAG) that comprises at least two links between the switching device and the second device, and the port addition indication includes a logical port identifier for the logical port; and

add the logical port identifier for the logical port to a logical index for all logical ports in software-defined switching devices coupled to the SDN controller;

send, to the switching device, a request for statistics related to the logical port, the statistics including packets sent, packets received, and delay; and

receive, from the switching device, the statistics related to the logical port, in response to the request.

Assignments (3)
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 9, 2019
From: LENOVO ENTERPRISE SOLUTIONS (SINGAPORE) PTE LTD.
To: LENOVO GLOBAL TECHNOLOGIES INTERNATIONAL LTD
Reel/Frame 050311/0220 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 27, 2017
From: ARUMUGAM, SIVAKUMAR; BHAGAVATHIPERUMAL, CHIDAMBARAM; KODAMALA, DILLIBABU, MR.; SOMOSUNDARAM, ASHOK KUMAR MUTTHAIYANVALASU
To: LENOVO ENTERPRISE SOLUTIONS (SINGAPORE) PTE. LTD.
Reel/Frame 042098/0252 →