Skip to main content

DWDM

This schema extension contains models for OADM (Optical Add Drop Multiplexer) supporting various WDM (Wavelength Division Multiplexing) technologies such as DWDM (Dense Wavelength Division Multiplexing) or CWDM (Coarse Wavelength Division Multiplexing). With some vendors, the tunable optics are not configured via the channel number but via the wavelength and/or the frequency. This model provides a unique entry in Infrahub for those. Interfaces carry a transmit and a receive channel, so single-fibre WDM is expressed as data rather than as a naming convention, and an Optical Channel records one wavelength booked end to end over a span, together with the cables it crosses.

Details

Use cases

This extension covers:

  • Recording which ITU grid point a channel sits on, in channel, frequency or wavelength notation, so tunable optics configured in any of the three resolve to one shared row.
  • Booking a wavelength end to end over a span, including the cables it crosses, and telling the two directions apart on single-fibre WDM.
  • Labelling what each multiplexer port does beyond client-vs-line, including express, expansion, monitor, OSC, amplifier and OTDR ports.
  • Stamping out a mux model with all of its ports pre-configured, by cloning an Object Template rather than rebuilding every port by hand.

Out of scope, and what to reach for instead:

  • Amplifiers, ROADM degrees, WSS cross-connects and transponders. Optical Multiplexer models passive add/drop filters; optical_function can label an amplifier or OSC port, but the amplifier itself is not a node here. See experimental/optical_transport.
  • Per-model channel maps as catalog data. A fixed filter's channel plan is captured by cloning an Object Template, not by a device-type port list, so "which mux models carry C21?" is not a first-class query.
  • Optical power budgets, span loss and link engineering.

Nodes

OpticalMultiplexer

  • Label: Optical Multiplexer
  • Description: An OADM (Optical Add Drop Multiplexer) supporting various WDM (Wavelength Division Multiplexing) technologies.
  • Namespace: Dcim
  • Icon: mdi:transit-connection-variant
  • Human Friendly ID: name__value
  • Inherit From: DcimPhysicalDevice

Attributes

namedescriptionkindoptionaldefault_valuechoices
nameText
wdm_typeType of WDM (e.g CWDM. DWDM)DropdownFalsedwdmcwdm, dwdm
descriptionTextTrue

Relationships

namepeeroptionalcardinalitykind
front_interfacesDcimOadmFrontInterfaceTruemanyComponent
rear_interfaceDcimOadmRearInterfaceTrueoneComponent

OadmFrontInterface

  • Label: Optical Multiplexer Front Interfaces
  • Namespace: Dcim
  • Uniqueness Constraints:
    • optical_multiplexer, name__value
  • Human Friendly ID: optical_multiplexer__name__value, name__value
  • Inherit From: DcimEndpoint, DcimGenericOadmInterface

Relationships

namepeeroptionalcardinalitykind
optical_multiplexerDcimOpticalMultiplexerFalseoneParent
channelsDcimWdmChannelTruemanyAttribute

OadmRearInterface

  • Label: Optical Multiplexer Rear Interfaces
  • Namespace: Dcim
  • Uniqueness Constraints:
    • optical_multiplexer, name__value
  • Human Friendly ID: optical_multiplexer__name__value, name__value
  • Inherit From: DcimEndpoint, DcimGenericOadmInterface

Relationships

namepeeroptionalcardinalitykind
optical_multiplexerDcimOpticalMultiplexerFalseoneParent

WdmChannel

  • Label: WDM Channel
  • Description: A WDM channel with its wavelength and frequency.
  • Namespace: Dcim
  • Icon: game-icons:laser-warning
  • Uniqueness Constraints:
    • grid__value, channel__value
  • Human Friendly ID: grid__value, channel__value

Attributes

namedescriptionkindoptionaldefault_valuechoices
channelWDM channel number.Number
gridThe ITU grid this channel belongs to.DropdownFalsedwdm_100ghzdwdm_100ghz, dwdm_50ghz, cwdm, other
wdm_typeType of WDM (e.g CWDM. DWDM)DropdownTruecwdm, dwdm
bandOptical band this channel falls in.DropdownTrueo_band, e_band, s_band, c_band, l_band
frequency_ghzNominal centre frequency in GHz (channel 21 -> 192100).NumberTrue
wavelength_pmNominal centre wavelength in picometres, nm x 1000 (channel 21 -> 1560610).NumberTrue
wavelengthWavelength of the channel in nm.TextTrue
frequencyFrequency of the channel in GHz.TextTrue

