Cloud providers are continuously evolving their virtual networking infrastructure to improve performance and functionality. This evolution, however, typically stops at the virtual NIC interface, since any change in that domain would require impractical upgrades in the running VMs with the collaboration of the customers who own them. This could hinder many important evolutions, like the transition to newer revisions of the VirtIO standard. To overcome this problem we propose BPFHV, a new paravirtualized network meta-device that is able to dynamically change its internal operation under the hypervisor control. BPFHV comes with a set of hypervisor-provided callbacks that the guest must call to complete datapath operations, such as posting a new packet for transmission. By injecting new callbacks, the hypervisor can dynamically change the behaviour of the device and of its guest driver even after the initial deployment of a VM. We describe our prototype implementation on the QEMU hypervisor with Linux guests, reusing the eBPF infrastructure for code injection. We show some preliminary experimental results and discuss some possible further applications.
BPFHV: Adaptive Network Paravirtualization for Continuous Cloud Provider Evolution
vincenzo maffione
Primo
;giuseppe lettieri
Secondo
;luigi rizzo
Ultimo
2019-01-01
Abstract
Cloud providers are continuously evolving their virtual networking infrastructure to improve performance and functionality. This evolution, however, typically stops at the virtual NIC interface, since any change in that domain would require impractical upgrades in the running VMs with the collaboration of the customers who own them. This could hinder many important evolutions, like the transition to newer revisions of the VirtIO standard. To overcome this problem we propose BPFHV, a new paravirtualized network meta-device that is able to dynamically change its internal operation under the hypervisor control. BPFHV comes with a set of hypervisor-provided callbacks that the guest must call to complete datapath operations, such as posting a new packet for transmission. By injecting new callbacks, the hypervisor can dynamically change the behaviour of the device and of its guest driver even after the initial deployment of a VM. We describe our prototype implementation on the QEMU hypervisor with Linux guests, reusing the eBPF infrastructure for code injection. We show some preliminary experimental results and discuss some possible further applications.I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.