  Software Defined Networking (SDN) is a novel network management technology,
which currently attracts a lot of attention due to the provided capabilities.
Recently, different works have been devoted to testing / verifying the
(correct) configurations of SDN data planes. In general, SDN forwarding devices
(e.g., switches) route (steer) traffic according to the configured flow rules;
the latter identifies the set of virtual paths implemented in the data plane.
In this paper, we propose a novel preventive approach for verifying that no
misconfigurations (e.g., infinite loops), can occur given the requested set of
paths. We discuss why such verification is essential, namely, how, when
synthesizing a set of data paths, other not requested and undesired data paths
(including loops) may be unintentionally configured. Furthermore, 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. Correspondingly, we present a verification technique for detecting
such issues of potential misconfigurations and estimate the complexity of the
proposed method; its polynomial complexity highlights the applicability of the
obtained results. 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.
