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.
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -132,6 +132,7 @@
|
||||
</packages>
|
||||
<packages type="image" patternType="plusRecommended" profiles="Cloud-Base-Azure">
|
||||
<package name="WALinuxAgent"/>
|
||||
<package name="kernel-modules"/>
|
||||
</packages>
|
||||
<packages type="image" patternType="plusRecommended" profiles="Cloud-Base-GCE">
|
||||
<package name="google-compute-engine-guest-configs"/>
|
||||
|
||||
Reference in New Issue
Block a user