DAC splitter cable support #5193

Closed
opened 2025-12-29 19:25:18 +01:00 by adam · 3 comments
Owner

Originally created by @hiddenman on GitHub (Aug 17, 2021).

NetBox version

3.0-beta2

Feature type

Data model extension

Proposed functionality

Add support for cable splitters like Direct Attach Copper Splitter Cable : https://www.mellanox.com/related-docs/prod_cables/PB_MCP7F00-A0xxRyyz_100GbE_QSFP28_to_4x25GbE_4xSFP28_DAC_Splitter.pdf

I found a similar feature request here https://github.com/netbox-community/netbox/issues/4302

Use case

We have a switch with the 100GbE QSFP28 port connected via DAC splitter with 4 other ports of 4 different devices.
This port can work as a single interface, two interfaces and four interfaces.

Nowadays it's not possible to add a cable to the same interface when it's already connected to another interface port.

I was thinking about adding this splitter as a device with front/rear ports but not sure it's a good idea.

Ports in the devices are defined ( in the community device type library) like:

  - name: swp32
    type: 100gbase-x-qsfp28
    mgmt_only: false

Of course i can add three more ports for each port but also not sure it's a right way.

May be some port types must allow connecting more than one cable to them?

Database changes

No response

External dependencies

No response

Originally created by @hiddenman on GitHub (Aug 17, 2021). ### NetBox version 3.0-beta2 ### Feature type Data model extension ### Proposed functionality Add support for cable splitters like Direct Attach Copper Splitter Cable : https://www.mellanox.com/related-docs/prod_cables/PB_MCP7F00-A0xxRyyz_100GbE_QSFP28_to_4x25GbE_4xSFP28_DAC_Splitter.pdf I found a similar feature request here https://github.com/netbox-community/netbox/issues/4302 ### Use case We have a switch with the 100GbE QSFP28 port connected via DAC splitter with 4 other ports of 4 different devices. This port can work as a single interface, two interfaces and four interfaces. Nowadays it's not possible to add a cable to the same interface when it's already connected to another interface port. I was thinking about adding this splitter as a device with front/rear ports but not sure it's a good idea. Ports in the devices are defined ( in the community device type library) like: ``` - name: swp32 type: 100gbase-x-qsfp28 mgmt_only: false ``` Of course i can add three more ports for each port but also not sure it's a right way. May be some port types must allow connecting more than one cable to them? ### Database changes _No response_ ### External dependencies _No response_
adam added the type: feature label 2025-12-29 19:25:18 +01:00
adam closed this issue 2025-12-29 19:25:18 +01:00
Author
Owner

@jeremystretch commented on GitHub (Aug 17, 2021):

This has been raised in numerous other issues, and is not feasible given the constraints of the data model used within NetBox to represent physical cabling. The wiki has more information about this limitation, as well as a suitable workaround.

If you'd like to do some research into that and come up with a detailed proposal for an alternative model that would not break existing functionality, I'll keep this issue open. Otherwise, I'm afraid there's nothing to be done at this time.

@jeremystretch commented on GitHub (Aug 17, 2021): This has been raised in numerous other issues, and is not feasible given the constraints of the data model used within NetBox to represent physical cabling. The wiki has [more information](https://github.com/netbox-community/netbox/wiki/Data-Model-Limitations#breakout-cables) about this limitation, as well as a suitable workaround. If you'd like to do some research into that and come up with a detailed proposal for an alternative model that would not break existing functionality, I'll keep this issue open. Otherwise, I'm afraid there's nothing to be done at this time.
Author
Owner

@sleepinggenius2 commented on GitHub (Aug 19, 2021):

I just ran into a related issue today. We use these shelves to break out QSFP+ ports into 4x10G connections. We need to be able to model the MPO cable connecting from the QSFP-4X10G-LR-S optic to the rear port on the panel, then we connect each of the pairs of front ports on the panel to the 10G interfaces on other devices.

I tried modeling this today like:
Optics0/0/0/0 QSFP+ (40GE) <-> Breakout MPO1
TenGigE0/0/0/0/0 Virtual Parent=Optics0/0/0/0
TenGigE0/0/0/0/1 Virtual Parent=Optics0/0/0/0
TenGigE0/0/0/0/2 Virtual Parent=Optics0/0/0/0
TenGigE0/0/0/0/3 Virtual Parent=Optics0/0/0/0

This worked fine until I tried to add one of the 10G interfaces to a LAG and got this error:
Virtual interfaces cannot have a parent LAG interface.

If I try to change the type, then I get this error:
Only virtual interfaces may be assigned to a parent interface.

We also have compliance reports that check for enabled physical interfaces without attached cables, which would fail if we made them non-virtual.

For a breakout cable like is described in this issue and in the wiki, I think the proposed workaround is sufficient for now, but in the scenario where the breakout is done with an external device, then that doesn't really work. I've seen a lot of devices with MPO connectors that run into a similar issue, where one or two fibers in that cable map to a "virtual" interface on the device.

I've worked through a number of data models to help to address some of the issues I've come across with the platform (including this one) and would be happy to discuss further.

@sleepinggenius2 commented on GitHub (Aug 19, 2021): I just ran into a related issue today. We use [these](https://www.fs.com/products/43552.html) shelves to break out QSFP+ ports into 4x10G connections. We need to be able to model the MPO cable connecting from the QSFP-4X10G-LR-S optic to the rear port on the panel, then we connect each of the pairs of front ports on the panel to the 10G interfaces on other devices. I tried modeling this today like: Optics0/0/0/0 QSFP+ (40GE) <-> Breakout MPO1 TenGigE0/0/0/0/0 Virtual Parent=Optics0/0/0/0 TenGigE0/0/0/0/1 Virtual Parent=Optics0/0/0/0 TenGigE0/0/0/0/2 Virtual Parent=Optics0/0/0/0 TenGigE0/0/0/0/3 Virtual Parent=Optics0/0/0/0 This worked fine until I tried to add one of the 10G interfaces to a LAG and got this error: *Virtual interfaces cannot have a parent LAG interface.* If I try to change the type, then I get this error: *Only virtual interfaces may be assigned to a parent interface.* We also have compliance reports that check for enabled physical interfaces without attached cables, which would fail if we made them non-virtual. For a breakout cable like is described in this issue and in the wiki, I think the proposed workaround is sufficient for now, but in the scenario where the breakout is done with an external device, then that doesn't really work. I've seen a lot of devices with MPO connectors that run into a similar issue, where one or two fibers in that cable map to a "virtual" interface on the device. I've worked through a number of data models to help to address some of the issues I've come across with the platform (including this one) and would be happy to discuss further.
Author
Owner

@jeremystretch commented on GitHub (Aug 27, 2021):

Closing this out as there has been no further response from OP.

@jeremystretch commented on GitHub (Aug 27, 2021): Closing this out as there has been no further response from OP.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/netbox#5193