Description
NetBox version
v3.7.0
Feature type
New functionality
Proposed functionality
For modules, its currently possible to use {module}
in an interface name in order for it to follow the module bay of which it is installed in ("Position" under a module bay). It would be great if there was an equivalent property (e.g. {vc_position}
) to replace the equivalent for a virtual chassis position.
A default value could be done using something like {vc_position:0}
, where if a device isn't in a cluster, aka vc_position
is None
, it would insert 0 instead.
Use case
Juniper devices name their interfaces using {type}-{member}/{module}/{interface}
. Example: xe-1/2/3
would be a 10-gig port (xe
), on the 2nd member of the VC (1
- 0-indexed), in the 2nd module bay (2
- 0 is built-in interfaces, 1 is the first bay), and the 4th interface (3
- 0-indexed).
I believe Cisco devices do something similar based on #5794.
Examples:
- You create a new interface on an already existing switch, and define it as
xe-{vc_position:0}/{module}/1
.- If the current switch is not in a virtual chassis (VC) or cluster, the new interface name would become
xe-0/0/1
. - However if the switch is in a VC or cluster, and is member 3, then the interface would become
xe-2/0/1
.
- If the current switch is not in a virtual chassis (VC) or cluster, the new interface name would become
- You define a device type and again define the interface as
xe-{vc_position:0}/{module}/1
. You then create multiple devices:- First one becomes
xe-0/0/1
- Second one gets added to the VC of the first one, automatically giving it the interface
xe-1/0/1
- First one becomes
- You have a module, again with the same interface definition, and add it to vc member 1 in module slot 2:
xe-1/2/1
The way it currently works I have to define the interface as xe-0/{module}/1
, meaning that if I create another switch in the VC, as in the second example, I'd have to rename all its interfaces to match up with what they actually are (xe-1/0/1
instead of xe-0/0/1
). Same for the third example, I'd have to rename the module's interfaces.
Database changes
No response
External dependencies
No response