SUPPORTING COMPUTER NETWORKING DEVICE CONNECTIONS TO CONTROLLERS USING DIFFERENT CONNECTION PROTOCOLS
Computer networking devices and controllers thereof may communicate via a secure tunnel. Aspects of the present disclosure provide methods, systems, and devices that facilitate establishment of such tunnels. For example, a method may include: generating, by a computer networking device, a tunneling capabilities message indicating a plurality of different tunnel types supported by the computer networking device; transmitting the tunneling capabilities message to a controller; receiving, from the controller, a tunneling selection response message indicating one of the plurality of different tunnel types; requesting, by the computer networking device, establishment of a tunnel of the one tunnel type indicated by the tunneling selection response message; and establishing the tunnel of the one tunnel type between the computer networking device and the controller.
1 . A method comprising:
generating, by a computer networking device, a tunneling capabilities message indicating a plurality of different tunnel types supported by the computer networking device;
transmitting the tunneling capabilities message to a controller;
receiving, from the controller, a tunneling selection response message indicating one tunnel type of the plurality of different tunnel types;
requesting, by the computer networking device, establishment of a tunnel of the one tunnel type indicated by the tunneling selection response message; and
establishing the tunnel of the one tunnel type between the computer networking device and the controller.
2 . The method of claim 1 , wherein the plurality of different tunnel types includes a secure shell (SSH) tunnel type.
3 . The method of claim 1 , wherein the plurality of different tunnel types includes a Websocket tunnel type.
4 . The method of claim 1 , wherein the tunneling capabilities message further includes, for each of the plurality of different tunnel types, at least one tunnel type service identifier indicating a service or protocol for messages to be communicated via the corresponding tunnel type.
5 . The method of claim 4 , wherein one of the tunnel type service identifiers indicates a RESTCONF protocol.
6 . The method of claim 1 , further comprising discovering a network address of the controller prior to transmitting the tunneling capabilities message.
7 . The method of claim 1 , wherein the computer networking device is a networking switch.
8 . The method of claim 1 , wherein the computer networking device is a wireless access point.
9 . The method of claim 1 , wherein the one tunnel type indicated by the tunneling selection response message is a tunnel type supported by the controller for normal communication, the controller supporting a second tunnel type for limited communication.
10 . A method comprising:
receiving, by a controller, a tunneling capabilities message indicating a plurality of tunnel types that are supported by a computer networking device;
selecting, by the controller, one of the tunnel types from the plurality of tunnel types indicated by the tunneling capabilities message;
transmitting a tunneling selection response message to the computer networking device indicating the selected tunnel type;
receiving, by the controller, a request to establish a tunnel of the selected tunnel type; and
establishing a tunnel of the selected tunnel type between the computer networking device and the controller.
11 . The method of claim 10 , wherein the plurality of tunnel types includes a secure shell (SSH) tunnel type.
12 . The method of claim 10 , wherein the plurality of tunnel types includes a Websocket tunnel type.
13 . The method of claim 10 , wherein the tunneling capabilities message further includes, for each of the plurality of tunnel types, at least one tunnel type service identifier indicating a service or protocol for messages to be communicated via the corresponding tunnel type.
14 . The method of claim 13 , wherein one of the tunnel type service identifiers indicates a RESTCONF protocol.
15 . The method of claim 10 , wherein the computer networking device is a networking switch.
16 . The method of claim 10 , wherein the computer networking device is a wireless access point.
17 . A method comprising:
generating, by a computer networking device, a tunneling capabilities message indicating a plurality of different tunnel types supported by the computer networking device;
transmitting the tunneling capabilities message to a controller;
identifying that a tunneling selection response message from the controller has not been received after a predetermined time interval has elapsed;
requesting, by the computer networking device, establishment of a tunnel of a default tunnel type of the plurality of different tunnel types; and
establishing the tunnel of the default tunnel type between the computer networking device and the controller.
18 . The method of claim 17 , wherein the plurality of different tunnel types includes a secure shell (SSH) tunnel type and a Websocket tunnel type.
19 . The method of claim 18 , wherein the computer networking device is a networking switch.
20 . The method of claim 17 , wherein the computer networking device is a networking switch.