diff --git a/docs/release-notes/version-2.11.md b/docs/release-notes/version-2.11.md index 42a25e55a..57a3768a7 100644 --- a/docs/release-notes/version-2.11.md +++ b/docs/release-notes/version-2.11.md @@ -125,6 +125,7 @@ A new provider network model has been introduced to represent the boundary of a * [#6171](https://github.com/netbox-community/netbox/issues/6171) - Fix display of horizontally-scrolling object lists * [#6173](https://github.com/netbox-community/netbox/issues/6173) - Fix assigned device/VM count when bulk editing/deleting device roles * [#6176](https://github.com/netbox-community/netbox/issues/6176) - Correct position of MAC address field when creating VM interfaces +* [#6177](https://github.com/netbox-community/netbox/issues/6177) - Prevent VM interface from being assigned as its own parent ### Other Changes diff --git a/netbox/virtualization/models.py b/netbox/virtualization/models.py index dd7920484..f2aa9e17f 100644 --- a/netbox/virtualization/models.py +++ b/netbox/virtualization/models.py @@ -463,6 +463,10 @@ class VMInterface(PrimaryModel, BaseInterface): f"({self.parent.virtual_machine})." }) + # An interface cannot be its own parent + if self.pk and self.parent_id == self.pk: + raise ValidationError({'parent': "An interface cannot be its own parent."}) + # Validate untagged VLAN if self.untagged_vlan and self.untagged_vlan.site not in [self.virtual_machine.site, None]: raise ValidationError({