diff --git a/netbox/templates/virtualization/vminterface.html b/netbox/templates/virtualization/vminterface.html
index 0d679680d..8017044a3 100644
--- a/netbox/templates/virtualization/vminterface.html
+++ b/netbox/templates/virtualization/vminterface.html
@@ -67,6 +67,10 @@
{% include 'inc/panel_table.html' with table=child_interfaces_table heading="Child Interfaces" %}
diff --git a/netbox/virtualization/forms/model_forms.py b/netbox/virtualization/forms/model_forms.py
index 400e67385..25755977b 100644
--- a/netbox/virtualization/forms/model_forms.py
+++ b/netbox/virtualization/forms/model_forms.py
@@ -362,7 +362,7 @@ class VMInterfaceForm(InterfaceCommonForm, VMComponentForm):
model = VMInterface
fields = [
'virtual_machine', 'name', 'parent', 'bridge', 'enabled', 'mac_address', 'mtu', 'description', 'mode',
- 'vlan_group', 'untagged_vlan', 'tagged_vlans', 'vrf', 'tags',
+ 'vlan_group', 'untagged_vlan', 'tagged_vlans', 'vrf', 'tags', 'vlan_translation_policy',
]
labels = {
'mode': '802.1Q Mode',
diff --git a/netbox/virtualization/views.py b/netbox/virtualization/views.py
index 0828d3a2a..d2765e1ae 100644
--- a/netbox/virtualization/views.py
+++ b/netbox/virtualization/views.py
@@ -16,7 +16,7 @@ from dcim.models import Device
from dcim.tables import DeviceTable
from extras.views import ObjectConfigContextView
from ipam.models import IPAddress
-from ipam.tables import InterfaceVLANTable
+from ipam.tables import InterfaceVLANTable, InterfaceVLANTranslationTable
from netbox.constants import DEFAULT_ACTION_PERMISSIONS
from netbox.views import generic
from tenancy.views import ObjectContactsView
@@ -515,6 +515,11 @@ class VMInterfaceView(generic.ObjectView):
exclude=('virtual_machine',),
orderable=False
)
+ vlan_translation_table = InterfaceVLANTranslationTable(
+ interface=instance,
+ data=instance.vlan_translation_policy.rules.all() if instance.vlan_translation_policy else [],
+ orderable=False
+ )
# Get assigned VLANs and annotate whether each is tagged or untagged
vlans = []
@@ -533,6 +538,7 @@ class VMInterfaceView(generic.ObjectView):
return {
'child_interfaces_table': child_interfaces_tables,
'vlan_table': vlan_table,
+ 'vlan_translation_table': vlan_translation_table,
}