Skip to content

Ability to use Virtual Chassis position in interface naming #14659

@theS1LV3R

Description

@theS1LV3R

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:

  1. 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.
  2. 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
  3. 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

Metadata

Metadata

Assignees

No one assigned

    Labels

    complexity: mediumRequires a substantial but not unusual amount of effort to implementpending closureRequires immediate attention to avoid being closed for inactivitystatus: needs ownerThis issue is tentatively accepted pending a volunteer committed to its implementationtype: featureIntroduction of new functionality to the application

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions