NAIL: A Network Management Architecture for Deploying Intent into Programmable Switches
Antonino Angi, Alessio Sacco, Flavio Esposito, Guido Marchetto, Alexander Clemm
Abstract
Programmable switches allow network operators to implement their customized network behavior. Despite its benefits, data-plane programmability has many practical challenges, including the ability to transfer intended behaviors on forwarding devices. Languages such as P4 represent a low level of abstraction, and corresponding programs are cumbersome to manage and configure for DevOps engineers, presenting a barrier to adoption. To facilitate such adoption, we propose NAIL, an architecture that allows network engineers to articulate desired network behaviors at a higher, more expressive layer and then translate such behaviors into executable code using a transpiler that acts as a network intent translator. NAIL can detect and properly instruct the network devices affected by the intent. Then, it offers continuous monitoring functionality to verify whether the intent is met. We demonstrate the effectiveness of our solutions with some use cases, showing the fast reaction to updates and the applicability of supplied intent.