Configuration
Media Configuration
For the test modules that support media configuration (check M_CAPABILITIES
), this command sets the desired media type (front port).
Corresponding low-level API class: M_MEDIA
# Media Configuration
await module.config.media.set(media_config=enums.MediaConfigurationType.BASE_T1)
await module.config.media.set(media_config=enums.MediaConfigurationType.BASE_T1S)
await module.config.media.set(media_config=enums.MediaConfigurationType.CFP)
await module.config.media.set(media_config=enums.MediaConfigurationType.CFP4)
await module.config.media.set(media_config=enums.MediaConfigurationType.CXP)
await module.config.media.set(media_config=enums.MediaConfigurationType.OSFP800)
await module.config.media.set(media_config=enums.MediaConfigurationType.OSFP800_ANLT)
await module.config.media.set(media_config=enums.MediaConfigurationType.QSFP112)
await module.config.media.set(media_config=enums.MediaConfigurationType.QSFP112_ANLT)
await module.config.media.set(media_config=enums.MediaConfigurationType.QSFP28_NRZ)
await module.config.media.set(media_config=enums.MediaConfigurationType.QSFP28_PAM4)
await module.config.media.set(media_config=enums.MediaConfigurationType.QSFP56_PAM4)
await module.config.media.set(media_config=enums.MediaConfigurationType.QSFPDD_NRZ)
await module.config.media.set(media_config=enums.MediaConfigurationType.QSFPDD_PAM4)
await module.config.media.set(media_config=enums.MediaConfigurationType.QSFPDD800)
await module.config.media.set(media_config=enums.MediaConfigurationType.QSFPDD800_ANLT)
await module.config.media.set(media_config=enums.MediaConfigurationType.SFP112)
await module.config.media.set(media_config=enums.MediaConfigurationType.SFP28)
await module.config.media.set(media_config=enums.MediaConfigurationType.SFP56)
await module.config.media.set(media_config=enums.MediaConfigurationType.SFPDD)
resp = await module.config.media.get()
resp.media_config
Supported Configuration
Shows the supported configurations by a module, including the supported media configurations and their corresponding port configurations.
The structure of the returned value is
[ <cage_type> <available_speed_count> [<ports_per_speed> <speed>] ]
.
[<ports_per_speed> <speed>]
is repeated until all speeds supported by the <cage_type>
has been listed.
[<cage_type> <available_speed_count>]
is repeated for all cage types on the module including the related <ports_per_speed> <speed>
information.
Corresponding low-level API class: M_MEDIASUPPORT
resp = await module.supported_configs.get()
resp.media_info_list
Port Configuration
This property defines the current number of ports and the speed of each of them on a test module.
Note
<portspeed_list>
is a list of integers, where the first element is the number of ports followed by a number of port speeds in Mbps.
The number of port speeds equals the value of the number of ports.
For example if the configuration is 4x25G, <portspeed_list>
will be [4, 25000, 25000, 25000, 25000]
.
Corresponding low-level API class: M_CFPCONFIGEXT
# Port Configuration
await module.config.port_speed.set(portspeed_list=[1, 800000])
await module.config.port_speed.set(portspeed_list=[2, 400000, 400000])
await module.config.port_speed.set(portspeed_list=[4, 200000, 200000, 200000, 200000])
await module.config.port_speed.set(portspeed_list=[8, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000])
resp = await module.config.port_speed.get()
resp.portspeed_list
Configuration Status
Show the test module configuration status when the user has configured the test module to a different configuration than the one it is currently running.
Corresponding low-level API class: M_RECONFIG_STATUS
# Module Configuration Status
resp = await module.config.status.get()
resp.status
resp.progress