Repository navigation
[Feature]: Add IPv6 support for Managed Network Virtual Appliances (NVA) #30290
Description
Description of the new feature
Related command
az network virtual-appliance create --name --resource-group [--additional-nics] [--asn] [--boot-blobs --boot-strap-config-blobs] [--cloud-blobs --cloud-init-config-blobs] [--cloud-init-config --init-config] [--delegation] [--identity] [--internet-ingress-ips] [--location] [--network-profile] [--no-wait] [--scale-unit] [--tags] [--vendor] [--version] [--vhub] [--nva-interface-configuration] [--address-family]
az network virtual-appliance update ... [--address-family]
az network virtual-appliance show (ensure the output includes the new IPv6 properties)
Resource Provider
Microsoft.Network/networkVirtualAppliances
Description of Feature or Work Requested
Add IPv6 support for Managed Network Virtual Appliances (NVA), for both Hub and VNet scenarios.
- Add a new
--address-familyparameter toaz network virtual-appliance createand
az network virtual-appliance update. It accepts IPv4 and/or IPv6. Omitting it defaults
to IPv4-only (backward compatible). It is used to enable dual-stack and to
upgrade/downgrade the address family on an existing NVA. - Ensure
az network virtual-appliance showoutput reflects the new properties:
addressFamily,addressPrefixV6,privateIpAddressV6on the NVA, and
publicIpAddressV6/privateIpAddressV6on the virtual appliance NICs.
Validation for --address-family:
- Case-insensitive (ipv4, IPV6 accepted; canonicalized to IPv4/IPv6)
- Only IPv4 and IPv6 allowed
- No duplicates
- Maximum of two values
Behavior summary:
createwith--address-family IPv4 IPv6→ dual-stack; omitted orIPv4→ IPv4-onlyupdatewith--address-family→ upgrade/downgrade; omitted → unchanged
Example
Dual-stack NVA in a Virtual Hub
az network virtual-appliance create -g dev2-testingipv6 -n ciscoNVA3 -l australiaeast
--vhub --vendor ciscosdwan --scale-unit 2 --version 17.18.02 --asn 65222
--cloud-init-config "Hello!World" --address-family IPv4 IPv6
Dual-stack NVA in a VNet
az network virtual-appliance create -g dev2-testingipv6 -n ciscoNVAvnet -l australiaeast
--vendor ciscosdwan --scale-unit 2 --version 17.18.02 --asn 65222
--cloud-init-config "Hello!World" --address-family IPv4 IPv6
--nva-interface-configuration
PowerShell reference (already implemented & merged)
Hub (dual-stack)
$sku = New-AzVirtualApplianceSkuProperty -VendorName 'ciscosdwan' -BundledScaleUnit 2 -MarketPlaceVersion '17.18.02'
$hub = Get-AzVirtualHub -ResourceGroupName "dev2-testingipv6" -Name "chainhub-03"
$nva = New-AzNetworkVirtualAppliance -ResourceGroupName "dev2-testingipv6" -Name "ciscoNVA3" -Location "australiaeast" -VirtualApplianceAsn 65222 -VirtualHubId $hub.Id -Sku $sku
-CloudInitConfiguration "Hello!World" -AddressFamily "IPv4","IPv6"
VNet (dual-stack)
$vnet = Get-AzVirtualNetwork -ResourceGroupName "dev2-testingipv6" -Name "vnet-v6"
$privateSubnetId = ($vnet.Subnets | Where-Object Name -eq "subnet1").Id
$publicSubnetId = ($vnet.Subnets | Where-Object Name -eq "subnet2").Id
$config1 = New-AzNvaInterfaceConfiguration -NicType "PrivateNic" -Name "privateInterface" -SubnetId $privateSubnetId
$config2 = New-AzNvaInterfaceConfiguration -NicType "PublicNic" -Name "publicInterface" -SubnetId $publicSubnetId
$nva = New-AzNetworkVirtualAppliance -ResourceGroupName "dev2-testingipv6" -Name "ciscoNVAvnet" -Location "australiaeast" -VirtualApplianceAsn 65222 -Sku $sku
-CloudInitConfiguration "Hello!World" -AddressFamily "IPv4","IPv6" `
-NvaInterfaceConfiguration $config1, $config2
Here is a link to Poweshell changes: #30246
Minimum API Version Required
2025-09-01
Swagger PR link / SDK link
Azure/azure-rest-api-specs#44811
Request Example
Target Date
2026-03-01
PM Contact
Engineer Contact
Proposed implementation details (optional)
No response
Activity