In computing environments, software defined networks may be used that comprise software modules capable of providing a communication platform for one or more virtual nodes in the computing environment. The software defined networks, which may include virtual switches, routers, distributed firewalls, and the like, may be used to intelligently direct communication on the network by inspecting packets before passing them to other nodes on the same network. To provide the required operations, software defined networks may be separated into a data plane, which is used to manage communications for active nodes (virtual machines and containers) in the computing environment, and a control plane, which is used to configure the various virtual switches, routers, distributed firewalls, and the like, as well as identify the operational status of elements within the computing environment.
In some implementations SDNs use control packets, such as Bidirectional Forwarding Detection (BFD) packets, Border Gateway Protocol (BGP) packets, and other similar control packets, which have the requirement of reliable and timely delivery. If, for any reason not related to network failure, the control packets are not delivered within a certain time period, unnecessary actions (such as fail over to a standby node or tear down of a BGP session) will be taken based on the assumption that a network failure has occurred. Using BFD as an example, control packets could be exchanged between transport nodes (hypervisors or gateway nodes, such as Virtual Extensible Local Area Network (VXLAN) tunnel endpoints (VTEPs)), between gateway nodes in a gateway cluster, or between a gateway and a remote router. In a SDN, when control packets are communicated over virtual network interfaces and/or physical network interfaces, the control packets will be mixed with other data packets which are less sensitive to packet drops or delays. Under high load, those control packets can be dropped or significantly delayed by the network interface, which may cause various unnecessary disruptions to the network functions.
Overview
The technology disclosed herein enhances network traffic management for software defined networks. In one implementation, a method of operating a host computing system includes receiving a plurality of network packets and, for each packet in the plurality of network packets, identifying whether the packet comprises a control packet for fault detection in a software defined network (SDN). The method further includes prioritizing, for processing by a main processing system of the computing system, each packet in the plurality of network packets based on whether the packet comprises a control packet for fault detection in a SDN.