aboutsummaryrefslogtreecommitdiff
path: root/config.sh
diff options
from:
to:
context:
space:
mode:
authorGravatar Jeremy Cline <jeremycline@microsoft.com> 2024-02-22 16:16:31 -0500
committerGravatar ngompa <ngompa13@gmail.com> 2024-02-23 00:31:35 +0000
commit83a43059d3408d9ef350a3215f2b33a35d778ec7 (patch)
tree9e3a039f50cbd5b7c7a77426dc1b9773c94c2fab /config.sh
parentd9584ccd70c4a1292f240cc5487c5cd17ca94de9 (diff)
downloadkiwi-descriptions-83a43059d3408d9ef350a3215f2b33a35d778ec7.tar.gz
kiwi-descriptions-83a43059d3408d9ef350a3215f2b33a35d778ec7.zip
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.
Diffstat (limited to 'config.sh')
-rwxr-xr-xconfig.sh9
1 files changed, 9 insertions, 0 deletions
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