Ethernet EFM Functions¶
emulation efm config¶
Execute Tester Command ${rt_handle} command=test_control <additional key=value arguments>
- Purpose:
Creates, modifies, deletes, or resets an emulated EFM router for a given port.
Ethernet in the First Mile (EFM) technology is a transparent extension of Ethernetbased LANs into wide area networks. No conversion of packet formats is required when transmitting between the LAN and WAN. EFM technology enables service providers to build and provision costeffective, highperformance broadband access to their customers, providing businesses and residences with voice, video, and data over a single gigabit Ethernet connection.
EFM supports remote failure indication, remote loopback, link monitoring, and management channel. The emulated router and its peer transmit packets periodically over a path between the devices. If a device stops receiving packets for long enough, the link is assumed to be broken.
Synopsis:
Note: M indicates the argument is `Mandatory`.
emulation efm config
mode= {create|modify|destroy|reset} M
port_handle= <port_handle>
critical_event= {0|1}
dying_gasp= {0|1}
error_frame_period_threshold <065535= >
error_frame_period_window= <1-65535>
error_frame_threshold <065535= >
error_frame_summary_threshold= <0-65535>
error_frame_summary_window= <100-9000>
error_frame_window= <10-600>
error_symbol_period_threshold <065535= >
error_symbol_period_window= <1-65535>
link_events= {0|1}
link_fault= {0|1}
link_notification_events_per_interval= <1-10>
link_notifications_interval
osi_enable= {0|1}
osi_value= <hexadecimal>
osi_oui= <000000FFFFFF>
organization_specific_event_value
organization_specific_event_oui= <000000FFFFFF>
mac_local= <aa:bb:cc:dd:ee:ff>
oam_mode= {active|passive}
oui_value= <6 HEX chars>
remote_loopback= {0|1}
unidirectional= {0|1}
variable_retrieval= {0|1}
vsi_value= <8 HEX chars>
variable_response_tx= {0|1}
pdu_tx= {0|1}
loopback_response_tx= {0|1}
max_pdu_size= <4-2047>
oam_version= <0-255>
override_local_satisfied= {false|true|default}
override_remote_stable= {false|true|default}
override_revision= {0|1}
revision= <0-65535>
error_frame_count
error_frame_period_count
error_frame_summary_count
error_symbol_period_count
link_notifications_ose_oui
link_notifications_ose_value
loopback_response_timer= <1-10>
lost_link_timer= {2 - 90}
pdu_timer= <1-10>
variable_response_timer= <1-10>
variable_response_branch
variable_response_data
variable_response_indication= {0|1}
variable_response_leaf
variable_response_width
variable_request_branch
variable_request_leaf
vlan_id= <0-4095>
vlan_id_mode= { fixed|increment }
vlan_id_step= <1-4094>
vlan_user_priority= <0-7>
vlan_outer_id= <0-4095>
vlan_outer_id_mode= { fixed|increment }
vlan_outer_id_step= <1-4094>
vlan_outer_user_priority= <0-7>
Arguments:
critical_event
Send Critical Event messages to signal the remote EFM
router whether an unspecified critical event has occurred.
Possible values are 0 and 1. The default is 0.
dying_gasp
Send Dying Gasp messages to signal the remote EFM router
whether an unrecoverable local fault has occurred.
Possible values are 0 and 1. The default is 0.
error_frame_period_threshold
The number of errored frames in the period must be equal to
or greater than this value for Errored Frame Period Events
to be generated. Possible values range from 0 to 65535. The
default value is 30.
error_frame_period_window
Defines the window, measured in received frames, within
which the number of errored frames exceeds the threshold
defined by the error_frame_period_threshold argument.
Possible values range from 1 to 65535. The default value is
300.
error_frame_threshold
The number of detected errored frames in the period must be
equal to or greater than this value for Errored Frame Events
to be generated. Possible values range from 0 to 65535. The
default value is 40.
error_frame_summary_threshold
The number of errored frame seconds in the period must be
equal to or greater than this value for Errored Frame
Seconds Summary Event to be generated. Possible values range
from 0 to 65535. The default value is 20.
error_frame_summary_window
Defines the window, measured in 100ms intervals, within
which the number of errored frame seconds exceeds the
threshold defined by the error_frame_summary_threshold
argument. Possible values range from 100 to 9000.The default
value is 200.
error_frame_window
Defines the window, measured in 100ms intervals, within
which the number of errored frames exceeds the threshold
defined by the error_frame_threshold argument. Possible
values range from 10 to 600. The default value is 400.
error_symbol_period_threshold
The number of errored symbols in the period must be equal to
or greater than this value for Errored Symbol Period Events
to be generated. Possible values range from 0 to 65535. The
default value is 50.
error_symbol_period_window
Defines the window, measured in number of symbols, within
which the number of errored symbols exceeds the threshold
defined by the error_symbol_period_threshold argument.
Possible values range from 1 to 65535. The default value is
500.
link_events
Specifies whether the EFM emulated router supports signaling
Link Events, which include Errored Symbol Period Events,
Errored Frame Events, Errored Frame Period Events and
Errored Frame Seconds Summary Events. Possible values are 0
and 1. When the link_events argument is enabled, the
emulated EFM router will send Event Notification OAMPDUs
(Operation, Administration and Maintenance Protocol Data
Unit) containing a Link Event TLV (Type Length Value) for
every event to its peer. The default is 0.
link_fault
Send Link Fault message in Information OAMPDU to signal the
remote EFM router whether receive path is broken. Possible
values are 0 and 1. The default is 0.
link_notification_events_per_interval
Number of times to transmit the Link OAM event notification
in a period. Possible values range from 1 to 10. The
default is 2.
link_notifications_interval
Specifies the initial time base in 100 ms intervals.
The default is 0.
mac_local
Defines the MAC address {aa:bb:cc:dd:ee:ff} of the EFM
router. The mode argument must be set to either "config" or
"modify".
mode
Specifies the action to perform on the specified test port.
This argument is `Mandatory`. Possible values are create,
modify, destroy, and reset. The modes are described below::
create
Creates one emulated EFM router on the portspecified in
the port_handle argument. To create routers, specify
the port_handle argument. You must specify the
port_handle argument.
modify
Changes the configuration for the EFM router on the
port identified by the port_handle argument. You must
specify the port_handle argument.
destroy
Deletes the EFM router on the port specified in
the port_handle argument. You must specify the
port_handle argument.
reset
Same as destroy mode.
oam_mode
Defines the operation mode of EFM. Possible values are:
active
Initiates the EFM OAM Discovery process and
can send any OAMPDU to its peer. At least one EFM
router in a P2P(point to point) link must be in active
mode.
passive
Waits for the remote EFM router in active mode
to initiate the Discovery process.
The default is active.
oui_value
Defines the Organizational Unique Identifier (OUI) value.
OUI is the first 24 bits of a MAC address for a network
device, which indicates the specific vendor for that device
as assigned by the IEEE. Specify this value as a string of
six hexadecimal characters. The default is 000000.
osi_enable
Specifies a list of Booleans to determine whether you want the
data Organization Specific information TLV data in Information
OAMPDUs to be applied. Possible values are 0 (No) and 1 (Yes).
The default is 1. The length of the list must be the same as
that the length of lists osi_value and osi_oui list.
osi_value
Specifies a list of data fields of Organization Specific
information TLV in Information OAMPDU except OUI. The default is
00. The value should be in hexadecimal format with an even
length. The length of the list must be the same as that of the
length of lists osi_value and osi_enable.
For example, {01}, {0102}, {030405}
osi_oui
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the OUI value in Organization Specific information TLV
in Information OAMPDUs. Possible values range from 000000FFFFFF.
The default is 001094. The length of the list must be the same
as that of lists osi_value and osi_enable.
organization_specific_event_value
Specifies the value of the Organization Specific OAMPDU data
field except OUI. The default is 00. The value should be in
hexadecimal format with an even length. (For example, {01},
{0102}, {030405}).
organization_specific_event_oui
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the OUI value of the Organization Specific OAMPDU Data
field. Possible values range from 000000FFFFFF. The default is
001094.
port_handle
Specifies the port on which to create, modify, destroy or
reset the EFM router. This argument is `Mandatory` for the
four modes (create|modify|destroy|reset).
remote_loopback
Specifies that EFM emulation should attempt to put its peer
into Remote Loopback mode. OAM remote loopback can be used
for fault localization and link performance testing.
Statistics from both the emulated EFM router and its peer
can be queried and compared at any time while the peer of
the emulated EFM router is in OAM remote loopback mode. When
remote_loopback is enabled, the local EFM router in Active
mode sends a Loopback Control OAMPDU to get the remote EFM
router into Remote Loopback mode. The Passive EFM router is
not permitted to send Loopback Control OAMPDUs. Possible
values are 0 and 1. The default is 0.
unidirectional
Specifies that EFM should run in Unidirectional mode. This
is an OAMPDUbased mechanism that notifies the remote EFM
router when one direction of a link is nonoperational and
therefore data transmission is disabled. When a link is
operating in Unidirectional OAM mode, the OAM sublayer
ensures that only Information OAMPDUs with the Link Fault
critical link event indication set. Meanwhile, no
Information TLVs are sent across the link. Possible values
are 0(off) and 1(on). The default is 0(off).
variable_retrieval
Specifies that EFM emulation should have variable retrieval
enabled. Possible values are 0 and 1. The default is 0,
which indicates the emulated EFM router does not support
sending Variable Response OAMPDUs.
vsi_value
Defines the VendorSpecific Identifier (VSI) value. VSI is a
32bit Identifier used to differentiate a vendor's product
model or versions. Specify this value as a string of eight
hexadecimal characters. The default is 00000000.
variable_response_tx
`Spirent Extension (for Spirent HLTAPI only).`
Enables or disables the transmission of variable responses.
Possible values are 0 and 1. The default is 1.
pdu_tx
`Spirent Extension (for Spirent HLTAPI only).`
Enables or disables the transmission of PDUs. Possible values
are 0 and 1. The default is 1.
loopback_response_tx
`Spirent Extension (for Spirent HLTAPI only).`
Enables or disables the transmission of loopback responses.
Possible values are 0 and 1. The default is 1.
max_pdu_size
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the maximum OAMPDU size supported. Possible values
range from 4 to 2047. The default is 1500.
oam_version
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the OAM version of the emulated router. Possible
values range from 0 to 255. The default is 1.
override_local_satisfied
`Spirent Extension (for Spirent HLTAPI only).`
Specifies whether the local satisfied flag is to be overridden
Possible values are::
false - Set local satisfied to false.
true - Set local satisfied to true.
default - Use the default handling of the local satisfied flag.
The default is default.
override_remote_stable
`Spirent Extension (for Spirent HLTAPI only).`
Specifies whether the remote stable flag is to be overridden.
Possible values are::
false - Set remote stable to false.
true - Set remote stable to true.
default - Use the default handling of the remote stable flag.
The default is default.
override_revision
`Spirent Extension (for Spirent HLTAPI only).`
Enables or disables overriding of the revision number.
Possible values are 0 and 1. The default is 0.
revision
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the current revision number. Possible values range
from 0 to 65535. The default is 0. This argument is available
when override_revision is set to 1.
error_frame_count
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the number of detected errored frames in the period,
specified in 100 ms intervals. The default is 1.
error_frame_period_count
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the number of detected frame errors in the period,
specified in terms of frames. The default is 1.
error_frame_summary_count
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the number of detected errored frame seconds in the
period, specified in 100 ms intervals. The default is 1.
error_symbol_period_count
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the number of detected symbol errors in the period,
specified in number of symbols. The default is 1.
link_notifications_ose_oui
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the OUI of Organization Specific Event TLV in Event
Notification OAMPDUs. Possible values range from 000000 to
FFFFFF. The default is 001094.
link_notifications_ose_value
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the Organization Specific Event TLV data in Event
Notification OAMPDU except OUI. The default is 00. The value
should be in hexadecimal format with an even length. (For
example, {01}, {0102}, {030405})
loopback_response_timer
`Spirent Extension (for Spirent HLTAPI only).`
Number of seconds to wait for a loopback response. Possible
values range from 1 to 10. The default is 1.
lost_link_timer
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the lost link timer used to reset the discovery state
machine. Possible values range from 2 to 90. The default is 5.
pdu_timer
`Spirent Extension (for Spirent HLTAPI only).`
Number of seconds to wait for a received PDU and the interval at
which Information PDUs are sent. Possible values range from 1 to
10. The default is 1.
variable_response_timer
`Spirent Extension (for Spirent HLTAPI only).`
Number of seconds to wait for a variable response. Possible
values range from 1 to 10. The default is 1.
variable_response_branch
`Spirent Extension (for Spirent HLTAPI only).`
Specifies a list of Variable branches in Variable Response
OAMPDUs. The value must be a onebyte hex. The default is 00.
The length of the list must be the same as that of lists
variable_response_data, variable_response_indication,
variable_response_leaf and variable_response_width.
variable_response_data
`Spirent Extension (for Spirent HLTAPI only).`
Specifies a list of Variable values in Variable Response OAMPDUs.
The default is 00. The value should be in hexadecimal format
with an even length. The length of the list must be the same as
that of lists variable_response_branch,
variable_response_indication, variable_response_leaf and
variable_response_width. (For example, {01}, {0102}, {030405})
variable_response_indication
`Spirent Extension (for Spirent HLTAPI only).`
Specifies a list of Booleans to determine whether to enable the
indication bit of the variable width. Possible values are 0
(disable) and 1 (enable). The default is 0. The length must be
the same as that of lists variable_response_branch,
variable_response_data, variable_response_leaf and
variable_response_width.
variable_response_leaf
`Spirent Extension (for Spirent HLTAPI only).`
Specifies a list of Variable leaves in Variable Response OAMPDUs.
The value must be a twobyte hex. The default is 0000.
length of the list must be the same as that of lists
variable_response_branch, variable_response_indication,
variable_response_data and variable_response_width.
variable_response_width
`Spirent Extension (for Spirent HLTAPI only).`
Specifies a list of widths in Variable Response OAMPDUs. The
default is 00. The length of the list must be the same as that
of lists variable_response_branch,
variable_response_indication, variable_response_leaf and
variable_response_data.
variable_request_branch
`Spirent Extension (for Spirent HLTAPI only).`
Specifies a list of Variable branches in Variable Request
OAMPDUs. The value must be a onebyte hex. The default is 00.
The length of the list must be the same as that of list
variable_request_leaf.
variable_request_leaf
`Spirent Extension (for Spirent HLTAPI only).`
Specifies a list of Variable leaves in Variable Request OAMPDUs.
The value must be a twobyte hex. The default is 0000. The
length of the list must be the same as that of list
variable_request_branch.
vlan_id
`Spirent Extension (for Spirent HLTAPI only).`
The inner VLAN ID of VLAN subinterface. Possible values
range from 0 to 4095. The default is 1.
vlan_id_mode
`Spirent Extension (for Spirent HLTAPI only).`
Specifies inner VLAN ID assignment for multiple router
configurations. Valid values are "fixed" or "increment". If you
specify "fixed", all of the routers will be assigned the same
VLAN ID (the value of the vlan_id argument). If you specify
"increment", then Spirent HLTAPI assigns unique VLAN IDs. When
you use increment mode, you must also specify the vlan_id_step
argument to define the increment value.
vlan_id_step
`Spirent Extension (for Spirent HLTAPI only).`
The step size by which the inner VLAN value is incremented when
you set vlan_id_mode to "increment". Possible values range
from 1 to 4094. You must specify the step when the count
argument is greater than 1. The default is 1.
vlan_user_priority
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the inner VLAN priority for the inner
VLANs on this port. Possible values
range from 0 to 7. The default is 0.
vlan_outer_id
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the outer VLAN ID of VLAN subinterface.
Possible values range from 0 to 4095. The default is 1.
When you use vlan_outer_id, you must specify vlan_id.
vlan_outer_id_mode
`Spirent Extension (for Spirent HLTAPI only).`
Specifies how Spirent TestCenter assigns VLAN tags to
packets in the specified outer header when router count
is greater than 1. Possible values are::
fixed - The outer VLAN ID is the same for all packets.
The fixed outer VLAN ID is the value of the
vlan_outer_id argument.
increment - For all packets, the outer VLAN tag ID
increments by the step specified in the
vlan_outer_id_step argument.
vlan_outer_id_step
`Spirent Extension (for Spirent HLTAPI only).`
The amount by which to increment the specified outer VLAN ID
(vlan_outer_id) for subsequent packets. Possible values
range from 1 to 4094. You must specify this step when
you specify "increment" for the vlan_outer_id_mode argument.
vlan_outer_user_priority
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the VLAN priority to assign to the outer header.
Possible values range from 0 to 7. The default is 0.
Arguments Unsupported by Save as HLTAPI:
None
- Ciscospecific Arguments:
The following arguments are specific to the Cisco HLTAPI but are not supported by Spirent HLTAPI:
passive_peer_only pdu_count mac_remote automatic_discovery error_symbol_period_event error_frame_event error_frame_period_event error_frame_seconds_summary_event organization_specific_event_enable size
- Return Values:
Depending on the specific language that HLTAPI uses, the function returns a keyed list/dictionary/hash (See Introduction for more information on return value formats) using the following keys (with corresponding data):
handle The handle that identifies the router created by the ``emulation efm config`` function. status Success (1) or failure (0) of the operation. log An error message (if the operation failed).
- Description:
The
emulation efm config
function creates, modifies, deletes, or resets an emulated EFM router. Use the mode argument to specify the action to perform. (See the mode argument description for information about the actions.)When you create an emulated router, use the port_handle argument to specify the Spirent HLTAPI port that the emulated router will use for EFM communication. (The port handle value is contained in the keyed list returned by the connect function.) Create mode returns the handle of the EFM router.
After you create an emulated EFM router, use the “emulation_efm_control mode start” command for Spirent HLTAPI to start the router communication. The EFM router in Active mode sends Information PDUs to initiate the Discovery process. It may send Event Notification PDUs when link_events is enabled and Loopback Control PDUs when remote_loopback is enabled. The EFM router in Passive mode waits for the EFM router in Active mode to initiate the Discovery process.
If the local EFM router and the remote EFM router are satisfied with the settings, an OAM link is established. During the test, use the
emulation efm control
function to stop individual routers.
Examples:
The following example creates an EFM router:
emulation efm config port_handle= $hltSourcePort mode= create critical_event= 0 dying_gasp= 1 error_frame_period_threshold= 100 error_frame_period_window= 200 error_frame_threshold= 50 error_frame_summary_threshold= 40 error_frame_summary_window= 150 error_frame_window= 180 error_symbol_period_threshold= 10 error_symbol_period_window= 30 link_events= 1 link_fault= 0 mac_local= "00.00.00.01.00.01" oam_mode= active oui_value= 000001 remote_loopback= 1 unidirectional= 1 variable_retrieval= 1 vsi_value= 00000001 loopback_response_tx= 0 pdu_tx= 1 variable_response_tx= 0 max_pdu_size= 1500 oam_version= 1 override_local_satisfied= true override_remote_stable= true override_revision= 1 revision= 3 error_frame_count= 2 error_frame_period_count= 3 error_frame_summary_count= 4 error_symbol_period_count= 5 link_notification_events_per_interval= 4 link_notifications_interval= 1 link_notifications_ose_oui= 000002 link_notifications_ose_value= {0708} loopback_response_timer= 2 lost_link_timer= 6 pdu_timer= 4 variable_response_timer= 5 organization_specific_event_oui= 000004 organization_specific_event_value= 01 osi_enable= {1 1} osi_oui= {000003 000004} osi_value= {0506 0708} variable_response_indication= {1 1} variable_response_data= {0506 08} variable_response_branch= {02 03} variable_response_leaf= {0003 0004} variable_response_width= {03 05} variable_request_branch= {01 02} variable_request_leaf= {0001 0002} vlan_id= 2 vlan_id_mode= increment vlan_id_step= 2 vlan_user_priority= 1 vlan_outer_id= 10 vlan_outer_id_mode= increment vlan_outer_id_step= 2 vlan_outer_user_priority= 2Sample output for example shown above:
{handle router1} {status 1}The following example modifies the created EFM router:
emulation efm config mode= modify port_handle= portHandle oam_mode= passiveSample output for example shown above:
{handle router1} {status 1}The following examples delete the specified EFM router:
emulation efm config mode= delete port_handle= portHandle
- emulation efm config
- mode= reset port_handle= portHandle
Sample output for example shown above:
{status 1}
emulation efm control¶
Execute Tester Command ${rt_handle} command=test_control <additional key=value arguments>
- Purpose:
- Starts or stops an EFM router from routing traffic for the specified port.
Synopsis:
Note: M indicates the argument is `Mandatory`.
emulation efm control
action= {start|stop|start_variable_request|stop_variable_request|
start_loopback|stop_loopback|start_event_notification|
stop_event_notification|start_organization_specific_event|
stop_organization_specific_event|resume} M]
port_handle= <port_handle_list> M
pdu_packing= {single_tlv|batch_tlvs}
period= <1-10>
error_symbol_period_event_enable= {0|1}
error_frame_event_enable= {0|1}
error_frame_period_event_enable= {0|1}
error_frame_seconds_summary_event_enable= {0|1}
organization_specific_event_enable= {0|1}
pause_at= { fault|active_passive|send_local_remote|
send_local_remote_ok|send_any|none}]
tx_type= {single_mag|periodic}
Arguments:
port_handle
Identifies a list of ports on which to stop or start the EFM
router. This argument is `Mandatory`.
action
Specifies the action to be taken on the specified port.
Possible values are start or stop. This argument is
`Mandatory`. Possible values are::
start - Starts the EFM emulation for the specified port
stop - Stops the EFM emulation for the specified port
start_variable_request - Starts sending Variable Requests to DUT
stop_variable_request - Stops sending Variable Requests to DUT
start_loopback - Send a Loopback Control OAMPDU to
enable remote loopback
stop_loopback - Send a Loopback Control OAMPDU to
disable remote loopback
start_event_notification - Starts sending Link Event
Notification PDUs
stop_event_notification - Stops sending Link Event
Notification PDUs
resume - Resumes sending Link OAM commands
start_organization_specific_event - Starts sending Organization
Specific Event PDUs
stop_organization_specific_event - Stops sending Organization
Specific Event
pdu_packing
`Spirent Extension (for Spirent HLTAPI only).`
Specifies how TLVs are packed into the PDU when a Variable
Request OAMPDU or Event Notification OAMPDU is sent.
Possible values are::
single_tlv - Send a single TLV per PDU
batch_tlvs - Batch TLVs into a minimum number of PDUs
The default is single_tlv. This argument is available
when action is set to start_variable_request or
start_event_notification.
period
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the transmission period to send Variable Request
OAMPDU/Event Notification OAMPDU/Organization Specific
OAMPDU periodically. Possible values range from 1 to 10.
This argument is available when action is set to one of the
following values::
start_variable_request
start_event_notification
start_organization_specific_event.
error_symbol_period_event_enable
`Spirent Extension (for Spirent HLTAPI only).`
Specifies whether to send an errored symbol period event
when you send Event Notification OAMPDUs. Possible
values are 0 and 1. The default is 0. This argument is
available when action is set to start_event_notification.
error_frame_event_enable
`Spirent Extension (for Spirent HLTAPI only).`
Specifies whether to send an errored frame event when
you send Event Notification OAMPDUs. Possible values
are 0 and 1. The default is 0. This argument is available when
action is set to start_event_notification.
error_frame_period_event_enable
`Spirent Extension (for Spirent HLTAPI only).`
Specifies whether to send an errored frame period event when you
send Event Notification OAMPDUs. Possible values are 0 and 1.
The default is 0. This argument is available when action is set
to start_event_notification.
error_frame_seconds_summary_event_enable
`Spirent Extension (for Spirent HLTAPI only).`
Specifies whether to send an errored frame seconds summary event
when you send Event Notification OAMPDUs. Possible values are
0 and 1. The default is 0. This argument is available when
action is set to start_event_notification.
organization_specific_event_enable
`Spirent Extension (for Spirent HLTAPI only).`
Specifies whether to send an organization specific event when
you send Event Notification OAMPDUs. Possible values are 0 and
1. The default is 0. This argument is available when action is
set to start_event_notification.
tx_type
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the message transmission type to send Variable Request
OAMPDU/Event Notification OAMPDU/Organization Specific OAMPDUs.
Possible values are::
single_mag - Send a single message.
periodic - Send continuous messages.
The default is single_mag. This argument is available when
action is set to one of the following values::
start_variable_request
start_event_notification
start_ organization_specific_event
pause_at
`Spirent Extension (for Spirent HLTAPI only).`
The state the Link OAM router will remain in, until
action is set to "resume".
Possible values are::
Value Description
fault FAULT state
active_passive ACTIVE_SEND_LOCAL or PASSIVE_WAIT state,
depending on OAM mode
send_local_remote SEND_LOCAL_REMOTE state
send_local_remote_ok SEND_LOCAL_REMOTE_OK state
send_any SEND_ANY state
none NONE
The default is none.
- Return Values:
Depending on the specific language that HLTAPI uses, the function returns a keyed list/dictionary/hash (See Introduction for more information on return value formats) using the following keys (with corresponding data):
status Success (1) or failure (0) of the operation. log An error message (if the operation failed).
- Description:
- The
emulation efm control
function controls the routing of traffic through the specified ports. You can use this function to perform two actions: starting routers and stopping routers.
Examples:
To start the EFM router on the specified port:
emulation efm control mode=start port_handle portHandleTo stop the EFM router on the specified port:
emulation efm control mode=stop port_handle portHandleSample Output:
{status 1}
emulation efm stat¶
Execute Tester Command ${rt_handle} command=test_control <additional key=value arguments>
- Purpose:
- Returns EFM statistics on the specified port. Statistics include the EFM connection status and link event counters.
Synopsis:
Note: M indicates the argument is `Mandatory`.
emulation efm stat
port_handle= <port_handle> M
action= {get|reset} M
Arguments:
port_handle
Specifies the ports for which you want information. This
argument is `Mandatory`.
action
Specifies the action to take on the specified port
handles. This argument is `Mandatory`. Possible values are::
get Retrieves all EFM statistics for the specified port.
reset Deletes all EFM statistics for the specified port.
- Return Values:
Depending on the specific language that HLTAPI uses, the function returns a keyed list/dictionary/hash (See Introduction for more information on return value formats) using the following keys (with corresponding data):
- status
- Retrieves a value indicating the success (1) or failure (0) of the operation.
- log
- Retrieves a message describing the last error that occurred during the operation. If the operation was successful - {status 1} - the log value is null.
- port_handle
- The ports for which you want to retrieve information about the EFM session.
- local_state
Indicates the state information of the emulated EFM router. Possible values are NONE, UNSATISFIED, NOT COMPLETED, and COMPLETED:
NONE - Indicates there is no state information available. UNSATISFIED - Indicates that the Discovery process cannot complete. NOT COMPLETED - Indicates that the Discovery process is in progress. COMPLETED - Indicates that the Discovery process is complete.
The following keys are returned when you specify action get:
- statistics
- remote_dte_oam_version
- The OAM version of the remote OAM client
- remote_dte_revision
- Revision number of the remote OAM client
- remote_max_pdu_size
- Maximum PDU size supported on the remote OAM client
- current_discovery_state
Value of the local DTE state:
UNSATISFIED Discovery can not complete NOT_COMPLETED Discovery has not completed COMPLETED Discovery has completed RESERVED Reserved flag should not be received NONE No current state exists
- local_dte_tx_critical_event_bit
Value of the critical event flag:
OFF Critical event is not enabled ON Critical event is enabled
- local_dte_tx_dying_gasp_bit
Value of the dying gasp flag:
OFF Dying gasp is not enabled ON Dying gasp is enabled
- local_dte_tx_link_fault_bit
Value of the link fault flag:
OFF Link fault is not enabled ON Link fault is enabled
- remote_dte_rx_critical_event_bit
Value of the remote critical event flag:
OFF Remote critical event is not enabled ON Remote critical event is enabled
- remote_dte_rx_dying_gasp_bit
Value of the remote dying gasp flag:
OFF Remote dying gasp is not enabled ON Remote dying gasp is enabled
- remote_dte_rx_link_fault_bit
Value of the remote link fault flag:
OFF Remote link fault is not enabled ON Remote link fault is enabled
- remote_dte_multiplexer_action_value
Value of the remote multiplexer action:
FWD Forwarding nonOAMPDUs DISCARD Discarding nonOAMPDUs
- remote_dte_parser_action_value
Value of the remote parser action:
FWD Forwarding nonOAMPDUs LB Looping back nonOAMPDUs DISCARD Discarding nonOAMPDUs RESERVED Reserved flag should not be set
Spirent Extension (for Spirent HLTAPI only).
- local_dte_multiplexer_action_value
Value of the local multiplexer action:
FWD Forwarding nonOAMPDUs DISCARD Discarding nonOAMPDUs
Spirent Extension (for Spirent HLTAPI only).
local_dte_parser_action_value Value of the parser action:
FWD Forwarding nonOAMPDUs LB Looping back nonOAMPDUs DISCARD Discarding nonOAMPDUs RESERVED Reserved flag should not be set
Spirent Extension key (for Spirent HLTAPI only).
- remote_state
Value of the remote DTE state:
UNSATISFIED Discovery can not complete NOT_COMPLETED Discovery has not completed COMPLETED Discovery has completed RESERVED Reserved flag should not be received NONE No current state exists
Spirent Extension (for Spirent HLTAPI only).
- info_pdu_timesout
- Number of information PDU timeouts
Spirent Extension (for Spirent HLTAPI only).
- rx_loopback_pdu_count
- Number of loopback PDUs received
Spirent Extension (for Spirent HLTAPI only).
- loopback_pdu_timesout
- Number of loopback PDU timeouts
Spirent Extension (for Spirent HLTAPI only).
tx_loopback_pdu_count Number of loopback PDUs transmitted
Spirent Extension (for Spirent HLTAPI only).
- tx_org_specific_pdu_count Number of organization specific PDUs
- transmitted
Spirent Extension (for Spirent HLTAPI only).
- rx_variable_request_pdu_count Number of variable request PDUs
- received
Spirent Extension (for Spirent HLTAPI only).
- variable_request_pdu_time_out Number of variable request PDU
- timeouts
Spirent Extension (for Spirent HLTAPI only).
- tx_variable_request_pdu_count Number of variable request PDUs
- transmitted
Spirent Extension (for Spirent HLTAPI only).
- rx_ variable_response_pdu_count
- Number of variable response PDUs received
Spirent Extension (for Spirent HLTAPI only).
- tx_ variable_response_pdu_count
- Number of variable response PDUs transmitted
- mac_remote
- link_events_enabled
Value of the link events flag:
TRUE - Supports interpreting Link Events
- oam_mode
- State of the emulated router
- oampdu_count
- Number of OAMPDUs received
- oampdu_size
- Size of OAMPDUs
- oui_value
- OUI Value
- remote_loopback_enabled
Value of the remote loopback flag:
TRUE - Runs in Remote Loopback mode
- unidir_enabled
Value of the unidirectional flag:
TRUE - Supports unidirectional mode
- variable_retrieval_enabled
Value of the variable retrieval flag:
TRUE - Supports sending Variable Response OAMPDUs
- vsi_value
- VSI Value
- oampdu_count
- Number of OAMPDUs received
- oui_value
- OUI Value
- vsi_value
- Specifies the vendor specific information
- tx_information_oam_pdu_count
- Number of information PDUs transmitted
- tx_link_event_notification_count
- Number of event PDUs transmitted
- rx_information_oam_pdu_count
- Number of information PDUs received
- rx_link_event_notification_count
- Number of event PDUs received
- rx_organization_specific_oam_pdu_count
- Number of organization specific PDUs received
Spirent Extension (for Spirent HLTAPI only).
- remote_vsi_value
- Vendor specific information value on the remote OAM client
alarms
- errored_frame_events
- Number of Errored Frame Events detected
- errored_frame_period_events
- Number of Errored Frame Period Events detected
- errored_frame_seconds_summary_events
- Number of Errored Frame Period Events detected
- errored_symbol_period_events
- Number of Errored Symbol Period Events detected
- organization_specific_events
- Number of organization specific events received
- tx_errored_symbol_period_events
- Number of errored symbol period events transmitted
- tx_errored_frame_events
- Number of errored frame events transmitted
- tx_errored_frame_period_events
- Number of errored frame period events transmitted
- tx_errored_frame_seconds_summary_events
- Number of errored frame seconds summary events transmitted
- tx_organization_specific_event
- Number of organization specific events transmitted
- tx_critical_events
- Number of critical events transmitted
- tx_dying_gasp
- Number of dying gasps transmitted
- tx_link_fault
- Number of link faults transmitted
- rx_critical_events
- Number of critical events received
- rx_dying_gasp
- Number of dying gasp received
- rx_link_fault
- Number of link faults received
- event_notification
Spirent Extension (for Spirent HLTAPI only).
There can be a more than one event_notification hash. For example, if you send two kinds of Link Event Notification PDUs, you will get two event_notification hashes. Please refer to the sample output for more details. The hash elements are described below:
event_type Spirent HLTAPI value of the event type Errored symbol period event ERRORED_FRAME Errored frame event ERRORED_FRAME_PERIOD Errored frame period event ERRORED_FRAME_SECONDS_SUMMARY Errored frame seconds summary event ORG_SPECIFIC Organization specific event time_stamp Timestamp of the event in 100 ms intervals window_size Window size of the event threshold Threshold of the event error_count Error count of the event error_running_total Error running total of the event event_running_total Event running total oui OUI in Organization Specific Event TLV of Event Notification PDUs value Value of the Organization Specific Event TLV in Event Notification PDUs
- Description:
The
emulation efm stat
function provides information about the ports specified for the EFM configuration.This function returns the requested data and a status value (1 for success). If there is an error, the function returns the status value (0) and an error message. Function return values are formatted as a keyed list supported by the Tcl extension software - TclX). Use the TclX function (keylget) to retrieve data from the keyed list. (See Return Values for a description of each key.)
Note:
The following mac_remote statistics keys are not supported:: oampdu_size tx_loopback_enable_count tx_loopback_disable_count rx_loopback_enable_count rx_loopback_disable_count rx_invalid_oam_pdu_count The following alarms statistics keys are not supported:: rx_errored_symbol_period_events rx_errored_frame_events rx_errored_frame_period_events rx_errored_frame_seconds_summary_events rx_organization_specific_event The following statistics keys are not supported:: attempted_discovery_count successful_discovery_count unsuccessful_discovery_count last_discovery_time min_discovery_time max_discovery_time avg_discovery_time lost_link_timeouts_count last_info_tlv_received_timestamp attempted_loopback_enable_count successful_loopback_enable_count unsuccessful_loopback_enable_count attempted_loopback_disable_count successful_loopback_disable_count unsuccessful_loopback_disable_count last_loopback_enable_time last_loopback_disable_time current_remote_loopback_state current_link_event_notification_state remote_dte_mac local_dte_tx_last_oampdu_type remote_dte_rx_last_oampdu_type last_error_description
Examples:
Sample Input:
::emulation efm stat action= get port_handle= portHandleSample Output:
{port_handle port2} {local_state COMPLETED} {statistics {{tx_org_specific_pdu_count 0} {local_dte_multiplexer_action_value FWD} {remote_max_pdu_size 1500} {local_dte_tx_critical_event_bit OFF} {remote_dte_multiplexer_action_value DISCARD}{local_dte_tx_dying_gasp_bit ON} {loopback_pdu_timesout 0} {remote_dte_oam_version1} {remote_dte_rx_dying_gasp_bit OFF} {remote_state COMPLETED} {remote_dte_parser_action_value FWD} {info_pdu_timesout 0} {rx_variable_request_pdu_count 6} {tx_variable_request_pdu_count 0} {rx_variable_response_pdu_count 0} {current_discovery_state COMPLETED} {local_dte_tx_link_fault_bit OFF} {remote_dte_rx_critical_event_bit OFF} {rx_loopback_pdu_count 1} {tx_loopback_pdu_count 0} {tx_variable_response_pdu_count 0} {variable_request_pdu_timeouts 0} {remote_dte_rx_link_fault_bit OFF} {local_dte_parser_action_value FWD} {remote_dte_revision 5}}} {alarms {{rx_link_fault 0} {tx_link_fault 0} {tx_errored_frame_seconds_summary_events 1} {errored_frame_period_events 0} {rx_critical_events 0} {errored_frame_seconds_summary_events 0} {tx_errored_frame_period_events 1} {rx_dying_gasp 0} {tx_dying_gasp 23} {tx_errored_symbol_period_events 1} {tx_errored_frame_events 1} {tx_organization_specific_events 0} {tx_critical_events 0} {errored_symbol_period_events 1} {errored_frame_events 0} {organization_specific_events 1}}} {mac_remote {{rx_information_oam_pdu_count 6} {variable_retrieval_enabled FALSE} {tx_link_event_notification_count 16} {remote_vsi_value {0000 0002}} {rx_link_event_notification_count 8} {oui_value 00-00-01} {oam_mode PASSIVE} {link_events_enabled FALSE} {tx_information_oam_pdu_count 7} {remote_loopback_enabled FALSE} {unidir_enabled FALSE} {vsi_value {0000 0001}} {rx_organization_specific_oam_pdu_count 4} {oampdu_count 25}}} {event_notification {{1 {{event_type ERRORED_SYMBOL_PERIOD} {error_count 5} {value {}} {event_running_total 0} {error_running_total 5} {oui {}} {threshold 20} {time_stamp 222} {window_size 40}}} {2 {{event_type ORG_SPECIFIC} {error_count 0} {value {07 08}} {event_running_total 0} {error_running_total 0} {oui 00-00-02}{threshold 0} {time_stamp 0} {window_size 0}}}}} {status 1}End of Procedure Header