Topology-driven interconversion of ring network configurations
Methods and devices provide network configuration provisioning wherein, based on topology of a ring network and an ordering of network devices, a network controller requests network devices of the ring network to provision configuration from a first layer 2 network protocol to a second layer 2 network protocol. A network configuration provisioning host receives a ring network configuration intent object from a client device, the ring network configuration intent object specifying one or more network domains comprising network devices of a ring network, a first layer 2 network protocol, and a second layer 2 network protocol. The host causes a network controller to request each network device of the ring network to provision migration. By provisioning configuration of the network devices and network interfaces in accordance with orderings, the network devices can maximally preserve connectivity and minimize disruption of packet traffic over the network during the provisioning.
1 . A network host comprising:
one or more processing units; and
one or more non-transitory computer-readable media storing computer-executable instructions that, when executed by the one or more processing units, cause the one or more processing units to:
receive a ring network configuration intent object and a ring network topology object from a client device, the ring network configuration intent object specifying one or more network domains comprising network devices of a ring network, a first layer 2 network protocol, and a second layer 2 network protocol, and the ring network topology object specifying a root bridge across network interfaces of the ring network or specifying edge ports configured at ends of network segments of the ring network; and
cause a network controller to request each network device of the ring network to provision migration from a first layer 2 network protocol to a second layer 2 network protocol.
2 . The network host of claim 1 , wherein the computer-executable instructions further cause the one or more processing units to translate the ring network configuration intent object to a list of network devices.
3 . The network host of claim 2 , wherein the computer-executable instructions further cause the one or more processing units to select a nearest network device among the list of network devices.
4 . The network host of claim 3 , wherein the computer-executable instructions further cause the one or more processing units to sort the list of network devices into an ordering of network devices.
5 . The network host of claim 4 , wherein sorting the list of network devices into the ordering of network devices comprises traversing the list of network devices starting from the selected nearest network device, in either a clockwise or counterclockwise direction based on topology of the ring network.
6 . The network host of claim 5 , wherein traversing the list of network devices comprises performing a plurality of passes, wherein each pass of the plurality of passes comprises, for each network device, recording a device ID in association with a device priority in a device priority list.
7 . A network controller comprising:
one or more processing units; and
one or more non-transitory computer-readable media storing computer-executable instructions that, when executed by the one or more processing units, cause the one or more processing units to:
request each network device of a ring network to provision migration from a first layer 2 network protocol to a second layer 2 network protocol, according to an ordering of network devices;
wherein the ordering of network devices is generated by traversing network devices of the ring network starting from a nearest network device over a plurality of passes, in either a clockwise or counterclockwise direction based on topology of the ring network, wherein each pass of the plurality of passes comprises, for each network device, recording a device ID in association with a device priority in a device priority list.
8 . The network controller of claim 7 , wherein the computer-executable instructions further cause the one or more processing units to request either a nearest network device or a network device adjacent to the nearest network device to provision bringing down a network interface.
9 . The network controller of claim 8 , wherein the computer-executable instructions further cause the one or more processing units to traverse a first device priority list, and request each respective network device of the ring network to provision migration of a network interface in direction of traversal from a first layer 2 network protocol to a second layer 2 network protocol.
10 . The network controller of claim 9 , wherein the computer-executable instructions further cause the one or more processing units to request either the nearest network device or the network device previously adjacent to the nearest network device to provision bringing up a network interface, and migrate another network interface of the respective network device from the first layer 2 network protocol to the second layer 2 network protocol.
11 . The network controller of claim 10 , wherein the computer-executable instructions further cause the one or more processing units to traverse a second device priority list, and request each respective network device of the ring network to provision migration of a network interface from the first layer 2 network protocol to the second layer 2 network protocol.
12 . A method comprising:
receiving, by a network host, a ring network configuration intent object and a ring network topology object from a client device, the ring network configuration intent object specifying one or more network domains comprising network devices of a ring network, a first layer 2 network protocol, and a second layer 2 network protocol, and the ring network topology object specifying a root bridge across network interfaces of the ring network or specifying edge ports configured at ends of network segments of the ring network; and
causing, by the network host, a network controller to request each network device of the ring network to provision migration from a first layer 2 network protocol to a second layer 2 network protocol.
13 . The method of claim 12 , further comprising translating the ring network configuration intent object to a list of network devices.
14 . The method of claim 13 , further comprising selecting a nearest network device among the list of network devices.
15 . The method of claim 14 , further comprising sorting the list of network devices into an ordering of network devices.
16 . The method of claim 15 , wherein sorting the list of network devices into the ordering of network devices comprises traversing the list of network devices starting from the selected nearest network device, in either a clockwise or counterclockwise direction based on topology of the ring network.