Skip to content

Should a fixed chassis' SFP cages be module bays? #4622

Description

@jvobelnet

Question

Is a transceiver cage on a fixed-form-factor device something this library should express as a module-bay?

Guidance says module bays belong to all modular components, and a pluggable transceiver is about as field-replaceable as a component gets. But the pattern is rare here: of the 4,098 device types that declare module bays, only 9 name anything transceiver-shaped — 6 UfiSpace, 2 Cisco, 1 Sophos — and no Juniper definition does. Before proposing it across a large vendor tree, it seems worth asking whether that is deliberate.

Motivation: NetBox 4.3 deprecated inventory items, and NetBox Labs' own write-up recommends modelling SFPs as modules. Doing that needs a bay per cage, and on a fixed chassis there is no line-card module to hang one off.

Example with SRX300

The definition already records which ports are cages, so nothing new has to be asserted:

interfaces:
  - name: ge-0/0/0 … ge-0/0/5
    type: 1000base-t        # RJ45, no cage
  - name: ge-0/0/6
    type: 1000base-x-sfp    # cage
  - name: ge-0/0/7
    type: 1000base-x-sfp    # cage

so the addition is:

module-bays:
  - name: Xcvr 0/0/6
    position: 0/0/6
  - name: Xcvr 0/0/7
    position: 0/0/7

Branch, if useful: https://github.com/jvobelnet/devicetype-library/tree/juniper-srx300-transceiver-bays

Junos reports the transceiver as Xcvr 6 nested under PIC 0 → FPC 0, which a flat device-type bay cannot express. Xcvr 0/0/6 keeps the slot path, so the bay's slot matches the slot in the interface name and a transceiver module can be joined to the port it feeds. Could also be 'SFP0 / SFP1', 'Transciever 6', etc.

If this is accepted, I can provide some other PR for other devices we own.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions