diff --git a/netbox/dcim/models.py b/netbox/dcim/models.py index 88d2aee1d..da1f11d21 100644 --- a/netbox/dcim/models.py +++ b/netbox/dcim/models.py @@ -2868,6 +2868,30 @@ class Cable(ChangeLoggedModel): ( isinstance(endpoint_b, Interface) and endpoint_b.type == IFACE_TYPE_VIRTUAL + ) or + ( + isinstance(self.termination_a, Interface) and + self.termination_a.type == IFACE_TYPE_VIRTUAL + ) or + ( + isinstance(self.termination_b, Interface) and + self.termination_b.type == IFACE_TYPE_VIRTUAL + ) or + ( + isinstance(endpoint_b, Interface) and + endpoint_b.type in WIRELESS_IFACE_TYPES + ) or + ( + isinstance(endpoint_b, Interface) and + endpoint_b.type in WIRELESS_IFACE_TYPES + ) or + ( + isinstance(self.termination_a, Interface) and + self.termination_a.type in WIRELESS_IFACE_TYPES + ) or + ( + isinstance(self.termination_b, Interface) and + self.termination_b.type in WIRELESS_IFACE_TYPES ) ): raise ValidationError("Cannot connect to a virtual interface")