Closes #13086: Virtual circuits (#17933)

* WIP

* Add API tests

* Add remaining tests

* Add model docs

* Show virtual circuit connections on interfaces

* Misc cleanup per PR feedback

* Renumber migration

* Support nested terminations for virtual circuit bulk import
This commit is contained in:
Jeremy Stretch
2024-11-19 10:58:39 -05:00
committed by GitHub
parent 7376314821
commit d2168b107f
36 changed files with 2164 additions and 15 deletions

View File

@@ -998,6 +998,14 @@ class Interface(ModularComponentModel, BaseInterface, CabledObjectModel, PathEnd
def l2vpn_termination(self):
return self.l2vpn_terminations.first()
@cached_property
def connected_endpoints(self):
# If this is a virtual interface, return the remote endpoint of the connected
# virtual circuit, if any.
if self.is_virtual and hasattr(self, 'virtual_circuit_termination'):
return self.virtual_circuit_termination.peer_terminations
return super().connected_endpoints
#
# Pass-through ports