Relationships

namepeeroptionalcardinalitykind
front_interfacesDcimOadmFrontInterfaceTruemanyAttribute
sfpsDcimWdmSFPTruemanyAttribute
interfaces_txInterfacePhysicalTruemanyAttribute
interfaces_rxInterfacePhysicalTruemanyAttribute
optical_channels_a_to_zDcimOpticalChannelTruemanyAttribute
optical_channels_z_to_aDcimOpticalChannelTruemanyAttribute

WdmSFP

  • Label: WDM SFP
  • Description: SFP with configuration for Wavelength Division Multiplexing.
  • Namespace: Dcim
  • Icon: mdi:laser-pointer
  • Inherit From: DcimGenericSFP

Attributes

namedescriptionkindoptionaldefault_valuechoices
wdm_typeType of WDM (e.g CWDM. DWDM)DropdownFalsedwdmcwdm, dwdm

Relationships

namepeeroptionalcardinalitykind
wdm_channelDcimWdmChannelFalseoneAttribute

OpticalChannel

  • Label: Optical Channel
  • Description: One wavelength carried end to end over a WDM span.
  • Namespace: Dcim
  • Icon: mdi:waves-arrow-right
  • Uniqueness Constraints:
    • name__value
  • Human Friendly ID: name__value

Attributes

namedescriptionkindoptionaldefault_valuechoices
nameName of the channel, e.g. SITEA-SITEZ-C21.Text
descriptionTextTrue
statusDropdownplannedplanned, reserved, active, decommissioned

Relationships

namepeeroptionalcardinalitykind
channel_a_to_zDcimWdmChannelTrueoneAttribute
channel_z_to_aDcimWdmChannelTrueoneAttribute
a_endDcimEndpointTrueoneAttribute
z_endDcimEndpointTrueoneAttribute
a_end_lineDcimEndpointTrueoneAttribute
z_end_lineDcimEndpointTrueoneAttribute
segmentsDcimCableTruemanyAttribute

Generics

GenericOadmInterface

  • Label: Optical Multiplexer Interfaces
  • Namespace: Dcim
  • Icon: mdi:ethernet

Attributes

namedescriptionkindoptionaldefault_valuechoices
nameText
descriptionTextTrue
connector_typeDropdownFC, LC, LC_PC, LC_UPC, LC_APC, LSH, LSH_PC, LSH_UPC, LSH_APC, LX_5, LX_5_PC, LX_5_UPC, LX_5_APC, MPO, MTRJ, SC, SC_PC, SC_UPC, SC_APC, ST, CS, SN, SMA_905, SMA_906, URM_P2
optical_functionRole of this port in the optical path.DropdownTrueline, client, express, expansion, band, monitor, osc, amplifier, otdr

Extensions

note

In this context "extensions" refer to modifications or additions to the existing schema, such as adding new attributes, relationships, or other schema elements.

InterfacePhysical

Relationships

namepeeroptionalcardinalitykind
tx_wdm_channelDcimWdmChannelTrueoneAttribute
rx_wdm_channelDcimWdmChannelTrueoneAttribute

DcimEndpoint

Relationships

namepeeroptionalcardinalitykind
optical_channels_aDcimOpticalChannelTruemanyAttribute
optical_channels_zDcimOpticalChannelTruemanyAttribute
optical_channels_line_aDcimOpticalChannelTruemanyAttribute
optical_channels_line_zDcimOpticalChannelTruemanyAttribute

DcimCable

Relationships

namepeeroptionalcardinalitykind
optical_channelsDcimOpticalChannelTruemanyAttribute

Code

