Fixes: #3519 - Disallow(API) connections to virtual & wireless interfaces

This commit is contained in:
Daniel Sheppard 2019-09-24 10:37:02 -05:00
parent 6fdd35785e
commit aed144fc19

View File

@ -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")