Ethernet OAM Functions

sth::emulation_oam_port_config

Purpose

Spirent Extension (for Spirent HLTAPI only).

Configures or modifies Operation Administration Maintenance (OAM) port configuration on a Spirent HLTAPI chassis.

Synopsis

Note

M indicates that the argument is Mandatory .

sth::emulation_oam_port_config
    [-mode {config}  M]
    [-port_handle <port_handle>]
    [-multicast_mac_type1 <aa:bb:cc:dd:ee:ff>]
    [-multicast_mac_type2 <aa:bb:cc:dd:ee:ff>]
    [-disable_cont_chk_rx {true|false}]
    [-enable_pm {true|false}]
    [-echo_tlvs_in_dm {true|false}]
    [-echo_tlvs_in_lm {true|false}]
    [-echo_tlvs_in_slr {true|false}]
    [-encode_me_level {true|false}]
    [-immediate_lt_response {true|false}]
    [-immediate_lb_response {true|false}]
    [-lt_response_delay_action {default|no_action|rly_fdb|rly_mpdb}]

Arguments

-port_handle

Specifies the OAM port.

-multicast_mac_type1

Specifies the multicast DA Class 1: CCM, LBM, and so on. The default is 01:80:c2:00:00:30.

-multicast_mac_type2

Specifies the multicast DA Class 2: LTM. The default is 01:80:c2:00:00:38.

-disable_cont_chk_rx

Specifies whether to disable the receiving of CC messages. The default is false.

true Do not process incoming CC messages

false Process incoming CC messages

-enable_pm
Specifies to enable or disable the Enable Performance Monitoring Testing

(DM, LM and SLM). The default is false.

-echo_tlvs_in_dm

Specifies whether to echo TLVs in DM response. The default is true.

true Echo TLVs in DM response

false Do not echo TLVs in DM response

-echo_tlvs_in_lm

Specifies whether to echo TLVs in LM response. The default is true.

true Echo TLVs in LM response

false Do not echo TLVs in LM response

-echo_tlvs_in_slr

Specifies whether to echo TLVs in SLM response. The default is true.

true Echo TLVs in SLM response

false Do not echo TLVs in SLM response

-encode_me_level

Specifies whether to encode the ME level in the multicast DA. The default is true.

true Encode ME level in multicast DA

false Do not encode ME level in multicast DA

-immediate_lt_response

Specifies whether to immediately send an LT response. The default is false.

true Send the LT response immediately

false Send the LT response on a random delay

-immediate_lb_response

Specifies whether to immediately send an LB response. The default is false.

true Send the LB response immediately

false Send the LB response on a random delay

-lt_response_delay_action

Specifies the relay action for Link-Trace. The default is Default.

default Default

no_action No action

rly_fdb Use relay filtering database

rly_mpdb Use relay MP database

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)
log                     Error message if command returns {status 0}

Description

The sth::emulation_oam_port_config function configures or modifies the OAM port.

Examples

The following example configures OAM on the specified port:

sth::emulation_oam_port_config\
    -mode                           config\
    -port_handle                    $port1\
    -enable_pm                      true\
    -multicast_mac_type1            01:80:c2:00:00:3\
    -multicast_mac_type2            01:80:c2:00:00:31\
    -disable_cont_chk_rx            true\
    -echo_tlvs_in_dm                true\
    -echo_tlvs_in_lm                true\
    -echo_tlvs_in_slr               true\
    -encode_me_level                true\
    -immediate_lt_response          true\
    -immediate_lb_response          true\
    -lt_response_delay_action       default\

Sample Output:

{status 1}

End of Procedure Header

sth::emulation_oam_config_msg

Purpose

Creates, modifies, or deletes Operation Administration Maintenance (OAM) message emulators on a Spirent HLTAPI chassis.

Ethernet Operation, Administration and Maintenance (E-OAM) describes the monitoring of Ethernet network operation by network operators. Ethernet OAM is composed of a core set of functions and a set of optional functional groups.

The Mandatory functions include discovery operations (determining if the other end of the link is OAM capable, and what OAM functions it implements), state machine implementation, and some critical event flows. The optional functional groups are for link events, remote loopback, and variable retrieval and response.

Synopsis

Note

M indicates that the argument is Mandatory .

