Proceedings of the 16th International Conference on Evaluation of Novel Approaches to Software Engineering (ENASE 2021)
Software Defined Networking (SDN) devices (e.g., switches) route traffic according to the configured flow
rules, and thus a set of virtual paths gets implemented in the data plane. We propose a novel preventive approach
for verifying that no misconfigurations (e.g., infinite loops), can occur given the requested set of paths.
Such verification is essential since when configuring a set of data paths, other not requested and undesired
paths (including loops) may be unintentionally configured. We show that for some cases the requested set of
paths cannot be implemented without adding such undesired behavior, i.e., only a superset of the requested
set can be implemented. We present a verification technique for detecting such issues of potential misconfigurations
and estimate the complexity of the proposed method. Finally, we propose a technique for debugging
and repairing a set of paths in such a way that the corrected set does not induce undesired paths into the data
plane, if the latter is possible.