Link aggregation group (LAG) support on a software-defined network (SDN)
View Patent ↗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.
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.