sth::emulation_oam_config_msg
   -mode {create|modify|reset}  M]
   [-port_handle <port_handle>]|
   [-handle <EOAM_session_handle>
   [-dst_addr_type <unicast|multicast>]
   [-count <integer>]
   [-enable_mp_only {true|false}]
   [-mac_local < aa:bb:cc:dd:ee:ff >]
   [-mac_local_incr_mode <none|increment|list|random>]
        [-mac_local_step < aa:bb:cc:dd:ee:ff >]
        [-mac_local_list <mac local type>:<comma separated segment list>]
   [-mac_remote <aa:bb:cc:dd:ee:ff>]
   [-mac_remote_incr_mode <none|increment|list|random>]
        [-mac_remote_step < aa:bb:cc:dd:ee:ff>]
        [-mac_remote_repeat <integer>]
        [-mac_remote_list <mac remote type> :<comma separated segment list>]
   [-vlan_outer_id <0-4095>]
   [-vlan_outer_ether_type <0x8100|0x88A8|0x9100|0x9200>]
   [-vlan_id_outer_step <0-4095>
   [-vlan_id <0-4095>]
   [-vlan_ether_type <0x8100|0x88A8|0x9100|0x9200>]
   [-vlan_id_step <0-4095>]
   [-sut_ip_address <a.b.c.d >|<aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>]
   [-mac_dst < aa:bb:cc:dd:ee:ff >]
   [-mac_dst_incr_mode <none|increment|list|random>]
        [-mac_dst_step < aa:bb:cc:dd:ee:ff >]
        [-mac_dst_repeat <integer>]
        [-mac_dst_list <mac dst type>:< comma separated segment list >]
   [-md_level <0|1|2|3|4|5|6|7>]
   [-md_level_incr_mode <none|increment|list|random>]
        [-md_level_step <integer>]
        [-md_level_repeat <integer>]
        [-md_level_list <md level type>:< comma separated segment list >]
   [-oam_standard < ieee_802.1ag|itut_y1731>]
   [-trans_id <integer>]
   [-ttl <integer>]
   [-msg_type {loopback|linktrace|test|continuous_check|dm|lm|slm|ais|lck]]
   [-tlv_order_list  {sender|org|data|test|ltr_egress_id|int_status|ltm_id|
                      port_status|reply_egress|reply_ingress|pbb_te_mip}]
   [-tlv_type {ltr|lbm|ltm|dmm|dmr|lbr|lmm|lmr|slm|slr}]
   [-tlv_ltr_egress_id_length <octet_string>]
   [-tlv_ltr_egress_id_type <octet_string>]
   [-tlv_ltr_egress_id_last_index <octet_string>]
   [-tlv_ltr_egress_id_last_mac_addr <aa:bb:cc:dd:ee:ff>]
   [-tlv_ltr_egress_id_next_index <octet_string>]
   [-tlv_ltr_egress_id_next_mac_addr <aa:bb:cc:dd:ee:ff>]
   [-tlv_int_status_value {up|down|testing|unknown|dormant|not_present|lower_layer_down}]
   [-tlv_int_status_length <octet_string>]
   [-tlv_int_status_type <octet_string>]
   [-tlv_ltm_id_length <octet_string>]
   [-tlv_ltm_id_type <octet_string>]
   [-tlv_port_status_value {blocked|up}]
   [-tlv_port_status_length <octet_string>]
   [-tlv_port_status_type <octet_string>]
   [-tlv_reply_egress_action {ok|down|blocked|vid}]
   [-tlv_reply_egress_type <octet_string>]
   [-tlv_reply_egress_mac_addr <aa:bb:cc:dd:ee:ff>]
   [-tlv_reply_ingress_action {ok|down|blocked|vid}]
   [-tlv_reply_ingress_length <octet_string>]
   [-tlv_reply_ingress_type <octet_string>]
   [-tlv_reply_ingress_mac_addr <aa:bb:cc:dd:ee:ff>]
   [-tlv_sender_length <integer>]
   [-tlv_sender_chassis_id <integer>]
   [-tlv_sender_chassis_id_length <integer>]
   [-tlv_sender_chassis_id_subtype <integer>]
   [-tlv_org_length <integer>]
   [-tlv_org_oui <integer>]
   [-tlv_org_subtype <integer>]
   [-tlv_org_value <hexadecimal>]
   [-tlv_data_length <integer>]
   [-tlv_data_pattern <hexadecimal>]
   [-tlv_test_length <integer>]
   [-tlv_test_pattern <null|null_with_crc|prbs|prbs_with_crc>]
   [-pkts_per_burst <integer>]
   [-rate_pps <integer>]
   [-transmit_mode <continuous|single_pkt>]
   [-ais_rx  {true|false}]
   [-delay_measurement_response {true|false} ]
   [-lck_rx  {true|false}]
   [-link_trace_response  {true|false}]
   [-loopback_response {true|false} ]
   [-loss_measurement_response  {true|false}]
   [-slm_response  {true|false}]
   [-dmm_delay <0-100>]
   [-dmr_delay <0-100>]
   [-lmm_tx_fc_fwd_offset <0-32767>]
   [-lmr_rx_fc_fwd_offset  <0-32767>]
   [-lmr_rx_fc_fwd_start <0-4294967295>]
   [-lmr_rx_fc_fwd_step  <0-65535>]
   [-lmr_tx_fc_bck_offset <0-32767>]
   [-lmr_tx_fc_bck_start <0-4294967295>]
   [-lmr_tx_fc_bck_step <0-65535>]
   [-meg_end_point_id <1-8191>]
   [-override_ais_period {none|aisperiod_1s|aisperiod_1min}]
   [-override_cont_chk_period {none|ccperiod_3ms|ccperiod_10ms|ccperiod_100ms|
                           ccperiod_1s|ccperiod_10s|ccperiod_1min|ccperiod_10min}]
   [-override_lck_period {none|lckperiod_1s|lckperiod_1min}]
   [-override_me_level {none|level_0|level_1|level_2|level_3|level_4|level_5|
                        level_6|level_7}]
   [-slm_tx_fc_fwd_offset <0-32767>]
   [-slr_tx_fc_bck_offset <-32768-32767>]
   [-slr_tx_fc_bck_start <0-4294967295>]
   [-slr_tx_fc_bck_step <0-65535>]
   [-cc_cvlan_cos_list <0-7>]
   [-cc_enable_multicast_target {true|false}]
   [-cc_svlan_cos_list <0-7>]
   [-cc_unicast_targetlist <aa:bb:cc:dd:ee:ff>]
   [-lb_enable_multicast_target  {true|false}]
   [-lb_initial_transaction_id <1-4294967295>]
   [-lb_loopback_tx_count < 1-4294967295>]
   [-lb_loopback_tx_rate {lbrate_10_per_sec|lbrate_1_per_sec|lbrate_1_per_min|
                           lbrate_1_per_10min}]
   [-lb_loopback_tx_type {single_msg|continuous|multiple_msg}]
   [-lb_operation_mode {itu_t|ieee}]
   [-lb_unicast_target_list <aa:bb:cc:dd:ee:ff>]
   [-lt_enable_multicast_target {true|false}]
   [-lt_initial_transaction_id <1-4294967295>]
   [-lt_link_trace_tx_count <1-4294967295>]
   [-lt_link_trace_tx_rate {ltrate_10_per_sec|ltrate_1_per_sec|ltrate_1_per_min|
                           ltrate_1_per_10min}]
   [-lt_link_trace_tx_type {single_msg|continuous|multiple_msg}]
   [-lt_link_trace_ttl < 1-255>]
   [-lt_unicast_target_list <aa:bb:cc:dd:ee:ff>]
   [-dm_append_null_test_id {true|false}]
   [-dm_cvlan_cos_list <0-7>]
   [-dm_custom_tx_rate <1-100>]
   [-dm_custom_tx_rate_unit {dmrate_second|dmrate_minute|dmrate_10_minute}]
   [-dm_test_id_count <0-4294967295>]
   [-dm_test_id_input_type {testid_input_start_step_count|testid_input_list}]
   [-dm_test_id_step <1-65535>]
   [-dm_test_id_value < 0 -4294967295>]
   [-dm_tx_mode {on_demand|proactive}]
   [-dm_tx_rate {dmrate_10_per_sec|dmrate_1_per_sec|dmrate_1_per_min|
                 dmrate_1_per_10min|dmrate_custom}]
   [-dm_tx_type {single_msg|continuous}]
   [-dm_enable_multicast_target {true|false}]
   [-dm_svlan_cos_list <0-7>]
   [-dm_test_id_list <0-7>]
   [-dm_unicast_target_list <aa:bb:cc:dd:ee:ff>]
   [-dm_version {dmversion_0|dmversion_1}]
   [-lm_cvlan_cos_list  <0-7>]
   [-lm_enable_multicast_target {true|false}]
   [-lm_custom_tx_rate <1-100>]
   [-lm_custom_tx_rate_unit {lmrate_second|lmrate_minute|lmrate_10_minute}]
   [-lm_tx_rate {lmrate_10_per_sec|lmrate_1_per_sec|lmrate_1_per_min|
               lmrate_1_per_10min|lmrate_custom}]
   [-lm_tx_type {single_msg|continuous}]
   [-lm_svlan_cos_list  <0-7>]
   [-lm_tx_fc_fwd_mode {static|step}]
   [-lm_tx_fc_fwd_step <1-65535>]
   [-lm_tx_fc_fwd_value < 0-4294967295>]
   [-lm_unicast_target_list  <aa:bb:cc:dd:ee:ff>]
   [-slm_cvlan_cos_list  <0-7>]
   [-slm_enable_multicast_target  {true|false}]
   [-slm_svlan_cos_list  <0-7>]
   [-slm_custom_tx_rate <1-100>]
   [-slm_custom_tx_rate_unit {slmrate_second|slmrate_minute|slmrate_10_minute}]
   [-slm_test_id_count < 1-4294967295>]
   [-slm_test_id_input_type {testid_input_start_step_count|testid_input_list}]
   [-slm_test_id_step < 1-65535>]
   [-slm_test_id_value <0-4294967295>]
   [-slm_tx_count <0-4294967295>]
   [-slm_tx_rate {slmrate_10_per_sec|slmrate_1_per_sec|slmrate_1_per_min|
                slmrate_1_per_10min|slmrate_custom}]
   [-slm_tx_type <multiple_msg>]
   [-slm_test_id_list <string>]
   [-slm_tx_fc_fwd_mode {static|step}]
   [-slm_tx_fc_fwd_step <1-65535>]
   [-slm_tx_fc_fwd_value <0-4294967295>]
   [-slm_unicast_target_list  <aa:bb:cc:dd:ee:ff>]
   [-tlv_pbb_te_mip_length <octet string>]
   [-tlv_pbb_te_mip_type <0-99>]
   [-tlv_pbb_te_mip_mip_mac <aa:bb:cc:dd:ee:ff>]
   [-tlv_pbb_te_mip_reverse_mac <aa:bb:cc:dd:ee:ff>]
   [-tlv_pbb_te_mip_reverse_vid <0-4095>]
   [-ais_enable_multicast_target {true|false}]
   [-ais_unicast_target_list  <aa:bb:cc:dd:ee:ff>]
   [-lck_enable_multicast_target  {true|false}]
   [-lck_unicast_target_list  <aa:bb:cc:dd:ee:ff>]

Arguments

-handle

Specifies the Ethernet OAM session handle, a string value, to use when mode is set to “modify”, or “reset”.

-port_handle

Specifies the port on which to create the emulated E-OAM Maintenance Point (MP) when mode is set to “create”.

-enable_mp_only

Spirent Extension (for Spirent HLTAPI only).

Determines whether to only add Maintenance Points (MPs), or create an MEG that is associated with the MP. Possible values are true and false. When set to true, only MPs will be created. The default value is false.

-mode

Specifies the action to perform on the specified test port. This argument is Mandatory . Possible values are create, modify, and reset. The modes are described below:

create   Creates one or more Ethernet OAM message
         emulator(s) on the port specified with the
         -port_handle argument. You must specify the
         -port_handle argument.

modify   Changes the configuration for the Ethernet OAM
         message emulator(s) identified by the -handle
         argument. You must specify the -handle argument.

reset   Deletes all of the E-OAM message emulator(s)
        specified in the -handle argument. You must specify
        the -handle argument.
-dst_addr_type

Specifies whether the destination address, the address to which the MP(s) test messages should be sent, is unicast or multicast. Possible values are:

unicast    Indicates the destination address is a unicast
           address. The unicast address specifies a single
           network device.

multicast  Indicates the destination address is a multicast
           address. The multicast address specifies a group
           of network devices that have joined a multicast
           group. "Multicast address" is synonymous with
           "group address".
-msg_type

Specifies the type of E-OAM message/messages to create. Possible values are loopback, linktrace, test, and continuous_check. You can configure multiple message options together. Example, -msg_type continuous_check linktrace. The types are described below:

loopback   Indicates the E-OAM message to create is a
           Loopback message. A Loopback message helps a
           Maintenance End Point (MEP) identify the precise
           fault location along a given MA (Maintenance
           Association). A Loopback message is issued by an
           MEP to a given Maintenance Intermediate Point
           (MIP) along an MA. The appropriate MIP in front
           of the fault will respond with a Loopback reply.
           The MIP behind the fault will not respond.

linktrace   Indicates the E-OAM message to create is a
            Linktrace message. A Linktrace message helps a
            MEP to discover vital connectivity data about
            the path.

test        Indicates the E-OAM message to create is a test
            message. Test messages are used by the Ethernet Test
            Signal function to perform one-way, on-demand in-
            service or out-of-service diagnostics tests. This
            includes verifying bandwidth throughput, frame loss,
            bit errors, and so on.

continuous_check  Used to verify that a destination is reachable
                  proactively by sending messages periodically
                  and errors are detected when certain messages
                  are not received

dm            Creates Delay Measurement (DM) messages.
              Frame delay and frame delay variation measurements
              are performed by sending periodic frames with
              Ethernet Delay Measurement information to the peer
              MEP, and receiving frames with Ethernet Delay
              Measurement information from the peer MEP, during
              proactive measurement session and/or the
              diagnostic interval. Each MEP may perform frame
              delay and frame delay variation measurement.

lm            Creates Loss Measurement (LM) messages.
              The Frame Loss Measurement feature maintains
              counters of received and transmitted data frames
              between a pair of MEPs. These counters are used to
              calculate the frame loss ratio.

slm           Creates Synthetic Loss Measurement (SLM) messages.
              SLM is part of the ITU-T Y.1731 standard. It can
              be used to periodically measure frame loss,
              forward loss ratio (FLR), and frame delay between
              a pair of point to point MEPs. Measurements are
              made between two MEPs belonging to the same
              domain and MA.

ais           Create Alarm Indication Signal (AIS) messages. When
              an MEP detects a connectivity failure, it will
              send AIS multicastly in the direction away from the
              detected failure at the next most superior level.
              It will send AIS multicastl on each S-VLAN affected by
              the failure

lck           Create Lock Signal Function (LCK) messages.
              Locked Signal is transmitted by an MEP to
              communicate intentional administrative or
              diagnostic actions at that MEP. It is used for
              client layer alarm suppression, and enables client
              MEPs to differentiate between the defect
              conditions and intentional
              administrative/diagnostic actions at the server
              layer MEP.

Note

-mode modify can only change the parameters of a created message. To change the message type, use -msg_type with -mode create.

-count

Defines the number of E-OAM messages to send by MEPs. The default is 1.

-mac_local

Defines the MAC address of the emulated MPs.

-mac_local_incr_mode

Defines the increment method of the local MAC address. Possible values are:

none        Indicates that the local MAC address will not be
            incremented.

increment   Indicates the local MAC address increments
            by the step specified in the -mac_local_step
            argument.

list       Indicates the list of the local MAC addresses
           should be inputted.

random      Indicates the local MAC addresses should be
             distributed randomly.

Note

The decrement mode is not supported.

-mac_local_step

Specifies the step size in which the local MAC address is incremented. The default is 00:00:00:00:00:01.

-mac_local_list

Defines the list of local MAC addresses that should be used for the emulated E-OAM messages. You must specify this argument when you specify “list” for -mac_local_incr_mode. Local MAC addresses can be used as MEPs that issue emulated E-OAM messages or MIPs that respond to these messages on request.

-mac_remote

Indicates the MAC address of device under test (DUT). Remote MAC addresses should be used as MEPs that issue emulated E-OAM messages or MIPs that respond to these messages on request.

-mac_remote_incr_mode

Defines the method to increment of DUT MAC address. Possible values are:

none       Indicates the remote MAC address will not be
           incremented.

increment  Indicates the remote MAC address should
           increment by the step specified in the
           -mac_remote_step argument.

list     Indicates the remote MAC addresses should be
         inputted. The list of the remote MAC addresses are
         specified in the -mac_remote_list argument.

random   Indicates the remote MAC addresses should be
         distributed randomly.

Note

The decrement mode is not supported.

-mac_remote_step

Specifies the step size in which the remote MAC address is incremented. The default is 00:00:00:00:00:01.

-mac_remote_repeat

Specifies the number of times a remote MAC address should be repeated before the step specified in the -mac_remote_step argument is applied to the MAC address for incrementing. The default value is 1.

-mac_remote_list

Defines the list of remote MAC addresses to use for the emulated E-OAM messages. You must specify this list when you specify “list” for the -mac_remote_incr_mode argument.

-vlan_outer_id

Specifies Virtual Local Area Network (VLAN) ID for the outer VLAN tag that is an encapsulation of the test message(s). VLAN ID is the identification of the VLAN, which is basically used by the standard 802.1Q. Possible values range from 0 to 4095. The default is 1.

-vlan_outer_ether_type

Indicates the value of VLAN EtherType to be used for the test message(s). EtherType is a two-octet field in an Ethernet frame, as defined by the Ethernet II framing networking standard. It is used to indicate which protocol is encapsulated in the frame data. Possible values are 0x8100, 0x88A8, 0x9100, and 0x9200. The default is 0x8100. The types are described below:

0x8100   Specifies EtherType value 0x8100, a value of 8100
         in hexadecimal. When a frame has the VLAN EtherType
         equal to 8100, this frame carries the tag IEEE 802.1Q.

0x88A8   Specifies EtherType value 0x88A8, a value of
         88A8 in hexadecimal. When a frame has the VLAN
         EtherType equal to 88A8, this frame carries the tag
         IEEE 802.1ad.

0x9100   Specifies EtherType value 0x9100, a value of 9100
         in hexadecimal. When a frame has the VLAN
         EtherType equal to 9100, this frame carries the tag
         IEEE standard IEEE 802.1Q-1998.

0x9200   Specifies EtherType value 0x9200, a value of 9200
         in hexadecimal.
-vlan_id_outer_step

The amount by which the specified outer VLAN ID (-vlan_outer_id) increments for subsequent messages. This argument allows users to configure VLAN IDs in a flexible way.

-vlan_id

Specifies the inner VLAN to which the test messages belongs. Possible values range from 0 to 4095. The default is 1.

-vlan_ether_type

Specifies the VLAN EtherType to use for the test message(s).Possible values are 0x8100, 0x88A8, 0x9100 and 0x9200. The default is 0x8100. The types are described below:

0x8100   Specifies EtherType value 0x8100, a value of 8100
         in hexadecimal. When a frame has the VLAN EtherType
         equal to 8100, this frame carries the tag IEEE 802.1Q.

0x88A8   Specifies EtherType value 0x88A8, a value of 88A8
         in hexadecimal. When a frame has the VLAN EtherType
         equal to 88A8, this frame carries the tag IEEE 802.1ad.

0x9100   Specifies EtherType value 0x9100, a value of 9100
         in hexadecimal. When a frame has the VLAN EtherType
         equal to 9100, this frame carries the tag IEEE 802.1Q-1998.

0x9200   Specifies EtherType value 0x9200, a value of 9200
         in hexadecimal.
-vlan_id_step

Defines the step size by which the VLAN ID is incremented. Possible values range from 0 to 4095.

-sut_ip_address

Specifies the IP address or Gateway Address for the chassis to reach the System Under Test (SUT). This address can be in either IPv4 or IPv6 format. The default for IPv4 is 192.85.1.1. The default for IPv6 is 2001::1.

-mac_dst

Specifies the start destination MAC address of the emulated E-OAM messages.

-mac_dst_incr_mode

Defines how to increment the destination MAC addresses for test messages. Possible values are:

none       Indicates the MAC addresses will not be incremented.

increment  Indicates the MAC address of the target device
           will increment by the step specified in the
           -mac_dst_step argument.

list       Indicates you must enter the MAC address of the
           target device manually. Specify the list of MAC
           addresses in the -mac_dst_list argument.

random      Indicates the remote MAC addresses will be
            distributed randomly.

Note

The decrement mode is not supported.

-mac_dst_step

The amount by which to increment the specified destination MAC address (-mac_dst) for subsequent messages. You must specify this step when you specify “increment” for the -mac_dst_incr_mode argument.

-mac_dst_repeat

Specifies the number of times a MAC address (-mac_dst) will be repeated before the step specified in the -mac_dst_step argument is applied to the MAC address for incrementing. The default value is 1.

-mac_dst_list

Defines the list of target device MAC addresses to use for the emulated E-OAM messages. You must specify this list when you specify “list” for the -mac_dst_incr_mode argument.

-md_level

Indicates the Maintenance Domain (MD) Level to be used for emulated messages. An MD is an administrative domain for the purpose of managing and administering a network. An MD is assigned a unique MD Level (among eight possible) by the administrator, which is useful for defining the hierarchical relationship of MDs. MDs may nest or touch but cannot intersect. If two MDs nest, the outer MD must have a higher MD Level than the inner one. Messages from a lower-level MD cannot be switched into a higher-level MD. Possible values range from 0 (lowest) to 7 (highest). The default is 0.

-md_level_incr_mode

Defines the increment method of MD Level for test messages. Possible values are:

none        Indicates the MD levels will not be incremented.
increment   Indicates the MD Level will increment by the
            step specified in the - md_level_step argument.

list       Indicates you must enter the MD Level manually.
           The list of the MD Levels is defined in the
           -md_level_list argument.

random     Indicates the MD Level will be distributed
           randomly.

Note

The decrement mode is not supported.

-md_level_step

Specifies the step size in which the MD Level incremented. You must specify this step when you specify “increment” for the -md_level_incr_mode argument. The default is 1.

-md_level_repeat

Specifies the number of times a MD Level should be repeated before the step specified in the -md_level_step argument is applied to the MD Level for incrementing. The default value is 1.

-md_level_list

Defines the list of MD levels to use for the emulated E-OAM messages. Possible values are lists of integers ranging from 0 to 7.

-oam_standard

Specifies the Ethernet OAM standard to use, either IEEE 802.1ag or ITU-T Y1731. Use this argument only if the -msg_type is loopback or linktrace. The default is ieee_802.1ag.

-trans_id

Defines the value for the starting Sequence Number that is referred to as Linktrace Message (LTM) Transaction ID for Linktrace Messages and Loopback Message (LBM) Transaction ID for loopback messages. Each LBM and LTM includes this field, which is incremented for each Protocol Data Unit (PDU) transmitted for each type, so that consecutively transmitted PDUs are in numerical order. The default is 1.

-ttl

Defines the time-to-live (TTL) value for emulated messages. The TTL is a counter measured in units of seconds that gradually decrements to zero, at which point the datagram is discarded. Use this option only if the message type ( -msg_type) is linktrace. The default is 64.

-tlv_type

Spirent Extension (for Spirent HLTAPI only).

Creates optional TLVs for a particular message type. Possible values are:

cc    Continuous Check (CC) optional TLVs
ltm   Link Trace Message (LTM) optional TLVs
ltr    Link Trace Reply (LTR) optional TLVs
dmm  Delay Measurement Message (DMM) optional TLVs
dmr   Delay Measurement Reply (DMR) optional TLVs
lbm   Loopback Message (LBM) optional TLVs
lbr   Loopback Reply (LBR) optional TLVs
lmm  Loss Measurement Message (LMM) optional TLVs
lmr   Loss Measurement Reply (LMR) optional TLVs
slm   Synthetic Loss Measurement (SLM) optional TLVs
slr    Synthetic Loss Reply (SLR) optional TLVs

Note

tlv_type cannot be used with -mode modify.

-tlv_order_list

Spirent Extension (for Spirent HLTAPI only).

Specifies the order of TLVs in a space-separated list. Possible values are:

sender                  Sender TLV
org                     Organization-Specific TLV
data                    Data TLV
test                    Test TLV
ltr_egress_id           LTR Egress TLV
int_status              Interface Status TLV
ltm_id                  LTM ID TLV
port_status             Port Status TLV
reply_egress            Reply Egress TLV
reply_ingress           Reply Ingress TLV
pbb_te_mip              PBB TE MIP TLV

The default value is:

sender org data test ltr_egress_id int_status ltm_id
port_status reply_egress reply_ingress
-tlv_ltr_egress_id_length

Spirent Extension (for Spirent HLTAPI only).

Specifies the length for the LTR Egress ID TLV. The value must be an octet string. The default value is 0000.

-tlv_ltr_egress_id_type

Spirent Extension (for Spirent HLTAPI only).

Specifies the type for the LTR Egress ID TLV. The value must be an octet string. The default value is 08.

-tlv_ltr_egress_id_last_index

Spirent Extension (for Spirent HLTAPI only).

Specifies the last index for the LTR Egress ID TLV. The value must be an octet string. The default value is 0000.

-tlv_ltr_egress_id_last_mac_addr

Spirent Extension (for Spirent HLTAPI only).

Specifies the last MAC address for the LTR Egress ID TLV. The default value is 00:00:00:00:00:00.

-tlv_ltr_egress_id_next_index

Spirent Extension (for Spirent HLTAPI only).

Specifies the next index for the LTR TLV. The value must be an octet string. The default value is 0000.

-tlv_ltr_egress_id_next_mac_addr

Spirent Extension (for Spirent HLTAPI only).

Specifies the next MAC address for the LTR TLV. The default value is 00:00:00:00:00:00.

-tlv_int_status_value
Spirent Extension (for Spirent HLTAPI only).

Specifies the value for the Interface Status TLV of the specified MP. Possible values are:

up                       Interface status up
down                     Interface status down
testing                  Interface status testing
unknown                  Interface status unknown
dormant                  Interface status dormant
not_present              Interface status not present
lower_layer_down         Interface status lower layer down

The default value is up.

-tlv_int_status_length

Spirent Extension (for Spirent HLTAPI only).

Specifies the length for the Interface Status TLV. The value must be an octet string. The default value is 0000.

-tlv_int_status_type

Spirent Extension (for Spirent HLTAPI only).

Specifies the type for the Interface Status TLV. The value must be an octet string. The default value is 04.

-tlv_ltm_id_length

Spirent Extension (for Spirent HLTAPI only).

Specifies the length for the LTM Egress ID TLV. The value must be an octet string. The default value is 0000.

-tlv_ltm_id_type

Spirent Extension (for Spirent HLTAPI only).

Specifies the type for the LTM Egress ID TLV. The value must be an octet string. The default value is 07.

-tlv_port_status_value

Spirent Extension (for Spirent HLTAPI only).

Specifies the value for the Port Status TLV. Possible values are blocked and up. The default value is up.

-tlv_port_status_length

Spirent Extension (for Spirent HLTAPI only).

Specifies the length for the Port Status TLV. The value must be an octet string. The default value is 0000.

-tlv_port_status_type

Spirent Extension (for Spirent HLTAPI only).

Specifies the type for the Port Status TLV. The value must be an octet string. The default value is 0000.

-tlv_reply_egress_action

Spirent Extension (for Spirent HLTAPI only).

Specifies the value for the Reply Egress TLV. Possible values are:

ok                 Egress OK
down               Egress down
blocked            Egress blocked
vid                Egress VID

The default value is ok.

-tlv_reply_egress_length

Spirent Extension (for Spirent HLTAPI only).

Specifies the length for the Reply Egress TLV. The value must be an octet string. The default value is 0000.

-tlv_reply_egress_type

Spirent Extension (for Spirent HLTAPI only).

Specifies the type for the Reply Egress TLV. The value must be an octet string. The default value is 06.

-tlv_reply_egress_mac_addr

Spirent Extension (for Spirent HLTAPI only).

Specifies the MAC address for the Reply Egress TLV. The default value is 00:00:00:00:00:00.

-tlv_reply_ingress_action

Spirent Extension (for Spirent HLTAPI only).

Specifies the value for the Reply Ingress TLV. Possible values are:

ok                 Ingress OK
down              Ingress down
blocked            Ingress blocked
vid                Ingress VID

The default value is ok.

-tlv_reply_ingress_length

Spirent Extension (for Spirent HLTAPI only).

Specifies the length for the Reply Ingress TLV. The value must be an octet string. The default value is 0000.

-tlv_reply_ingress_type

Spirent Extension (for Spirent HLTAPI only).

Specifies the type for the Reply Ingress TLV. The value must be an octet string. The default value is 05.

-tlv_reply_ingress_mac_addr

Spirent Extension (for Spirent HLTAPI only).

Specifies the MAC address for the Reply Ingress TLV. The default value is 00:00:00:00:00:00.

-tlv_pbb_te_mip_length

Spirent Extension (for Spirent HLTAPI only).

Specifies the length for the PBB TE MIP TLV. The value must be an octet string. The default value is 0000.

-tlv_pbb_te_mip_type

Spirent Extension (for Spirent HLTAPI only).

Specifies the type for the PBB TE MIP TLV. Possible values range from 0 to 99. The default value is 09.

-tlv_pbb_te_mip_mip_mac

Spirent Extension (for Spirent HLTAPI only).

Specifies the MAC address for the PBB TE MIP TLV. The default value is 00:00:00:00:00:00.

-tlv_pbb_te_mip_reverse_mac

Spirent Extension (for Spirent HLTAPI only).

Specifies the reverse MAC address for the PBB TE MIP TLV. The default value is 00:00:00:00:00:00.

-tlv_pbb_te_mip_reverse_vid

Spirent Extension (for Spirent HLTAPI only).

Specifies the VLAN ID (VID) for the PBB TE MIP TLV. Possible values range from 0 to 4095. The default value is 0.

-tlv_sender_length

Defines the size of the Sender ID Type Length Value (TLV). With the type value of 1, a Sender ID TLV identifies the Bridge on which the transmitting MP is configured and may also include a management address for that Bridge. This option is only valid when the -msg_type is loopback or linktrace. The default is 0.

-tlv_sender_chassis_id

Define the Sender ID TLV Chassis ID. As a field of Sender ID TLV, Chassis ID identifies the chassis. Do not use this argument if the Chassis ID Length field (-tlv_sender_chassis_id_length) contains 0. Use this option only if -msg_type is loopback or linktrace. The default is 0.

-tlv_sender_chassis_id_length

Defines the size of the Chassis ID field. If you did not specify a chassis ID this argument value is 0. The Chassis ID Length field is either 0 or is less than (TLV Length field value - 1). Use this option only if -msg_type is loopback or linktrace. The default is 0.

-tlv_sender_chassis_id_subtype

Defines the format of the Chassis ID field. Use this option only if -msg_type is loopback or linktrace. The default is 0.

-tlv_org_length

Defines the size of an Organization-Specific TLV. Organization-Specific TLV allows different organizations as well as individual software and equipment vendors to define TLVs that advertise information to remote entities attached to the same media. Use this option only if -msg_type is loopback or linktrace. The default is 4.

-tlv_org_oui

Defines the Organizationally Unique Identifier of an Organization-Specific TLV. The 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. Use this option only if -msg_type is loopback or linktrace. The default is 0.

-tlv_org_subtype

Defines the format of the Organization-Specific TLV field. Use this option only if the -msg_type is loopback or linktrace. The default is 0.

-tlv_org_value

Defines the value of an Organization-Specific TLV. Use this option only if -msg_type is loopback or linktrace. Specify this value as hexadecimal characters. The default is 0.

-tlv_data_length

Defines the length value of the Data TLV. Data TLV is arbitrary data of zero or more octets. Data TLV serves several purposes including the transmission of different frame sizes to test Mobile Test Unit (MTU) capabilities and the testing for data-specific error dependencies. The Data TLV shall not be examined or interpreted by the receiver of any Connectivity Fault Management (CFM) PDU. Use this option only if -msg_type is loopback or linktrace. The default is 5.

-tlv_data_pattern

Defines the Data TLV Data pattern, an n-octet (n = Length) arbitrary bit pattern. Specify this value as hexadecimal characters. Use this option only if -msg_type is loopback. The default is 0x0.

-tlv_test_length

Specifies the size of the Value field containing the Test Pattern and CRC-32. Use this option only if -msg_type is test. The default is 20.

-tlv_test_pattern

Identifies the Pattern Type of Test TLV. Possible values are null, null_with_crc, prbs, and prbs_with_crc. Use this option only if -msg_type is test. The default is null. null - Defines Null signal without Cyclic Redundancy Check (CRC)-32 null with crc -Defines Null signal with CRC-32 prbs -Defines Pseudorandom Bit Sequence (PRBS) 2-31-1 without CRC-32 prbs with crc - PRBS 2-31-1 with CRC-32

-transmit_mode

Defines the mode of message transmission. Possible values are continuous and single_pkt. The random_spaced, single_burst, multi_burst, and continuous_burst mode are not supported. Use this option only when the -rate_pps is specified. The default is single_pkt.

-pkts_per_burst

Indicates the number of packets each port transmits in a single burst. The default is 1.

-rate_pps

Defines the traffic transmission rate in packets per second. This value refers to the packet rate of a given packet size that will load up an interface to 100%. The default is 1.

-ais_rx

Spirent Extension (for Spirent HLTAPI only).

Determines whether the Maintenance Point (MP) will receive or ignore AIS messages. Possible values are true and false. When it is set to true, the MP will receive AIS messages. The default value is true.

-delay_measurement_response

Spirent Extension (for Spirent HLTAPI only).

Once enabled, the MP will respond to Delay Measurement (DM) messages by sending a Delay Measurement Reply (DMR). Possible values are true (enable) and false (disable). The default value is true.

-lck_rx

Spirent Extension (for Spirent HLTAPI only).

Determines whether the MP will receive or ignore LCK messages. Possible values are true and false. When it is set to true, the MP will receive AIS messages. The default value is true.

Spirent Extension (for Spirent HLTAPI only).

Once enabled, the MP will respond to Link Trace (LT) messages by sending a Link Trace Reply (LTR). Possible values are true (enable) and false (disable). The default value is true.

-loopback_response

Spirent Extension (for Spirent HLTAPI only).

Once enabled, the MP will respond to Loopback messages by sending a Loopback Reply (LBR). Possible values are true (enable) and false (disable). The default value is true.

-loss_measurement_response

Spirent Extension (for Spirent HLTAPI only).

Once enabled, the MP will respond to Loss Measurement (LM) messages by sending a Loss Measurement Reply (LMR). Possible values are true (enable) and false (disable). The default value is true.

-slm_response

Spirent Extension (for Spirent HLTAPI only).

Once enabled, the MP will respond to Synthetic Loss Measurement messages by sending a Synthetic Loss Measurement Reply (SLR). Possible values are true (enable) and false (disable). The default value is true.

-dmm_delay
Spirent Extension (for Spirent HLTAPI only).

Delay the sending of each DMM frame by this value multiplied by 10 milliseconds. Possible values range from 0 to 100. The default value is 0.

-dmr_delay

Spirent Extension (for Spirent HLTAPI only).

Delay the sending of each DMR frame by this value multiplied by 10 milliseconds. Possible values range from 0 to 100. The default value is 0.

-lmm_tx_fc_fwd_offset

Spirent Extension (for Spirent HLTAPI only).

Specifies the TLV offset for LMM sent frame count forwarding (TxFCf). Possible values range from 0 to 32767. The default value is 0.

-lmr_rx_fc_fwd_offset

Spirent Extension (for Spirent HLTAPI only).

Specifies the TLV offset for the LMR received frame count forwarding (RxFCf). Possible values range from 0 to 32767. The default value is 0.

-lmr_rx_fc_fwd_start

Spirent Extension (for Spirent HLTAPI only).

Specifies the initial value of the LMR RxFCf. The default value is 0.

-lmr_rx_fc_fwd_step

Spirent Extension (for Spirent HLTAPI only).

Specifies the increment value for the number of frames in subsequent steps. Possible values range from 0 to 65535. The default value is 0.

-lmr_tx_fc_bck_offset

Spirent Extension (for Spirent HLTAPI only).

Specifies the TLV offset for the LMR Tx frame count backward (TxFCb). Possible values range from 0 to 32767. The default value is 0.

-lmr_tx_fc_bck_start

Spirent Extension (for Spirent HLTAPI only).

Specifies the initial value of LMR TxFCb. The default value is 0.

-lmr_tx_fc_bck_step

Spirent Extension (for Spirent HLTAPI only).

Specifies the increment value for the number of frames in subsequent steps. Possible values range from 0 to 65535. The default value is 0.

-meg_end_point_id

Spirent Extension (for Spirent HLTAPI only).

Specifies the MEP ID. This value must be unique within the MEG. Possible values range from 1 to 8191. The default value is 1.

-override_ais_period

Spirent Extension (for Spirent HLTAPI only).

Specifies an override AIS period for the specified MEP. Possible values are:

none              No override value specified. Use the AIS period
                  from the associated MEG
aisperiod_1s      1s AIS period
aisperiod_1min    1 min AIS period

The default value is none.

-override_cont_chk_period

Spirent Extension (for Spirent HLTAPI only).

Specifies an override CC period for the specified MEP. Possible values are:

none               No override value specified. Use the CC period
                   from the associated MEG
ccperiod_3ms       3 ms CC period
ccperiod_10ms      10ms CC period
ccperiod_100ms     100ms CC period
ccperiod_1s        1s CC period
ccperiod_10s       10s CC period
ccperiod_1min      1 min CC period
ccperiod_10min     10 min CC period

The default value is none.

-override_lck_period

Spirent Extension (for Spirent HLTAPI only).

Specifies an override LCK period for the specified MEP. Possible values are:

none               No override value specified. Use the LCK period
                   from the associated MEG
lckperiod_1s       1s LCK period
lckperiod_1min     1 min LCK period

The default value is none.

-override_me_level

Spirent Extension (for Spirent HLTAPI only).

Specifies an override ME level for the specified MEP. Possible values are:

none          No override value specified. Use the ME level from
              the associated MEG
level_0        Level 0
level_1        Level 1
level_2        Level 2
level_3        Level 3
level_4        Level 4
level_5        Level 5
level_6        Level 6
level_7        Level 7

The default value is none.

-slm_tx_fc_fwd_offset

Spirent Extension (for Spirent HLTAPI only).

Specifies the offset value for the SLM TxFCf. Possible values range from 0 to 32767. The default value is 0.

-slr_tx_fc_bck_offset

Spirent Extension (for Spirent HLTAPI only).

Specifies the TLV offset for the SLR TxFCb. Possible values range from -32767 to 32767. The default value is 0.

-slr_tx_fc_bck_start

Spirent Extension (for Spirent HLTAPI only).

Specifies the initial value of the SLR TxFCb. The default value is 1.

-slr_tx_fc_bck_step

Spirent Extension (for Spirent HLTAPI only).

Specifies the SLR increment value for the number of frames in subsequent steps. Possible values range from 0 to 65535. The default value is 1.

Continuous Check Message (-msg_type continuous_check)

-cc_cvlan_cos_list

Spirent Extension (for Spirent HLTAPI only).

A comma separated list of class of service values for the customer VLAN. Possible values range from 0 to 7.

-cc_svlan_cos_list

Spirent Extension (for Spirent HLTAPI only).

A comma separated list of class of service values for the service provider VLAN. Possible values range from 0 to 7.

-cc_unicast_targetlist

Spirent Extension (for Spirent HLTAPI only).

A list of unicast MAC addresses for CC messages to target. The default value is 00:00:00:00:00:00. You must set -cc_enable_multicast_target to false.

-cc_enable_multicast_target

Spirent Extension (for Spirent HLTAPI only).

Specifies if messages are unicast (false) or multicast (true). The default value is true.

Loopback Message (-msg_type loopback)

-lb_enable_multicast_target

Spirent Extension (for Spirent HLTAPI only).

Specifies if Loopback messages are unicast (false) or multicast (true). The default value is true.

-lb_initial_transaction_id

Spirent Extension (for Spirent HLTAPI only).

Specifies the transaction ID for the initial Loopback message. The default value is 1.

-lb_loopback_tx_count

Spirent Extension (for Spirent HLTAPI only).

Specifies the number of Loopback messages to be transmitted. The default value is 1.

-lb_loopback_tx_rate

Spirent Extension (for Spirent HLTAPI only).

Specifies the transmission rate of Loopback messages. Possible values are:

lbrate_10_per_sec       10 per second
lbrate_1_per_sec        1 per second
lbrate_1_per_min        1 per minute
lbrate_1_per_10min      1 per 10 minutes

The default value is lbrate_1_per_sec.

-lb_loopback_tx_type

Spirent Extension (for Spirent HLTAPI only).

Specifies the transmission type of Loopback messages. Possible values are:

single_msg    Send a single Loopback message

continuous    Send Loopback messages continuously

multiple_msg   Send a group of Loopback messages

The default value is single_msg.

-lb_operation_mode

Spirent Extension (for Spirent HLTAPI only).

Specifies the operation mode of the command. This must match the MEG’s operation mode that is being targeted. Possible values are:

itu_t       Send Loopback messages to an ITU-T MEG
ieee        Send Loopback messages to an IEEE MEG

The default value is itu_t.

-lb_unicast_target_list

Spirent Extension (for Spirent HLTAPI only).

A list of unicast MAC addresses for Loopback messages to target. The default value is 00:00:00:00:00:00.

Link Trace Message (-msg_type linktrace)

-lt_enable_multicast_target

Spirent Extension (for Spirent HLTAPI only).

Specifies if Link Trace messages are unicast (false) or multicast (true). The default value is true.

-lt_initial_transaction_id

Spirent Extension (for Spirent HLTAPI only).

Specifies the transaction ID value for the initial Link Trace message. The default value is 1.

Spirent Extension (for Spirent HLTAPI only).

Specifies the number of packets to send for each source/destination pair in the Link Trace packet stream of each individual MEP device. The default value is 1.

Spirent Extension (for Spirent HLTAPI only).

Specifies the transmission rate for Link Trace messages. Possible values are:

ltrate_10_per_sec   10 per second
ltrate_1_per_sec    1 per second
ltrate_1_per_min    1 per minute
ltrate_1_per_10min  1 per 10 minutes

The default value is lbrate_1_per_sec.

Spirent Extension (for Spirent HLTAPI only).

Specifies the transmission type of Link Trace messages. Possible values are:

single_msg       Send a single Link Trace message

continuous       Send Link Trace messages continuously

multiple_msg     Send a group of Link Trace messages

The default value is single_msg.

Spirent Extension (for Spirent HLTAPI only).

Specifies the initial TTL value. Possible values range from 1 to 255. The default value is 255.

-lt_unicast_target_list

Spirent Extension (for Spirent HLTAPI only).

A list of unicast MAC addresses for Link Trace messages to target. The default value is 00:00:00:00:00:00. You must set -lt_enable_multicast_target to false.

Delay Measurement Message (-msg_type dm)

-dm_append_null_test_id

Spirent Extension (for Spirent HLTAPI only).

When enabled, a null test ID TLV will be appended to the message. Possible values are true and false. The default value is false.

-dm_cvlan_cos_list

Spirent Extension (for Spirent HLTAPI only).

A comma separated list of class of service values for the customer VLAN. Possible values range from 0 to 7.

-dm_svlan_cos_list

Spirent Extension (for Spirent HLTAPI only).

A comma separated list of class of service values for the service provider VLAN. Possible values range from 0 to 7.

-dm_custom_tx_rate

Spirent Extension (for Spirent HLTAPI only).

Specifies the number of DM messages for the custom transmission rate. You must set -dm_tx_rate to dmrate_custom. The default value is 1.

-dm_custom_tx_rate_unit

Spirent Extension (for Spirent HLTAPI only).

Specifies the unit for the custom transmission rate. You must set -dm_tx_rate to dmrate_custom. Possible values are:

dmrate_second           Unit in second
dmrate_minute           Unit in minute
dmrate_10_minute        Unit in 10 minutes

The default value is dmrate_second.

-dm_test_id_count

Spirent Extension (for Spirent HLTAPI only).

Specifies the number of test IDs for DM messages. The default value is 1.

-dm_test_id_input_type

Spirent Extension (for Spirent HLTAPI only).

Specifies the input format for test IDs. Possible values are:

testid_input_start_step_count     Start/Step/Count format
testid_input_list                 List format

The default value is testid_input_start_step_count.

-dm_test_id_step

Spirent Extension (for Spirent HLTAPI only).

Specifies the increment value to create subsequent test IDs. This argument is available when -dm_test_id_input_type is set to testid_input_start_step_count. Possible values range from 1 to 65535. The default value is 1.

-dm_test_id_value

Spirent Extension (for Spirent HLTAPI only).

Specifies the first test ID. This argument is available when -dm_test_id_input_type is set to testid_input_start_step_count. The default value is 1.

-dm_tx_mode

Spirent Extension (for Spirent HLTAPI only).

Specifies the transmission mode of DM messages. Possible values are:

on_demand       On-demand mode
proactive         Proactive mode

The default value is on_demand.

-dm_tx_rate

Spirent Extension (for Spirent HLTAPI only).

Specifies the transmission rate of DM messages. Possible values are:

dmrate_10_per_sec            10 per second
dmrate_1_per_sec             1 per second
dmrate_1_per_min             1 per minute
dmrate_1_per_10min           1 per 10 minutes
dmrate_custom                Customized rate

The default value is dmrate_1_per_sec

-dm_tx_type

Spirent Extension (for Spirent HLTAPI only).

Specifies the transmission type of DM messages. Possible values are:

single_msg      Send a single DM message
continuous      Send continuous DM messages

The default value is single_msg.

-dm_enable_multicast_target

Spirent Extension (for Spirent HLTAPI only).

Specifies if messages are unicast (false) or multicast (true). The default value is true.

-dm_test_id_list

Spirent Extension (for Spirent HLTAPI only).

Specifies a list of test IDs. This argument is available when -dm_test_id_input_type is set to testid_input_list. The default value is 1.

-dm_unicast_target_list

Spirent Extension (for Spirent HLTAPI only).

A list of unicast MAC addresses for DM messages to target. The default value is 00:00:00:00:00:00. You must set -dm_enable_multicast_target to false.

-dm_version

Spirent Extension (for Spirent HLTAPI only).

Specifies the version of the specification to use. Possible values are:

dmversion_0   DM version 0
dmversion_1   DM version 1

The default value is dmversion_0.

Loss Measurement Message (-msg_type lm)

-lm_cvlan_cos_list

Spirent Extension (for Spirent HLTAPI only).

A comma separated list of class of service values for the customer VLAN. Possible values range from 0 to 7.

-lm_svlan_cos_list

Spirent Extension (for Spirent HLTAPI only).

A comma separated list of class of service values for the service provider VLAN. Possible values range from 0 to 7.

-lm_enable_multicast_target

Spirent Extension (for Spirent HLTAPI only).

Specifies if messages are unicast (false) or multicast (true). The default value is true.

-lm_custom_tx_rate

Spirent Extension (for Spirent HLTAPI only).

Specifies the number of messages for the custom transmission rate. This argument is available when -lm_tx_rate is set to dmrate_custom. The default value is 1.

-lm_custom_tx_rate_unit

Spirent Extension (for Spirent HLTAPI only).

Specifies the unit for the custom transmission rate. This argument is available when -lm_tx_rate is set to lmrate_custom. Possible values are:

lmrate_second      Unit in second
lmrate_minute      Unit in minute
lmrate_10_minute   Unit in 10 minutes

The default value is dmrate_second.

-lm_tx_rate

Spirent Extension (for Spirent HLTAPI only).

Specifies the transmission rate of LM messages. Possible values are:

lmrate_10_per_sec           10 per second
lmrate_1_per_sec            1 per second
lmrate_1_per_min            1 per minute
lmrate_1_per_10min          1 per 10 minutes
lmrate_custom               Customized rate

The default value is dmrate_1_per_sec.

-lm_tx_type

Spirent Extension (for Spirent HLTAPI only).

Specifies the transmission type of LM messages. Possible values are:

single_msg      Send a single LM message
continuous      Send continuous LM messages

The default value is single_msg.

-lm_tx_fc_fwd_mode

Spirent Extension (for Spirent HLTAPI only).

Specifies the method for transmitting LM frames. Possible values are:

static        Use a constant rate
step         Step the number of frames

The default value is step.

-lm_tx_fc_fwd_step

Spirent Extension (for Spirent HLTAPI only).

Specifies the step value for the TxFCf in each subsequent LM message. Possible values range from 0 to 65535. The default value is 1.

-lm_tx_fc_fwd_value

Spirent Extension (for Spirent HLTAPI only).

Specifies the TxFCf value to be included in the LM message (when lm_tx_fc_fwd_mode is static) or the initial value of the counter (when -lm_tx_fc_fwd_mode is step). The default value is 1.

-lm_unicast_target_list

Spirent Extension (for Spirent HLTAPI only).

A list of unicast MAC addresses to target. The default value is 00:00:00:00:00:00. You must set -lm_enable_multicast_target to false.

Synthetic Loss Measurement Message (-msg_type slm)

-slm_cvlan_cos_list

A comma separated list of class of service values for the customer VLAN. Possible values range from 0 to 7.

-slm_enable_multicast_target

Spirent Extension (for Spirent HLTAPI only).

Specifies if SLM messages are unicast (false) or multicast (true). The default value is true.

-slm_svlan_cos_list

Spirent Extension (for Spirent HLTAPI only).

A comma separated list of class of service values for the service provider VLAN. Possible values range from 0 to 7.

-slm_custom_tx_rate

Spirent Extension (for Spirent HLTAPI only).

Specifies the number of messages for the custom transmission rate. The default value is 1.

-slm_custom_tx_rate_unit

Spirent Extension (for Spirent HLTAPI only).

Specifies the unit for the custom transmission rate. Possible values are:

slmrate_second          Unit in second
slmrate_minute          Unit in minute
slmrate_10_minute       Unit in 10 minutes

The default value is dmrate_second.

-slm_test_id_count

Spirent Extension (for Spirent HLTAPI only).

Specifies the number of test IDs for SLM messages. The default value is 1.

-slm_test_id_input_type

Spirent Extension (for Spirent HLTAPI only).

Specifies the input format of test IDs. Possible values are:

testid_input_start_step_count        Start/Step/Count format
testid_input_list                   List format

The default value is testid_input_start_step_count.

-slm_test_id_step

Spirent Extension (for Spirent HLTAPI only).

Specifies the increment value to create subsequent test IDs. This argument is available when -slm_test_id_input_type is set to testid_input_start_step_count. Possible values range from 1 to 65535. The default value is 1.

-slm_test_id_value

Spirent Extension (for Spirent HLTAPI only).

Specifies the first test ID. This argument is available when -slm_test_id_input_type is set to testid_input_start_step_count. The default value is 1.

-slm_tx_count

Spirent Extension (for Spirent HLTAPI only).

Specifies the number of SLM messages to be transmitted. The default value is 1.

-slm_tx_rate

Spirent Extension (for Spirent HLTAPI only).

Specifies the transmission rate of SLM messages. Possible values are:

slmrate_10_per_sec       10 per second
slmrate_1_per_sec        1 per second
slmrate_1_per_min        1 per minute
slmrate_1_per_10min      1 per 10 minutes
slmrate_custom           Customized rate
-slm_tx_type

Spirent Extension (for Spirent HLTAPI only).

Specifies the transmission type of SLM messages. Possible values are:

multiple_msg   Send a group of SLM messages

The default value is multiple_msg.

-slm_test_id_list

Spirent Extension (for Spirent HLTAPI only).

Specifies a list of test IDs. This argument is available when -slm_test_id_input_type is set to testid_input_list. The default value is 1.

-slm_tx_fc_fwd_mode

Spirent Extension (for Spirent HLTAPI only).

Specifies the method for transmitting SLM frames. Possible values are:

static            Use a constant rate
step              Step the number of frames

The default value is step.

-slm_tx_fc_fwd_step

Spirent Extension (for Spirent HLTAPI only).

Specifies the step value for the TxFCf counter in each subsequent SLM message. Possible values range from 0 to 65535. The default value is 1.

-slm_tx_fc_fwd_value

Spirent Extension (for Spirent HLTAPI only).

Specifies the TxFCf value to be included in the SLM message (when -slm_tx_fc_fwd_mode is static), or the initial value of the counter (when -slm_tx_fc_fwd_mode is step). The default value is 1.

-slm_unicast_target_list

Spirent Extension (for Spirent HLTAPI only).

A list of unicast MAC addresses for SLM messages to target. The default value is 00:00:00:00:00:00. You must set -ais_enable_multicast_target to false.

Alarm Indication Signal Message (-msg_type ais)

-ais_enable_multicast_target

Spirent Extension (for Spirent HLTAPI only).

Specifies if AIS messages are unicast (false) or multicast (true). The default value is true.

-ais_unicast_target_list

Spirent Extension (for Spirent HLTAPI only).

A list of unicast MAC addresses for AIS messages to target. The default value is 00:00:00:00:00:00. You must set -ais_enable_multicast_target to false.

Lock Signal Function Message (-msg_type lck)

-lck_enable_multicast_target

Spirent Extension (for Spirent HLTAPI only).

Specifies if LCK messages are unicast (false) or multicast (true). The default value is true.

-lck_unicast_target_list

Spirent Extension (for Spirent HLTAPI only).

A list of unicast MAC addresses for LCK messages to target. The default value is 00:00:00:00:00:00. You must set -lck_enable_multicast_target to false.

Arguments Unsupported by Save as HLTAPI

The following Spirent HLTAPI arguments are currently not supported by the Save as HLTAPI function:

-mac_local_repeat
-mac_local_list
-mac_remote_repeat
-mac_remote_list
-mac_dst_repeat
-mac_dst_list
-md_level_repeat
-md_level_list
-trans_id_repeat
-trans_id_list
-vlan_id_outer_count
-vlan_id_count

Cisco-specific Arguments

The following arguments are specific to the Cisco HLTAPI but are not supported by Spirent HLTAPI:

-burst_delay
-burst_loop_count
-encap
-mac_local_repeat
-msg_timeout
-renew_period
-renew_test_msgs
-trans_id_incr_mode
-trans_id_list
-trans_id_repeat
-trans_id_step
-tlv_user_length
-tlv_user_type
-tlv_user_value
-vlan_id_count
-vlan_id_outer_count
-vlan_id_outer_repeat
-vlan_id_repeat

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 E-OAM message emulators
               created by the ``sth::emulation_oam_config_msg`` function when
               you use -mode create to create a new E-OAM message
               emulators.
               When you want to modify or reset an E-OAM message emulator,
               you specify the handle as the value to the -handle
               argument.

status         Success (1) or failure (0) of the operation.
log_msg        An error message (if the operation failed).

Description

The sth::emulation_oam_config_msg function creates, modifies, or resets message emulators from the specified port. Use the -mode argument to specify the action to perform. (See the -mode argument description for information about the actions.)

When you create an E-OAM message emulator, use the -port_handle argument to specify the Spirent HLTAPI port that the emulated router will use. (The port handle value is contained in the keyed list returned by the connect function.)

In addition to specifying the port (-port_handle), you must also provide the -mode create argument when you create an E-OAM message emulator.

When you create an E-OAM message emulator, Spirent HLTAPI automatically starts the message communication.

Each E-OAM message emulator establishes adjacency with the neighboring SUT.

Examples

#### HLTAPI for Tcl ####

Note

For creating and configuring an E-OAM message, there must already exist a

port with handle $p1:

set oamStandard "ieee_802.1ag"
set dstAddrType "unicast"
set transmitMode "continuous"
set msgType "loopback"

The following example creates and configures a new E-OAM message:

set MP_Port1 [sth::emulation_oam_config_msg  \
  -mode                                 create \
  -port_handle                          $port1  \
  -enable_mp_only                       true  \
  -mp_name                              MP1  \
  -msg_type                             ais  \
  -ais_enable_multicast_target          true \
  -ais_unicast_target_list              E4-B3-18-54-11-C3 \
  -tlv_type                             lbm  \
  -tlv_ltm_id_type                      99 \
  -tlv_ltm_id_length                    02\
  -tlv_ltr_egress_id_type                17\
  -tlv_ltr_egress_id_length             02 \
  -tlv_ltr_egress_id_last_index         123 \
  -tlv_ltr_egress_id_last_mac_addr      E4-B3-18-54-11-C2\
  -tlv_ltr_egress_id_next_index         234 \
  -tlv_ltr_egress_id_next_mac_addr     E4-B3-18-54-22-C2\
  -tlv_int_status_type                  88\
  -tlv_int_status_length                 02\
  -tlv_int_status_value                 up\
  -tlv_port_status_type                77 \
  -tlv_port_status_length                01 \
  -tlv_port_status_value                blocked \
  -tlv_reply_egress_type                66    \
  -tlv_reply_egress_length              02      \
  -tlv_reply_egress_action              blocked \
  -tlv_reply_egress_mac_addr   E4-B3-18-54-03-C2\
  -tlv_reply_ingress_type                55 \
  -tlv_reply_ingress_length              00 \
  -tlv_reply_ingress_action              blocked \
  -tlv_reply_ingress_mac_addr   E4-B3-18-54-20-C2\
  ]

set MP_H1 [keylget MP_Port1 eoam_mp_config_handle]
Sample Output::
{eoam_mp_config_handle eoammaintenancepointconfig1} {handle eoammaintenancepointconfig1} {device_handle router1} {status 1}

The following example modifies the created E-OAM message:

set cmdReturn [::sth::emulation_oam_config_msg -mode modify \
    -handle $eoamMsgHandle \
    -dst_addr_type $dstAddrType \
    -mac_local 00:94:01:00:10:01 \
    -mac_remote 00:94:01:10:01:01 \
    -vlan_outer_id 2100 \
    -vlan_outer_ether_type 0x9100 \
    -vlan_id 2200 \
    -vlan_ether_type 0x88A8 \
    -oam_standard $oamStandard \
    -mac_dst 00:94:01:10:01:01 \
    -sut_ip_address 13.1.0.1 \
    -ttl 250 \
    -md_level 3 \
    -trans_id 10 \
    -tlv_sender_length 10 \
    -tlv_sender_chassis_id 21 \
    -tlv_sender_chassis_id_length 10 \
    -tlv_sender_chassis_id_subtype 5 \
    -tlv_org_length 10 \
    -tlv_org_oui 22 \
    -tlv_org_subtype 11 \
    -tlv_org_value FF \
    -tlv_data_length 10\
    -tlv_data_pattern 0xAA \
    -transmit_mode $transmitMode \
    -pkts_per_burst 4 \
    -rate_pps 15]

Sample output for example shown above:

{handle msg_handle1} {status 1}

The following example deletes the created E-OAM message:

set cmdReturn [::sth::emulation_oam_config_msg -mode reset \
                                            -handle $eoamMsgHandle]

Sample output for example shown above:

{status 1}

#### HLTAPI for Python ####

The following example creates and configures a new E-OAM message:

device_ret0 = sth.emulation_oam_config_msg (
              mode                = 'create',
              oam_standard        = 'ieee_802.1ag',
              md_level            = '0',
              mac_dst             = '00:94:01:00:01:02',
              dst_addr_type       = 'unicast',
              transmit_mode       = 'continuous',
              trans_id            = '100',
              tlv_sender_length   = '10',
              tlv_sender_chassis_id_length= '10',
              tlv_sender_chassis_id_subtype= '5',
              tlv_sender_chassis_id= '21',
              tlv_org_length      = '10',
              tlv_org_oui         = '22',
              tlv_org_subtype     = '11',
              tlv_org_value       = 'FF',
              tlv_data_length     = '10',
              tlv_data_pattern    = '0xAA',
              mac_remote          = '00:94:01:00:01:01',
              msg_type            = 'loopback',
              port_handle         = port_handle[0],
              vlan_id             = '1000',
              vlan_id_step        = '1',
              vlan_outer_id       = '100',
              vlan_id_outer_step  = '1',
              mac_local           = '00:94:01:00:00:01');

Sample Output:

{'status': '1', 'handle': 'eoammaintenancepointconfig1'}

#### HLTAPI for Perl ####

The following example creates and configures a new E-OAM message:

my %device_ret0 = sth::emulation_oam_config_msg (
             mode                => 'create',
             oam_standard        => 'ieee_802.1ag',
             md_level            => '0',
             mac_dst             => '00:94:01:00:01:02',
             dst_addr_type       => 'unicast',
             transmit_mode       => 'continuous',
             trans_id            => '100',
             tlv_sender_length   => '10',
             tlv_sender_chassis_id_length=> '10',
             tlv_sender_chassis_id_subtype=> '5',
             tlv_sender_chassis_id=> '21',
             tlv_org_length      => '10',
             tlv_org_oui         => '22',
             tlv_org_subtype     => '11',
             tlv_org_value       => 'FF',
             tlv_data_length     => '10',
             tlv_data_pattern    => '0xAA',
             mac_remote          => '00:94:01:00:01:01',
             msg_type            => 'loopback',
             port_handle         => "$hport[1]",
             vlan_id             => '1000',
             vlan_id_step        => '1',
             vlan_outer_id       => '100',
             vlan_id_outer_step  => '1',
             mac_local           => '00:94:01:00:00:01');

Sample Output:

$VAR1 = 'handle';
$VAR2 = 'eoammaintenancepointconfig1';
$VAR3 = 'status';
$VAR4 = '1';

End of Procedure Header

sth::emulation_oam_config_ma_meg

Purpose

Spirent Extension (for Spirent HLTAPI only).

Creates, modifies, or deletes an Maintenance Association (MA, IEEE802.1ag) or Maintenance Entity Group (MEG, ITU-T Y.1731) configuration on the emulated EOAM project.

Synopsis

Note

M indicates that the argument is Mandatory .

sth::emulation_oam_config_ma_meg
   [-mode {add|modify|delete}  M]
   [-handle {MEG_config_handle}]
   [-mp_handle <mp_config_handle>]
   [-ais_period {aisperiod_1s|aisperiod_1min}]
   [-ais_priority <0-7>]
   [-cont_chk_period {ccperiod_3ms|ccperiod_10ms|ccperiod_100ms|ccperiod_1s
                       |ccperiod_10s|ccperiod_1min|ccperiod_10min}]
   [-cont_chk_priority <0-7>]
   [-delay_measurement_priority <0-7>]
   [-domain_id_dnslike <string>]
   [-domain_id_mac_2octets <aa-bb-cc-dd-ee-ff:xxxx>]
   [-domain_id_type  {no_name|dns_like|mac_2_octets|string}]
   [-itu_meg_id_2octets <2_octet_integer>]
   [-itu_meg_id_primaryvid <0-4095> ]
   [-itu_meg_id_string <string>]
   [-itu_meg_id_vpnid <xx-xx-xx:xx-xx-xx-xx>]
   [-itu_meg_id_type {icc|icc_cc|primary_vid|string|int_2_octets|rfc_2685_vpn_id}]
   [-lck_period  {lckperiod_1s|lckperiod_1min}]
   [-lck_priority <0-7>]
   [-link_trace_priority <0-7>]
   [-loopback_priority <0-7>]
   [-loss_measurement_priority <0-7>]
   [-meg_id_2octets <2_octet_integer>]
   [-meg_id_cc <string>]
   [-meg_id_icc_string <string>]
   [-meg_id_primary_vid <0-4095> ]
   [-meg_id_string  <string>]
   [-meg_id_vpnid <xx-xx-xx:xx-xx-xx-xx>]
   [-meg_id_type {primary_vid|string|int_2_octets|rfc_2685_vpn_id}]
   [-me_level <0-7>]
   [-mep_mac_addr <aa:bb:cc:dd:ee:ff>]
   [-mep_id <1-8191>]
   [-operation_mode {ieee|itut}]
   [-slm_priority <0-7>]

Arguments

-mode

Specifies the action to perform. This argument is Mandatory . Possible values are add, modify, and delete. The modes are described below:

add            Creates an MA/MEG configuration, or the
               Maintenance End Points (MEP) for the MA/MEG

modify          Modifies the MA/MEG configuration specified
                by -handle

delete          Deletes the MA/MEG handle specified
                by -handle or the Maintenance Point (MP)
                handle specified by -mp_handle
-handle

The MA/MEG configuration handle returned by the current function or the sth::emulation_oam_config_msg function. You must specify this argument for -mode modify, and for -mode add when you create more than one MEP by specifying -mep_id and -mep_mac.

-mp_handle

The MP handle returned from the sth::emulation_oam_config_msg function. You must specify this argument for -mode add or modify when you create or modify an MA/MEG configuration.

-ais_period

Specifies the Alarm Indication Signal (AIS) period for an MA/MEG and its MPs. Possible values are:

aisperiod_1s            1 frame per second
aisperiod_1min          1 frame per minute

The default value is aisperiod_1s.

-ais_priority

Specifies the priority set in AIS messages. Possible values range from 0 to 7. The default value is 0.

-cont_chk_period

Specifies the Continuity Check (CC) period for an MA/MEG and its MPs. Possible values are:

ccperiod_3ms            300 frames per second
ccperiod_10ms           100 frames per second
ccperiod_100ms          10 frames per second
ccperiod_1s             1 frame per second
ccperiod_10s            6 frames per minute
ccperiod_1min           1 frame per minute
ccperiod_10min          6 frame per hour

The default value is ccperiod_1s.

-cont_chk_priority

Specifies the priority set in CC messages. Possible values range from 0 to 7. The default value is 0.

-delay_measurement_priority

Specifies the priority set in Delay Measurement messages. Possible values range from 0 to 7. The default value is 0.

-domain_id_dnslike

Specifies the domain name when -domain_id_type is dns_like. The default value is spirent.com.

-domain_id_mac_2octets

Specifies the domain name when -domain_id_type is mac_2_octets. The default value is 00-00-00-00-00-00:0000.

-domain_id_string

Specifies the domain name when -domain_id_type is string. The default value is domain_.

-domain_id_type

Specifies the domain ID type. Possible values are:

no_name         Domain name is not used
dns_like        Domain name is a globally unique text string
                derived from a DNS name
mac_2_octets    Domain name is a MAC address followed by a
                colon and a two-byte unsigned integer
string          Domain name must be a 1-43 character string

The default value is no_name.

-itu_meg_id_type

Specifies the ITU-T MEG ID type. This argument is available when -operation_mode is set to itu_t. Possible values are:

icc               MEG ID uses the ICC-based format
icc_cc            MEG ID uses the CC- and ICC-based format
primary_vid       MEG ID is the primary VLAN ID
string            MEG ID must be a 1-43 character string
int_2_octets      MEG ID is a two-byte unsigned integer
rfc_2685_vpn_id   MEG ID is a six-byte VPN ID

The default value is icc.

-meg_id_cc

Specifies the MEG ID when -itu_meg_id_type is set to icc_cc. The value must be a 1-13 character string. The default value is zz.

-meg_id_icc_string

Specifies the MEG ID when -itu_meg_id_type is set to icc. The value must be a 1-13 character string. The default value is meg_.

-itu_meg_id_2octets

Specifies the MEG ID when -itu_meg_id_type is set to int_2_octets. The default value is 0000.

-itu_meg_id_primaryvid

Specifies the MEG ID when -itu_meg_id_type is set to primary_vid. Possible values range from 0 to 4095. The default value is 100.

-itu_meg_id_string

Specifies the MEG ID when -itu_meg_id_type is set to string. The default value is MEG_.

-itu_meg_id_vpnid

Specifies the MEG ID when -itu_meg_id_type is set to rfc_2685_vpn_id. The value must be a six-byte VPN ID in format of xx-xx-xx:xx-xx-xx-xx. The default value is 00-00-00:00-00-00-00.

-lck_period

Specifies the Locked Signal Function (LCK) period for an MA/MEG and its MPs. Possible values are:

lckperiod_1s           1 frame per second
lckperiod_1min         1 frame per minute

The default value is lckperiod_1s.

-lck_priority

Specifies the priority set in LCK messages. Possible values range from 0 to 7. The default value is 0.

Specifies the priority set in Link Trace messages. Possible values range from 0 to 7. The default value is 0.

-loopback_priority

Specifies the priority set in Loopback messages. Possible values range from 0 to 7. The default value is 0.

-loss_measurement_priority

Specifies the priority set in Loss Measurement messages. Possible values range from 0 to 7. The default value is 0.

-meg_id_2octets

Specifies the MEG ID when -meg_id_type is set to int_2_octets. The default value is 0000.

-meg_id_primary_vid

Specifies the MEG ID when meg_id_type is set to primary_vid. Possible values range from 0 to 4095. The default value is 100.

-meg_id_string

Specifies the MEG ID when -meg_id_type is set to string. The default value is ma_.

-meg_id_vpnid

Specifies the MEG ID when -meg_id_type is set to rfc_2685_vpn_id. The value must be a six-byte VPN ID in format of xx-xx-xx:xx-xx-xx-xx. The default value is 00-00-00:00-00-00-00.

-meg_id_type

Specifies the IEEE MEG ID type. This argument is available when -operation_mode is set to ieee. Possible values are:

primary_vid       MEG ID is the primary VLAN ID
string            MEG ID must be a 1-43 character string
int_2_octets      MEG ID is a two-byte unsigned integer
rfc_2685_vpn_id   MEG ID is a six-byte VPN ID

The default value is string.

-me_level

Specifies the level of the MEG or MA. Possible values range from 0 to 7. The default value is 1.

-mep_mac_addr

Specifies the MAC address of the emulated MEP. The default value is the address of the associated MEP.

-mep_id

Specifies the ID of the emulated MEP in the MA/MEG. Possible values range from 1 to 8191. The default value is 1.

-operation_mode

Specifies the operation mode. Possible values are:

itu_t       ITU-T
ieee        IEEE

Each option has its own set of available arguments. The default value is itu_t.

-slm_priority

Specifies the priority set in Synthetic Loss Message (SLM) messages. Possible values range from 0 to 7. The default value is 0.

Arguments Unsupported by Save as HLTAPI

This function is not currently supported by Save as HLTAPI.

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

handle          EOAM MEG configuration handle, which can be used for -mode modify
                or delete

Description

The sth::emulation_oam_config_ma_meg function creates, modifies, or deletes an MA or MEG configuration on the given EOAM project. Use the -mode argument to specify the action to perform. (See the -mode argument description for information about the actions.)

When you create or modify an MA/MEG configuration, you must specify -handle and -mp_handle. The MA/MEG handle can be either returned by the sth::emulation_oam_config_msg function or by the current function, and the MP handle is returned by the sth::emulation_oam_config_msg function. Use -mode delete to delete any handle. -handle is also required when you create more than one MEP using -mode add.

Examples

To modify an MEG configuration returned from sth::emulation_oam_config_msg:

set EOAM(MEG_Modify_7) [sth::emulation_oam_config_ma_meg\
       -mode                                             modify\
       -handle                                           $EOAM(MEG_Handle_2)\
       -mp_handle                  "$EOAM(MP_Handle_1) $EOAM(MP_Handle_2)"\
       -operation_mode                                   ieee\
       -me_level                                         7\
       -ais_period                                       aisperiod_1min\
       -cont_chk_period                                  ccperiod_10ms\
       -lck_period                                       lckperiod_1s\
       -cont_chk_priority                                7\
       -loopback_priority                                7\
       -link_trace_priority                              7\
       -delay_measurement_priority                       7\
       -loss_measurement_priority                        7\
       -slm_priority                                     7\
       -ais_priority                                     7\
       -lck_priority                                     7\
       -domain_id_type                                   no_name\
       -meg_id_type                                      string\
       -meg_id_string                                    CISCO]

Sample Output:

{handle MEG_Modify_1} {status 1}

The following example calls -mode modify when there are multiple MPs to be associated with a single MEG:

set MP_MEG [sth::emulation_oam_config_ma_meg   \
  -mode         modify      \
  -handle      $MEG_Handle     \
  -mp_handle   $MP_H1  ]

Sample Output:

{status 1}

To delete an MEG configuration:

set EOAM(MP_Handle_1_Delete) [sth::emulation_oam_config_ma_meg \
     -mode           delete                      \
     -handle         $EOAM(MEG_Handle_1)         ]

Sample Output:

{status 1}

sth::emulation_oam_config_topology

Purpose

Configures Topology Emulation for E-OAM on the specified test port. The chassis emulates a series of E-OAM-aware devices in a structured topology. Also, it optionally provisions Continuity Check database entries.

Synopsis

Note

M indicates that the argument is Mandatory .

sth::emulation_oam_config_topology
   [-mode {create|modify|reset}  M]
   [-port_handle <port_handle>]
   [-handle <handle>]
   [-count <integer>]
   [-mac_local <aa:bb:cc:dd:ee:ff>]
   [-mac_local_incr_mode <none|increment|list|random>]
       [-mac_local_step <aa:bb:cc:dd:ee:ff>]
       [-mac_local_list < mac local type> :< comma separated segment list>]
   [-mac_remote <aa:bb:cc:dd:ee:ff>]
   [-mac_remote_incr_mode <none|increment|list|random>]
       [-mac_remote_step <aa:bb:cc:dd:ee:ff>]
       [-mac_remote_repeat <integer>]
       [-mac_remote_list < mac remote type >: < comma separated segment list >]
  [-vlan_outer_id <0-4095>]
  [-vlan_outer_ether_type <0x8100|0x88A8|0x9100|0x9200>]
  [-vlan_id_outer_step <0-4095>]
  [-vlan_id <0-4095>]
  [-vlan_ether_type <0x8100|0x88A8|0x9100|0x9200>]
  [-vlan_id_step <0-4095>]
  [-sut_ip_address <a.b.c.d >|<aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>]
  [-oam_standard <ieee_802.1ag|itut_y1731>]
  [-responder_loopback <0|1>]
  [-responder_link_trace <0|1>]
  [-continuity_check <0|1>]
  [-continuity_check_interval <100ms|1s|10s|1min|10min>]
  [-continuity_check_remote_defect_indication <0|1>]
  [-continuity_check_ucast_mac_dst <aa:bb:cc:dd:ee:ff>]
  [-continuity_check_mcast_mac_dst <0|1>]
  [-continuity_check_burst_size <1 - 8192>]
  [-domain_level <level0|level1|level2|level3|level4|level5|level6|level7>]
  [-md_level <0-7>]
  [-md_name_format <none|domain_name|mac_addr|char_str|icc_based>]
  [-md_name <string>]
  [-md_mac <aa:bb:cc:dd:ee:ff>]
  [-md_integer <0-65535>]
  [-short_ma_name_format <primary_vid|char_str|integer|rfc_2685_vpn_id>]
  [-short_ma_name_value <string>]
  [-mip_count <integer>]
  [-mep_id <1-8191>]
  [-mep_id_incr_mode <none|increment|list|random>]
       [-mep_id_step <integer>]
       [-mep_count <1-8192>]
       [-mep_id_list <mep id type> : <comma separated segment list>]

Arguments

-port_handle

Specifies the port on which to configure the E-OAM topology emulation.

-handle

Defines the unique handle to which you must refer, when modifying or destroying specific emulator instances.

-mode

Specifies the action to perform on the specified test port. This argument is Mandatory . Possible values are create, modify, and reset. The modes are described below:

create   Creates Ethernet OAM topology emulations on the
        port specified with the -port_handle argument. You
        must specify the -port_handle argument.

modify   Changes the configuration of the Ethernet OAM
        topology emulations identified by the -handle
        argument. You must specify the -handle argument.

reset   Deletes all of the E-OAM topology emulations
        specified in the -handle argument. You must specify
        the -handle argument.
-count

Defines the number of E-OAM message emulators. The default is 1.

-mac_local

Defines the MAC address of the E-OAM message emulators.

-mac_local_incr_mode

Defines the increment method of the local MAC address. Possible values are:

none        Indicates the local MAC address will not be
            incremented.

increment   Indicates the local MAC address increments
            by the step specifies in the -mac_local_step
            argument.

list       Indicates you must enter the local MAC addresses
           manually. Specify the list of the local MAC addresses
           in the -mac_local_list argument.

random     Indicates the local MAC addresses should be
           distributed randomly.

Note

The decrement mode is not supported.

-mac_local_step

Specifies the step size in which the local MAC address is incremented. You must specify this step when you specify “increment” for the -mac_local_incr_mode argument. The default is 00:00:00:00:00:01.

-mac_local_list

Defines the list of local MAC addresses that should be used for the emulated E-OAM messages. Local MAC addresses can be used as MEPs that issue emulated E-OAM messages or MIPs that respond to these messages on request. Specify this argument a list of MAC addresses.

-mac_remote

Indicates the MAC address of the device under test (DUT). Remote MAC addresses can be used as MEPs that issue emulated E-OAM messages or MIPs that respond to these messages on request.

-mac_remote_incr_mode

Defines the method to increment the DUT MAC address. Possible values are:

none      Indicates the remote MAC address will not be
          incremented.

increment  Indicates the remote MAC address should
           increment by the step specified in the
           -mac_remote_step argument.

list       Indicates you must enter the remote MAC addresses
           manually. The list of the remote MAC addresses is
           defined in the -mac_remote_list argument.

random     Indicates the remote MAC addresses should be
           distributed randomly.

Note

The decrement mode is not supported.

-mac_remote_step

Specifies the step size in which the remote MAC address is incremented. You must specify this step when you specify “increment” for the -mac_remote_incr_mode argument. The default is 00:00:00:00:00:01.

-mac_remote_repeat

Specifies the number of times a remote MAC address should be repeated before the step specified in the -mac_remote_step argument is applied to the MAC address for incrementing. The default value is 1.

-mac_remote_list

Defines the list of remote MAC addresses that should be used for the emulated E-OAM messages. You must specify this list when you specify “list” for the -mac_remote_incr_mode argument.

-vlan_outer_id

Specifies Virtual Local Area Network (VLAN) ID for the outer VLAN tag that is an encapsulation of the test message(s). VLAN ID is the identification of the VLAN, which is basically used by the standard 802.1Q. Possible values range from 0 to 4095. The default is 1.

-vlan_outer_ether_type

Indicates the value of VLAN EtherType to be used for the test message(s). EtherType is a two-octet field in an Ethernet frame, as defined by the Ethernet II framing networking standard. It is used to indicate which protocol is encapsulated in the frame data. Possible values are:

0x8100   Specifies EtherType value 0x8100, a value of 8100 in
         hexadecimal. When a frame has the VLAN EtherType
         equal to 8100, this frame carries the tag
         IEEE 802.1Q.

0x88A8   Specifies EtherType value 0x88A8, a value of 88A8
         in hexadecimal. When a frame has the VLAN EtherType
         equal to 88A8, this frame carries the tag IEEE
         802.1ad.

0x9100   Specifies EtherType value 0x9100, a value of 9100
         in hexadecimal. When a frame has the VLAN EtherType
         equal to 9100, this frame carries the tag IEEE
         802.1Q-1998.

0x9200   Specifies EtherType value 0x9200, a value of 9200
         in hexadecimal.
-vlan_id_outer_step

Specifies the increment for the outer VLAN ID when using ethernet_ii_qinq encapsulation. A step value of zero indicates no stepping occurs. Note: This parameter only applies to Ethernet interfaces. The increment is applied via addition modulo 4096. Possible values range from 0 to 4095. The default is 1.

-vlan_id

Specifies the inner VLAN to which the test messages belongs. Possible values range from 0 to 4095. The default is 1.

-vlan_ether_type

Defines VLAN EtherType to be used for the test message(s). Possible values are:

0x8100   Specifies EtherType value 0x8100, a value of 8100 in
         hexadecimal. When a frame has the VLAN EtherType
         equal to 8100, this frame carries the tag
         IEEE 802.1Q.

0x88A8   Specifies EtherType value 0x88A8, a value of 88A8
         in hexadecimal. When a frame has the VLAN EtherType
         equal to 88A8, this frame carries the tag IEEE
         802.1ad.

0x9100   Specifies EtherType value 0x9100, a value of 9100
         in hexadecimal. When a frame has the VLAN EtherType
         equal to 9100, this frame carries the tag IEEE
         802.1Q-1998.

0x9200   Specifies EtherType value 0x9200, a value of 9200
         in hexadecimal.
-vlan_id_step

Defines the step size by which the VLAN ID is incremented. Possible values range from 0 to 4095.

-sut_ip_address

Specifies the IP address / Gateway Address for the chassis to reach the SUT. It can be in either IPv4 or IPv6 format. The default for IPv4 is 192.85.1.1. The default for IPv6 is 2001::1.

-oam_standard

Specifies the Ethernet OAM standard to be used, either IEEE 802.1ag or ITU-T Y1731. This will affect other available options. This argument is only valid when the -msg_type is loopback or linktrace. The default is ieee_802.1ag.

-responder_loopback

Defines that the Loopback message (LBM) responding is enabled or not. Possible values are 0 (disabled) and 1 (enabled). For verifying the connectivity between MEPs and MIPs, the LBM is initiated by a MEP. When the Loopback message responding is enabled, the LBM received by the MP Loopback Responder may be examined for validity and discarded if invalid. If the LBM is validated, it will be transmitted to the receiving MP that responds to the LBM with a Loopback Reply (LBR). The default is 1.

Defines that the Linktrace responding is enabled or not. Possible values are 0 (disabled) and 1 (enabled). Linktrace responding is performed by the Linktrace Responder associated with a Bridge. The default is 1.

-continuity_check

Defines whether the Continuity Check messages are sent or not. Possible values are 0 and 1. If it is set to 0, the Continuity Check messages (CCM) are not sent. If it is set to 1, the Check messages are sent. CCMs are “heartbeat” messages issued periodically by MEPs. They allow MEPs to detect loss of service connectivity amongst themselves. They also allow MEPs to discover other MEPs within a domain, and allow MIPs to discover MEPs. The default is 1.

-continuity_check_interval

Defines the interval between CCMs. Possible values are 100ms, 1s, 10s, 1min, and 10min. The default is 1s.

-continuity_check_remote_defect_indication

Specifies the Remote Defect Indication in Continuity Check Messages should be enabled when Loss of Continuity (LOC) is detected for expected remote MEP. Possible values are 0(disabled) and 1(enabled). The Remote Defect Indication (RDI) is a single bit carried by the CCM. The absence of RDI in a CCM indicates that the transmitting MEP is receiving CCMs from all configured MEPs. The default is 1.

-continuity_check_ucast_mac_dst

Specifies the destination MAC address for the CCM. The default is 00:00:00:00:00:01.

-continuity_check_mcast_mac_dst

Defines whether Multicast MAC address is used for CCM, the address is picked automatically based on the MD level. Possible values are 0 and 1. The default is 1.

-continuity_check_burst_size

Defines how many CCMs to send per burst. Possible values range from 1 to 8192.The default is 1000. This argument is valid only when the -continuity_check argument is enabled.

-domain_level

Specifies that the chassis simulates a topology of Ethernet OAM MPs spanning across multiple levels. Possible values are level0, level1, level2, level3, level4, level5, level6, and level7. The default is level0.

-md_level

Define the Maintenance Entity Group(MEG) level. The MEG Level distinguishes between the OAM flows of nested MEGs. Eight MEG levels are available to accommodate different network deployment scenarios. Possible values range from 0 to 7. The default is 0.

-md_name_format

Defines the format of the MEG ID. Possible values are none, domain_name, mac_addr, char_str, and icc_based. When the -md_name_format argument is specified as mac_addr, the MEG ID is defined by -md_mac and -md_integer together. The default is char_str. The values are described below:

none          Specifies there is no MEG ID.
domain_name   Specifies that the MEG ID is defined by the
              name of the domain to which it belongs.
mac_addr      Specifies that the MEG ID is defined by the
              relevant MAC address.
char_str      Specifies that the MEG ID is a string of
              characters.
icc_based     Specifies that the MEG ID is an ICC string.
-md_name

Defines the character string value of the MD name. Use this argument when the -md_name_format argument is set to char_str mode. The default is DEFAULT.

-md_mac

Defines the MAC address value of the Maintenance Domain name. Use this argument when the -md_name_format argument is set to mac_addr mode. The default is 00:00:00:00:00:01.

-md_integer

Defines the 2-octet integer value of the Maintenance Domain name. Use this argument when the -md_name_format argument is set to mac_address. Possible values range from 0 to 65535. The default is 0.

-short_ma_name_format

Defines the format of the short MA name. Possible values are:

primary_vid   The format of the short MA name
              is the primary VLAN ID.

char_str      The format of the short MA name is
              a string of characters.

integer       The format of the short MA name is
              an integer.

rfc_2685_vpn_id   The format of the short MA name
                 is the VPN ID using the RFC 2685
                 Standard.

The default is an integer.

-short_ma_name_value

Defines the Value for the Maintenance Domain name. Specify a string of characters for this argument. The default is DEFAULT.

-mip_count

Defines the number of simulated MIPs for a particular domain level, connected in a series. The default is 1.

-mep_count

Defines the number of simulated MEPs for the specified domain level. Possible values range from 1 to 8192.

-mep_id

Defines the MEP ID for the simulated end point of the specified domain level. Possible values range from 1 to 8191. The default is 1.

-mep_id_incr_mode

Defines the method to increment of the MEP ID. Possible values are:

none        Indicates the MEP ID will not be incremented.

increment   Indicates the MEP ID increments by the step
            specifies in the -mep_id_step argument.

list       Indicates the MEP IDs should be inputted. The list
           of MEP IDs is speci fied by the -mep_id_list argument.

random     Indicates the MEP IDs should be distributed
           randomly.

Note

The decrement mode is not supported.

-mep_id_step

The amount by which to increment MEP IDs (-mep_id) for subsequent messages.

-mep_id_list

Defines the list of MEP IDs to use for the emulated E-OAM messages.

Arguments Unsupported by Save as HLTAPI

The following Spirent HLTAPI arguments are currently not supported by the Save as HLTAPI function:

-count
-mac_local_list
-mac_local_repeat
-mac_remote_list
-mac_remote_repeat
-mep_id_list
-mep_id_repeat

Cisco-specific Arguments

The following arguments are specific to the Cisco HLTAPI but are not supported by Spirent HLTAPI:

-encap
-vlan_id_outer_count
-vlan_id_outer_repeat
-vlan_id_count
-vlan_id_repeat
-responder_latency
-spanning_tree_broadcast_domain
-continuity_check_burst_delay
-fault_alarm_interval
-fault_alarm_signal
-fault_alarm_locked
-md_name_length
-short_ma_name_length
-mac_local_repeat
-mep_id_repeat
-mep_port_behavior
-group_mp_ingress_egress
-ccdb_oam_standard
-ccdb_vlan_outer_id
-ccdb_vlan_id
-ccdb_md_level
-ccdb_mac
-ccdb_mep_id
-ccdb_md_name_format
-ccdb_md_name_length
-ccdb_md_name
-ccdb_md_mac
-ccdb_md_integer
-ccdb_short_ma_name_format
-ccdb_short_ma_name_length
-ccdb_short_name_value
-ccdb_expected_connectivity

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 of E-OAM topology returned when you use
               "-mode create" to create MPs with E-OAM protocol

status        Success (1) or failure (0) of the operation

log_msg        Retrieves a message describing the last error that
              occurred during the operation. If the operation was
              successful - {status 1} - the log_msg value is null

Description

The sth::emulation_oam_config_topology function creates, modifies or resets MPs on the specified port. Use the -mode argument to specify the action to perform. (See the -mode argument description for information about the actions.)

When you create a MP, use the -port_handle argument to specify the Spirent HLTAPI port that the MP will use. (The port handle value is contained in the keyed list returned by the connect function.)

In addition to specifying the port (-port_handle), you must also provide the -mode create when you create a MP.

When you create a MP, Spirent HLTAPI automatically starts the message communication.

If the creation/configuration/delete fails, the Spirent HLTAPI returns an error message. For example, if you attempt to configure a non-existing topology handle under modify mode, an error message will be returned.

Examples

#### HLTAPI for Tcl ####

The following example creates and configures a new E-OAM topology:

#There must already exist a port with handle $p1
set oamStandard "ieee_802.1ag"
set dstAddrType "unicast"
set transmitMode "continuous"

set returnKlist [::sth::emulation_oam_config_topology -mode create \
                   -port_handle $p1 \
                   -count 1 \
                   -mip_count 2 \
                   -mep_count 2 \
                   -mac_local 00:94:01:00:02:01 \
                   -mac_local_incr_mode increment \
                   -mac_local_step 00:00:00:00:00:01 \
                   -mac_remote 00:94:01:00:03:01 \
                   -mac_remote_incr_mode increment \
                   -mac_remote_step 00:00:00:00:00:01 \
                   -vlan_outer_id $vlanOuterId \
                   -vlan_outer_ether_type 0x8100 \
                   -vlan_id $vlanId \
                   -vlan_ether_type 0x9200 \
                   -sut_ip_address 192.168.1.1 \
                   -oam_standard $oamStandard \
                   -responder_loopback 1 \
                   -continuity_check 1 \
                   -continuity_check_interval 100ms \
                   -continuity_check_ucast_mac_dst  00:94:01:10:01:01 \
                   -continuity_check_burst_size 3 \
                   -md_level 1 \
                   -md_name_format mac_addr \
                   -md_mac 00:94:01:00:02:00 \
                   -md_integer 4 \
                   -short_ma_name_format char_str \
                   -short_ma_name_value Sh_MA_ \
                   -mep_id 10 \
                   -mep_id_incr_mode increment \
                   -mep_id_step 1]

set eoamTopHandle [lindex [keylget returnKlist handle] 0]

Sample output for example shown above:

{handle topology_handle1} {status1}

The following example modifies the created E-OAM topology:

set returnKlist [::sth::emulation_oam_config_topology -mode modify \
                    -handle $eoamTopHandle \
                     -mac_local 00:94:01:00:02:01 \
                     -mac_local_incr_mode increment \
                     -mac_local_step 00:00:00:00:00:02 \
                     -mac_remote 00:94:01:00:03:02 \
                     -responder_loopback 0 \
                     -responder_link_trace 0 \
                     -continuity_check 1 \
                     -continuity_check_interval 1s \
                     -md_level 2 \
                     -md_name_format domain_name \
                     -md_name cisco.com \
                     -short_ma_name_format integer \
                     -short_ma_name_value 1000 \
                     -mep_id 100 \
                     -mep_id_incr_mode increment \

Sample output for example shown above:

{handle topology_handle1} {status 1}

The following example deletes the created E-OAM topology:

set cmdReturn [::sth::emulation_oam_config_topology -mode reset \
                                             -handle $eoamTopHandle]

Sample output for example shown above:

{status 1}

#### HLTAPI for Python ####

The following example creates and configures a new E-OAM topology:

device_ret0 = sth.emulation_oam_config_topology (
             mode                = 'create',
             mip_count           = '2',
             mep_count           = '3',
             port_handle         = port_handle[0],
             mac_local           = '00:94:01:00:02:01',
             mac_local_incr_mode = 'increment',
             mac_local_step      = '00:00:00:00:00:01',
             vlan_outer_id       = '1000',
             vlan_id             = '100',
             sut_ip_address      = '192.168.1.1',
             mep_id              = '3',
             mac_remote          = '00:94:01:10:01:01',
             mep_id_incr_mode    = 'increment',
             mep_id_step         = '1',
             mac_remote_incr_mode= 'increment',
             mac_remote_step     = '00:00:00:00:00:01',
             continuity_check_mcast_mac_dst= 'true',
             continuity_check_burst_size= '3',
             responder_link_trace= 'true',
             responder_loopback  = 'true',
             continuity_check_remote_defect_indication= '1',
             short_ma_name_value = 'MA_1',
             md_name             = 'DEFAULT',
             md_name_format      = 'icc_based',
             oam_standard        = 'itut_y1731',
             short_ma_name_format= 'char_str',
             continuity_check_interval= '100ms',
             md_level            = '2');

Sample Output:

{'status': '1', 'handle': '::sth::Eoam::port1.TopologyHandleArr0'}

#### HLTAPI for Perl ####

The following example creates and configures a new E-OAM topology:

my %device_ret0 = sth::emulation_oam_config_topology (
             mode                => 'create',
             mip_count           => '2',
             mep_count           => '3',
             port_handle         => "$hport[1]",
             mac_local           => '00:94:01:00:02:01',
             mac_local_incr_mode => 'increment',
             mac_local_step      => '00:00:00:00:00:01',
             vlan_outer_id       => '1000',
             vlan_id             => '100',
             sut_ip_address      => '192.168.1.1',
             mep_id              => '3',
             mac_remote          => '00:94:01:10:01:01',
             mep_id_incr_mode    => 'increment',
             mep_id_step         => '1',
             mac_remote_incr_mode=> 'increment',
             mac_remote_step     => '00:00:00:00:00:01',
             continuity_check_mcast_mac_dst=> 'true',
             continuity_check_burst_size=> '3',
             responder_link_trace=> 'true',
             responder_loopback  => 'true',
             continuity_check_remote_defect_indication=> '1',
             short_ma_name_value => 'MA_1',
             md_name             => 'DEFAULT',
             md_name_format      => 'icc_based',
             oam_standard        => 'itut_y1731',
             short_ma_name_format=> 'char_str',
             continuity_check_interval=> '100ms',
             md_level            => '2');

Sample Output:

$VAR1 = 'handle';
$VAR2 = '::sth::Eoam::port1.TopologyHandleArr0';
$VAR3 = 'status';
$VAR4 = '1';

End of Procedure Header

sth::emulation_oam_control

Purpose

Starts, stops, or resets E-OAM emulations.

Synopsis

Note

M indicates that the argument is Mandatory .

sth::emulation_oam_control
   [-action {start|stop|reset}  M]
   [-handle <handle_list>]
   [-port_handle <port_handle_list>]
   [-msg_type {loopback|linktrace|continuous_check|dm|lm|slm|ais|lck}]

Arguments

-handle

Identifies a list of E-OAM emulations to start, stop or reset.

-action

Defines the actions performed upon the E-OAM emulation. Possible values are:

Start   Starts the message emulator for the specified port.
Stop    Stops the message emulator for the specified port.
Reset   Resets the message emulators for the specified port.

This argument is Mandatory .

-port_handle

Specifies a list of ports on which to control E-OAM emulation.

-msg_type

Spirent Extension (for Spirent HLTAPI only).

Type of EOAM messages to start/stop. Possible values are:

loopback           Loopback message
linktrace          Link Trace message
continuous_check   Continuous Check message
dm                 Delay Measurement message
lm                 Loss Measurement message
slm                Synthetic Loss Measurement message
ais                Alarm Indication Signal message
lck                Lock Indication Function message

Cisco-specific Arguments

The following arguments are specific to the Cisco HLTAPI but are not supported by Spirent HLTAPI:

-link_level
-md_level

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_msg
Retrieves a message describing the last error that occurred during the operation. If the operation was successful - {status 1} - the log_msg value is null.

Description

The sth::emulation_oam_control function controls the routing of traffic through the specified ports. You can use the function to perform several actions: starting message emulators, stopping message emulators, and resetting message emulators.

When you call the sth::emulation_oam_control function, you specify a port handle. Spirent HLTAPI applies the specified action to all of the emulated E-OAM message emulators associated with the specified port.

Examples

#### HLTAPI for Tcl ####

To start the specified E-OAM message emulator:

sth::emulation_oam_control -mode start -handle $eoamMsgHandle

To stop the E-OAM message emulator:

sth::emulation_oam_control -mode stop -handle $eoamMsgHandle
Sample Output::
{status 1}

#### HLTAPI for Python ####

To start the specified E-OAM message emulator:

ctrl_ret1 = sth.emulation_oam_control (
             handle              = device_list,
             action              = 'start');

Sample Output:

{'status': '1'}

#### HLTAPI for Perl ####

To start the specified E-OAM message emulator:

%ctrl_ret1 = sth::emulation_oam_control (
             handle              => "$device_list",
             action              => 'start');

Sample Output:

$VAR1 = 'status';
$VAR2 = '1';

End of Procedure Header

sth::emulation_oam_info

Purpose

Returns information about the E-OAM configuration.

Synopsis

Note

M indicates that the argument is Mandatory .

sth::emulation_oam_info
   [-mode  {aggregate|session}  M]
   [-handle <handle>]
   [-port_handle <port_handle>}]
   [-action <get_topology_stats|get_message_stats>]

Arguments

-handle

Specifies the message emulator from which to extract E-OAM session data. You must specify -handle or -port_handle, but not both.

-mode

Specifies the desired mode for information return. Possible values are aggregate and session. This argument is Mandatory . The modes are described below:

aggregate   Returns transmitted and received statistics for
            the specified port.

session     Returns statistics for topology, if -action is
            specified as get_topology_stats. Returns
            statistics for message (specified by -msg_type in
            sth::emulation_oam_config_msg), if -action is
            specified as get_message_stats.
-port_handle

Specifies the ports from which to extract E-AOM session data. You must specify -handle or -port_handle, but not both.

-action

Specifies what type of data to poll from the port specified in the -port_handle argument. Possible values are:

get_topology_stats   Retrieves all E-OAM topology statistics
                     for the specified port.

get_message_stats   Retrieves all E-OAM message 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_msg    Retrieves a message describing the last error
           that occurred during the operation. If the operation
           was successful - {status 1} - the log value is null.

Test Messages:

tst.transmit_count
           Number of TST packets transmitted

The following keys are returned, when you specify -mode aggregate:

rx
      fm_pkts         Number of all frame pkts_tx in the port. Sum
                      of lbm_pkts, ltm_pkts, and ccm_pkts.
      lbm_pkts        Number of LBM packets transmitted in the port
      ltm_pkts        Number of LTM packets transmitted in the port
      ccm_pkts        Number of CCM packets transmitted in the port
      ais_pkts        Not supported in Spirent HLTAPI
      lck_pkts        Not supported in Spirent HLTAPI
      tst_pkts        Not supported in Spirent HLTAPI
      aps_pkts        Not supported in Spirent HLTAPI
      mcc_pkts        Not supported in Spirent HLTAPI
      exm_pkts        Not supported in Spirent HLTAPI
      exr_pkts        Not supported in Spirent HLTAPI
      vsm_pkts        Not supported in Spirent HLTAPI
      vsr_pkts        Not supported in Spirent HLTAPI

tx
      fm_pkts         Sum of lbm_pkts, ltm_pkts, and ccm_pkts below
      lbm_pkts        In EoamLoopbackResults, sum of
                      DroppedPktCount, NumOfTransactionIdMismatches
                      and NumOfTimeouts
      ltm_pkts        In EoamLinkTraceResults, sum of
                      DroppedPktCount, and NumOfTimeouts
      ccm_pkts        In EoamContChkLocalResults, sum of
                      DroppedPktCount, and NumOfTimeouts
      ais_pkts        Not supported in Spirent HLTAPI
      lck_pkts        Not supported in Spirent HLTAPI

error
      lbm_pkts       In EoamLoopbackResults, sum of
                     DroppedPktCount, NumOfTransactionIdMismatches
                     and NumOfTimeouts
      ltm_pkts       In EoamLinkTraceResults, sum of
                     DroppedPktCount, and NumOfTimeouts
      ccm_pkts       In EoamContChkLocalResults, sum of
                     DroppedPktCount, and NumOfTimeouts
      ais_pkts       Not supported in Spirent HLTAPI
      lck_pkts       Not supported in Spirent HLTAPI

detected_failure_stats
      unexpected_mep           Number of unexpected MEG End Points
                               in the MEG
      unexpected_cc_period     The number of unexpected CC period
                               values
      lock                     Not supported in Spirent HLTAPI
      ais_pkts                 Not supported in Spirent HLTAPI
      lck_pkts                 Not supported in Spirent HLTAPI

topology_stats
      total_md_levels          Sum of the MEG's ME level in the port
      operational_md_levels    MEG's ME level in the port
      total_maintenance_points The number of MEPs in the MEG
      operational_maintenance_points  The number of up MEPs in the
                                     MEG
      total_entries            Not supported in Spirent HLTAPI
      start_entries            Not supported in Spirent HLTAPI
      ok_entries               Not supported in Spirent HLTAPI
      fail_entries             Not supported in Spirent HLTAPI

states
      maintenance_point_down    Number of remote MEPs whose
                               State is up
      disabled                  Not supported in Spirent HLTAPI
      enabled                   Not supported in Spirent HLTAPI

Sockets
cfmMcastRxSocket
      state                     Not supported in Spirent HLTAPI
      rx_pkts                   Not supported in Spirent HLTAPI
      tx_pkts                   Not supported in Spirent HLTAPI

cfmSocket
      state                     Not supported in Spirent HLTAPI
      rx_pkts                   Not supported in Spirent HLTAPI
      tx_pkts                   Not supported in Spirent HLTAPI

The following keys will be returned when you specify -mode session:

linktrace
   receive_ltr_count        Number of LTR packets received by the MEP
   transmit_ltm_count       Number of LTM packets transmitted by the MEP
   state_waiting            Not supported in Spirent HLTAPI
   state_received           Not supported in Spirent HLTAPI
   state_failed             Not supported in Spirent HLTAPI
   min_response_time        Not supported in Spirent HLTAPI
   avg_response_time        Not supported in Spirent HLTAPI
   max_response_time        Not supported in Spirent HLTAPI

Loopback
   receive_lbr_count       Number of LBR packets received by the MEP
   transmit_lbm_count      Number of LBM packets transmitted by the MEP
   state_waiting           Not supported in Spirent HLTAPI
   state_received          Not supported in Spirent HLTAPI
   state_failed            Not supported in Spirent HLTAPI
   min_response_time       Not supported in Spirent HLTAPI
   avg_response_time       Not supported in Spirent HLTAPI
   max_response_time       Not supported in Spirent HLTAPI

Test
   transmit_count          Number of TST packets transmitted by the MEP

The following Link Trace and Loopback keys are not supported in Spirent HLTAPI:

Link Trace Messages
   linktrace.state_waiting
              Number of transitions to the Waiting state

   linktrace.state_received
              Number of transitions to the Received state

   linktrace.state_failed
              Number of transitions to the Failed state

   linktrace.receive_ltr_count
              Number of Link Trace Reply (LTR) packets received
              linktrace.transmit_ltm_count
              Number of Link Trace Message (LTM) packets transmitted

   linktrace.min_response_time
              Minimum Link Trace response time, in milliseconds
              (elapsed time from sending a Link Trace Message to
              receiving a Link Trace Reply)

   linktrace.avg_response_time
              Average Link Trace response time, in milliseconds
              (elapsed time from sending a Link Trace Message to
              receiving a Link Trace Reply)

   linktrace.max_response_time
              Maximum Link Trace response time, in milliseconds
              (elapsed time from sending a Link Trace Message to
              receiving a Link Trace Reply)

Loopback Messages
   loopback.state_waiting
              Number of transitions to the Waiting state

   loopback.state_received
              Number of transitions to the Received state

   loopback.state_failed
              Number of transitions to the Failed state

   loopback.receive_lbr_count
              Number of Loopback Reply (LBR) packets received

   loopback.transmit_lbm_count
              Number of Loopback Message (LBM) packets transmitted

   loopback.min_response_time
              Minimum Loopback response time, in milliseconds
              (elapsed time from sending a Loopback Message to
              receiving a Loopback Reply).

   loopback.avg_response_time
              Average Loopback response time, in milliseconds
              (elapsed time from sending a Loopback Message to
              receiving a Loopback Reply).

   loopback.max_response_time
              Maximum Loopback response time, in milliseconds
              (elapsed time from sending a Loopback Message to
              receiving a Loopback Reply)

The following CCDB return keys are not supported in Spirent HLTAPI:

status
  log_msg
  md_level
    1
      mac
        00:00:00:00:00:01
          vlan_outer
          vlan
          md_level
          mac
          mep_id
          md_name
          short_ma_name
          state
          last_state_change
          ccm_interval
          remote_failure_indicator
        00:00:00:00:00:02
          vlan_outer
          vlan
          md_level
          mac
          mep_id
          md_name

Description

The sth::emulation_oam_info function provides information about the ports specified for the E-OAM 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.)

Examples

#### HLTAPI for Tcl ####

Sample Input:

::sth::emulation_oam_info \
         -mode session \
         -handle $eoamMsgHandle

Sample Output:

# Results for LM messages (-msg_type lm in sth::emulation_oam_config_msg)

{session {{lm {{transmit_lmr_count 0} {mp_name MP0} {transmit_fwd_framecount 0}
{receive_lmr_count 0} {transmit_lm_count 1} {receive_lm_count 0}}}}} {status 1}

# Results for DM  messages (-msg_type dm in sth::emulation_oam_config_msg)

{session {{dm {{transmit_dmr_count 0} {mp_name MP0} {receive_dmr_count 0}
{transmit_mode_state NONE} {version 0} {transmit_dm_count 1}
{receive_dm_count 0}}}}} {status 1}

# Results for CC messages (-msg_type continuous_check in sth::emulation_oam_config_msg)

{session {{continuous_check {{receive_cc_count 0} {lck_rx_state OFF}
{num_of_remote_meg_ep 0} {num_of_unexp_meg_levels 0} {mp_name MP0}
{last_seq_num_tx 0} {num_of_unexp_meg_ep 0} {num_of_remote_meg_ep_up 0}
{rdi_rx_state OFF} {port_status NONE} {dropped_pkt_cc_count 0} {rdi_tx_state
OFF} {num_of_unexp_meg_ids 0} {num_of_remote_meg_ep_down 0} {intf_status NONE}
{num_of_timeouts 0} {ais_rx_state OFF} {num_of_unexp_period_val 0}
{transmit_cc_count 2}}}}} {status 1}

# Results for AIS messages (-msg_type ais in sth::emulation_oam_config_msg)

{session {{ais {{mp_name MP0} {receive_ais_period NONE} {transmit_ais_state ON}
{transmit_ais_count 2} {receive_ais_state OFF} {receive_ais_count 0}}}}}
{status 1}

# Results for LCK messages (-msg_type lck in sth::emulation_oam_config_msg)

{session {{lck {{receive_lck_state ON} {receive_lck_count 8} {mp_name MP1000}
{receive_lck_period LCKPERIOD_1S} {transmit_lck_state ON} {transmit_lck_count
8}}}}} {status 1}

# Results for SLM messages (-msg_type slm in sth::emulation_oam_config_msg)

{session {{slm {{mp_name MP0} {transmit_slm_count 1} {frameloss_ratio 0.00}
{frameloss_far_end 0} {transmit_slr_count 0} {receive_slm_count 0}
{frameloss_near_end 0} {receive_slr_count 0}}}}} {status 1}

#### HLTAPI for Python ####

Sample Input:

results_ret1 = sth.emulation_oam_info (
             port_handle         = port_handle[0],
             mode                = 'aggregate',
             action              = 'get_topology_stats');
Sample Output::
{‘aggregate’: {‘states’: {‘maintenance_point_down’: ‘0’}, ‘detected_failure_stats’: {‘unexpected_mep’: ‘0’, ‘unexpected_cc_period’: ‘0’}, ‘tx’: {‘fm_pkts’: ‘0’, ‘ccm_pkts’: ‘0’, ‘ltm_pkts’: ‘0’, ‘lbm_pkts’: ‘0’}, ‘error’: {‘fm_pkts’: ‘0’, ‘ccm_pkts’: ‘0’, ‘ltm_pkts’: ‘0’, ‘lbm_pkts’: ‘0’}, ‘topology_stats’: {‘operational_maintenance_points’: ‘0’, ‘total_maintenance_points’: ‘0’, ‘operational_md_levels’: ‘0’, ‘total_md_levels’: ‘0’}, ‘rx’: {‘fm_pkts’: ‘0’, ‘ccm_pkts’: ‘0’, ‘ltm_pkts’: ‘0’, ‘lbm_pkts’: ‘0’}}, ‘status’: ‘1’}

#### HLTAPI for Perl ####

Sample Input:

%results_ret1 = sth::emulation_oam_info (
            port_handle         => "$hport[2]",
            mode                => 'aggregate',
            action              => 'get_topology_stats');

Sample Output:

$VAR1 = 'status';
$VAR2 = '1';
$VAR3 = 'aggregate';
$VAR4 = {
          'topology_stats' => {
                                'total_md_levels' => '0',
                                'operational_maintenance_points' => '0',
                                'operational_md_levels' => '0',
                                'total_maintenance_points' => '0'
                              },
          'tx' => {
                    'fm_pkts' => '0',
                    'lbm_pkts' => '0',
                    'ltm_pkts' => '0',
                    'ccm_pkts' => '0'
                  },
          'rx' => {
                    'fm_pkts' => '0',
                    'lbm_pkts' => '0',
                    'ltm_pkts' => '0',
                    'ccm_pkts' => '0'
                  },
          'states' => {
                        'maintenance_point_down' => '0'
                      },
          'detected_failure_stats' => {
                                        'unexpected_cc_period' => '0',
                                        'unexpected_mep' => '0'
                                      },
          'error' => {
                       'fm_pkts' => '0',
                       'lbm_pkts' => '0',
                       'ltm_pkts' => '0',
                       'ccm_pkts' => '0'
                     }
        };

End of Procedure Header