From 83a43059d3408d9ef350a3215f2b33a35d778ec7 Mon Sep 17 00:00:00 2001 From: Jeremy Cline Date: Thu, 22 Feb 2024 16:16:31 -0500 Subject: azure: support accelerated networking feature Azure provides an optional "Accelerated Networking" feature. Enabling this feature when creating a VM enables SR-IOV and provides the guest with a virtual function. Supporting this requires two changes. Firstly, the kernel-modules package is required as it contains the Mellanox drivers required for the VF provided to the guest. Secondly, the interface needs to be ignored by NetworkManager or it'll try and fail to bring up the device and the VM will be unreachable except by serial console. If this is observed, it's likely new hardware has been deployed and additional drivers need to be added to the NetworkManager config. See https://learn.microsoft.com/en-us/azure/virtual-network/accelerated-networking-overview for details. --- config.sh | 9 +++++++++ teams/cloud/cloud.xml | 1 + 2 files changed, 10 insertions(+) diff --git a/config.sh b/config.sh index 23a7ad2..f4e6a70 100755 --- a/config.sh +++ b/config.sh @@ -118,6 +118,15 @@ cat >> /etc/chrony.conf << EOF refclock PHC /dev/ptp_hyperv poll 3 dpoll -2 offset 0 EOF +# Support Azure's accelerated networking feature; without this the network fails +# to come up. It may need adjustments for additional drivers in the future. +cat > /etc/NetworkManager/conf.d/99-azure-unmanaged-devices.conf << EOF +# Ignore SR-IOV interface on Azure, since it's transparently bonded +# to the synthetic interface +[keyfile] +unmanaged-devices=driver:mlx4_core;driver:mlx5_core +EOF + # Enable the Azure Linux Agent service systemctl enable waagent.service fi diff --git a/teams/cloud/cloud.xml b/teams/cloud/cloud.xml index 996f30c..ef646c4 100644 --- a/teams/cloud/cloud.xml +++ b/teams/cloud/cloud.xml @@ -132,6 +132,7 @@ + -- cgit v1.3.1+13