mirror of
https://github.com/netbox-community/netbox.git
synced 2025-08-08 08:38:16 -06:00
Improve example
This commit is contained in:
parent
e590059d45
commit
044397c75c
@ -113,16 +113,33 @@ class CableTermination(models.Model):
|
|||||||
(FrontPort, cable, Interface)
|
(FrontPort, cable, Interface)
|
||||||
]
|
]
|
||||||
|
|
||||||
And an example of a trace where we stop at a rear port:
|
+-----------------+ +-----------------+
|
||||||
|
| | | |
|
||||||
|
| Device | | Device |
|
||||||
|
| | +-----------------+ +-----------------+ | |
|
||||||
|
| +-------------+| |+-------------+ | | +-------------+| |+-------------+ |
|
||||||
|
| | || || | | | | || || | |
|
||||||
|
| | Interface A |-----| FrontPort B | | | | FrontPort E |----| Interface F | |
|
||||||
|
| | || || | | | | || || | |
|
||||||
|
| +-------------+| |+------+------+ | | +------+------+| |+-------------+ |
|
||||||
|
+-----------------+ | | | | | | +-----------------+
|
||||||
|
| +----+--------+| |+--------+----+ |
|
||||||
|
| | || || | |
|
||||||
|
| | RearPort C |------| RearPort D | |
|
||||||
|
| | || || | |
|
||||||
|
| +-------------+| |+-------------+ |
|
||||||
|
+-----------------+ +-----------------+
|
||||||
|
|
||||||
[
|
When tracing from Interface A the trace method will reach RearPort C. If that RearPort only has 1 FrontPort it
|
||||||
(RearPort, Cable, FrontPort),
|
is basically a cable extender and the trace continues. However when RearPort C has multiple FrontPorts the
|
||||||
(RearPort, Cable, RearPort),
|
trace will pause and start a separate trace from RearPort C.
|
||||||
(FrontPort, cable, RearPort)
|
|
||||||
]
|
|
||||||
|
|
||||||
In this last example we start tracing at a rear port, so the only thing that makes sense is to end at the
|
That (sub)trace will reach RearPort D, at which point it doesn't know which FrontPort to continue with, so it
|
||||||
corresponding rear port.
|
ends the (sub)trace there and returns the path from RearPort C to RearPort D. In more complicated examples
|
||||||
|
there can be a whole set of ports between RearPort C and D, which will be (sub)traced accordingly.
|
||||||
|
|
||||||
|
The initial trace resumes, and because it knows which FrontPort it came from, it can resume with FrontPort E,
|
||||||
|
and complete the trace to Interface F.
|
||||||
"""
|
"""
|
||||||
if not self.cable:
|
if not self.cable:
|
||||||
return [(self, None, None)]
|
return [(self, None, None)]
|
||||||
|
Loading…
Reference in New Issue
Block a user