Improved Breakout Modeling #11158
Replies: 4 comments 6 replies
-
There is already a parent:child functionality to interfaces. Connecting Childrens to cables negates the requirement for a modification to the cable model. However the graphical representation could benefit from an added boolean to a parent interface. Something along the lines of "Channelized interface" But maybe I'm missing the point ? |
Beta Was this translation helpful? Give feedback.
-
The issue is that only Virtual interfaces are allowed to be Child interfaces (aka subinterfaces) so there would need to be changes to validation rules to allow a QSFP28 to have children SFP+ interfaces representing an octopus cable. I suppose you could make a single-object custom_field on Interface pointing to Interface so children can point to their parent outside of the existing validation rules.
As far as having the db model validate specific mappings of parent to child (eg a QSFP28 can have x number of SFP+ children or whatever) there is an ongoing maintenance burden to keep this data accurate (similar to the burden of enumerating all interface types) that would need to be taken into account for pushing validation into the core vs just providing a data storage mechanism that is broadly accurate and having custom Reports or other validation mechanisms to audit/enforce more fine-grained accuracy. I've not used custom validators, can get get this deep?
—
Mark Tinberg ***@***.***>
Division of Information Technology-Network Services
University of Wisconsin-Madison
…________________________________
From: Jonathan Senecal ***@***.***>
Sent: Tuesday, December 13, 2022 11:05 AM
To: netbox-community/netbox ***@***.***>
Cc: Subscribed ***@***.***>
Subject: Re: [netbox-community/netbox] Improved Breakout Modeling (Discussion #11158)
There is already a parent:child functionality to interfaces. Connecting Childrens to cables negates the requirement for a modification to the cable model. However the graphical representation could benefit from an added boolean to a parent interface. Something along the lines of "Channelized interface"
—
Reply to this email directly, view it on GitHub<#11158 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AAS7UMYBDQ3DJHNEEYRKCKDWNCUHNANCNFSM6AAAAAAS3EFBFY>.
You are receiving this because you are subscribed to this thread.Message ID: ***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
I agree on it needing to be child interfaces or a new similar model to specifically call out the lanes used. When going from 1 100gb port on one device to 4 25gb ports on different devices it would be easier to model it if each set of "lanes" was its own child interface circuit |
Beta Was this translation helpful? Give feedback.
-
Would be really great to have this implemented in some form. Especially for breakout -> panels -> servers |
Beta Was this translation helpful? Give feedback.
-
Hi all,
Have seen the topic of interfaces on breakout modules discussed in several places, but never to a complete and (to me) satisfactory resolution. The addition of many-to-many relationship on Cable terminations solves some of the challenges of modeling the physical infrastructure, but not all, and does not capture the logical. I am proposing NetBox at work, and anticipate this being a source of significant pushback given our widespread use of breakouts. (Aside: our current inventory also very poorly models this connectivity, but you know, change is hard and should be feared above all.)
I opened #11070 to address this issue. Essentially, a cable termination would consume the native interface of the equipment (QSFP, OSFP, CFP, etc). The proposed child cables would consume the child interfaces of the parent native interface, and the termination choices for A and B terminations would be limited to the subset of the A and B terminations of the parent cable, enabling cable traces to be completed between child interfaces and the remote devices, perhaps through fiber plant.
After further thought, I believe the interface model would need to be updated as well. The child interfaces are not logical or virtual interfaces -- they are physical; they map to electrical lanes of the parent interface. As such, the child interface should inherit the type of the parent with sub-rate speeds. I think enabling loose restrictions in choices here would be the way to go -- for instance, given a QSFP28 native interface, child interfaces could have type QSFP28 (10GE) or QSFP28 (25GE), with perhaps a test to sanity check breakout children interface speeds not exceeding parent. Would avoid granularity of typing to specific breakout (4x10GE or 2x100GE) -- there are an enormous variety of these and will continue to grow and evolve (see: introduction of QSFP-DD 800).
So, to recap:
Trying to get up to speed with Django enough to be able to contribute the changes myself -- potentially over the holiday break and on a fancy new v3.4 build -- but wanted to solicit feedback from maintainers and the community at large before I invest a large amount of time and effort and have a PR rot on the shelf.
Beta Was this translation helpful? Give feedback.
All reactions