
If you’ve ever had to model breakout cables, trunk cables, or shuffled fiber connections in a network documentation tool, you know the pain. You’ve got a single physical cable carrying multiple discrete channels, maybe a 1-to-4 MPO breakout fanout, or an 8-connector MTP trunk, and your documentation tool treats it as one opaque link between two endpoints. You can record that the cable exists, but you can’t trace a specific fiber pair through it. You end up maintaining side documentation, spreadsheets, or just hoping people remember which lane goes where.
NetBox 4.5 changes this with Cable Profiles: a new optional property on cables that tells NetBox exactly how a cable’s internal channels are structured, enabling per-lane path tracing across even the most complex cabling topologies.
Anywhere you use multi-channel cables, breakout fanouts, multi-fiber trunks, polarity shuffle assemblies, you’ve had a gap between what’s physically happening and what your documentation can express. This comes up across a wide range of environments:
Until now, NetBox could record that these cables existed and what they connected, but it couldn’t model what was happening inside the cable. If you traced a path from Interface A to Interface B and the path crossed a breakout cable, NetBox would show the cable as a single hop, it couldn’t tell you which lane of that breakout you were actually using. This made it difficult to troubleshoot individual link failures, plan capacity on partially-utilized trunk cables, or validate that your fiber polarity was correct.
Cable Profiles solve this by giving each cable an internal structure that NetBox understands and can trace through.
A Cable Profile describes the physical layout of a cable in terms of connectors and positions. Each end of the cable (A and B) has one or more connectors, and each connector presents one or more positions. A position represents a single discrete channel within the cable, this could be a fiber pair, a lane in a DAC or AOC, or any other independent path carried by the cable.
The profile also defines a mapping between positions on the A side and positions on the B side. For a straight-through cable, position 1 on connector 1 at side A maps to position 1 on connector 1 at side B. For a breakout cable, the four positions on a single A-side connector map to four separate single-position connectors on the B side. For a shuffle cable, the mapping is non-linear, positions get rearranged between sides.
Here’s the key insight: when a cable has a profile assigned, NetBox uses that profile’s mapping during path tracing. Instead of treating the cable as a single hop, NetBox follows the specific lane through the cable to determine exactly which far-end termination corresponds to a given near-end termination.
NetBox 4.5 ships with a comprehensive set of built-in profiles. These fall into four conceptual types:
A single profile has one connector at each end with one or more positions. This is your standard point-to-point cable, a single-channel patch cord (1C1P), a duplex cable (1C2P), or a multi-position cable carrying up to 16 channels (1C16P). Both sides are symmetrical: every A-side position maps directly to the same B-side position.
Available: 1C1P, 1C2P, 1C4P, 1C6P, 1C8P, 1C12P, 1C16P
A trunk profile has multiple connectors at each end, with each connector presenting one or more positions. Both sides have the same number of connectors. Think of a trunk cable as bundling several parallel connections into one physical cable assembly. For example, a 2C4P trunk has two connectors per side, each carrying four positions, like two MPO-8 connectors bundled together.
Available: 2C1P, 2C2P, 2C4P, 2C6P, 2C8P, 2C12P, 4C1P, 4C2P, 4C4P, 4C6P, 4C8P, 8C4P
A breakout profile has fewer connectors on one side than the other. This is the classic breakout or fanout cable: a single multi-position connector on the A side splits out to multiple single-position connectors on the B side.
Available:
The breakout profiles include explicit position mappings. For instance, in a 1C4P:4C1P breakout, position 1 on side A’s connector 1 maps to position 1 on side B’s connector 1, position 2 maps to connector 2, and so on. When you trace from a termination connected to B-side connector 3, NetBox knows that corresponds to position 3 on the A-side connector.
A shuffle is not a separate structural type but a behavioral property: it indicates that positions are remapped non-linearly between the A and B sides. Shuffle variants exist for both trunk and breakout profiles.
For example, a 2C4P trunk shuffle maps positions 3 and 4 of connector 1 on side A to positions 1 and 2 of connector 2 on side B, and vice versa. This models the polarity-swapping behavior required by certain MPO connectivity standards. Without the shuffle designation, a 2C4P trunk would be assumed to be straight-through.
Available shuffle profiles: 2C4P trunk (shuffle), 4C4P trunk (shuffle), 2C4P:8C1P breakout (shuffle)
Assigning a profile is straightforward and entirely optional. Cables without a profile continue to work exactly as they did before, no migration required for your existing data.
NetBox will validate that the number of terminations you’ve specified is compatible with the selected profile. A 1C4P:4C1P breakout, for example, allows one termination on the A side and up to four on the B side.
The profile field is available on the /api/dcim/cables/ endpoint as an optional choice field:
You can also filter cables by profile in both the UI list view and the API:
Tip: Use Configure Table on the cables list view to add the Profile column for quick visibility.
This is where Cable Profiles really earn their keep. When NetBox traces a cable path and encounters a cable with a profile assigned, it switches from legacy “whole cable” tracing to profile-aware, per-lane tracing.
Here’s what that means in practice:
For a concrete example: imagine you have a 400G QSFP-DD interface on a spine switch connected via a 1C4P:4C1P breakout cable to four 100G SFP interfaces on leaf switches. When you trace the path from leaf switch interface 3, NetBox follows the breakout mapping backward, B-side connector 3, position 1 maps to A-side connector 1, position 3, and identifies the specific QSFP interface on the spine. The trace shows the exact lane, not just “this cable connects somewhere on the other end.”
This per-lane awareness carries through the entire path. If the traced path crosses multiple profiled cables (say, a breakout into a trunk into another breakout), NetBox follows the position through each hop, correctly resolving the end-to-end connection.
When you assign a profile to a cable, NetBox automatically populates connector and positions fields on each CableTermination. These fields are also mirrored onto the terminating objects themselves (interfaces, front ports, etc.) as cable_connector and cable_positions, making it easy to see at a glance which lane of a cable a given interface is using.
These fields are managed automatically, you don’t need to set them manually. When the cable’s profile changes, NetBox recreates the terminations with the correct connector/position assignments.
Cable Profiles work hand-in-hand with another new 4.5 feature: Advanced Port Mappings. In previous versions, each FrontPort had a fixed assignment to a single RearPort and position. This was a simple many-to-one relationship that couldn’t represent more complex inline devices, like fiber cassettes or MPO modules that rearrange individual fiber pairs between front and rear connections.
NetBox 4.5 replaces the old rear_port / rear_port_position fields on FrontPort with a dedicated PortMapping model. A PortMapping links a front port and position to a rear port and position, and supports any number of such assignments. This means:
When combined with Cable Profiles, this gives NetBox full end-to-end tracing fidelity: a profile-aware cable connects to a port with position-aware mappings, and NetBox follows the specific lane all the way through.
Let’s bring this together with a realistic scenario. You’re documenting the network fabric for a leaf-spine deployment with high-density optics:
When you trace from a specific leaf switch interface, NetBox follows the path backward: through the patch cable, into the patch panel front port, across the port mapping to the correct position on the rear port, through the MPO cable’s profile mapping, and out to the exact QSFP-DD port on the spine. Every hop is position-aware.
Now scale this up: add trunk cables (e.g. 4C4P profile) between patch panels in different rows, and NetBox traces through those too, following the correct connector and position at each step. Without profiles, NetBox would show the cables as connected but couldn’t distinguish which of the four lanes you were using. With profiles, it’s unambiguous.
Cable profiles are fully integrated into the REST API and GraphQL API:
profile choice field is available on dcim.Cable for create, update, and filter operations. CableTermination objects expose connector and positions as read-only fields.Note that the /api/dcim/cable-terminations/ endpoint is now read-only in 4.5. Cable terminations are managed exclusively through the /api/dcim/cables/ endpoint, which ensures that connector and position assignments stay in sync with the cable’s profile.
Cable Profiles in NetBox 4.5 give you a native way to model what’s happening inside your cables, not just what they connect, but how they connect it. Whether you’re working with simple point-to-point patch cords, multi-fiber trunk cables, breakout fanouts, or polarity shuffle cables, NetBox now understands the internal channel structure and uses it during path tracing.
For teams running high-density fiber environments, AI datacenters, large-scale leaf-spine fabrics, enterprise campuses, or any topology that relies on breakout and trunk cabling, this is a significant step forward. You get accurate per-lane tracing, proper breakout modeling, and shuffle-aware polarity tracking, all without leaving NetBox.
Cable Profiles are entirely optional and backward-compatible. Your existing cables continue to work unchanged. When you’re ready, assign profiles to the cables that need them and let NetBox handle the rest.