VERCEL: Verification and Rectification of Configuration Errors with Least Squares
<|reference_start|>VERCEL: Verification and Rectification of Configuration Errors with Least Squares: We present Vercel, a network verification and automatic fault rectification tool that is based on a computationally tractable, algorithmically expressive, and mathematically aesthetic domain of linear algebra. Vercel works on abstracting out packet headers into standard basis vectors that are used to create a port-specific forwarding matrix $\mathcal{A}$, representing a set of packet headers/prefixes that a router forwards along a port. By equating this matrix $\mathcal{A}$ and a vector $b$ (that represents the set of all headers under consideration), we are able to apply \textit{least squares} (which produces a column rank agnostic solution) to compute which headers are reachable at the destination. Reachability now simply means evaluating if vector $b$ is in the column space of $\mathcal{A}$, which can efficiently be computed using least squares. Further, the use of vector representation and least squares opens new possibilities for understanding network behavior. For example, we are able to map rules, routing policies, what-if scenarios to the fundamental linear algebraic form, $\mathcal{A}x=b$, as well as determine how to configure forwarding tables appropriately. We show Vercel is faster than the state-of-art such as NetPlumber, Veriflow, APKeep, AP Verifier, when measured over diverse datasets. Vercel is almost as fast as Deltanet, when rules are verified in batches and provides better scalability, expressiveness and memory efficiency. A key highlight of Vercel is that while evaluating for reachability, the tool can incorporate intents, and transform these into auto-configurable table entries, implying a recommendation/correction system.<|reference_end|>
@article{singh2024vercel:,
    title={VERCEL: Verification and Rectification of Configuration Errors with
  Least Squares},
    author={Abhiram Singh, Sidharth Sharma and Ashwin Gumaste},
    journal={arXiv preprint arXiv:2409.14341},
    year={2024},
    archivePrefix={arXiv},
    eprint={2409.14341},
    primaryClass={cs.NI}
}