version: '1.0'
generics:
- name: GenericOadmInterface
label: Optical Multiplexer Interfaces
menu_placement: DcimOpticalMultiplexer
namespace: Dcim
icon: mdi:ethernet
attributes:
- name: name
kind: Text
order_weight: 1000
- name: description
kind: Text
optional: true
order_weight: 2000
- name: connector_type
kind: Dropdown
order_weight: 1100
choices:
- name: FC
label: FC
description: Standardized fiber optic connector used primarily in datacom and
telecom applications.
- name: LC
label: LC
description: Compact fiber optic connector with a push-pull mechanism.
- name: LC_PC
label: LC/PC
description: Polished LC connector providing physical contact (PC).
- name: LC_UPC
label: LC/UPC
description: Ultra-Physical Contact (UPC) variant of the LC connector with enhanced
polish.
- name: LC_APC
label: LC/APC
description: Angled Physical Contact (APC) version of the LC connector with
a slanted fiber end-face.
- name: LSH
label: LSH
description: European fiber optic connector offering high durability.
- name: LSH_PC
label: LSH/PC
description: Physical Contact version of LSH with standard polish.
- name: LSH_UPC
label: LSH/UPC
description: Ultra-Physical Contact variant of LSH, minimizing return loss with
a superior polish.
- name: LSH_APC
label: LSH/APC
description: Angled Physical Contact version of LSH, designed to reduce back
reflections.
- name: LX_5
label: LX.5
description: Miniaturized fiber optic connector similar to LC but with an additional
shutter mechanism.
- name: LX_5_PC
label: LX.5/PC
description: Physical Contact version of LX.5.
- name: LX_5_UPC
label: LX.5/UPC
description: Ultra-Physical Contact variant of LX.5.
- name: LX_5_APC
label: LX.5/APC
description: Angled Physical Contact version of LX.5.
- name: MPO
label: MPO
description: Multi-fiber Push-On connector typically used in data centers for
high-speed applications.
- name: MTRJ
label: MTRJ
description: Male-to-female fiber optic connector with two fibers.
- name: SC
label: SC
description: Square fiber optic connector with push-pull lock.
- name: SC_PC
label: SC/PC
description: Physical Contact SC connector with a polished end-face.
- name: SC_UPC
label: SC/UPC
description: Ultra-Physical Contact variant of SC.
- name: SC_APC
label: SC/APC
description: Angled Physical Contact version of SC.
- name: ST
label: ST
description: Bayonet-style fiber optic connector primarily used in industrial
and military applications.
- name: CS
label: CS
description: Compact connector with a high-density duplex configuration.
- name: SN
label: SN
description: Small-form connector with dual fibers.
- name: SMA_905
label: SMA 905
description: Stainless steel fiber optic connector.
- name: SMA_906
label: SMA 906
description: Variant of SMA 905 with similar durability, frequently used in
high-vibration settings.
- name: URM_P2
label: URM-P2
description: Specialized fiber optic connector for industrial and harsh environments.
- name: optical_function
label: Optical Function
kind: Dropdown
optional: true
description: Role of this port in the optical path.
order_weight: 1150
choices:
- name: line
label: Line
description: 'Aggregate side: the multiplexed signal toward the fiber span (COM,
OMS).'
color: '#5b9bd5'
- name: client
label: Client
description: One channel or service signal (service, tributary, add or drop
port).
color: '#7fbf7f'
- name: express
label: Express
description: Channels transiting the node without being added or dropped.
color: '#a9dfbf'
- name: expansion
label: Expansion
description: To another filter stage, to extend channel capacity (vendor UG,
dUG, eUG, EXP).
color: '#d7bde2'
- name: band
label: Band
description: A wavelength band rather than one channel (1310 port, C/L splitter).
color: '#f9e79f'
- name: monitor
label: Monitor
description: Tap of the optical signal for measurement, not carrying traffic.
color: '#d5d8dc'
- name: osc
label: Supervisory (OSC)
description: Optical supervisory channel of a line system.
color: '#f5b7b1'
- name: amplifier
label: Amplifier
description: Input or output of an amplifier stage on active line gear.
color: '#f0b27a'
- name: otdr
label: OTDR
description: OTDR test and fiber characterisation injection port.
color: '#e59866'
nodes:
- name: OpticalMultiplexer
label: Optical Multiplexer
description: An OADM (Optical Add Drop Multiplexer) supporting various WDM (Wavelength
Division Multiplexing) technologies.
icon: mdi:transit-connection-variant
namespace: Dcim
human_friendly_id:
- name__value
order_by:
- name__value
display_label: name__value
generate_template: true
inherit_from:
- DcimPhysicalDevice
attributes:
- name: name
kind: Text
unique: true
order_weight: 1000
- name: wdm_type
kind: Dropdown
description: Type of WDM (e.g CWDM. DWDM)
order_weight: 1110
optional: false
choices:
- name: cwdm
label: CWDM (Coarse Wavelength Division Multiplexing)
description: Supports multiple wavelengths for communication up to 70km.
color: '#0099cc'
- name: dwdm
label: DWDM (Dense Wavelength Division Multiplexing)
description: Supports dense wavelengths and amplification for long-distance
communication.
color: '#9933cc'
default_value: dwdm
- name: description
kind: Text
optional: true
order_weight: 2000
relationships:
- name: front_interfaces
peer: DcimOadmFrontInterface
identifier: optical_multiplexer__front_interfaces
optional: true
cardinality: many
kind: Component
- name: rear_interface
peer: DcimOadmRearInterface
identifier: optical_multiplexer__rear_interfaces
optional: true
cardinality: one
kind: Component
- name: OadmFrontInterface
label: Optical Multiplexer Front Interfaces
menu_placement: DcimGenericOadmInterface
namespace: Dcim
human_friendly_id:
- optical_multiplexer__name__value
- name__value
display_label: '{{ optical_multiplexer__name__value }} > {{ name__value }}'
order_by:
- optical_multiplexer__name__value
- name__value
uniqueness_constraints:
- - optical_multiplexer
- name__value
inherit_from:
- DcimEndpoint
- DcimGenericOadmInterface
relationships:
- name: optical_multiplexer
peer: DcimOpticalMultiplexer
order_weight: 900
identifier: optical_multiplexer__front_interfaces
optional: false
cardinality: one
kind: Parent
- name: channels
peer: DcimWdmChannel
identifier: oadm_front_interface__wdm_channel
order_weight: 1200
optional: true
cardinality: many
kind: Attribute
- name: OadmRearInterface
label: Optical Multiplexer Rear Interfaces
menu_placement: DcimGenericOadmInterface
namespace: Dcim
human_friendly_id:
- optical_multiplexer__name__value
- name__value
display_label: '{{ optical_multiplexer__name__value }} > {{ name__value }}'
order_by:
- optical_multiplexer__name__value
- name__value
uniqueness_constraints:
- - optical_multiplexer
- name__value
inherit_from:
- DcimEndpoint
- DcimGenericOadmInterface
relationships:
- name: optical_multiplexer
peer: DcimOpticalMultiplexer
order_weight: 900
identifier: optical_multiplexer__rear_interfaces
optional: false
cardinality: one
kind: Parent
- name: WdmChannel
namespace: Dcim
description: A WDM channel with its wavelength and frequency.
label: WDM Channel
icon: game-icons:laser-warning
order_by:
- grid__value
- channel__value
display_label: '{{ grid__value }} Channel {{ channel__value }}'
uniqueness_constraints:
- - grid__value
- channel__value
human_friendly_id:
- grid__value
- channel__value
attributes:
- name: channel
kind: Number
description: WDM channel number.
order_weight: 1000
- name: grid
kind: Dropdown
description: The ITU grid this channel belongs to.
order_weight: 1100
optional: false
default_value: dwdm_100ghz
choices:
- name: dwdm_100ghz
label: DWDM 100 GHz
description: G.694.1 100 GHz spacing, anchored at 193.1 THz.
color: '#9933cc'
- name: dwdm_50ghz
label: DWDM 50 GHz
description: G.694.1 50 GHz spacing, anchored at 193.1 THz.
color: '#b366d9'
- name: cwdm
label: CWDM
description: G.694.2 20 nm spacing, 1271-1611 nm.
color: '#0099cc'
- name: other
label: Other
description: Outside the standard grids (single-wavelength optics, band splitters).
color: '#b3b3b3'
- name: wdm_type
kind: Dropdown
description: Type of WDM (e.g CWDM. DWDM)
deprecation: Use 'grid' instead, which also distinguishes 100 GHz from 50 GHz
DWDM.
order_weight: 1110
optional: true
choices:
- name: cwdm
label: CWDM (Coarse Wavelength Division Multiplexing)
description: Supports multiple wavelengths for communication up to 70km.
color: '#0099cc'
- name: dwdm
label: DWDM (Dense Wavelength Division Multiplexing)
description: Supports dense wavelengths and amplification for long-distance
communication.
color: '#9933cc'
- name: band
kind: Dropdown
description: Optical band this channel falls in.
order_weight: 1150
optional: true
choices:
- name: o_band
label: O-Band
description: 1260-1360 nm (original).
- name: e_band
label: E-Band
description: 1360-1460 nm (extended).
- name: s_band
label: S-Band
description: 1460-1530 nm (short).
- name: c_band
label: C-Band
description: 1530-1565 nm (conventional).
- name: l_band
label: L-Band
description: 1565-1625 nm (long).
- name: frequency_ghz
label: Frequency (GHz)
kind: Number
optional: true
description: Nominal centre frequency in GHz (channel 21 -> 192100).
order_weight: 1200
- name: wavelength_pm
label: Wavelength (pm)
kind: Number
optional: true
description: Nominal centre wavelength in picometres, nm x 1000 (channel 21 ->
1560610).
order_weight: 1300
- name: wavelength
label: Wavelength (nm)
kind: Text
optional: true
deprecation: Use 'wavelength_pm', which is numeric and therefore filterable and
sortable.
description: Wavelength of the channel in nm.
order_weight: 1400
- name: frequency
label: Frequency (GHz)
kind: Text
optional: true
deprecation: Use 'frequency_ghz', which is numeric and therefore filterable and
sortable.
description: Frequency of the channel in GHz.
order_weight: 1410
relationships:
- name: front_interfaces
label: OADM Front Interfaces
peer: DcimOadmFrontInterface
identifier: oadm_front_interface__wdm_channel
kind: Attribute
cardinality: many
optional: true
order_weight: 2000
- name: sfps
label: WDM SFPs
peer: DcimWdmSFP
identifier: wdm_sfp__wdm_channel
kind: Attribute
cardinality: many
optional: true
order_weight: 2010
- name: interfaces_tx
label: Interfaces (TX)
peer: InterfacePhysical
identifier: interface__tx_wdm_channel
kind: Attribute
cardinality: many
optional: true
order_weight: 2020
- name: interfaces_rx
label: Interfaces (RX)
peer: InterfacePhysical
identifier: interface__rx_wdm_channel
kind: Attribute
cardinality: many
optional: true
order_weight: 2030
- name: optical_channels_a_to_z
label: Optical Channels (A->Z)
peer: DcimOpticalChannel
identifier: opticalchannel__channel_a_to_z
kind: Attribute
cardinality: many
optional: true
order_weight: 2040
- name: optical_channels_z_to_a
label: Optical Channels (Z->A)
peer: DcimOpticalChannel
identifier: opticalchannel__channel_z_to_a
kind: Attribute
cardinality: many
optional: true
order_weight: 2050
- name: WdmSFP
namespace: Dcim
inherit_from:
- DcimGenericSFP
description: SFP with configuration for Wavelength Division Multiplexing.
label: WDM SFP
icon: mdi:laser-pointer
menu_placement: DcimGenericSFP
attributes:
- name: wdm_type
kind: Dropdown
description: Type of WDM (e.g CWDM. DWDM)
order_weight: 1110
optional: false
choices:
- name: cwdm
label: CWDM (Coarse Wavelength Division Multiplexing)
description: Supports multiple wavelengths for communication up to 70km.
color: '#0099cc'
- name: dwdm
label: DWDM (Dense Wavelength Division Multiplexing)
description: Supports dense wavelengths and amplification for long-distance
communication.
color: '#9933cc'
default_value: dwdm
relationships:
- name: wdm_channel
label: WDM Channel
peer: DcimWdmChannel
identifier: wdm_sfp__wdm_channel
kind: Attribute
cardinality: one
optional: false
order_weight: 1150
- name: OpticalChannel
namespace: Dcim
label: Optical Channel
description: One wavelength carried end to end over a WDM span.
icon: mdi:waves-arrow-right
human_friendly_id:
- name__value
display_label: name__value
order_by:
- name__value
uniqueness_constraints:
- - name__value
attributes:
- name: name
kind: Text
unique: true
description: Name of the channel, e.g. SITEA-SITEZ-C21.
order_weight: 1000
- name: description
kind: Text
optional: true
order_weight: 1100
- name: status
kind: Dropdown
order_weight: 1200
default_value: planned
choices:
- name: planned
label: Planned
description: Designed but not yet reserved on the span.
color: '#ffff7f'
- name: reserved
label: Reserved
description: Wavelength held on the span, not yet carrying traffic.
color: '#f9e79f'
- name: active
label: Active
description: Carrying traffic.
color: '#7fbf7f'
- name: decommissioned
label: Decommissioned
description: No longer in service, wavelength free to re-use.
color: '#bfbfbf'
relationships:
- name: channel_a_to_z
label: WDM Channel (A->Z)
peer: DcimWdmChannel
identifier: opticalchannel__channel_a_to_z
kind: Attribute
cardinality: one
optional: true
order_weight: 1300
- name: channel_z_to_a
label: WDM Channel (Z->A)
peer: DcimWdmChannel
identifier: opticalchannel__channel_z_to_a
kind: Attribute
cardinality: one
optional: true
order_weight: 1310
- name: a_end
label: A-End
peer: DcimEndpoint
identifier: opticalchannel__a_end
kind: Attribute
cardinality: one
optional: true
order_weight: 1400
- name: z_end
label: Z-End
peer: DcimEndpoint
identifier: opticalchannel__z_end
kind: Attribute
cardinality: one
optional: true
order_weight: 1410
- name: a_end_line
label: A-End Line
peer: DcimEndpoint
identifier: opticalchannel__a_end_line
kind: Attribute
cardinality: one
optional: true
description: Near-side multiplexer line interface carrying this channel.
order_weight: 1500
- name: z_end_line
label: Z-End Line
peer: DcimEndpoint
identifier: opticalchannel__z_end_line
kind: Attribute
cardinality: one
optional: true
description: Far-side multiplexer line interface carrying this channel.
order_weight: 1510
- name: segments
label: Physical Segments
peer: DcimCable
identifier: opticalchannel__segments
kind: Attribute
cardinality: many
optional: true
order_weight: 1600
extensions:
nodes:
- kind: InterfacePhysical
relationships:
- name: tx_wdm_channel
label: TX WDM Channel
peer: DcimWdmChannel
identifier: interface__tx_wdm_channel
kind: Attribute
cardinality: one
optional: true
description: Grid point this interface transmits on.
order_weight: 1470
- name: rx_wdm_channel
label: RX WDM Channel
peer: DcimWdmChannel
identifier: interface__rx_wdm_channel
kind: Attribute
cardinality: one
optional: true
description: Grid point this interface receives on.
order_weight: 1480
- kind: DcimEndpoint
relationships:
- name: optical_channels_a
label: Optical Channels (A-End)
peer: DcimOpticalChannel
identifier: opticalchannel__a_end
kind: Attribute
cardinality: many
optional: true
order_weight: 2100
- name: optical_channels_z
label: Optical Channels (Z-End)
peer: DcimOpticalChannel
identifier: opticalchannel__z_end
kind: Attribute
cardinality: many
optional: true
order_weight: 2110
- name: optical_channels_line_a
label: Optical Channels (A-End Line)
peer: DcimOpticalChannel
identifier: opticalchannel__a_end_line
kind: Attribute
cardinality: many
optional: true
order_weight: 2120
- name: optical_channels_line_z
label: Optical Channels (Z-End Line)
peer: DcimOpticalChannel
identifier: opticalchannel__z_end_line
kind: Attribute
cardinality: many
optional: true
order_weight: 2130
- kind: DcimCable
relationships:
- name: optical_channels
label: Optical Channels
peer: DcimOpticalChannel
identifier: opticalchannel__segments
kind: Attribute
cardinality: many
optional: true
order_weight: 2100