Chameleon: Toward Runtime-Pluggable Verification of Programmable Networks
Runtime verification is critical for detecting whether programmable networks behave as intended during operation. However, many existing runtime verification mechanisms instantiate executable verification logic around requirements specified before deployment, making it difficult to change checks at runtime. This paper presents Chameleon, a runtime-pluggable verification mechanism for programmable networks. Chameleon separates a stable verification substrate from concrete verification requirements: the verification substrate is embedded into the data plane before deployment, while requirements are represented as runtime-manageable VERIFY objects and translated into P4Runtime table entries, allowing the operator to add, modify, or delete supported verification types without recompiling the data-plane program. Experimental results show that Chameleon can augment P4 programs with small one-time preprocessing and compilation overheads, and supports millisecond-level runtime configuration operations for verification requirements.