OSPF Functions

emulation ospf config

Execute Tester Command ${rt_handle} command=test_control <additional key=value arguments>

Purpose:

Creates, enables, disables, modifies, or deletes one or more emulated Open Shortest Path First (OSPF) routers on the specified test port. OSPF is an Interior Gateway Protocol (IGP) that is designed to manage communications in large IP networks by dividing them into smaller networks called “areas.”

An individual router maintains a local state that represents the router’s interfaces and adjacent neighbors. OSPF routers use link state advertisements (LSAs) to exchange the local state information. Within an AS, the combined LSA data produces a linkstate database. Routers maintain a representation of the AS topology in a linkstate database. Each router has a separate linkstate database for each area to which it is connected. A router uses the topology information to create a shortestpath tree for the routing table.

OSPFv2 is designed to work with IPv4. OSPFv3 uses IPv6. The two OSPF protocols are based on the same concepts of LSA communication. In general, OSPFv3 introduces new LSA types, and it modifies the packet format to support IPv6 addresses, IPv6 authentication, and multiple instances per link. (For detailed information about the differences between the protocols, see RFC 2740, “OSPF for IPv6”.)

Synopsis:

Note: 1. M indicates the argument is `Mandatory`.
      2. S indicates the argument is for `scaling` scenarios.

   emulation ospf config
        mode= {create|modify|disable|enable|delete|active|activate|inactive} M
        port_handle= <port_handle>
        handle= <ospf_handle>|<device_handle>
        area_id= <a.b.c.d>
             area_id_step= <a.b.c.d>
             area_type= {external_capable | stub | nssa}
        password= <password>
        authentication_mode= {none | simple | md5}
        bfd_registration= {1|0}
        count= <integer>
        dead_interval= <1-65535>
        demand_circuit= {1|0}
        expand= {true|false} S
        gateway_ip_addr= <a.b.c.d>
             gateway_ip_addr_step= <a.b.c.d>
        gateway_ipv4_addr= <a.b.c.d>
             gateway_ipv4_addr_step= <a.b.c.d>
        hello_interval= <1-65535>
        graceful_restart_enable= {0|1}
        graceful_restart_type=  {none | rfcstandard | llsignalling}
        interface_cost= <1-65535>
        intf_ip_addr= <a.b.c.d>
             intf_ip_addr_step= <integer> OR <a.b.c.d>
             intf_prefix_length= <1-128>
        intf_ipv4_addr= <a.b.c.d>
             intf_ipv4_addr_step= <integer> OR <a.b.c.d>
             intf_ipv4_prefix_length= <1-128>
        ip_version= {6|4_6}
        ipv6_router_id= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
        ipv6_router_id_step= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
        lsa_retransmit_delay= <1-65535>
        lsa_refresh_interval= <10-21600>
        mac_address_start= <aa:bb:cc:dd:ee:ff>
        mac_address_step= <aa:bb:cc:dd:ee:ff>
        md5_key_id= <1-255>
        network_type= {broadcast|ptop|native}
        option_bits= <hexadecimal>
        router_id= <a.b.c.d>
        router_id_step= <integer>
        router_priority= <0-255>  for broadcast and nba networks only
        session_type= {ospfv2 | ospfv3}
        adj_sid= <NUMERIC>
        adj_sid_step= <NUMERIC>
        enable_adj_sid= {true|false}
        enable_prefix_sid= {true|false}
        enable_sr_label_management= {true|false}
        prefix_range_tlv_percentage= <0-100>
        algorithms= <string>
        sid_label_base= <NUMERIC>
        sid_label_range= <1-16777215>
        sid_label_type= {20bit-Label|32bit-SID}
        node_prefix_sid= <1-16777215>
        node_prefix_sid_flags= {NPBIT|MBIT|EBIT|VBIT|LBIT}
        node_prefix_sid_step= <NUMERIC>
        prefix_sid= <NUMERIC>
        prefix_sid_algorithm= <NUMERIC>
        prefix_sid_flags= {NPBIT|MBIT|EBIT|VBIT|LBIT}
        prefix_sid_step= <NUMERIC>
        anycast_base= <NUMERIC>
        anycast_enabled= {true|false}
        anycast_ipv4_addr= <a.b.c.d>
        anycast_prefix_sid_flags= {NPBIT|MBIT|EBIT|VBIT|LBIT}
        anycast_range= <1-16777215>
        anycast_sid= <NUMERIC>
        te_admin_group= <1-4294967295>
        te_max_bw= <1-2147483647>
        te_max_resv_bw= <1-2147483647>
        te_route_category= {undefined|primary|secondary|unique|any}
        te_metric= <0-4294967295>
        te_unresv_bw_priority0= <1-2147483647>
        te_unresv_bw_priority1= <1-2147483647>
        te_unresv_bw_priority2= <1-2147483647>
        te_unresv_bw_priority3= <1-2147483647>
        te_unresv_bw_priority4= <1-2147483647>
        te_unresv_bw_priority5= <1-2147483647>
        te_unresv_bw_priority6= <1-2147483647>
        te_unresv_bw_priority7= <1-2147483647>
        vci= <0-65535>
        vci_step= <0-65535>
        vlan_cfi= {0|1}
        vlan_id= <0-4095>
        vlan_id_mode= {fixed|increment}
        vlan_id_step= <0-4095>
        vlan_user_priority= <0-7>
        vlan_outer_id= <0-4095>
              vlan_outer_id_mode= {fixed|increment}
              vlan_outer_id_step= <0-4095>
              vlan_outer_user_priority= <0-7>
        vpi= <0-255>
        vpi_step= <0-255>
        tunnel_handle= <GRE_tunnel_handle>
        interface_id= <0-4294967295>
        enable_extended_lsa= {true|false}
        extended_lsa_mode= {none|mixed_mode_originate_only|mixed_mode_originate_spf|full}
        area_extended_lsa_mode= {inherit_global|none|mixed_mode_originate_only|mixed_mode_originate_spf|full}
        advertise_lsa= {reachable_lsas|all_lsas}
        flood_delay= <20-2147483647>
        state_max_load= {true|false}
        guarantee_delivery= {true|false}

Arguments:

area_id
                Identifies the OSPF area to which the router belongs.
                Areas are groups of contiguous networks and attached hosts.
                A network belongs to only one area. Each area has an area
                ID, designated as a.b.c.d. The area ID is NOT an IP address
                although it looks like one. Areas should be kept to a
                maximum of 100 routers. The default area ID is 0.0.0.0.

area_id_step
                The increment between consecutive area IDs when multiple
                emulated OSPF routers are created. The value must be in IPv4
                format. The default value is 0.0.0.1.

area_type
                Specifies the type of area to which the OSPF router belongs
                and sets two option bits: the E bit and the NP bit. If you
                also specify the option_bits argument, the option_bit
                setting overwrites any previous value (the area_type
                argument is processed before the option_bit argument).
                Possible values are::


                 external_capable - An area in which nonAS boundary routers
                     can handle routes to destinations outside of the
                     autonomous system. In an external_capable area,
                     boundary routers will flood the area with ASexternal
                     LSAs describing the external routes. Specifying
                     area_type external capable sets the E bit.

                 stub - An area that does not handle external routes.  AS-
                     external LSAs are not flooded into stub areas, so you
                     cannot redistribute routing data from another protocol
                     into a stub area. Specifying area_type stub clears the
                     E bit.

                 nssa - (not so stubby area) An area that supports NSSA-
                     encoded route information area. It allows external
                     routes to be flooded within the area but does not allow
                     external routes from other areas to enter it.
                     Specifying area_type nssa sets the NP bit.

authentication_mode
                (OSPFv2 only) Specifies the authentication mode for an
                interface. Possible values are::


                 none - No authentication

                 simple - Simple authentication uses a password (key) that is
                     configured on each router and is included in plain text
                     in each OSPF packet originated by that router

                 md5 - MD5 authentication is based on shared secret keys that
                     are configured in all routers in the area

                All OSPF protocol exchanges are authenticated. The
                authentication type is configurable on a perarea basis.

bfd_registration
                Specifies to enable or disable Bidirectional Forwarding
                Detection (BFD) registration. Possible values are 1 (enable)
                and 0 (disable). The default is 0.

count
                Defines the number of OSPF routers to create on the
                interface. Possible values are 1 to <max_int>. The default is 1.

dead_interval
                Specifies the number of seconds after receiving the most
                recent Hello message, at which point neighboring routers
                will declare the emulated router down. Possible values range
                from 1 to 65535. The default is 40 on broadcast networks;
                otherwise, it is 120.

demand_circuit
                Enables the demand circuit bit. Pertains to handling of
                demand circuits (DCs) by the router. Possible values are 0
                and 1. If true (1), sets the DC bit(0x20) in the Options
                field of all LSAs generated.

expand
                Determines whether to expand the specified OSPFv2/OSPFv3 device
                parameters into emulated OSPFv2/OSPFv3 device objects. It is
                used in `scaling` test scenarios.

                When set to true, a list of emulated device handles (handle_list)
                with enabled OSPFv2/OSPFv3 device configurations are created.

                When set to false, only OSPF parameters are configured with no
                handle returned.

gateway_ip_addr
                `Spirent Extension (for Spirent HLTAPI only).`

                Configures the IPv4/IPv6 gateway address of the OSPF router. The
                default for OSPFv2 is 192.85.1.1. The default for OSPFv3 is
                2000:0:0:0:0:0:0:1.

gateway_ip_addr_step
                `Spirent Extension (for Spirent HLTAPI only).`

                Configures the IPv4/IPV6 gateway address step for multiple routers.
                This argument is used with the gateway_ip_addr argument.
                The default for OSPFv2 is 0.0.0.0. The default for OSPFv3 is
                0000::0000

gateway_ipv4_addr
                `Spirent Extension (for Spirent HLTAPI only).`

                Configures the IPv4 gateway address of the OSPFv3 router. The
                default value is 192.85.1.1. It only works when ip_version
                set to 4_6.

gateway_ipv4_addr_step
                `Spirent Extension (for Spirent HLTAPI only).`

                Configures the step value to increment IPv4 gateway addresses for
                multiple OSPFv3 routers. This argument is used with the
                gateway_ipv4_addr argument. The default value is 1. It
                only works when ip_version set to 4_6.

graceful_restart_enable
                `Spirent Extension (for Spirent HLTAPI only).`

                Specifies if OSPF graceful restart is enabled on the
                simulated router. Possible values are 1 (enable Graceful
                Restart) or 0 (disable Graceful Restart). The default is 0.
                Example usage::


                 emulation ospf config mode=create
                    port_handle $p0
                    graceful_restart_enable 1

graceful_restart_type
                `Spirent Extension (for Spirent HLTAPI only).`

                Specifies the graceful restart type. You must set
                graceful_restart_enable to true.
                In OSPFv2, possible values are::


                 none                No graceful restart
                 rfcstandard         Follows RFC 3623
                 llsignalling        LinkLayer Signaling

                The default value is none.

                In OSPFv3, possible values are::


                helper_only          Graceful Restart Helper Only

                The default value is helper_only.

handle
                Specifies the OSPF handle(s) to use.
                This argument is `Mandatory` for modify, delete, enable, disable,
                active, activate, and inactive modes. When mode is create,
                Spirent HLTAPI creates OSPF over the provided device. (Please
                refer to the description of the mode argument for more
                information)

hello_interval
                Specifies the amount of time, in seconds, between Hello
                messages. Possible values range from 1 to 65535. The default
                is 10 on broadcast networks; otherwise, it is 30.

interface_cost
                The metric associated with sending packets over the OSPF
                interface. Possible values range from 1 to 65535. The
                default is 1.

intf_ip_addr
                Specifies the IP address of the interface for the OSPF
                emulated router that will establish an adjacency with the
                DUT. The default for IPv4 is 192.85.1.3. The default for
                IPv6 is 0:0:0:0:0:0:0:0.

intf_ip_addr_step
                Specifies the difference between interface IP addresses of
                consecutive routers when multiple OSPF routers are created.
                The default increment is 1 or 0.0.0.1
                Note: The value can be specified as an integer or a fouroctet
                      format.

intf_prefix_length
                Specifies the prefix length on the emulated router. Possible
                values for IPv4 addresses range from 1 to 32. The default is
                24. Possible values for IPv6 addresses range from 1 to 128;
                the default is 64.

intf_ipv4_addr
                `Spirent Extension (for Spirent HLTAPI only).`

                Specifies the IPv4 address of the interface for the OSPFv3
                emulated router that will establish an adjacency with the
                DUT. The default value is 192.85.1.3. It only works when
                ip_version is 4_6.

intf_ipv4_addr_step
                `Spirent Extension (for Spirent HLTAPI only).`

                Specifies the difference between interface IPv4 addresses of
                consecutive routers when multiple OSPFv3 routers are created. The
                default value is 1. It only works when ip_version set to 4_6.

intf_ipv4_prefix_length
                `Spirent Extension (for Spirent HLTAPI only).`

                Specifies the ipv4 prefix length on the OSPFv3 emulated router.
                Possible values range from 1 to 32. The default value is 24. It
                only works when ip_version set to 4_6.

ip_version
                `Spirent Extension (for Spirent HLTAPI only).`

                Specifies the IP version of OSPFv3. Possible values are 6 and
                4_6. You can create the dual stack for OSPFv3 by set this
                argument to 4_6. The default value is 6.

ipv6_router_id
                `Spirent Extension (for Spirent HLTAPI only).`

                Specifies the IPv6 router ID of the emulated router. The
                value must be in IPv6 format.

ipv6_router_id_step
                `Spirent Extension (for Spirent HLTAPI only).`

                Specifies the difference between IPv6 router IDs when
                multiple emulated routers are created. The value must be in
                IPv6 format.

lsa_refresh_interval
                `Spirent Extension (for Spirent HLTAPI only).`

                Maximum time in seconds between originations of an LSA. Possible
                values range from 10 to 21600. The default value is 1800.

lsa_retransmit_delay
                Specifies the number of seconds between retransmission of
                unacknowledged link state updates. Possible values range
                from 1 to 65535. The default is 5.

mac_address_start
                Initial MAC address of the interfaces created for the OSPF
                configuration. The default is 00:10:94:00:00:02 when
                emulation ospf config is first called. For the second or
                later uses of this function, the default value would increment
                by 00:00:00:00:00:01 based on the MAC address of last router
                created. This argument is `Mandatory` when count is greater than 1.

mac_address_step
                Specifies the step value to generate interface MAC addresses for
                consecutive OSPF routers. The default value is 00:00:00:00:00:01.

md5_key_id
                (OSPFv2 only) Specifies the MD5 key ID to use for MD5
                authentication mode. To use this argument, you must specify
                authentication_mode MD5. Possible values range from 1
                to 255. The default is 1.

mode
                Specifies the action to be performed. Possible values
                are create, modify, delete, disable, enable, active, activate, and
                inactive. There is no default, you must specify a mode.
                The modes are described below::


                 create - Creates an emulated router.
                          When port_handle is provided, Spirent HLTAPI creates
                          one or more emulated routers that are associated
                          with the specified port.  When handle is provided, OSPF
                          will be created over the specified device.

                 modify - Changes the configuration for the OSPF router
                          specified in the handle argument.

                 delete - Deletes the OSPF router specified in the handle
                          argument.

                 disable - Stops the OSPF router specified in the handle
                          argument.

                 enable - Starts the OSPF router specified in the handle.

                 active - Enables the OSPF router specified by the handle
                          argument. You must specify a valid OSPF session handle.

                 activate - Used for `scaling` scenarios.
                            1. Enables OSPFv2/OSPFv3 devices and configures
                               OSPFv2/OSPFv3 parameters for the devices created
                               via interface_config/emulation_device_config(wizard).
                               Requires param_handle value as the input to the
                               handle option.
                            2. Creates devices and enables OSPFv2/OSPFv3 protocol.
                               Requires port_handle and -block_mode options.

                 inactive - Disables the OSPF router specified by the handle
                            argument. You must specify a valid OSPF session
                            handle. The configuration for the router is retained
                            when it is inactive, and it is available as
                            configured, if the router becomes active.

                Note: 1. When handle is provided for the create mode, the following
                         options will be obsoleted::

                            count
                            intf_ip_addr
                            intf_ip_addr_step
                            intf_prefix_length
                            gateway_ip_addr
                            gateway_ip_addr_step
                            loopback_ip_addr
                            loopback_ip_addr_step
                            router_id
                            router_id_step
                            vci
                            vci_step
                            vlan_cfi
                            vlan_id
                            vlan_id_mode
                            vlan_id_step
                            vlan_user_priority
                            vpi
                            vpi_step
                            tunnel_handle
                            vlan_outer_id
                            vlan_outer_id_mode
                            vlan_outer_id_step
                            vlan_outer_user_priority
                            gre_checksum
                            gre_local_ip
                            gre_remote_ip
                            gre_tunnel

                        2. For mode activate, only the following set of options
                           are valid::


                           When handle option is provided::


                            OSPFv2
                             area_id
                             graceful_restart_enable
                             graceful_restart_type
                             network_type
                             router_priority
                             option_bits
                             authentication_mode
                             password
                             md5_key_id

                            OSPFv3
                             area_id
                             network_type
                             router_priority
                             option_bits

                           When port_handle and -block_mode options are provided,
                           requires following options along with above
                           specified options.

                             block_mode
                             block_name_index
                             mac_addr
                             mac_addr_step
                             mac_addr_step_per_port
                             mac_addr_step_per_vlan
                             ip_step_per_port
                             ip_step_per_vlan
                             intf_ipv6_prefix_len
                             ipv6_step_per_port
                             ipv6_step_per_vlan
                             link_local_ipv6_step_per_port
                             link_local_ipv6_step_per_vlan
                             name
                             vlan_user_pri
                             vlan_id_count
                             vlan_outer_id_count
                             vlan_outer_user_pri
                             intf_prefix_len
                             router_id_ipv6
                             router_id_ipv6_step
                             ipv6_router_id_src
                             router_id
                             router_id_step
                             link_local_ipv6_prefix_len
                             link_local_ipv6_addr
                             link_local_ipv6_addr_step
                             gateway_ipv6_addr
                             gateway_ipv6_addr_step
                             intf_ipv6_addr
                             intf_ipv6_addr_step

                           Note: Please refer to the emulation_device_config documentation.

network_type
                Indicates the type of network for the interface. Possible
                values are::


                 broadcast - Indicates that the network is a broadcast
                       network, as in an Ethernet connection. This is the
                       default.

                 ptop - Pointto-point (PTOP). A network formed by a
                       pointto-point link between two routers.

                 native - Specifies that the interface on OSPF session uses the
                       default adjacency implied by the porttype. Use this setting
                       to override the physical link type to emulate a broadcast
                       adjacency over POS, or a pointto-point adjacency over
                       Ethernet.

                The default value is native.

option_bits
                A bit mask that specifies the settings of the Options field
                in Hello packets sent to the DUT. The Options field
                describes the optional OSPF capabilities of the router.
                Section A.2 in RFC 2328 describes the Options field for
                OSPFv2; Section A.2 in RFC 2740 describes the Options field
                for OSPFv3.

                Use hexadecimal for this value. The default for OSPFv2 is
                0x02, which sets the Ebit (binary 00000010). The default
                for OSPFv3 is 0x13.

                The value specified for this argument overwrites the initial
                value specified by area_type and -demand_circuit::


                 V6: 0x01: If this bit is clear, the router/link should be
                           excluded from IPv6 routing calculations.

                 E: 0x02:  External Routing: This bit specifies the way
                           ASexternal-LSAs are flooded.  When this bit is
                           set, the area type is external_capable; when this
                           bit is cleared, the area type is stub.

                 MC: 0x04: Multicast: This bit specifies whether IP multicast
                           datagrams are forwarded.

                 NP: 0x08: NSSA: This bit specifies the handling of Type-7
                           LSAs.

                 EA: 0x10: External Attribute: This bit specifies the
                           router's willingness to receive and forward
                           ExternalAttributes-LSAs. Used only for OSPFv2
                           sessions.

                 R: 0x10:  This bit indicates if the originator is an active
                           router.

                 DC: 0x20: Demand Circuit: This bit specifies the router's
                           handling of demand circuits.

                 O: 0x40:  Opaque: This bit specifies the router's
                           willingness to receive and forward Opaque LSAs as
                           specified in RFC 2370. Used only for OSPFv2
                           sessions.

password
                (OSPFv2 only) Assigns a password that is used by neighboring
                OSPF routers on an area that is using OSPF's simple password
                authentication. The default is "Spirent". To use this
                argument, you must specify authentication_mode simple.
                For OSFPv3, the password for OSPF authentication mode is
                enabled and set to "simple".

port_handle
                Specifies the port on which to create the OSPF router.
                (Please refer to the description of the mode argument
                for more information)

router_id
                Identifies the emulated router. The router ID is a 32bit
                value, represented in dot notation. (It is not an IP
                address.) The default is 192.85.1.3.

router_id_step
                The step size is the increment used to assign IDs to
                routers. Use the router_id_step argument along with the
                router_id and -count arguments to create routers on the
                interface. You must specify a step value when the count
                value is greater than 1.

router_priority
                Sets the priority for the emulated router. OSPF routers use
                the priority to elect the designated and backup designated
                routers. If you do not want the router to act as a
                designated router, set this value to 0. The default is 0
                for broadcast and NBMA networks. For other networks, this
                argument is ignored. For OSPFv2 sessions, if designated
                routers are not supported, this value is always 0. Possible
                values are 0 to 255.

session_type
                Specifies the OSPF version to be emulated. Possible values
                are ospfv2 or ospfv3. The default is ospfv2.

adj_sid
                (OSPFv2 only) Specifies the starting value of the SID or
                label for Extended Link TLV. The default is 9001.

adj_sid_step
                (OSPFv2 only) Specifies the increment value to create subsequent
                SIDs or labels for Extended Link TLV. The default is 1.


enable_adj_sid
                (OSPFv2 only) Specifies whether enable or disable AdjSID for the
                adjacency link. Possible values are described below::


                Value       Description
                true        Enable AdjSID for the adjacency link
                false       Disable AdjSID for the adjacency link

                The default is true

enable_prefix_sid
                (OSPFv2 only) Specifies whether enable or disable PrefixSID
                for IPv4 routes. Possible values are described below::


                Value       Description
                true        Enable PrefixSID for IPv4 routes
                false       Disable PrefixSID for IPv4 routes

                The default is true

enable_sr_label_management
                (OSPFv2 only) Specifies whether enable or disable SR label
                management for Simplified Segment Routing. Possible values
                are described below::


                Value       Description
                true        Enable SR Label Management.
                false       Disable SR Label Management.

                The default is false

prefix_range_tlv_percentage
                (OSPFv2 only) Specifies the percentage of the Extended Prefix
                LSA using Extended Prefix Range TLV.
                Possible values range from 0 to 100. The default is 0.

algorithms
                (OSPFv2 only) Specifies the algorithm to use to calculate
                reachability to other nodes or to prefixes attached to these nodes.
                The default is 0.

sid_label_base
                (OSPFv2 only) Specifies the starting value of the SID or label
                for SID/Label Range TLV. The default is 800000.

sid_label_range
                (OSPFv2 only) Specifies the number of values of the range from
                the starting value defined in the SID/Label Range TLV.
                Possible values range from 1 to 16777215.
                The default is 80000.

sid_label_type
                (OSPFv2 only) Specifies the type of value used, SID or label.
                Possible values are described below::


                    Value          Description
                    20bit-Label   20bit Label.
                    32bit-SID     32bit SID.

                The default is 20bit-Label

node_prefix_sid
                (OSPFv2 only) Specifies the starting value of the SID or index
                for Extended Prefix TLV. The default is 101.

node_prefix_sid_flags
                (OSPFv2 only) Specifies the node prefix SID flags.
                Possible values are described below::


                Value       Description
                NPBIT        NP bit, No PHP.
                MBIT         M bit, Mapping Server.
                EBIT         E bit, ExplicitNull.
                VBIT         V bit, Value/Index.
                LBIT         L bit, Local/Global.

                The default is NPBIT.

node_prefix_sid_step
                (OSPFv2 only) Specifies the increment value to create subsequent
                SIDs or indexes for Extended Prefix TLV. The default is 1.

prefix_sid
                (OSPFv2 only) Specifies the Prefix SID. The default is 11000.

prefix_sid_algorithm
                (OSPFv2 only) Specifies the algorithm to use to calculate
                reachability to other nodes or to prefixes attached to these nodes.
                The default is 0.

prefix_sid_flags
                (OSPFv2 only) Specifies the Prefix SID flags.
                Possible values are described below::


                    Value   Description
                    NPBIT   NP bit, No PHP.
                    MBIT    M bit, Mapping Server.
                    EBIT    E bit, ExplicitNull.
                    VBIT    V bit, Value/Index.
                    LBIT    L bit, Local/Global.

                The default is NPBIT.

prefix_sid_step
                (OSPFv2 only) Specifies the Prefix SID step.
                The default is 1.

anycast_base
                (OSPFv2 only) Specifies the anycast base SID/Label.
                The default is 800000.

anycast_enabled
                (OSPFv2 only) Specifies the enable Anycast or not.
                Possible values are described below::


                    Value   Description
                    true    Enable Anycast.
                    false   Disable Anycast.

                The default value is false.

anycast_ipv4_addr
                (OSPFv2 only) Specifies the anycast IPv4 address.
                The default is 192.1.1.1

anycast_range
                (OSPFv2 only) Specifies the anycast Range Size.
                Possible values range from 1 to 16777215.
                The default is 80000.

anycast_sid
                (OSPFv2 only) Specifies the anycast SID.
                The default is 100.

anycast_prefix_sid_flags
                (OSPFv2 only) Specifies the anycast prefix SID flags.
                Possible values are described below::


                    Value   Description
                    NPBIT    NP bit, No PHP
                    MBIT     M bit, Mapping Server
                    EBIT     E bit, ExplicitNull
                    VBIT     V bit, Value/Index
                    LBIT     L bit, Local/Global

                The default is NPBIT

te_admin_group
                (OSPFv2 only) Specifies the administrative group of the
                traffic engineering link. Possible values range from 1 to
                4294967295. The default is 1.

te_max_bw
                (OSPFv2 only)
                Specifies the maximum bandwidth that can be
                used on the traffic engineering link. Possible values
                range from 1 to 2147483647. The
                default is 100000 bytes per second.

te_max_resv_bw
                (OSPFv2 only) Specifies the maximum bandwidth that may be reserved
                on the traffic engineering link. Possible values range from
                1 to 2147483647. The default is 100000 bytes per second.

te_metric
                (OSPFv2 only) Specifies the link metric for traffic engineering
                purposes. Possible values range from 0 to 4294967295.

te_unresv_bw_priority0
                (OSPFv2 only) Specifies the amount of bandwidth not yet
                reserved at priority level 0. The values corresponds to the
                bandwidth that can be reserved with a setup priority of 0
                through 7. Arranged in ascending order, priority 0 occurs at
                the start of the subTLV and priority 7 at the end. The
                initial values, before any bandwidth is reserved, are all
                set to the value specified for the maximum reservable
                bandwidth (te_max_resv_bw). Each value will be less than or
                equal to the maximum reservable bandwidth. The default is
                100000 bytes per second.

te_unresv_bw_priority1
                (OSPFv2 only) Specifies the amount of bandwidth not yet
                reserved at priority level 1. Possible values range
                from 1 to 2147483647. The default is 100000 bytes per second.


te_unresv_bw_priority2
                (OSPFv2 only) Specifies the amount of bandwidth not yet
                reserved at priority level 2. Possible values
                range from 1 to 2147483647. The default is 100000 bytes
                per second.

te_unresv_bw_priority3
                (OSPFv2 only) Specifies the amount of bandwidth not yet
                reserved at priority level 3. Possible values
                range from 1 to 2147483647. The default is 100000 bytes
                per second.

te_unresv_bw_priority4
                (OSPFv2 only) Specifies the amount of bandwidth not yet
                reserved at priority level 4. Possible values
                range from 1 to 2147483647. The default is 100000 bytes
                per second.

te_unresv_bw_priority5
                (OSPFv2 only) Specifies the amount of bandwidth not yet
                reserved at priority level 5. Possible values
                range from 1 to 2147483647. The default is 100000 bytes
                per second.

te_unresv_bw_priority6
                (OSPFv2 only) Specifies the amount of bandwidth not yet
                reserved at priority level 6. Possible values
                range from 1 to 2147483647. The default is 100000 bytes
                per second.

te_unresv_bw_priority7
                (OSPFv2 only) Specifies the amount of bandwidth not yet
                reserved at priority level 7. Possible values
                range from 1 to 2147483647. The default is 100000 bytes
                per second.

vci
                Specifies the VCI of the first ATM PVC pool. Possible values
                range from 0 to 65535.

vci_step
                Specifies the step size in which the VCI value is
                incremented. Possible values range from 0 to 65535.

vlan_cfi
                Sets the canonical format indicator field in VLAN for the
                emulated router node. Possible values are 0 (Ethernet) and 1
                (Token Ring). The default is 1. If set to 0, it indicates
                the network is Ethernet. If set to 1, it indicates that
                Token Ring and packets are dropped by Ethernet ports.

vlan_id
                The VLAN ID of the first VLAN subinterface. Possible values
                range from 0 to 4095. The default is 1.

vlan_id_mode
                For multiple neighbor configurations, configures the VLAN ID
                mode to "fixed" or "increment." If you set this argument to
                "increment," then you must also specify the vlan_id_step
                argument to indicate the step size.

vlan_id_step
                The step size by which the VLAN value is incremented when
                you set vlan_id_mode to "increment." Possible values range
                from 0 to 4095. You must specify the step when the count
                argument is greater than 1.

vlan_user_priority
                VLAN priority for the VLANs on this port. Possible values
                range from 0 to 7. The default is 1.

vlan_outer_id
                `Spirent Extension (for Spirent HLTAPI only).`

                The outer VLAN ID of VLAN subinterface. Possible values
                range from 0 to 4095. The default is 1. When you use
                vlan_outer_id, you must specify vlan_id.

vlan_outer_id_mode
                `Spirent Extension (for Spirent HLTAPI only).`

                Specifies how Spirent TestCenter assigns VLAN tags to
                packets in the specified outer header when router count
                is greater than 1. Possible values are::


                 fixed  -   The outer VLAN ID is the same for all packets.
                            The fixed outer VLAN ID is the value of the
                            vlan_outer_id argument.

                 increment - For all packets, the outer VLAN tag ID
                             increments by the step specified in the
                             vlan_outer_id_step argument.

vlan_outer_id_step
                `Spirent Extension (for Spirent HLTAPI only).`

                The amount by which to increment the specified outer VLAN ID
                (vlan_outer_id) for subsequent packets. Possible values
                range from 0 to 4095. You must specify this step when
                you specify "increment" for the vlan_outer_id_mode argument.

vlan_outer_user_priority
                `Spirent Extension (for Spirent HLTAPI only).`

                Specifies the VLAN priority to assign to the outer header.
                Possible values range from 0 to 7. The default is 0.

vpi
                Specifies the VPI of the first ATM PVC pool (for an ATM
                connection). Possible values are 0 to 255.

vpi_step
                Specifies the step size in which the VPI value is
                incremented. Possible values are 0 to 255.

tunnel_handle
                Specifies the GRE tunnel handle, an array value, initialized
                by the emulation_gre_config command. The router sends traffic
                through this tunnel.

interface_id
                Specifies to identify an interface on a router. Used in the
                Router, Network, and Link LSAs to describe the link between
                the DUT and the emulated router. Used as the source address
                for OSPFv3 packets to identify the interface advertising the
                routes. Possible values range from 0 to 4294967295.
                The default value is 0.

enable_extended_lsa
                Specifies to enable or disable OSPFv3 Extended LSAs related
                functions on the device. Possible values are true and
                false. The default is false.

extended_lsa_mode
                Specifies the OSPFv3 extended LSA mode. You must set
                enable_extended_lsa to true.
                Possible values are::


                 none                            Legacy LSAs are originated
                                                 and sent out

                 mixed_mode_originate_only       Extended and Legacy LSAs are
                                                 originated and sent out

                 mixed_mode_originate_spf        Extended and Legacy LSAs are
                                                 originated and sent out

                 full                            Extended LSAs are originated and
                                                 sent out

                The default value is full.

area_extended_lsa_mode
                Specifies the OSPFv3 area extended LSA mode. You must set
                enable_extended_lsa to true.
                Possible values are::


                 inherit_global                  Area Extended LSA support is
                                                 inherited from Extended LSA support

                 none                            Legacy link and area scoped
                                                 LSAs are originated and sent out

                 mixed_mode_originate_only       Extended and Legacy link and area
                                                 scoped LSAs are originated and
                                                 sent out

                 mixed_mode_originate_spf        Extended and Legacy link and area
                                                 scoped LSAs are originated and
                                                 sent out

                 full                            Extended link and area scoped LSAs
                                                 are originated and sent out

                The default value is inherit_global.

advertise_lsa
                Specifies which LSAs this emulated OSPFv3 router advertises.
                Possible values are::


                 reachable_lsas                  The router advertises only the routers
                                                 it can reach through the simulated topology

                 all_lsas                        The router advertises all LSAs in the area

                The default value is all_lsas.

flood_delay
                Specifies the flood interval (in milliseconds) that controls
                the rate at which LSAs are generated by each emulated OSPFv3
                router (that is, interLSA delay). Possible values range
                from 20 to 2147483647. The default value is 100.

state_max_load
                Specifies to request all LSAs from the DUT during the database
                exchange process. This exerts the maximum possible load on the
                DUT. Possible values are true and false. The default is false.

guarantee_delivery
                Determines how LSA configuration changes are handled.
                Possible values are::


                 true                    Protocol will transmit LSA configuration
                                         changes in one or more LS Update packets.
                                         The protocol will wait for acknowledgment
                                         or the Retransmit Interval before sending
                                         the next packet.

                 false                   Protocol will transmit LSA configuration
                                         changes in one or more LS Update packets
                                         separated by the interval defined in the
                                         Flood Delay field. The protocol will not
                                         wait for acknowledgment before sending
                                         the next packet.

                The default value is false.

Arguments Unsupported by Save as HLTAPI:

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


  handle
  area_id_step
  count
  mac_address_start
  mac_address_step
  intf_ip_addr_step
  gateway_ip_addr_step
  router_id_step

Vendor Specific Arguments Processed by Spirent HLTAPI Wrapper:

mac_address_init
The MAC address that will be configured on the Spirent TestCenter interface
neighbor_intf_ip_addr
The IP address of the DUT OSPF interface. The default value is 0.0.0.0 for OSPFv2, or 0:0:0:0::0 for OSPFv3.
neighbor_intf_ip_addr_step
Step that will be used for incrementing the neighbor_intf_ip_addr option. The default value is 0.0.0.0 for OSPFv2, or 0:0:0:0::0 for OSPFv3.
loopback_ip_addr
Defines the IP address of the loopback interface for MPLS VPN testing. The default value is 0.0.0.0.
loopback_ip_addr_step
IP address step of the loopback interface for MPLS VPN. The default value is 0.0.0.0.
interface_handle
A handle or a list of the handles that are returned from the interface_config call.

Vendor Specific Arguments Ignored by Spirent HLTAPI Wrapper:

     lsa_discard_mode
     mtu
     reset
     validate_received_mtu
     vlan
     neighbor_router_id

Note: For more information about Spirent HLTAPI Wrapper, refer to Chapter 4
      Spirent HLTAPI Wrapper in Spirent HLTAPI Programmer's Reference.
Ciscospecific Arguments:

The following attributes are specific to the Cisco HLTAPI but are not Supported by Spirent HLTAPI:

gre_checksum
gre_local_ip
gre_remote_ip
gre_tunnel
host_route
instance_id
instance_id_step
int_msg_exchange
loopback_ip_addr
loopback_ip_addr_step
lsa_discard_mode
max_lsas_per_pkt
md5_key
mtu
neighbor_dr_eligibility
neighbor_intf_ip_addr
neighbor_intf_ip_add_step
neighbor_router_id
neighbor_router_id_step
poll_interval
te_enable
te_router_id
transmit_delay
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(s) of the OSPF router returned by the
                ``emulation ospf config`` mode=
                create to create a new OSPF router. When you want to modify
                or delete the OSPF router, you specify the handle as the
                value to the handle argument.

handle_list     A list of emulated devices enabled with OSPF routers created by the
                ``emulation ospf config`` function when expand is set true.

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

log
                An error message (if the operation failed).
Description:

The emulation ospf config function creates, enables, modifies, deletes, or disables an emulated OSPF router. Use the mode argument to specify the action to perform. (See the mode argument description for information about the actions.)

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

In addition to specifying the port handle (port_handle), you must also provide the following arguments when you create an OSPF router:

intf_ip_addr
mode create
router_id
area_type
area_id
network_type

When you create an OSPF router, Spirent HLTAPI creates the router in memory and downloads the configuration to the card. To start the router, use the emulation ospf control mode=start. OSPF communication begins with a discovery phase in which routers transmit Hello packets to identify themselves. Through the reception of Hello packets from other routers, a router discovers its neighbors. Two routers become neighbors by agreeing on the following criteria:

  • The connecting interfaces of the router are in the same area (Area ID)
  • The routers use the same type of authentication
  • How often they will exchange Hello packets to maintain the neighbor relationship
  • How long they will wait to hear from a neighbor before it is declared dead
  • The Stub Area Flag

On pointto-point and broadcast networks, the router discovers neighbors by sending Hello packets to the IP multicast address 224.0.0.5. On broadcast and nonbroadcast, multi-access (NBMA) networks the Hello Protocol also elects a Designated Router (DR).

Once you start sessions, Spirent HLTAPI handles all of the message traffic for the emulated routers. During the test, use the emulation ospf control start=individual routers. After you have created the routers for your test, use the emulation ospf lsa config function to set up link state advertisements.

Examples:

The following example creates an OSPFv2 router on the specified port:

emulation ospf config
       port_handle= $port(1)
       intf_ip_addr= 134.231.242.112
       hello_interval= 1
       router_priority= 10
       session_type= ospfv2
       gateway_ip_addr= 134.231.242.2
       area_id= 10.01.12.24
       mode= create

The above example produced the following output:

{{handle ospfv2routerconfig1} {status 1}}

The following example creates an OSPFv3 router on the specified port:

emulation ospf config
     mode= create
     port_handle= $port(1)
     area_id= 10.01.12.24
     intf_ip_addr= 2000::2
     hello_interval= 1
     router_priority= 10
     session_type= ospfv3
     intf_prefix_length= 27

The above example produced the following output:

{{handle ospfv3routerconfig1} {status 1}}

The following example creates an OSPFv3 router on the specified port when ip_version is 4_6:

set device_ret0 [emulation ospf config
            mode=                                             create
            ip_version=                                       4_6
            session_type=                                     ospfv3
            network_type=                                     ptop
            option_bits=                                      0x13
            port_handle=                                      $port1
            hello_interval=                                   10
            lsa_retransmit_delay=                             5
            instance_id=                                      0
            router_priority=                                  0
            dead_interval=                                    40
            interface_cost=                                   1
            area_id=                                          0.0.0.0
            intf_ip_addr=                                     2001::2
            gateway_ip_addr=                                  2001::3
            intf_prefix_length=                               64
            router_id=                                        192.0.0.1
            mac_address_start=                                00:10:94:00:00:01
            intf_ipv4_addr=                                   192.85.1.3
            intf_ipv4_prefix_length=                          24
            gateway_ipv4_addr=                                192.85.1.4
        ]

The above example produced the following output:

{{handle ospfv3routerconfig1} {status 1}}

The following example enables OSPF over a provided device:

puts "Config LDP--------------------"
set routerStatus [emulation ldp config mode=           create
                            port_handle=              $port1Handle
                            intf_ip_addr=             13.25.0.2
                            loopback_ip_addr=         13.25.0.1 \
                            gateway_ip_addr=          13.25.0.1
                            remote_ip_addr=           13.25.0.2 \
                            graceful_recovery_timer=  55
                            keepalive_interval=       56
                            reconnect_time=           57
                            recovery_time=            58
                            egress_label_mode=        exnull
                            label_adv=                on_demand
                            bfd_registration=         1
                            ]
puts "LDP:  $routerStatus"
keylget routerStatus handle router

puts "Config OSPF--------------------"
set routerStatus [emulation ospf config
                            mode=                  create
                            handle=                $router
                            session_type=          ospfv2
                            area_id=               0.0.0.0
                            network_type=          ptop
                            count=                 1
                            router_priority=       0
                            interface_cost=        1
                            lsa_retransmit_delay=  5
                            dead_interval=         40
                            area_type=             stub
                            demand_circuit=        1
                            te_max_bw=             5000
                            te_admin_group=        5000
                            option_bits=           0x24
                            bfd_registration=      1
                          ]
puts "OSPF:  #$routerStatus"

Sample output for example shown above:

Config LDP--------------------
LDP:  {handle router1} {handles router1} {status 1}
Config OSPF --------------------
OSPF: {session_router ospfv2routerconfig1} {handle router1}
     {handles router1} {status 1}

Sample input for scaling mode with handle= option:

set hnd [keylget int_ret0 param_handle]
# param_handle returned from interface config
puts "Param List: $int_ret0"

# OSPF devices
set rtn [emulation ospf config
    mode=                    activate
    handle=                  "$hnd"
    session_type=            ospfv2
    authentication_mode=     none
    network_type=            broadcast
    router_priority=         1
    area_id=                 0.0.0.0
    graceful_restart_enable= 0
    graceful_restart_type=   none
    expand=                  true]

Sample Output:

{handle_list {emulateddevice1 emulateddevice2 emulateddevice3 emulateddevice4}}
{ospfv2_handle_list {ospfv2routerconfig1 ospfv2routerconfig2 ospfv2routerconfig3
ospfv2routerconfig4}} {ospfv3_handle_list {}} {handle {}} {handles {}} {status 1}

Sample input for scaling mode(activate) with expand, port_handle and block_mode= options:

# OSPF devices
 set ospf_ret [emulation ospf config
          mode=                           activate
          port_handle=                    $port1
          count=                          5
          block_mode=                     ONE_DEVICE_PER_BLOCK
          block_name_index=               1
          session_type=                   ospfv2
          intf_ip_addr=                   10.10.10.2
          authentication_mode=            none
          network_type=                   broadcast
          router_priority=                1
          area_id=                        0.0.0.0
          graceful_restart_enable=        0
          graceful_restart_type=          none
          expand=                         true
        ]

Sample Output:

{param_handle emulateddevicegenparams1} {status 1} {handle_list {emulateddevice21
emulateddevice22 emulateddevice23 emulateddevice24 emulateddevice25}} {ospfv2_handle_list
{ospfv2routerconfig1 ospfv2routerconfig2 ospfv2routerconfig3 ospfv2routerconfig4
ospfv2routerconfig5}} {ospfv3_handle_list {}} {handle {}} {handles {}}

emulation ospf control

Execute Tester Command ${rt_handle} command=test_control <additional key=value arguments>

Purpose:
Starts, stops, and controls flapping operations on an OSPF router. You can also use this function to withdraw a route or an LSA handle and to control route flapping.

Synopsis:

Note: M indicates the argument is `Mandatory`.

      emulation ospf control
           mode= {advertise|establish|flap|start|stop|restart|stop_hellos|
                  resume_hellos|restore|shutdown}  M]
           handle= <router_handle>
           port_handle= <port_handle>
           flap_lsa= {list of LSA handles} |
           flap_routes= {list of topology_elem_handles}
             flap_count= <int eger>
             flap_down_time= <integer>
             flap_interval_time= <integer>
           age_lsa=  {list of LSA handles}
           readvertise_lsa= {list of LSA handles}
           withdraw_lsa= {list of LSA handles}
           advertise= {list of topology_elem_handles}
           withdraw= {list of topology_elem_handles}

Arguments:

advertise
                Not supported in this release.
                Advertises LSAs for topology elements.

age_lsa
                Specifies a list of LSA handles for which to withdraw the
                advertised LSA. For example::


                 ::emulation ospf control age_lsa=$hOspfLsaList.

readvertise_lsa
                Specifies the list of LSA handles to readvertise. For example:
                emulation ospf control readvertise_lsa=$hOspfLsaList

flap_count
                Specifies the number of flaps for each LSA handle specified in
                the flap_lsa argument and/or for each route handle specified by
                the flap_route argument. Each flap includes one advertise and
                one withdraw operation. When you want to perform multiple
                flapping operations, you can define this argument.

flap_down_time
                During a flapping operation, specifies the period (in
                seconds) during which the LSAs or routes are withdrawn from
                their neighbors. The default is 60 seconds.

flap_interval_time
                During a flapping operation, the time (in seconds) between
                flap cycles. The default is 60 seconds.

flap_lsa
                A list of LSAs on which to perform flapping operations. When
                the mode argument is set to "flap" (mode flap), you must
                also specify either the flap_lsa or flap_routes argument.

flap_routes
                Not supported in this release.
                Perform periodic route flapping on topology elements. When
                the mode argument is set to "flap" (mode flap), you must
                also specify either the flap_lsa or flap_routes argument.

handle
                Identifies the router handle, returned from the
                ``emulation ospf config`` function when creating an OSPF
                router.

mode
                Specifies the action to be taken. Possible values are start,
                stop, or restart the OSPF router, This argument is
                `Mandatory`. The modes are described below::

                 start - Starts the OSPF router with the specified handle
                        (handle), or starts all of the OSPF routers associated
                        with the port specified with port_handle.

                 stop - Stops the OSPF router with the specified handle
                        (handle), or stops all of the OSPF routers associated
                        with the port specified with port_handle.

                 restart - Stops the OSPF router with the specified handle
                        (handle) and then starts it again, or stops and then
                        restarts all OSPF routers associated with the port
                        specified with port_handle. This is not a graceful
                        restart.

                 flap - Enables flapping on the LSA handles specified in the
                        flap_lsa argument and/or for each route handle specified by
                        the flap_route argument. This attribute withdraws the
                        routes or LSAs for the time defined by flap_down_time and
                        then readvertises the routes or LSAs for the time defined by
                        flap_interval_time.

                        If you specify "flap" for the mode argument without
                        defining flap_count, Spirent TestCenter will perform the
                        flapping operation only once. If you define flap_count
                        while you specify mode flap, Spirent TestCenter will
                        perform the flapping operation the number of times defined
                        in the flap_count argument.

                        For example, if there is an OSPF session handle ospf_handle1
                        and an LSA handle lsa_handle1, a 100time flapping of this
                        LSA can be processed by calling the following command::


                         set cmdStatus [emulation ospf control mode=  flap
                                       handle              ospf_handle1
                                       flap_lsa            lsa_handle1
                                       flap_interval_time  300
                                       flap_down_time      30
                                       flap_count          100

                 advertise -  Advertises routes on specified routers after
                              OSPF has been established

                 establish -  Establishes OSPF without advertising routes on
                              the router specified by handle, or
                              on all routers associated
                              with the port specified with port_handle

                 stop_hellos -  Stops sending OSPF Hello packets on the OSPF
                                router with the specified handle (handle), or
                                on all OSPF routers associated
                                with the port specified with port_handle

                 resume_hellos - Resumes sending Hello packets on the OSPF
                                 router with the specified handle (handle), or
                                 on all OSPF routers associated
                                 with the port specified with port_handle

                 restore   -  Restores router commands on the OSPF
                              router with the specified handle (handle), or
                              on all OSPF routers associated
                              with the port specified with port_handle


                 shutdown  -  Shuts down router commands on the OSPF
                              router with the specified handle (handle), or
                              on all OSPF routers associated
                              with the port specified with port_handle

port_handle
                Specifies the handle for the port to be controlled. That is,
                the port on which all OSPF routers should be started,
                stopped, or restarted.

withdraw
                Not supported in this release.

withdraw_lsa
                Specifies the list of LSA handles to withdraw.
Ciscospecific Arguments:

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

advertise_lsa
Return Values:

Depending on the specific language that HLTAPI uses, the function returns a keyed list/dictionary/hash (See Introduction for more information on return value formats) using the following keys (with corresponding data):

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

The emulation ospf control function controls the starting and stopping of OSPF routers as well as withdrawing LSAs.

Note: Because Spirent HLTAPI advertises only at the router level, not at
the LSA level, all (both specified and unspecified) LSAs associated with the specified LSA’s router(s) will be readvertised.

Examples:

To start an OSPF router:

emulation ospf control
     mode= start
     handle= Ospfv2RouterConfig1

To stop an OSPF router:

emulation ospf control mode=stop handle Ospfv2RouterConfig1

To restart an OSPF router:

emulation ospf control mode=restart handle Ospfv2RouterConfig1

Sample Output:

{status 1}

emulation ospf lsa config

Execute Tester Command ${rt_handle} command=test_control <additional key=value arguments>

Purpose:
Creates, modifies, or deletes a Link State Advertisement (LSA). When you add a route (see description for mode), Spirent HLTAPI returns the LSA handle in a keyed list with “lsa_handles” as the key.

Synopsis:

Note: M indicates the argument is `Mandatory`.

     emulation ospf lsa config
        mode= {create|reset|modify|delete} M
        handle= <router_handle>
        lsa_handle= <lsa_handle>
        adv_router_id= <a.b.c.d>
        link_state_id= <a.b.c.d>|<0-65535>
        ls_age= <0-3600>
        ls_checksum= {good|bad}
        ls_seq= <0 - 0xffffffff>
        options= <hexadecimal>
        session_type= {ospfv2|ospfv3}
        return_details= {0|1}
        type= asbr_summary
           asbr_summary_route_category=  {undefined|primary|secondary|unique|any}
        type= ext_pool
           external_number_of_prefix=  <numeric>
           external_prefix_forward_addr= <a.b.c.d>|<a:b:c:d:e:f:g:h>
           external_prefix_length= <1-128>
           external_prefix_metric= <1-16777215>
           external_prefix_start= <a.b.c.d>|<a:b:c:d:e:f:g:h>
           external_prefix_step= <integer>
           external_prefix_type=  {{1|2}|{0|1} }
           external_prefix_route_category= {undefined|primary|secondary|unique|any}
        type= network
           attached_router_id= <a.b.c.d>
           net_attached_router= {create|delete|reset}
           net_prefix_length= <1-128>
           net_route_category= {undefined|primary|secondary|unique|any}
           network_route_category=  {undefined|primary|secondary|unique|any}
         type= nssa_ext_pool
           nssa_number_of_prefix= <numeric>
           nssa_prefix_forward_addr= <a.b.c.d>|<a:b:c:d:e:f:g:h>
           nssa_prefix_length=  <1-128>
           nssa_prefix_metric=  <1-16777215>
           nssa_prefix_start= <a.b.c.d>|<a:b:c:d:e:f:g:h>
           nssa_prefix_step=    <numeric>
           nssa_prefix_type=    {{1|2}|{0|1} }
           nssa_prefix_route_category=  {undefined|primary|secondary|unique|any}
         type= router
           ls_route_category=  {undefined|primary|secondary|unique|any}
           router_abr= {0|1}
           router_asbr= {0|1}
           router_link_data= <a.b.c.d>
           router_link_id=  <a.b.c.d>
           router_link_step= <a.b.c.d>
           router_link_count= <numeric>
           router_link_count_per_router= <numeric>
           router_link_neighbor_if_id= <numeric>
           router_link_idx=  <numeric>
           router_link_metric=  <1-65535>
           router_link_mode= {create|delete|reset}
           router_link_type= {ptop|transit|stub|virtual}
           router_virtual_link_endpt= {0|1}
           router_route_category= {undefined|primary|secondary|unique|any}
         type= summary_pool
           summary_number_of_prefix= <numeric>
           summary_prefix_length= <1-128>
           summary_prefix_metric= <1-65535>
           summary_prefix_start= <a.b.c.d>|<a:b:c:d:e:f:g:h>
           summary_prefix_step=   <numeric>
           summary_route_category= {undefined|primary|secondary|unique|any}
        type=  intra_area_prefix
           intra_area_adv_router_id= <a.b.c.d>
           intra_area_age= <0-3600>
           intra_area_checksum= <good|bad>
           intra_area_link_state_id= <NUMERIC>
           intra_area_seq_num= <0-0xffffffff>
           intra_area_prefix_start= <IPv6>
           intra_area_prefix_step=  <NUMERIC>
           intra_area_number_of_prefix=  <NUMERIC>
           intra_area_prefix_length=  <1-128>
           intra_area_prefix_metric=  <0-65535>
           intra_area_prefix_options= <nubit|labit|mcbit|pbit|unused4|unused5|unused6|unused7>
           intra_area_route_category= <undefined|primary|secondary|unique|any>
           intra_area_ref_ls_type= <0-9999>
           intra_area_ref_link_state_id= <NUMERIC>
           intra_area_ref_advertising_router_id=  <a.b.c.d>
         type= opaque_type_10
           te_tlv_type= link
           te_link_id= <a.b.c.d>
           te_link_type= {ptop|multiaccess}
           te_tlv_type= router
           te_router_addr= <a.b.c.d>
           te_instance_id= <instance of TE LSA>
           te_metric= <0-2147483647>
           te_local_ip= <a.b.c.d>
           te_remote_ip= <a.b.c.d>
           te_admin_group= <1-4294967295>
           te_max_bw= <1-2147483647>
           te_max_resv_bw= <1-2147483647>
           te_unresv_bw_priority0= <1-2147483647>
           te_unresv_bw_priority1= <1-2147483647>
           te_unresv_bw_priority2= <1-2147483647>
           te_unresv_bw_priority3= <1-2147483647>
           te_unresv_bw_priority4= <1-2147483647>
           te_unresv_bw_priority5= <1-2147483647>
           te_unresv_bw_priority6= <1-2147483647>
           te_unresv_bw_priority7= <1-2147483647>
       type= router_info
           router_info_adv_router_id= <a.b.c.d>
           router_info_age= <0-3600>
           router_info_checksum=  {good|bad}
           router_info_seq_num= <hex>
           router_info_instance= <integer>
           router_info_route_category= {undefined|primary|secondary|unique|any}
           router_info_opaque_type= {traffic_engineering|router_information|extended_prefix|extended_link}
           router_info_options= {tbit|ebit|mcbit|npbit|eabit|dcbit|obit|unused7}
           router_info_scope= {link_local|area_local|area_system_wide}
        type= extended_prefix
           extended_prefix_adv_router_id= <a.b.c.d>
           extended_prefix_age= <0-3600>
           extended_prefix_checksum= <good|bad>
           extended_prefix_seq_num= <hex>
           extended_prefix_instance= <integer>
           extended_prefix_options= {tbit|ebit|mcbit|npbit|eabit|dcbit|obit|unused7}
           extended_prefix_scope= {link_local|area_local|area_system_wide}
        type= extended_link
           extended_link_adv_router_id= <a.b.c.d>
           extended_link_age=  <0-3600>
           extended_link_checksum=  {good|bad}
           extended_link_seq_num=   <hex>
           extended_link_instance= <integer>
           extended_link_opaque_type= {traffic_engineering|router_information|extended_prefix|extended_link}
           extended_link_route_category= {undefined|primary|secondary|unique|any}
           extended_link_options= {tbit|ebit|mcbit|npbit|eabit|dcbit|obit|unused7}
           extended_link_scope= {link_local|area_local|area_system_wide}

Arguments:

asbr_summary_route_category
                `Spirent Extension (for Spirent HLTAPI only).`

                Specifies the route type. This argument is available when the
                route type is asbr_summary. Possible values are described below::


                 Value           Description
                 undefined       Undefined. The default category assigned to a
                                 manually created block
                 primary         Primary. A preferred route that has
                                 duplicates (secondary routes)
                 secondary       Secondary. A less preferred backup route
                 unique          Unique. Indicates that a single port in the test
                                 configuration advertises this route
                 any             Any route

                The default value is undefined.

adv_router_id
                Specifies the OSPF router ID of the LSA's originator.
                (the Advertising Router field in the LSA header). The
                default is 0.0.0.0. For router LSAs, this value is identical
                to the Linkstate ID value. For network LSAs, this value is
                originated by the designated router. For summary LSAs, this
                value is originated by area border routers. For
                external/NSSA LSAs, this value is originated by AS boundary
                routers.

extended_link_adv_router_id
                `Spirent Extension (for Spirent HLTAPI only).`

                Router ID of the simulated router that will advertise this
                Opaque/TE LSA. The default is the IPv4 address from the router
                interface. See the description in type for more information on
                the LSA.

extended_link_age
                `Spirent Extension (for Spirent HLTAPI only).`

                Age of the Extended Link Opaque LSA, in seconds. This field is
                examined if a router receives two instances of an LSA with
                identical LS Sequence Numbers and LS Checksums. The value is 0
                when the LSA is originated. The default value is 0.

extended_link_checksum
                `Spirent Extension (for Spirent HLTAPI only).`

                Specifies whether the Extended Link Opaque LSA will be advertised
                with a good or bad checksum. Possible values are good and bad.
                The default is good.

extended_link_seq_num
                `Spirent Extension (for Spirent HLTAPI only).`

                Initial value of the LS sequence number in an Extended Link
                Opaque LSA header. It is used to detect old and duplicate LSAs.
                The larger the sequence number, the more recent the LSA.
                Possible Values range from 0 to 0xffffffff. The default value is
                0x80000001.

extended_link_instance
                `Spirent Extension (for Spirent HLTAPI only).`

                Specifies the router's OSPF instance for the Extended Link Opaque LSA.
                Not currently used by OSPFv2. The default value is 1.

extended_link_opaque_type
                `Spirent Extension (for Spirent HLTAPI only).`

                Specifies the Opaque Type. Possible values are::


                    Value                   Description
                    traffic_engineering     Opaque Type is traffic_engineering
                    router_information      Opaque Type is router_information
                    extended_prefix         Opaque Type is extended_prefix
                    extended_link           Opaque Type is extended_link

                The default is traffic_engineering

extended_link_route_category
                `Spirent Extension (for Spirent HLTAPI only).`

                Specifies the route category. This argument is available when the
                route type is extended_link. Possible values are described below::


                 Value           Description
                 undefined       Undefined. The default category assigned to a
                                 manually created block
                 primary         Primary. A preferred route that has
                                 duplicates (secondary routes)
                 secondary       Secondary. A less preferred backup route
                 unique          Unique. Indicates that a single port in the test
                                 configuration advertises this route
                 any             Any route


                The default is undefined.

extended_link_options
                `Spirent Extension (for Spirent HLTAPI only).`

                Specifies the 8bit field of capabilities advertised with each
                prefix of the Extended Link Opaque LSA.
                Possible values are described below::


                 tbit      Type of Service
                 ebit      Describes the way ASExternal LSAs are flooded
                 mcbit     Specifies whether IP multicast datagrams are forwarded
                 npbit     Specifies the handling of Type 7 LSAs
                 eabit     Specifies the router's willingness to receive and forward
                           ExternalAttributes LSAs
                 dcbit     Specifies the router's handling of demand circuits
                 obit      Specifies the router's willingness to receive and forward
                           Opaque LSAs used for OSPF traffic engineering (OSPFTE)
                           extensions
                 unused7   Not used

extended_link_scope
                `Spirent Extension (for Spirent HLTAPI only).`

                Specifies the flooding scope of the Extended Link Opaque LSA.
                Possible values are described below::


                 link_local          Type-9 Opaque LSA. Not flooded beyond the
                                     local (sub)network
                 area_local          Type-10 Opaque LSA. Not flooded beyond the
                                     borders of the associated area
                 area_system_wide    Type-11 Opaque LSA. The LSA is flooded
                                     throughout the Autonomous System (AS)

                The default value is area_local.

extended_prefix_adv_router_id
                `Spirent Extension (for Spirent HLTAPI only).`

                Router ID of the simulated router that will advertise this
                Opaque/TE LSA. The default is the IPv4 address from the router
                interface. See the description in type for more information on
                the LSA.

extended_prefix_age
                `Spirent Extension (for Spirent HLTAPI only).`

                Age of the Extended Prefix Opaque LSA, in seconds. This field is
                examined if a router receives two instances of an LSA with
                identical LS Sequence Numbers and LS Checksums. The value is 0
                when the LSA is originated. The default is 0.

extended_prefix_checksum
                `Spirent Extension (for Spirent HLTAPI only).`

                Specifies whether the Extended Prefix Opaque LSA will be advertised
                with a good or bad checksum. Possible values are good and bad.
                The default is good.

extended_prefix_seq_num
                `Spirent Extension (for Spirent HLTAPI only).`

                Initial value of the LS sequence number in an Extended Prefix
                Opaque LSA header. It is used to detect old and duplicate LSAs.
                The larger the sequence number, the more recent the LSA. Possible
                Values range from 0 to 0xffffffff. The default is 0x80000001.

extended_prefix_instance
                `Spirent Extension (for Spirent HLTAPI only).`

                Specifies the router's OSPF instance for the Extended Prefix
                Opaque LSA. Not currently used by OSPFv2. The default is 1.

extended_prefix_options
                `Spirent Extension (for Spirent HLTAPI only).`

                8bit field of capabilities advertised with each prefix of the
                Extended Prefix Opaque LSA.
                Possible values are described below::


                 tbit      Type of Service
                 ebit      Describes the way ASExternal LSAs are flooded
                 mcbit     Specifies whether IP multicast datagrams are forwarded
                 npbit     Specifies the handling of Type 7 LSAs
                 eabit     Specifies the router's willingness to receive and forward
                           ExternalAttributes LSAs
                 dcbit     Specifies the router's handling of demand circuits
                 obit      Specifies the router's willingness to receive and forward
                           Opaque LSAs used for OSPF traffic engineering (OSPFTE)
                           extensions
                 unused7   Not used

extended_prefix_scope
                `Spirent Extension (for Spirent HLTAPI only).`

                Specifies the flooding scope of the Extended Prefix Opaque LSA.
                Possible values are described below::


                 link_local          Type-9 Opaque LSA. Not flooded beyond the
                                     local (sub)network
                 area_local          Type-10 Opaque LSA. Not flooded beyond the
                                     borders of the associated area
                 area_system_wide    Type-11 Opaque LSA. The LSA is flooded
                                     throughout the AS

                The default value is area_local.

external_number_of_prefix
                Specifies the number of routes in a Type 5 external pool LSA. Use
                this argument only if you specified type ext_pool.

external_prefix_forward_addr
                Specifies the forwarding IP address for a Type 5 external pool
                LSA. Use this argument only if you specified type ext_pool. The
                default for IPv4 is 0.0.0.0, and the default for IPv6 is
                0:0:0:0:0:0:0:0.

external_prefix_length
                Specifies the number of leading bits which form the network
                part of an IP address for a Type 5 external pool LSA. Use
                this argument only if you specified type ext_pool. Possible
                values for IPv4 addresses range from 1 to 32; the default is 24.
                Possible values for IPv6 addresses range from 1 to 128; the default
                is 64.

external_prefix_metric
                Specifies a metric value for a Type 5 external pool LSA. Use
                this argument only if you specified type ext_pool. Possible
                values range from 1 to 16777215.

external_prefix_start
                Specifies the starting IP address for a Type 5 external pool
                LSA. Use this argument only if you specified type ext_pool. The
                default for IPv4 is 0.0.0.0 and the default for IPv6 is
                0:0:0:0:0:0:0:0.

external_prefix_step
                Specifies the amount by which to increment the network part of the
                first IP address to generate subsequent IP addresses belonging to
                different routes for a Type 5 external pool LSA. Use this
                argument only if you specified type ext_pool.

external_prefix_type
                Specifies the type of external pool LSA metric by
                setting the E bit in the LSA header. For OSPFv2, possible values
                are 1 and 2. Specify 1 for type 1 (internal cost is added to
                external cost) or 2 for type 2 (external cost only). For OSPFv3,
                possible values are 0 (Metric is expressed in the same units as
                interface cost.) and 1 (Metric is considered larger than any
                intraAS path). The default is 1. Use this argument only if you
                specified type ext_pool.

external_prefix_route_category
                `Spirent Extension (for Spirent HLTAPI only).`

                Specifies the route type. This argument is available when the
                route type is ext_pool. Possible values are described below::


                 Value           Description
                 undefined       Undefined. The default category assigned to a
                                 manually created block
                 primary         Primary. A preferred route that has
                                 duplicates (secondary routes)
                 secondary       Secondary. A less preferred backup route
                 unique          Unique. Indicates that a single port in the test
                                 configuration advertises this route
                 any             Any route

                The default value is undefined.

handle
                Identifies the OSPF router on which the LSA is created.

intra_area_adv_router_id
                Specifies the simulated router that will advertise IntraArea
                Prefix LSAs. The value must be in IPv4 format. The default is
                0.0.0.0.

intra_area_link_state_id
                LSA identifier, chosen arbitrarily by the advertising router.
                The default value is 0.

intra_area_age
                Initial value of the LS Age in an IntraArea Prefix LSA header.
                The default value is 0.

intra_area_checksum
                Determines whether the IntraArea Prefix LSA will be advertised
                with a good or a bad checksum. A bad checksum indicates a
                corrupted LSA and is used for negative testing.
                Possible values are GOOD and BAD. The default is GOOD.

intra_area_seq_num
                Initial value of the LS sequence number in an IntraArea Prefix
                LSA header. This value must be in hexadecimal format. The default
                is 0x80000001.

intra_area_prefix_start
                Specifies the starting IPv6 address. The default value is
                2000::1.

intra_area_prefix_step
                Specifies the amount by which to increment the network part
                of the first IPv6 address to generate subsequent IPv6 addresses.
                The default value is 1.

intra_area_number_of_prefix
                Specifies the number of routes. The default value is 1.

intra_area_prefix_length
                Specifies the number of leading bits which form the network
                part of an IP address. Possible values range from 1 to 128.
                The default value is 64.

intra_area_prefix_metric
                Specifies a metric value for a type 9 IntraArea Prefix LSA.
                Possible values range from 0 to 65535. The default value is 1.

intra_area_prefix_options
                8bit field of capabilities advertised with each prefix.
                Possible values are described below::


                 Value      Description

                 NUBIT       NU (NU, Bit 1): No unicast capability bit. If set,
                             the prefix is excluded from IPv6 unicast
                             calculations.
                 LABIT       LA (LA, Bit 0): Local Address capability bit. If
                             set, the prefix becomes an IPv6 interface address
                             of the advertising router.
                 MCBIT       Multicast (MC, Bit 2):  Multicast capability bit.
                             If set, the prefix is included in the IPv6
                             multicast calculations.
                 PBIT        NSSA (N/P, 3): The Propagate (P) bit. Set this on
                             the NSSA area prefixes that should be
                             readvertised at the NSSA border.
                 UNUSED4     Unused bit
                 UNUSED5     Unused bit
                 UNUSED6     Unused bit
                 UNUSED7     Unused bit

                The default value is 0.

intra_area_route_category
                Specifies the route type. Possible values are described below::


                 Value       Description

                 UNDEFINED   Undefined. The default category assigned to a
                             manually created block.
                 PRIMARY     Primary. A preferred route that has duplicates
                             (secondary routes)
                 Secondary   A less preferred backup route.
                 UNIQUE      Unique. Indicates that a single port in the test
                             configuration advertises this route.
                 ANY         Any route

                The default value is UNDEFINED.

intra_area_ref_ls_type
                Specifies the type of the referenced LSA. Possible values
                range from 0 to 9999. The default value is 0.

intra_area_ref_link_state_id
                Specifies the LS ID of the LSA that carries additional information
                for the advertised route. The default value is 0.

intra_area_ref_advertising_router_id
                Specifies the ID of the router that originated the LSA or the
                designated router. The default value is 0.0.0.0.

link_state_id
                For OSPFv2, this argument identifies the part of the routing
                domain being described by the LSA. Depending on the
                advertisement's LS type, the link state ID takes on one of the
                following values::


                 Type 1    The originating router's Router ID.
                 Type 2    The IP interface address of the network's
                           Designated Router.
                 Type 3    The destination network's IP address.
                 Type 4    The Router ID of the described AS boundary router.
                 Type 5    The destination network's IP address.
                 Type 7    The destination network's IP address.

                For OSPFv3, this argument specifies a decimal number that
                is used as an interface index to uniquely identify a link.
                Possible values range from 0 to 65535. The default value is 0.

                Note: Do not specify link_state_id with Type 3
                     (summary_pool), Type 5 (ext_pool), or Type 7
                     (nssa_ext_pool) LSAs.

lsa_handle
                Identifies the LSA handle to modify or delete. You obtain
                the LSA handle from the emulation ospf lsa config
                function when you use mode create.

ls_age
                Specifies the age of the LSA, in seconds. The LS Age field
                is examined if a router receives two instances of an LSA
                with identical LS sequence numbers and LS checksums.
                Possible values range from 0 to 3600. The default is 0.

ls_checksum
                `Spirent Extension (for Spirent HLTAPI only).`

                Specifies whether the LSA will be advertised with a good or bad
                checksum. Possible values are good and bad. The default value is
                good.

ls_seq
                Specifies the LS sequence number, which is used to detect
                old and duplicate LSAs. The larger the sequence number, the
                more recent the LSA. The sequence number is a twobyte
                value. Possible values range from 0 to 0xffffffff. The
                default is 0x80000001.

ls_route_category
                `Spirent Extension (for Spirent HLTAPI only).`

                (OSPFv3 Only) Specifies the route type. This argument is
                available when the route type is router. Possible values are
                described below::


                 Value           Description
                 undefined       Undefined. The default category assigned to a
                                 manually created block
                 primary         Primary. A preferred route that has
                                 duplicates (secondary routes)
                 secondary       Secondary. A less preferred backup route
                 unique          Unique. Indicates that a single port in the test
                                 configuration advertises this route
                 any             Any route

                The default value is undefined.

return_details
                `Spirent Extension (for Spirent HLTAPI only).`

                Specifies the value about whether to return the detailed LSA
                properties to users.
                Possible values are 0 or 1. The default value is 1.

mode
                Specifies the action to perform. You can create, modify, or
                delete an LSA, or delete all LSAs (reset). The modes are
                described below::

                 create   Creates a new Link State Advertisement. See the
                          description of the type argument for a list of LSAs
                          that you can create. Use the handle argument to
                          specify the router under which the LSA is created.

                 modify   Modifies a Link State Advertisement. Use the
                          lsa_handle argument to specify the LSA to modify.

                 delete   Deletes a Link State Advertisement. Use the
                          lsa_handle argument to specify the LSA to delete.

                 reset   Deletes all LSAs under the router specified in the
                         handle argument.

net_attached_router
                Specifies whether to add an attached router to the
                network, delete an existing attached router from the
                network, or reset all the attached routers of the
                network. For create and delete mode, you must specify the
                attached_router_id argument. Possible values are create,
                delete, and reset.

                When you specify mode create, you must also specify
                "create" for the net_attached_router argument. However,
                when you specify mode modify, then -net_attached_router
                can be either "delete" or "reset".

attached_router_id
                Specifies the router ID of the emulated router that this
                NetworkLsa object is associated with. The value must be in IPv4
                format.

net_prefix_length
                Specifies the number of leading bits which form the network
                part of an IP address. Possible values for IPv4 addresses
                range from 1 to 32; the default is 24. Possible values for
                IPv6 addresses range from 1 to 128. The default is 64.

net_route_category
                `Spirent Extension (for Spirent HLTAPI only).`

                (OSPFv2 Only) Specifies the route type. Use this argument only if
                you specified type network. Possible values are described below::


                 Value           Description
                 undefined       Undefined. The default category assigned to a
                                 manually created block
                 primary         Primary. A preferred route that has
                                 duplicates (secondary routes)
                 secondary       Secondary. A less preferred backup route
                 unique          Unique. Indicates that a single port in the test
                                 configuration advertises this route
                 any             Any route

                The default value is undefined.

network_route_category
                `Spirent Extension (for Spirent HLTAPI only).`

                (OSPFv3 Only) Specifies the route type.  Use this argument only if you
                specified type network. Possible values are described below::


                 Value           Description
                 undefined       Undefined. The default category assigned to a
                                 manually created block
                 primary         Primary. A preferred route that has
                                 duplicates (secondary routes)
                 secondary       Secondary. A less preferred backup route
                 unique          Unique. Indicates that a single port in the test
                                 configuration advertises this route
                 any             Any route

                The default value is undefined.

nssa_prefix_route_category
                `Spirent Extension (for Spirent HLTAPI only).`

                (OSPFv3 Only) Specifies the route type. Use this argument only if
                you specified type nssa_ext_pool. Possible values are described
                below::


                 Value           Description
                 undefined       Undefined. The default category assigned to a
                                 manually created block
                 primary         Primary. A preferred route that has
                                 duplicates (secondary routes)
                 secondary       Secondary. A less preferred backup route
                 unique          Unique. Indicates that a single port in the test
                                 configuration advertises this route
                 any             Any route

                The default value is undefined.


nssa_number_of_prefix
                Specifies the number of routes in a Type 7 NSSA area external
                pool LSA. Use this argument only if you specified type
                nssa_ext_pool.

nssa_prefix_forward_addr
                Specifies the forwarding IP address for a Type 7 NSSA
                external pool LSA. Use this argument only if you specified
                type nssa_ext_pool. The default for IPv4 is 0.0.0.0
                and the default for IPv6 is 0:0:0:0:0:0:0:0.

nssa_prefix_length
                Specifies the number of leading bits which form the network
                part of an IP address for a Type 7 NSSA external pool LSA.
                Use this argument only if you specified "type
                nssa_ext_pool". Possible values for IPv4 addresses range
                from 1 to 32; the default is 24, Possible values for IPv6
                addresses range from 1 to 128; the default is 64.

nssa_prefix_metric
                Specifies a metric value for a Type 7 NSSA external pool
                LSA. Use this argument only if you specified "type
                nssa_ext_pool". Possible values range from 1 to 16777215.

nssa_prefix_start
                Specifies the starting IP address for a Type 7 NSSA external
                pool LSA. Use this argument only if you specified
                type nssa_ext_pool. The default for IPv4 is 0.0.0.0
                and the default for IPv6 is 0:0:0:0:0:0:0:0.

nssa_prefix_step
                Specifies the amount by which to increment the network part
                of the first IP address to generate subsequent IP addresses
                belonging to different routes for a Type 7 NSSA external
                pool LSA. Use this argument only if you specified "type
                nssa_ext_pool".

nssa_prefix_type
                Specifies the type of NSSA external pool LSA metric by
                setting the E bit in the LSA header. For OSPFv2, possible values
                are 1 and 2. Specify 1 for type 1 (internal cost is added to
                external cost) or 2 for type 2 (external cost only). For OSPFv3,
                possible values are 0 (Metric is expressed in the same units as
                interface cost.) and 1 (Metric is considered larger than any
                intraAS path). The default is 1. Use this argument only if you
                specified type nssa_ext_pool.

options
                A bit mask that specifies the Options field settings
                in the LSAs. The Options field describes the optional
                OSPF capabilities of the router. Section A.2 in RFC 2328
                describes the Options field for OSPFv2. Section A.2 in RFC
                2740 describes the Options field for OSPFv3.
                Use hexadecimal for this value. The default for OSPFv2,
                0x02, sets the Ebit (binary 00000010). The default for
                OSPFv3, 0x13, sets the Rbit, the Ebit, and the V6bit
                (binary 000...010011).
                For OSPFv2, possible values for this argument are::


                 Value        Description

                 O: 0x40    This bit describes the router's willingness to
                            receive and forward Opaque LSAs.

                 DC: 0x20   This bit describes the router's handling of demand circuits.

                 EA: 0x10   This bit describes the router's willingness to
                            receive and forward ExternalAttributes-LSAs.

                 NP: 0x08  This bit describes the handling of Type-7 LSAs.

                 MC: 0x04  This bit describes whether IP multicast datagrams
                           are forwarded.

                 E: 0x02   This bit describes the way ASexternal-LSAs are
                           flooded.  When this bit is set, the area type is
                           external_capable; when this bit is cleared, the
                           area type is stub.

                For OSPFv3, possible values for this argument are::


                 Value        Description

                 R: 0x10   This bit indicates if the originator is an active
                           router. If this is clear, routes that transit the
                           advertising node cannot be computed.

                 V6: 0x01  If this bit is clear, the router/link should be
                           excluded from IPv6 routing calculations.

                Note that if you need multiple values for this argument,
                you can specify a hexadecimal that is equal to the sum of
                of the target values above. For example, 0x42 will set the
                Ebit and the Obit for OSPFv2 at the same time.

router_abr
                Identifies the router as an area boundary router (ABR).
                Corresponds to the E (external) bit in router LSA. Possible
                values are 0 and 1. Specify 0 for false or 1 for true. The
                default is 0 (false). Use this argument only if you
                specified type router.

router_asbr
                Identifies the router as an AS boundary router (ASBR).
                Corresponds to the B (border) bit in router LSA. Possible
                values are 0 and 1. Specify 0 for false or 1 for true. The
                default is 0 (false). Use this argument only if you
                specified type router.

router_route_category
                `Spirent Extension (for Spirent HLTAPI only).`

                Specifies the route type. This argument is available when the
                route type is router. Possible values are described below::


                 Value           Description

                 undefined       Undefined. The default category assigned to a
                                 manually created block

                 primary         Primary. A preferred route that has
                                 duplicates (secondary routes)

                 secondary       Secondary. A less preferred backup route

                 unique          Unique. Indicates that a single port in the test
                                 configuration advertises this route

                 any             Any route

                The default value is undefined.


router_info_adv_router_id
                `Spirent Extension (for Spirent HLTAPI only).`

                ID of the simulated router that will advertise this RI LSA. The
                value is the IP address of the router interface. See the
                description in type for more information on the LSA.

router_info_age
                `Spirent Extension (for Spirent HLTAPI only).`

                Age of the RI LSA, in seconds. Possible values range from 0 to
                3600. The default value is 0.

router_info_checksum
                `Spirent Extension (for Spirent HLTAPI only).`

                Specifies whether the LSA will be advertised with a good or bad
                checksum. Possible values are good and bad. The default value is good.

router_info_seq_num
                `Spirent Extension (for Spirent HLTAPI only).`

                Initial value of the LS sequence number in the RI LSA header. It is
                used to detect old and duplicate LSAs. The larger the sequence
                number, the more recent the LSA. Possible values range from 0 to
                0xffffffff. The default value is 0x80000001.

router_info_instance
                `Spirent Extension (for Spirent HLTAPI only).`

                Specifies the router's OSPF instance for the RI LSA. Now
                currently used by OSPFv2. The default value is 1.

router_info_route_category
                `Spirent Extension (for Spirent HLTAPI only).`

                Specifies the route type. This argument is available when the
                route type is router_info. Possible values are described below::


                    Value           Description
                    undefined       Undefined. The default category assigned to a
                                    manually created block
                    primary         Primary. A preferred route that has
                                    duplicates (secondary routes)
                    secondary       Secondary. A less preferred backup route
                    unique          Unique. Indicates that a single port in the test
                                    configuration advertises this route
                    any             Any route

                The default value is undefined.

router_info_opaque_type
                `Spirent Extension (for Spirent HLTAPI only).`

                Specifies the opaque type  of the RILSA. Possible values are
                described below::


                    Value                   Description
                    traffic_engineering     Opaque Type is traffic_engineering
                    router_information      Opaque Type is router_information
                    extended_prefix         Opaque Type is extended_prefix
                    extended_link           Opaque Type is extended_link

                The default is traffic_engineering.

router_info_options
                `Spirent Extension (for Spirent HLTAPI only).`

                8bit field of capabilities advertised with each prefix of the RI
                LSA. Possible values are described below::


                 tbit      Type of Service
                 ebit      Describes the way ASExternal LSAs are flooded
                 mcbit     Specifies whether IP multicast datagrams are forwarded
                 npbit     Specifies the handling of type 7 LSAs
                 eabit     Specifies the router's willingness to receive and forward
                           ExternalAttributes LSAs
                 dcbit     Specifies the router's handling of demand circuits
                 obit      Specifies the router's willingness to receive and forward
                           Opaque LSAs used for OSPF traffic engineering (OSPFTE)
                           extensions
                 unused7   Not used

router_info_scope
                `Spirent Extension (for Spirent HLTAPI only).`

                Specifies the flooding scope of the RI LSA. Possible values are
                described below::


                 link_local          Type-9 Opaque LSA. Not flooded beyond the
                                     local (sub)network
                 area_local          Type-10 Opaque LSA. Not flooded beyond the
                                     borders of the associated area
                 area_system_wide    Type-11 Opaque LSA. The LSA is flooded
                                     throughout the AS

                The default value is area_local.

router_link_data
                Specifies the data for a router link. For OSPFv2, this argument
                indicates the IP address of the network interface or the subnet
                mask.The default is 0.0.0.0. For OSPFv3, this argument
                corresponds to the interface ID of the router, and the value must
                be numeric. Use this argument only if you specified type router,
                and make sure router_link_mode has been specified.

router_link_id
                Specifies the ID for a router link. For OSPFv2, the router link
                ID is a 32bit value, represented in dot notation. (It is not an
                IP address.) The default is 0.0.0.0. For OSPFv3, the router link
                ID corresponds to the Neighbor Router ID. Possible values range
                from 0 to 4294967295. (Note that Spirent HLTAPI does not support
                Neighbor Interface ID for OSPFv3 Router LSA links) Use this
                argument only if you specified type router, and make sure
                router_link_mode has been specified.

router_link_step
                Specifies the ID increment when multiple router links
                are created. The default is 0.0.0.1. Use this argument only if
                you specified type router, and make sure -router_link_mode
                has been specified.

router_link_count
                Specifies the number of router links to create under
                a router when emulating multiple router links with the
                step size specified by the router_link_step option. The
                default is 1. Use this argument only if you specified
                type router, and make sure -router_link_mode has been
                specified.

router_link_count_per_router
                (OSPFv2 only) Specifies the number of links to create per router.
                The default is 1. Use this argument only if you specified
                type router, and make sure -router_link_mode has been
                specified.

router_link_neighbor_if_id
                (OSPFv3 only)Specifies the neighbor interface ID. This uniquely
                identifies the neighboring router's interface for the same link.
                The default is 0.

router_link_idx
                Specifies an index to an added router link. When a link is
                removed, the remaining links are reindexed. Use this
                argument only if you specified type router. and make sure
                router_link_mode has been specified.

router_link_metric
                Defines the metric value for a router link. The metric value
                contributes to the overall cost of a route to a destination.
                (The metric is the cost associated with the output side of a
                router interface; the lower the cost, the more likely a
                router will be used to forward traffic.) Possible values
                range from 1 to 65535. The default is 1. Use this argument
                only if you specified type router, and make sure
                router_link_mode has been specified.

router_link_mode
                Specifies the action to be performed for a router LSA. Use
                this argument only if you specified type router. Possible
                values are create, delete, or reset. The modes are described
                below::


                 create    Creates a router link. When you specify mode
                           create, you must also specify create for the
                           router_link_mode argument. However, when you specify
                           mode modify, -router_link_mode can be create, delete
                           or reset. Also, when you specify router_link_mode
                           create, you must also use the router_link_id,
                           router_link_data, router_link_type, and
                           router_link_metric arguments.

                 delete   Deletes a router link. When you specify delete
                          mode, you must also specify the router_link_id
                          argument.

                 reset    Deletes all the links under the router LSA.

router_link_type
                Identifies the type of link. Possible values are::


                 ptop - A ptop (pointto-point) link is a physical or logical
                      serial link between two routers. The link can be
                      numbered (IP address is configured on the link) or
                      unnumbered.

                 transit - A transit network link connects a router to a
                      transit network. A transit network has more than one
                      router attached to it, and it is capable of carrying
                      data traffic for which the source and destination are
                      outside of the local area.

                 stub - A stub network link connects a router to a stub
                      network (not the same as a Stub Area). A stub network,
                      or stub segment, has one router attached to it. One
                      router attached to an Ethernet or Token Ring network is
                      considered a link to a stub network.

                 virtual - A virtual link is a logical link connecting areas
                      with no physical connections to the backbone. Virtual
                      links are treated as numbered pointto-point links.

                Use this argument only if you specified type router, and
                make sure router_link_mode has been specified.

router_virtual_link_endpt
                Sets or unsets the router as a virtual link endpoint. A
                virtual link is a logical link connecting areas with no
                physical connections to the backbone. Virtual links are
                treated as numbered pointto-point links. Possible values
                are 0 and 1. The default is 0. Use this argument only if you
                specified type router.

session_type
                `Spirent Extension (for Spirent HLTAPI only).`

                Specifies the type of OSPF to be emulated. This argument is only
                required when OSPFv2 LSA and OSPFv3 LSA are created on the same
                device. Possible values are ospfv2 and ospfv3.

summary_number_of_prefix
                Specifies the number of routes in the summary pool LSA. The
                default is 0. Use this argument only if you specified
                type summary_pool.

summary_prefix_length
                Specifies the number of leading bits which form the network
                part of an IP address for the summary pool LSA. Possible
                values for IPv4 addresses range from 1 to 32; the default is
                24, Possible values for IPv6 addresses range from 1 to 128;
                the default is 64, Use this argument only if you specified
                type summary_pool.

summary_prefix_metric
                Defines the metric value for the summary pool LSA. The
                metric value contributes to the overall cost of a route to a
                destination. (The metric is the cost associated with the
                output side of a router interface; the lower the cost, the
                more likely a router will be used to forward traffic.)
                Possible values range from 1 to 65535. The default is 1. Use
                this argument only if you specified type summary_pool.

summary_prefix_start
                Specifies the starting IP address for the summary pool LSA.
                The default for IPv4 is 0.0.0.0. The default for IPv6
                is 0:0:0:0:0:0:0:0. Use this argument only if you specified
                type summary_pool.

summary_prefix_step
                Specifies the increment to use to generate the network
                part of the first IP address as well as to generate
                subsequent IP addresses belonging to different routes for
                the summary pool LSA. Use this argument only if you
                specified type summary_pool.

summary_route_category
                `Spirent Extension (for Spirent HLTAPI only).`

                Specifies the route type. Use this argument only if you
                specified type summary_pool. Possible values are described below::


                 Value           Description
                 undefined       Undefined. The default category assigned to a
                                 manually created block
                 primary         Primary. A preferred route that has
                                 duplicates (secondary routes)
                 secondary       Secondary. A less preferred backup route
                 unique          Unique. Indicates that a single port in the test
                                 configuration advertises this route
                 any             Any route

                The default value is undefined.


type
                Specifies the type of LSA to create. Possible values and
                descriptions are as follows:

                router
                    (Type 1) Describes the states and costs of the
                    router's interfaces. Indicates that the router is
                    either an area border router (ABR) or an autonomous
                    system boundary router (ASBR). The Options field is
                    expanded to 24 bits for OSPFv3 LSAs.

                    You must provide the following arguments for this type
                    of LSA in OSPFv2, as shown in this sample code snippet::


                     adv_router_id 1.1.1.1
                     link_state_id  3.3.3.3
                     ls_age 300
                     ls_checksum 5000
                     ls_seq 7000
                     handle $hOspfv2RouterHandle
                     mode create
                     type router
                     router_abr 1
                     router_asbr 1
                     router_link_data 5.5.5.5
                     router_link_id 4.4.4.4
                     router_link_count 5
                     router_link_count_per_router 8
                     router_link_step 0.0.0.1
                     router_link_idx 2
                     router_link_metric 300
                     router_link_mode create
                     router_link_type stub
                     router_virtual_link_endpt  1

                    You must provide the following arguments for this type
                    of LSA in OSPFv3, as shown in this sample code snippet::


                     adv_router_id 1.1.1.1 (interface ID)
                     link_state_id  64
                     ls_age 300
                     ls_checksum 5000
                     ls_seq 7000
                     handle $hOspfv3RouterHandle
                     mode create
                     type router
                     router_abr 1
                     router_asbr 1
                     router_link_data 4
                     router_link_id 4.4.4.4
                     router_link_idx 2
                     router_link_metric 300
                     router_link_mode create
                     router_link_type ptop
                     router_virtual_link_endpt  1

                network
                    (Type 2) Originated by the link's designated
                    router (DR) for every broadcast or nonbroadcast multi-
                    access (NBMA) link having two or more attached routers.
                    Lists all routers attached to the link.

                    OSPFv3 network LSAs have no address information and are
                    network protocol independent. The Options field is
                    expanded to 24 bits for OSPFv3 LSAs.

                    You must provide the following arguments for this type
                    of LSA in OSPFv2, as shown in this sample code snippet::


                     adv_router_id 1.1.1.1
                     link_state_id 1.1.1.1
                     ls_age 300
                     ls_checksum 5000
                     ls_seq 7000
                     handle $hOspfv2RouterHandle
                     mode create
                     type network
                     attached_router_id 2.2.2.2
                     net_attached_router  create
                     net_prefix_length 24

                    You must provide the following arguments for this type
                    of LSA in OSPFv3, as shown in this sample code snippet::


                     adv_router_id 1.1.1.1
                     link_state_id 64
                     ls_age 300
                     ls_checksum 5000
                     ls_seq 7000
                     handle $hOspfv3RouterHandle
                     mode create
                     type network
                     attached_router_id 2.2.2.2
                     net_attached_router  create
                     net_prefix_length 24

                summary_pool
                    (Type 3) Summary Pool (OSPFv2) and InterArea
                    Prefix LSA (OSPFv3) describe routes to networks outside
                    of the area. (In version 3, the InterArea (Prefix LSA
                    replaces the Summary Pool LSA.) Originated by ABRs. Do
                    not specify a link state ID for OSPFv2 summary pool
                    LSAs.

                    You must provide the following arguments for this type
                    of LSA in OSPFv2, as shown in this sample code snippet::


                     adv_router_id 1.1.1.1
                     handle $hOspfv2RouterHandle
                     ls_age 300
                     ls_checksum 5000
                     ls_seq 7000
                     mode create
                     type summary_pool
                     summary_number_of_prefix 10
                     summary_prefix_length 16
                     summary_prefix_metric 5000
                     summary_prefix_start 10.10.10.10
                     summary_prefix_step 10

                    You must provide the following arguments for this type
                    of LSA in OSPFv3, as shown in this sample code snippet::


                     adv_router_id 1.1.1.1
                     handle $hOspfv3RouterHandle
                     ls_age 300 \
                     ls_checksum 5000
                     ls_seq 7000
                     mode create
                     type summary_pool
                     summary_number_of_prefix 10
                     summary_prefix_length 64
                     summary_prefix_metric 5000
                     summary_prefix_start CAFE::10
                     summary_prefix_step 10

                asbr_summary
                    (Type 4)For OSPFv2, describes routes to autonomous system
                    boundary routers outside of the area in which the LSA
                    is transmitted (flooded). Originated by area border
                    routers (ABRs).

                    For OSPFv3, InterArea Router LSA, replaces the OSPFv2
                    AS Boundary Router Summary LSA. The Options field is
                    expanded to 24 bits for OSPFv3 LSAs.

                    You must provide the following arguments for this type
                    of LSA in OSPFv2, as shown in this sample code snippet::


                     adv_router_id 1.1.1.1
                     ls_age 300
                     ls_checksum 5000
                     ls_seq 7000
                     handle  $hOspfv2RouterHandle
                     mode create
                     type asbr_summary

                    You must provide the following arguments for this type
                    of LSA in OSPFv3, as shown in this sample code snippet::


                     adv_router_id 1.1.1.1
                     ls_age 300
                     ls_checksum 5000
                     ls_seq 7000
                     handle  $hOspfv3RouterHandle
                     mode create
                     type asbr_summary

                ext_pool
                    (Type 5) Describes routes to destinations
                    external to the AS. A default route for the AS can also
                    be described by this type of LSA. Originated by AS
                    boundary routers (ASBRs). Do not specify a link state
                    ID for OSPFv2 external pool LSAs.

                    You must provide the following arguments for this type
                    of LSA in OSPFv2, as shown in this sample code snippet::


                     adv_router_id 1.1.1.1
                     ls_age 300
                     ls_checksum 5000
                     ls_seq 7000
                     handle  $hOspfv2RouterHandle
                     mode create
                     type ext_pool
                     external_number_of_prefix 30
                     external_prefix_forward_addr   40.40.40.40
                     external_prefix_length   16
                     external_prefix_metric   3000
                     external_prefix_start  30.30.30.30
                     external_prefix_step  30
                     external_prefix_type   1

                    You must provide the following arguments for this type
                    of LSA in OSPFv3, as shown in this sample code snippet::


                     adv_router_id 1.1.1.1
                     link_state_id 64
                     ls_age 300
                     ls_checksum 5000
                     ls_seq 7000
                     handle  $hOspfv3RouterHandle
                     mode create
                     type ext_pool
                     external_number_of_prefix 30
                     external_prefix_forward_addr   CFFF::40
                     external_prefix_length   64
                     external_prefix_metric   3000
                     external_prefix_start  FFEE::30
                     external_prefix_step  30
                     external_prefix_type   1

                nssa_ext_pool
                    (Type 7) Describes routes to destinations
                    external to the AS, usually from a different protocol.
                    Originated by AS boundary routers (ASBRs). Do not
                    specify a link state ID for OSPFv2 NSSA external pool
                    LSAs.

                    You must provide the following arguments for this type
                    of LSA in OSPFv2, as shown in this sample code snippet::


                     adv_router_id 1.1.1.1
                     ls_age 300
                     ls_checksum 5000
                     ls_seq 7000
                     handle  $hOspfv2RouterHandle
                     mode create
                     type nssa_ext_pool
                     nssa_number_of_prefix   100
                     nssa_prefix_forward_addr   40.40.40.40
                     nssa_prefix_length   24
                     nssa_prefix_metric  5000
                     nssa_prefix_start  20.20.20.20
                     nssa_prefix_step  20
                     nssa_prefix_type  1

                    You must provide the following arguments for this type
                    of LSA in OSPFv3, as shown in this sample code snippet::


                     adv_router_id 1.1.1.1
                     link_state_id 64
                     ls_age 300
                     ls_checksum 5000
                     ls_seq 7000
                     handle  $hOspfv3RouterHandle
                     mode create
                     type nssa_ext_pool
                     nssa_number_of_prefix   100
                     nssa_prefix_forward_addr   CFE0::1
                     nssa_prefix_length   64
                     nssa_prefix_metric  5000
                     nssa_prefix_start  FFEE::20
                     nssa_prefix_step  20
                     nssa_prefix_type  1

                intra_area_prefix
                    (Type 9 - OSPFv3 only) A router uses IntraArea Prefix LSA to
                    advertise IPv6 prefixes that are associated with: a) the
                    router itself b) an attached stub network segment c) an
                    attached transit network segment

                    You must provide the following arguments for this type of LSA
                    in OSPFv3, as shown in this sample code snippet::


                     type                               intra_area_prefix
                     intra_area_prefix_start            2002::2
                     intra_area_prefix_step             4
                     intra_area_number_of_prefix        10
                     intra_area_prefix_length           32
                     intra_area_prefix_metric           20
                     intra_area_prefix_options          "NUBIT|LABIT"
                     intra_area_route_category          unique
                     intra_area_ref_ls_type             8
                     intra_area_ref_link_state_id       25
                     intra_area_ref_advertising_router_id   1.1.1.1
                     handle                             $ospf_router0
                     mode                               create


                opaque_type_10
                    (Type 10 - OSPFv2 only) Defined in RFC 2370 and used to
                    convey traffic engineering information in OSPFv2. Traffic
                    Engineering extensions to OSPF are defined in RFC 3630. The
                    Traffic Engineering (TE) LSA (Type 10), describes routers,
                    pointto-point links and multi-access network connections.

                    You must provide the following arguments for this type
                    of LSA in OSPFv2, as shown in this sample code snippet::


                     adv_router_id 1.1.1.1
                     ls_age 300
                     ls_checksum 5000
                     ls_seq 7000
                     handle  $hOspfv2RouterHandle
                     mode create
                     type opaque_type_10

                extended_prefix
                    (OSPFv2 Only) OSPFv2 Extended Prefix LSA is a new Opaque LSA
                    defined in RFC5250 to advertise additional prefix attributes.
                    Multiple OSPFv2 Extended Prefix Opaque LSAs can be advertised
                    by a single router. Flooding scope of the OSPFv2 Extended
                    Prefix Opaque LSA depends on the content inside the LSA and
                    is in control of the originating router.

                extended_link
                    (OSPFv2 Only) OSPFv2 Extended Link Opaque LSA is a new Opaque
                    LSA defined in RFC5250 to advertise additional prefix
                    attributes. It has an area flooding scope. Multiple OSPFv2
                    Extended Link Opaque LSAs can be advertised by a single
                    router in an area.

                router_info
                    (OSPFv2 Only) Router Information (RI) LSA is a new Opaque LSA
                    defined in RFC4970 to advertise optional capabilities of the
                    OSPF routers in a linkscoped, areascoped, or ASscoped LSA.
                    For existing OSPF capabilities, this advertisement will be
                    used primarily for informational purposes. Future OSPF
                    features could use the RI LSA as the sole mechanism for
                    advertisement and discovery. The RI LSA will be originated
                    initially when an OSPF router instance is created and
                    whenever one of the advertised capabilities is configured or
                    changed.

te_tlv_type
                `Spirent Extension (for Spirent HLTAPI only).`

                Specifies the TLV type to create under the TE LSA (Type 10).
                This argument is `Mandatory` if type opaque_type_10 is
                specified. Possible values are link or router. If you
                specify "link" for the TE LSA type, you must also provide
                values for the te_link_id and te_link_type arguments. If
                you specify "router" for the TE LSA type, you must also
                provide the TE router address (te_router_addr).

te_instance_id
                `Spirent Extension (for Spirent HLTAPI only).`

                Specifies the OSPF instance of the TE LSA. The instance ID
                is an arbitrary value used to maintain multiple Traffic
                Engineering LSAs. This argument is `Mandatory` whenever you
                create a new TE LSA.

te_router_addr
                `Spirent Extension (for Spirent HLTAPI only).`

                Specifies the IPv4 address of the router Link TypeLength
                value (TLV). This argument is `Mandatory` if you specified
                "router" for the TE LSA type (te_tlv_type).

te_link_id
                `Spirent Extension (for Spirent HLTAPI only).`

                Specifies the link ID of the Link TypeLength value (TLV).
                The link ID is a fouroctet parameter, identical to the Link
                ID of the Router LSA. If you specified "ptop" (Pointto-
                Point) as the link type (te_link_type), the link ID is the
                Router ID of the neighbor. If you specified "multiaccess",
                then the link ID is the interface address of the designated
                router. This argument is `Mandatory` if you specified
                te_tlv_type link. The default is 0.0.0.0.

te_link_type
                `Spirent Extension (for Spirent HLTAPI only).`

                Defines the type of the link. This argument is `Mandatory`
                if you specified te_tlv_type link. Possible values are::


                 None - No link
                 ptop - Pointto-point link
                 multiaccess - Multiaccess link

                The default is ptop.

te_metric
                `Spirent Extension (for Spirent HLTAPI only).`

                Defines the fouroctet metric for the link TLV, which may be
                different than the standard OSPF metric for the link. This
                argument is `Mandatory` if you specified te_tlv_type link.
                Possible values range from 0 to 2147483647. The default is 1.

te_local_ip
                `Spirent Extension (for Spirent HLTAPI only).`

                Specifies the IP address of the interface corresponding to
                the link. This argument is `Mandatory` if you specified
                te_tlv_type link.

te_remote_ip
                `Spirent Extension (for Spirent HLTAPI only).`

                Specifies the IP address of the neighbor's interface
                corresponding to the current link. The remote IP address
                and the local address are used to discern multiple parallel
                links between systems. This argument is `Mandatory` if you
                specified te_tlv_type link.

te_admin_group
                `Spirent Extension (for Spirent HLTAPI only).`

                Specifies the 4octet bit mask assigned by the network
                administrator. Each bit corresponds to one administrative
                group assigned to the interface. This value is used to
                specify the administrative group of the traffic engineering
                link. This argument is `Mandatory` if you specified
                te_tlv_type link. Possible values range from 1 to
                4294967295. The default is 1.

te_max_bw
                `Spirent Extension (for Spirent HLTAPI only).`

                Specifies the maximum bandwidth that can be used on the link
                from the emulated router. This argument is `Mandatory` if you
                specified te_tlv_type link. Possible values range from 1
                to 2147483647. The default is 100000.

te_max_resv_bw
                `Spirent Extension (for Spirent HLTAPI only).`

                Specifies the maximum bandwidth that can be reserved on the
                link from the emulated router. This argument is `Mandatory` if
                you specified te_tlv_type link. Possible values range
                from 1 to 2147483647. The default is 100000.

te_route_category
                `Spirent Extension (for Spirent HLTAPI only).`

                Specifies the route type. This argument is available when the
                route type is opaque_type_10. Possible values are described below::


                    Value           Description
                    undefined       Undefined. The default category assigned to a
                                    manually created block
                    primary         Primary. A preferred route that has
                                    duplicates (secondary routes)
                    secondary       Secondary. A less preferred backup route
                    unique          Unique. Indicates that a single port in the test
                                    configuration advertises this route
                    any             Any route

                The default value is undefined.

te_unresv_bw_priority0
                `Spirent Extension (for Spirent HLTAPI only).`

                Specifies the amount of bandwidth not yet reserved at
                priority level 0. Possible values range from 1 to
                2147483647. The default is 100000.

te_unresv_bw_priority1
                `Spirent Extension (for Spirent HLTAPI only).`

                Specifies the amount of bandwidth not yet reserved at
                priority level 1. Possible values range from 1 to
                2147483647. The default is 100000.

te_unresv_bw_priority2
                `Spirent Extension (for Spirent HLTAPI only).`

                Specifies the amount of bandwidth not yet reserved at
                priority level 2. Possible values range from 1 to
                2147483647. The default is 100000.

te_unresv_bw_priority3
                `Spirent Extension (for Spirent HLTAPI only).`

                Specifies the amount of bandwidth not yet reserved at
                priority level 3. Possible values range from 1 to
                2147483647. The default is 100000.

te_unresv_bw_priority4
                `Spirent Extension (for Spirent HLTAPI only).`

                Specifies the amount of bandwidth not yet reserved at
                priority level 4. Possible values range from 1 to
                2147483647. The default is 100000.

te_unresv_bw_priority5
                `Spirent Extension (for Spirent HLTAPI only).`

                Specifies the amount of bandwidth not yet reserved at
                priority level 5. Possible values range from 1 to
                2147483647. The default is 100000.

te_unresv_bw_priority6
                `Spirent Extension (for Spirent HLTAPI only).`

                Specifies the amount of bandwidth not yet reserved at
                priority level 6. Possible values range from 1 to
                2147483647. The default is 100000.

te_unresv_bw_priority7
                `Spirent Extension (for Spirent HLTAPI only).`

                Specifies the amount of bandwidth not yet reserved at
                priority level 7. Possible values range from 1 to
                2147483647. The default is 100000.

Arguments Unsupported by Save as HLTAPI:

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


  extended_link_*  arguments
  extended_prefix_* arguments
  lsa_handle
  net_attached_router
  router_link_idx
  return_detail
  router_info_* arguments
Ciscospecific Arguments:

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

auto_ls_age
auto_ls_checksum
auto_ls_seq
auto_update
ls_checksum
ls_type_function_code
ls_type_s_bits
ls_type_u_bit
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):

lsa_handle     The handle returned by the function when you use mode
               create to create a new LSA. When you want to modify or
               delete the LSA, you specify the handle as the value to the
               lsa_handle argument

adv_router_id  <a.b.c.d>
router         The keyword "router" returns a list of links for an LSA of
                type "router".
links
     0.id      <link ID a.b.c.d>
     data      <link data a.b.c.d>
     type      {ptop|transit|stub|virtual}
     1.id      <link ID a.b.c.d>
     data      <link data a.b.c.d>

<idx=n>.id     <link ID a.b.c.d>
     data      <link data a.b.c.d>
     type      {ptop|transit|stub|virtual}

network        The keyword "network" returns a list of attached router IDs
                for a network LSA.

attached_router_ids      <list_of_a.b.c.d>

summary        The keyword "summary" returns a list of prefixes for a
               summary LSA pool.

external       The keyword "external" returns a list of prefixes for an
               external LSA pool.

nssa           The keyword "nssa" returns a list of prefixes for an NSSA
               LSA pool
num_prefix     <number of prefixes>
prefix_start    <a.b.c.d>
prefix_length   <n>
prefix_step     <a.b.c.d>

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

The emulation ospf lsa config function creates, modifies, or deletes a Link State Advertisement (LSA). Use the mode argument to specify the operation to perform. When you create an LSA, the function returns a handle to the newly created LSA. Use this handle as input for modify and delete mode operations.

The mode that you use determines the set of arguments that you use to configure the LSA.

When you specify mode create, you must also use the -type argument to specify the type of LSA to create.

To provide prefix information, use the set of arguments that correspond to the type of LSA. For example, when you create an AS external LSA (type ext_pool), you also specify prefix information by using the external_prefix_length and external_prefix_metric arguments. See the examples in the type argument for the Mandatory arguments for each LSA type. You specify the prefix information for the following types of LSAs:

  • summary_pool
  • ext_pool
  • nssa_pool

Every router sends a router LSA. Each router can only originate one router LSA. If your create another router LSA for the same originating router, it overwrites the previous one. That is how the stack works. If you create multiple Router LSAs, the stack does not combine the router links for you under the same originating router. However, you can create multiple router LSA links for the same router LSA. Also you can create multiple router LSAs for different originating routers. In this case, the advertising router’s ID must be different).

AS boundary routers send a single ASexternal LSA for each AS external destination. To define routers in external areas, you must specify nssa_ext_pool or ext_pool in the type argument.

Designated routers send network LSAs for any networks with which it is associated. To identify the routers attached to a network link, you must specify network in the type argument.

Area border routers send a single summary LSA for each known interarea destination. To describe routes to networks outside of the local area. you must specify summary_pool in the type argument. To describe routes to AS boundary routers outside the local area, you must specify asbr_summary in the type argument.

Examples:

The following sample code snippet creates five LSAs connected to a router:

emulation ospf lsa config
    mode= create
    type= router
    adv_router_id= [lindex $routerIpList $i]
    handle= $hRouter($i)
    link_state_id= [lindex $routerIpList $i]
    ls_age= 0
    ls_seq= 80000001
    router_abr= 1
    router_asbr= 1
    router_link_data= 255.255.255.255
    router_link_id= [lindex $routerIpList $i]
    router_link_idx= 1
    router_link_count= 5
    router_link_step= 0.0.0.1
    router_link_metric= 1
    router_link_mode= create
    router_link_type= stub
    router_virtual_link_endpt= 0

Sample output for the above example:

{status 1} {lsa_handle 362} {adv_router_id 18.18.18.18} {router {{links
{{{0id= 17.17.17.17} {data 255.255.255.255} {type stub}}
{{1id= 17.17.17.18} {data 255.255.255.255} {type stub}}
{{2id= 17.17.17.19} {data 255.255.255.255} {type stub}}
{{3id= 17.17.17.20} {data 255.255.255.255} {type stub}}
{{4id= 17.17.17.21} {data 255.255.255.255} {type stub}}}}}}

The following sample code snippet creates a router LSA link:

emulation ospf lsa config
     mode= modify
     type= router
     adv_router_id= [lindex $routerIpList $i]
     lsa_handle= $hLsaHandle($i)
     link_state_id= [lindex $routerIpList $i]
     ls_age= 0
     ls_seq= 80000001
     router_abr= 1
     router_asbr= 1
     router_link_data= 0.0.0.2
     router_link_id= 50.50.50.50
     router_link_idx= 2
     router_link_metric= 1
     router_link_mode= create
     router_link_type= ptop
     router_virtual_link_endpt= 0

The following sample code snippet creates a network LSA:

emulation ospf lsa config
     adv_router_id= 18.18.18.18
     handle= Ospfv3RouterConfig1
     link_state_id= 64
     ls_age= 300
     ls_checksum= 5000
     ls_seq= 7000
     mode= create
     type= network
     attached_router_id= 17.17.17.17
     net_attached_router= create
     net_prefix_length= 64

Sample output for the above example:

{status 1} {lsa_handle networklsa1} {adv_router_id 18.18.18.18} {network
{{attached_router_ids 17.17.17.17}}}

The following sample code snippet creates an external LSA pool:

emulation ospf lsa config
    adv_router_id= 1.1.1.1
    handle= Ospfv3RouterConfig1
    link_state_id= 64
    ls_age= 300
    ls_checksum= 5000
    ls_seq= 7000
    mode= create
    type= ext_pool
    external_number_of_prefix= 30
    external_prefix_forward_addr=  CAFF::40
    external_prefix_length=   64
    external_prefix_metric=   3000
    external_prefix_start=  FFEE::30
    external_prefix_step=  30
    external_prefix_type=   1

Sample output for the above example:

{status 1} {lsa_handle router1} {adv_router_id 1.1.1.1}
{external {{num_prefx 30} {prefix_length 64} {prefix_start ffee::30}
{prefix_step 30}}
The following sample code snippet creates an external LSA pool, but not to

return details:

emulation ospf lsa config
    adv_router_id= 1.1.1.1
    handle= Ospfv3RouterConfig1
    link_state_id= 64
    ls_age= 300
    ls_checksum= 5000
    ls_seq= 7000
    return_details= 0
    mode= create
    type= ext_pool
    external_number_of_prefix= 30
    external_prefix_forward_addr=  CAFF::40
    external_prefix_length=   64
    external_prefix_metric=   3000
    external_prefix_start=  FFEE::30
    external_prefix_step=  30
    external_prefix_type=   1

Sample output for the above example:

{status 1} {lsa_handle router1}

The following sample code snippet creates a type 9 LSA:

set device_ret0_asbr_summary2 [emulation ospf lsa config
    type=                                   intra_area_prefix
    intra_area_prefix_start=                2002::2
    intra_area_prefix_step=                 4
    intra_area_number_of_prefix=            10
    intra_area_prefix_length=               32
    intra_area_prefix_metric=               20
    intra_area_prefix_options=              "NUBIT|LABIT"
    intra_area_route_category=              unique
    intra_area_ref_ls_type=                 8
    intra_area_ref_link_state_id=           25
    intra_area_ref_advertising_router_id=   1.1.1.1
    intra_area_adv_router_id=                 1.1.1.1\
    intra_area_link_state_id=                 444
    intra_area_age=                         33
    intra_area_checksum=                     good
    intra_area_seq_num=                     0x90001\
    handle=                                 $ospf_router0
    mode=                                   create]

Sample output for the above example:

{status 1} {lsa_handle ospfv3intraareaprefixlsablk1} {adv_router_id 0.0.0.0}
{intraarea {{num_prefx 10} {prefix_length 32} {prefix_start 2002::2}
{prefix_step 4}}}

The following sample code snippet creates a type 10 LSA:

::emulation ospf lsa config
      mode= create
      handle= $handle1
      adv_router_id= 1.1.1.1
      ls_age= 300
      ls_checksum= 5000
      ls_seq= 7000
      type= opaque_type_10
      te_tlv_type= router
      te_router_addr= 10.10.10.10

Sample output for the above example:

{status 1} {lsa_handle telsa1} {adv_router_id 1.1.1.1}
{opaque_type_10 {{instance_id 1}
{RouterTlv {{te_router_addr 10.10.10.10}}}}

The following sample code snippet creates an OSPF RI LSA:

set device_ret0_router0 [emulation ospf lsa config
        type=                      router_info
        handle=                    $ospf_router0
        router_info_adv_router_id= 192.0.0.1
        router_info_age=           10
        router_info_checksum=      good
        router_info_seq_num=       0x800
        router_info_instance=       1
        router_info_opaque_type=    router_information
        router_info_route_category=  secondary
        router_info_scope=           area_local
        router_info_options=         ebit
        mode=                        create
 ]

Sample output for the above example:

{status 1} {lsa_handle routerinfolsa1} {adv_router_id 0.0.0.0}

The following sample code creates an OSPF Extended Prefix LSA:

set device_ret0_extended_prefix [emulation ospf lsa config
     type=                       extended_prefix
     handle=                     $ospf_router0
     extended_prefix_instance=       1
     extended_prefix_age=            20
     extended_prefix_checksum=       bad
     extended_prefix_seq_num=        0x801
     extended_prefix_opaque_type=    extended_prefix
     extended_prefix_adv_router_id=  192.0.0.1
     extended_prefix_route_category= unique
     extended_prefix_scope=          area_local
     extended_prefix_options=    "tbit|ebit|mcbit|npbit|eabit|dcbit|obit|unused7"
     mode=                           create
]

Sample output for the above example:

{status 1} {lsa_handle extendedprefixlsa1} {adv_router_id 0.0.0.0}

emulation ospf lsa generator

Execute Tester Command ${rt_handle} command=test_control <additional key=value arguments>

Purpose:
The emulation ospf lsa generator function is a Spirent Extension created to constructs a topology based on the parameters you configured. The generator processes information and builds the topology in a consistent pattern. The process the LSA Generator uses to generate the configuration can be broken down into two phases. In the first phase, the LSA generator builds a topology of simulated routers attached to the specified emulated routers. After the simulated router topology is constructed, routes of different types are assigned to the specified emulated and/or simulated routers.

Synopsis:

Note: M indicates the argument is `Mandatory`.

     emulation ospf lsa generator
         handle= <list of ospf_handles>
         mode= {create|delete}
         topo_type= {none|tree|grid|full_mesh|ring|hub_spoke}
         session_type= {ospfv2|ospfv3}
         tree_num_simulated_routers= <1-10000>
         tree_intf_type= {point_to_point|broadcast}
         tree_max_intf_per_router= <0-10000>
         tree_max_routes_per_transit_network= <2-10000>
         grid_rows= <1-10000>
         grid_columns= <1-10000>
         grid_emulated_router_pos= {attached_to_grid|member_of_grid}
         grid_emulated_router_row_index= <1-10000>
         grid_emulated_router_col_index= <1-10000>
         full_mesh_num_of_routers= <1-100>
         full_mesh_emulated_router_pos= {attached_to_mesh|member_of_mesh}
         ring_num_of_routers= <1-10000>
         ring_emulated_router_pos= {attached_to_ring|member_of_ring}
         hub_spoke_num_of_routers= <1-100>
         hub_spoke_emulated_router_pos= {attached_to_hub|member_hub|
                                        attached_to_spoke|member_spoke}]

     OSPFv2 Route Generation Parameters
         ospfv2_ip_addr_start= <a.b.c.d>
         ospfv2_ip_addr_end= <a.b.c.d>
         ospfv2_create_num_point_to_point= {true|false}
         ospfv2_area_type= {nssa|nssa_no_summary|regular|stub|stub_no_summary}
         ospfv2_intf_addr_start= <a.b.c.d>
         ospfv2_intf_prefix_length= <1-32>
         ospfv2_enable_loopback_advertise= {true|false}
         ospfv2_router_id_start= <a.b.c.d>
         ospfv2_router_id_step= <a.b.c.d>
         delete_existing_routes= {true|false}
        Traffic Engineering (TE) Parameters
         ospfv2_enable_te= {true|false}
         ospfv2_te_max_bw=  <1-4294967295>
         ospfv2_te_group= <1-4294967295>
         ospfv2_te_bw_unit= {bits_per_sec|bytes_per_sec|mbytes_per_sec}
         ospfv2_sub_tlv= {none|group|max_bw max_rsv_bw|unreserved|local_ip|
                           remote_ip|default_metric}]
         ospfv2_te_rsvr_bw=  <1-4294967295>
         ospfv2_te_unresv_bw_priority0= <1-4294967295>
         ospfv2_te_unresv_bw_priority1= <1-4294967295>
         ospfv2_te_unresv_bw_priority2= <1-4294967295>
         ospfv2_te_unresv_bw_priority3= <1-4294967295>
         ospfv2_te_unresv_bw_priority4= <1-4294967295>
         ospfv2_te_unresv_bw_priority5= <1-4294967295>
         ospfv2_te_unresv_bw_priority6= <1-4294967295>
         ospfv2_te_unresv_bw_priority7= <1-4294967295>
        Segment Routing (SR) Parameters
         ospfv2_enable_sr= {true|false}
         ospfv2_sr_cap_sid_label_type= {label|sid}
         ospfv2_sr_cap_sid_label_base= <integer>
         ospfv2_sr_cap_sid_label_range= <integer>
         ospfv2_sr_prefix_sid_label_index= <integer>
         ospfv2_sr_prefix_sid_label_step= <integer>
         ospfv2_sr_adj_sid= <integer>
         ospfv2_sr_adj_sid_step= <integer>
         ospfv2_sr_adj_sid_enable= {true|false}
         ospfv2_sr_prefix_sid_enable= {true|false}
         ospfv2_sr_simplified_sr_enable=  {true|false}
         ospfv2_sr_prefix_sid_algo= <0-255>
         ospfv2_sr_use_value= {true|false}

     OSPFv2 Stub Route Generation Parameters
         ospfv2_stub_emulated_routers= {all|none}
         ospfv2_stub_simulated_routers= {all|edge|none}
         ospfv2_stub_num_of_routes= <integer>
         ospfv2_stub_weight_route_assign= {byports|byrouters|byspeed}
         ospfv2_stub_dup_percent= <0-100>
         ospfv2_stub_ip_addr_start= <a.b.c.d>
         ospfv2_stub_ip_addr_end= <a.b.c.d>
         ospfv2_stub_enable_ip_addr_override= {true|false}
         ospfv2_stub_disable_route_aggr= {true|false}
         ospfv2_stub_prefix_len_dist_type= {custom|exponential|fixed|internet|linear}
         ospfv2_stub_prefix_len_start= <1-32>
         ospfv2_stub_prefix_len_end= <1-32>
         ospfv2_stub_prefix_len_dist= <0-100>
         ospfv2_stub_primary_metric= <1-65535>
         ospfv2_stub_secondary_metric= <1-65535>

      OSPFv2 Summary Route Generation Parameters
         ospfv2_sum_emulated_routers= {all|none}
         ospfv2_sum_simulated_routers= {all|edge|none}
         ospfv2_sum_num_of_routes= <integer>
         ospfv2_sum_weight_route_assign= {byports|byrouters|byspeed}
         ospfv2_sum_dup_percent= <0-100>
         ospfv2_sum_ip_addr_start= <a.b.c.d>
         ospfv2_sum_ip_addr_end= <a.b.c.d>
         ospfv2_sum_enable_ip_addr_override= {true|false}
         ospfv2_sum_disable_route_aggr= {true|false}
         ospfv2_sum_prefix_len_dist_type= {custom|exponential|fixed|internet|linear}
         ospfv2_sum_prefix_len_start= <1-32>
         ospfv2_sum_prefix_len_end= <1-32>
         ospfv2_sum_prefix_len_dist= <0-100>
         ospfv2_sum_primary_metric= <1-65535>
         ospfv2_sum_secondary_metric= <1-65535>

      OSPFv2 External Route Generation Parameters
         ospfv2_ext_emulated_routers= {all|none}
         ospfv2_ext_simulated_routers= {all|edge|none}
         ospfv2_ext_num_of_routes= <ANY>
         ospfv2_ext_weight_route_assign= {byports|byrouters|byspeed}
         ospfv2_ext_dup_percent= <0-100>
         ospfv2_ext_ip_addr_start= <a.b.c.d>
         ospfv2_ext_ip_addr_end= <a.b.c.d>
         ospfv2_ext_enable_ip_addr_override= {true|false}
         ospfv2_ext_disable_route_aggr= {true|false}
         ospfv2_ext_prefix_len_dist_type= {custom|exponential|fixed|internet|linear}
         ospfv2_ext_prefix_len_start= <1-32>
         ospfv2_ext_prefix_len_end= <1-32>
         ospfv2_ext_prefix_len_dist= <0-100>
         ospfv2_ext_primary_metric= <1-65535>
         ospfv2_ext_secondary_metric= <1-65535>

       OSPFv3 Route Generation Parameters
         ospfv3_ip_addr_start= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
         ospfv3_ip_addr_end= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
         ospfv3_area_type= {nssa|nssa_no_summary|regular|stub|stub_no_summary}
         ospfv3_enable_router_id_adv= {true|false}
         ospfv3_router_id_start=  <a.b.c.d>
         ospfv3_router_id_step= <a.b.c.d>

       OSPFv3 Intra Route Generation Parameters
         ospfv3_intra_emulated_routers= {all|none}
         ospfv3_intra_simulated_routers= {all|edge|none}
         ospfv3_intra_num_of_routes= <integer>
         ospfv3_intra_weight_route_assign= {byports|byrouters|byspeed}
         ospfv3_intra_dup_percent= <0-100>
         ospfv3_intra_ip_addr_start= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
         ospfv3_intra_ip_addr_end= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
         ospfv3_intra_enable_ip_addr_override= {true|false}
         ospfv3_intra_disable_route_aggr= {true|false}
         ospfv3_intra_prefix_len_dist_type= {custom|exponential|fixed|internet|linear}
         ospfv3_intra_prefix_len_start= <1-128>
         ospfv3_intra_prefix_len_end= <1-128>
         ospfv3_intra_prefix_len_dist= <0-100>
         ospfv3_intra_primary_metric= <1-65535>
         ospfv3_intra_secondary_metric= <1-65535>

       OSPFv3 Inter Route Generation Parameters
         ospfv3_inter_emulated_routers= {all|none}
         ospfv3_inter_simulated_routers= {all|edge|none}
         ospfv3_inter_num_of_routes= < integer >
         ospfv3_inter_weight_route_assign= {byports|byrouters|byspeed}
         ospfv3_inter_dup_percent= <0-100>
         ospfv3_inter_ip_addr_start= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
         ospfv3_inter_ip_addr_end= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
         ospfv3_inter_enable_ip_addr_override= {true|false}
         ospfv3_inter_disable_route_aggr= {true|false}
         ospfv3_inter_prefix_len_dist_type= {custom|exponential|fixed|internet|linear}
         ospfv3_inter_prefix_len_start= <1-128>
         ospfv3_inter_prefix_len_end= <1-128>
         ospfv3_inter_prefix_len_dist= <0-100>
         ospfv3_inter_primary_metric= <1-65535>
         ospfv3_inter_secondary_metric= <1-65535>

       OSPFv3 External Route Generation Parameters
         ospfv3_ext_emulated_routers= {all|none}
         ospfv3_ext_simulated_routers= {all|edge|none}
         ospfv3_ext_num_of_routes= < integer >
         ospfv3_ext_weight_route_assign= {byports|byrouters|byspeed}
         ospfv3_ext_dup_percent= <0-100>
         ospfv3_ext_ip_addr_start= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
         ospfv3_ext_ip_addr_end= <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>
         ospfv3_ext_enable_ip_addr_override= {true|false}
         ospfv3_ext_disable_route_aggr= {true|false}
         ospfv3_ext_prefix_len_dist_type= {custom|exponential|fixed|internet|linear}
         ospfv3_ext_prefix_len_start= <1-128>
         ospfv3_ext_prefix_len_end= <1-128>
         ospfv3_ext_prefix_len_dist= <0-100>
         ospfv3_ext_primary_metric= <1-65535>
         ospfv3_ext_secondary_metric= <1-65535>

Arguments:

 handle
                 A list of handles of OSPF routers returned by the
                 ``emulation ospf config`` function

 mode
                 Specifies the action to perform. Possible values are create and
                 delete. The default value is create.

 topo_type
                 Specifies the topology of the emulated/simulated network. The
                 topology diagram and parameters are based on this selection. Possible
                 values are::


                  Value          Description
                  none            No simulated routers are created. Routes can only
                                  be added to emulated routers

                  tree            Creates a tree topology which is distributed across
                                  all selected emulated routers

                  grid            Creates a grid topology on each selected
                                  emulated router

                  full_mesh       Creates a full mesh topology on each selected
                                  emulated router

                  ring            Creates a ring topology on each selected
                                  emulated router

                  hub_spoke       Creates a hub and spoke topology on each
                                  selected emulated router

                 The default value is tree.

 session_type
                 Specifies the session type. Possible values are::


                  ospfv2      Configures an OSPFv2 LSA wizard
                  ospfv3      Configures an OSPFv3 LSA wizard

                 The default value is ospfv2.

 tree_num_simulated_routers
                 Specifies the total number of simulated routers that will be
                 created on all emulated routers. Possible values range from 1 to
                 10000. The default value is 50.
 tree_intf_type
                 Specifies the type of interface to use to connect simulated
                 routers. Possible values are point_to_point and broadcast. The
                 default value is point_to_point.

 tree_max_intf_per_router
                 Specifies the maximum number of interfaces for each
                 simulated/emulated router. Possible values range from 1 to 10000.
                 The default value is 4.

 tree_max_routes_per_transit_network
                 Specifies the maximum number of routers per transit network. This
                 argument is available when tree_intf_type is set to broadcast.
                 Possible values range from 2 to 10000. The default value is 5.

 grid_rows
                 Specifies the number of rows in the grid. Possible values range
                 from 1 to 10000. The default value is 4.

 grid_columns
                 Specifies the number of columns in the grid. Possible values range
                 from 1 to 10000. The default value is 4.

 grid_emulated_router_pos
                 Specifies the location of the emulated router in the grid.
                 Possible values are attached_to_grid and member_of_grid. The
                 default value is attached_to_grid.

 grid_emulated_router_row_index
                 When grid_emulated_router_pos is attached_to_grid, specifies the
                 row index in the grid of the simulated router that the emulated
                 router is attached to.
                 When grid_emulated_router_pos is member_of_grid, specifies the
                 row index in the grid where the emulated router is located.
                 Possible values range from 1 to 10000. The default value is 1.

 grid_emulated_router_col_index
                 When grid_emulated_router_pos is attached_to_grid, specifies the
                 column index in the grid of the simulated router that the
                 emulated router is attached to.
                 When grid_emulated_router_pos is member_of_grid, specifies the
                 column index in the grid where the emulated router is located
                 Possible values range from 1 to 10000. The default value is 1.

 full_mesh_num_of_routers
                 Specifies the number of routers in the mesh. Possible values
                 range from 1 to 10000. The default value is 4.

 full_mesh_emulated_router_pos
                 Specifies the location of the emulated router in the mesh. Possible
                 values are attached_to_mesh and member_of_mesh. The default value
                 is attached_to_mesh.

 ring_num_of_routers
                 Specifies the number of routers in the ring. Possible values
                 range from 1 to 10000. The default value is 10.

 ring_emulated_router_pos
                 Specifies the location of the emulated router in the ring.
                 Possible values are attached_to_ring and member_of_ring. The
                 default value is attached_to_ring.

 hub_spoke_num_of_routers
                 Specifies the number of routers in the hub and spoke topology.
                 Possible values range from 1 to 100. The default value is 10.

 hub_spoke_emulated_router_pos
                 Specifies the location of the emulated router in the hub and
                 spoke topology. Possible values are attached_to_hub, member_hub,
                 attached_to_spoke, and member_spoke. The default value is
                 attached_to_hub.

OSPFv2 Route Generation Parameters (you must set session_type to ospfv2)

 ospfv2_ip_addr_start
                 Specifies the starting IPv4 prefix value used for routes and
                 interface addresses. The value must be in IPv4 format. The default
                 value is 1.0.0.0.

 ospfv2_ip_addr_end
                 Specifies the ending IPv4 prefix value used for routes and
                 interface addresses. The value must be in IPv4 format. The
                 default value is 223.255.255.255.

 ospfv2_create_num_point_to_point
                 Once enabled, Spirent HLTAPI will generate numbered pointto-point
                 links. For each link, the link ID is set to the connected router ID
                 and the link data is set to the simulated interface's IP address. The
                 numbered link is coupled with the Stub network, with the link ID
                 set to the link's IP address and link data set to the link's
                 netmask. Possible values are true (enable) and false (disable).
                 The default value is false.

 ospfv2_area_type
                 Determines the type of LSAs that are flooded within the area and
                 the options that are set on the LSAs.
                 Possible values are::


                  regular                 Regular areas support all LSA types
                  stub                    Stub areas do not flood external routes
                                          into the area
                  stub_no_summary         Stub areas with no summary interarea LSAs
                  nssa                    NotSoStubby-Areas (NSSA)
                  nssa_no_summary         Totally NotSoStubby-Areas

                 The default value is regular.

 ospfv2_intf_addr_start
                 Specifies the starting interface IP address for numbered
                 pointto-point links. The default value is 1.0.0.1.

 ospfv2_intf_prefix_length
                 Specifies the interface prefix length for numbered pointto-point
                 links. Possible values range from 1 to 32. The default value is 24.

 ospfv2_enable_loopback_advertise
                 Once enabled, Spirent HLTAPI will generate router LSAs that each
                 contains a 32bit Stub Network equal to the LSA's Advertising
                 Router ID field. Possible values are true (enable) and false
                 (disable). The default value is false.

 ospfv2_router_id_start
                 Specifies the router ID used on the first emulated/simulated
                 router. The value must be in IPv4 format. The default value is
                 1.0.0.1.

 ospfv2_router_id_step
                 Specifies the step value by which to generate subsequent router
                 IDs. The value must be in IPv4 format. The default value is
                 0.0.0.1.

 delete_existing_routes
                 Specifies how to handle preexisting routes when route/topology
                 generator parameters are applied.
                 Possible values are::


                  true       Delete preexisting routes
                  false      Keep preexisting routes

                 The default value is false

TE Parameters: (you must set ospfv2_enable_te to true.)

 ospfv2_enable_te
                 Enable this argument to configure TE parameters. Possible values
                 are true (enable) and false (disable). The default value is
                 false.

 ospfv2_te_max_bw
                 Specifies the maximum bandwidth that can be used on the link
                 from the emulated router. Possible values range from 1 to
                 4294967295. The default value is 100000.

 ospfv2_te_group
                 Specifies the TE group. Possible values range from 1 to
                 4294967295. The default value is 1.

 ospfv2_te_bw_unit
                 Specifies the bandwidth's unit of measurement. Possible values
                 are described below::


                  Value               Description
                  BITS_PER_SEC        Bits per second
                  BYTES_PER_SEC       Bytes per second
                  MBYTES_PER_SEC      Megabytes per second

                 The default value is bytes_per_sec.

 ospfv2_sub_tlv
                 Specifies the OSPFv2 subTLVs that carry the information
                 about resources of routed links. Possible values are::


                  Value               Description
                  none                No subTLV
                  group               4octet bit mask assigned by the network
                                      administrator. Each bit corresponds to
                                      one administrative group assigned to the
                                      interface

                  max_bw              Maximum bandwidth that can be used on the
                                      link from the emulated router max_rsv_bw
                                      Maximum bandwidth that can be reserved on the link

                  unreserved          Amount of bandwidth not yet reserved at
                                      each of the eight priority levels
                                      local_ip IP address of the interface
                                      corresponding to the current link

                  remote_ip           IP address of the neighbor's interface
                                      corresponding to the current link

                  default_metric      Default metric

                 The default is none. Use "|" to combine multiple types.

 ospfv2_te_rsvr_bw
                 Specifies the maximum bandwidth that can be reserved on the link
                 from the emulated router. Possible values range from 1 to
                 4294967295. The default value is 100000.

 ospfv2_te_unresv_bw_priority0
                 Amount of bandwidth not yet reserved at priority level 0.
                 Possible values range from 1 to 4294967295. The default value
                 is 100000.

 ospfv2_te_unresv_bw_priority1
                 Amount of bandwidth not yet reserved at priority level 1.
                 Possible values range from 1 to 4294967295. The default value
                 is 100000.

 ospfv2_te_unresv_bw_priority2
                 Amount of bandwidth not yet reserved at priority level 2.
                 Possible values range from 1 to 4294967295. The default value is
                 100000.

 ospfv2_te_unresv_bw_priority3
                 Amount of bandwidth not yet reserved at priority level 3.
                 Possible values range from 1 to 4294967295. The default value is
                 100000.

 ospfv2_te_unresv_bw_priority4
                 Amount of bandwidth not yet reserved at priority level 4.
                 Possible values range from 1 to 4294967295. The default value is
                 100000.

 ospfv2_te_unresv_bw_priority5
                 Amount of bandwidth not yet reserved at priority level 5.
                 Possible values range from 1 to 4294967295. The default value is
                 100000.

 ospfv2_te_unresv_bw_priority6
                 Amount of bandwidth not yet reserved at priority level 6.
                 Possible values range from 1 to 4294967295. The default value is
                 100000.

 ospfv2_te_unresv_bw_priority7
                 Amount of bandwidth not yet reserved at priority level 7.
                 Possible values range from 1 to 4294967295. The default value is
                 100000.

SR Parameters (you must set ospfv2_enable_sr to true.)

 ospfv2_enable_sr
                 Enables/disables SR on OSPF routes. Possible
                 values are true (enable) and false (disable). The default value
                 is false.

 ospfv2_sr_cap_sid_label_type
                 Specifies the format of the label. Possible values are::


                  label   20bit label
                  sid     32bit segment ID (SID)

                 The default value is label.

 ospfv2_sr_cap_sid_label_base
                 Specifies the value of the first label number. The default value
                 is 100.

 ospfv2_sr_cap_sid_label_range
                 Specifies the number of labels/SIDs to create. The default value
                 is 100.

 ospfv2_sr_prefix_sid_label_index
                 Specifies the value of the first SID or index.
                 The default value is 0.

 ospfv2_sr_prefix_sid_label_step
                 Specifies the step value by which to generate subsequent SIDs
                 The default value is 1.

 ospfv2_sr_adj_sid
                 Specifies the first adjacency SID. The default value is 9001.

 ospfv2_sr_adj_sid_step
                 Specifies the step value by which to generate subsequent
                 adjacency SIDs. The default value is 1.

 ospfv2_sr_adj_sid_enable
                 Enables or disables segment routing adjacent SIDs.
                 Possible values are true (enable) and false (disable). The
                 default value is false.

 ospfv2_sr_prefix_sid_enable
                 Enables or disables segment routing prefix SIDs.
                 Possible values are true (enable) and false (disable). The
                 default value is false.

 ospfv2_sr_simplified_sr_enable
                 Enables or disables simplified segment routing.
                 Possible values are true (enable) and false (disable). The
                 default value is false.

 ospfv2_sr_prefix_sid_algo
                 Specifies the segment routing prefix SID algorithm.
                 Possible values range from 0 to 255. The default is 0.

 ospfv2_sr_use_value
                 Determines whether to use the index or the absolute value.
                 Possible values are true (absolute value) and false (index). The
                 default value is false.

OSPFv2 Stub Route Generation Parameters

 ospfv2_stub_emulated_routers
                 Specifies which emulated routers will advertise routes.
                 Possible values are::


                  all     Add routes on all emulated routers
                  none    No route will be added on the emulated routers

                 The default value is none.

 ospfv2_stub_simulated_routers
                 Specifies which simulated routers will advertise routes.
                 Possible values are::


                  all         Add routes on all emulated routers
                  edge        Add routes to only the simulated routers that are on
                              the edge of the topology
                  none        No route will be added on the emulated routers

                 The default value is all.
 ospfv2_stub_num_of_routes
                 Specifies the number of emulated routes that will be created
                 based on the configuration. The default value is 0.

 ospfv2_stub_weight_route_assign
                 Determines how the total number of routes will be distributed.
                 Possible values are::


                  BYPORTS     Equal number of routes are assigned to each port

                  BYSPEED     Number of routes assigned to each port is
                              proportional to the speed (line rate) of the port.
                              For example, a port with a speed of 100 Mbps will
                              receive 10 times more routes than a port with a speed
                              of 10 Mbps

                  BYROUTERS   Equal number of routes are assigned to each router

                 The default value is BYROUTERS.

 ospfv2_stub_dup_percent
                 Specifies the percentage of routes of this type that will be
                 duplicated. Possible values range from 0 to 100. The default value
                 is 0.

 ospfv2_stub_ip_addr_start
                 Specifies the starting IPv4 address to use for generating the
                 routes. The default value is 1.0.0.0.

 ospfv2_stub_ip_addr_end
                 Specifies the ending IPv4 address to use for generating the routes.
                 The default value is 223.255.255.255.

 ospfv2_stub_enable_ip_addr_override
                 Once enabled, the starting/ending IPv4 address values or default
                 values will be used. Possible values are true (enable) and false
                 (disable). The default value is false.

 ospfv2_stub_disable_route_aggr
                 Enables/disables IPv4 routes aggregation. Possible values are true
                 (enable) and false (disable). The default value is false.
                 This argument is available in the modify mode.

 ospfv2_stub_prefix_len_dist_type
                 Specifies how the number of routes will be distributed across the
                 prefix lengths. Possible values are::


                  custom        Defines a custom percentage of routes for
                                each prefix length

                  exponential   Routes are distributed across prefix lengths
                                using an exponential algorithm

                  fixed         All routes have the same userspecified
                                prefix length

                  internet      Routes are distributed across prefix lengths in
                                a manner typical of the Internet's defaultfree
                                router prefix distribution

                  linear        Routes are distributed equally across prefix
                                lengths from the starting prefix length to
                                the ending prefix length

                 The default value is fixed.

 ospfv2_stub_prefix_len_start
                 Specifies the starting prefix for routes of this type. Possible
                 values range from 1 to 32. The default value is 24.

 ospfv2_stub_prefix_len_end
                 Specifies the ending prefix for routes of this type. Possible
                 values range from 1 to 32. The default value is 24.

 ospfv2_stub_prefix_len_dist
                 Specifies the percentage of routes to create for each prefix length.
                 Possible values range from 0 to 100. The default value is 0.

 ospfv2_stub_primary_metric
                 Specifies the OSPF metric used for primary and unique LSAs.
                 Possible values range from 1 to 65535. The default value is 1.

 ospfv2_stub_secondary_metric
                 Specifies the OSPF metric used for duplicate routes. This
                 argument is valid when duplicate routes are present. Possible
                 values range from 1 to 65535. The default value is 2.

OSPFv2 Summary Route Generation Parameters

 ospfv2_sum_emulated_routers
                 Specifies which emulated routers will advertise routes.
                 Possible values are::


                  all     Add routes on all emulated routers
                  none    No route will be added on the emulated routers

                 The default value is none.

 ospfv2_sum_simulated_routers
                 Specifies which simulated routers will advertise routes.
                 Possible values are::


                  all         Add routes on all emulated routers
                  edge        Add routes to only the simulated routers that are on
                              the edge of the topology
                  none        No route will be added on the emulated routers

                 The default value is all.

 ospfv2_sum_num_of_routes
                 Specifies the number of emulated routes that will be created
                 based on the configuration. The default value is 0.

 ospfv2_sum_weight_route_assign
                 Determines how the total number of routes will be distributed.
                 Possible values are::


                  BYPORTS     Equal number of routes are assigned to each port

                  BYSPEED     Number of routes assigned to each port is
                              proportional to the speed (line rate) of the port.
                              For example, a port with a speed of 100 Mbps will
                              receive 10 times more routes than a port with a speed
                              of 10 Mbps

                  BYROUTERS   Equal number of routes are assigned to each router

                 The default value is BYROUTERS.

 ospfv2_sum_dup_percent
                 Specifies the percentage of routes of this type that will be
                 duplicated. Possible values range from 0 to 100. The default value
                 is 0.

 ospfv2_sum_ip_addr_start
                 Specifies the starting IPv4 address to use for generating the
                 routes. The default value is 1.0.0.0.

 ospfv2_sum_ip_addr_end
                 Specifies the ending IPv4 address to use for generating the routes.
                 The default value is 223.255.255.255.

 ospfv2_sum_enable_ip_addr_override
                 Once enabled, the starting/ending IPv4 address values or default
                 values will be used. Possible values are true (enable) and false
                 (disable). The default value is false.

 ospfv2_sum_disable_route_aggr
                 Enables/disables IPv4 routes aggregation. Possible values are true
                 (enable) and false (disable). The default value is false.
                 This argument is available in the modify mode.

 ospfv2_sum_prefix_len_dist_type
                 Specifies how the number of routes will be distributed across
                 the prefix lengths. Possible values are::


                  custom        Defines a custom percentage of routes for
                                each prefix length

                  exponential   Routes are distributed across prefix lengths
                                using an exponential algorithm

                  fixed         All routes have the same userspecified
                                prefix length

                  internet      Routes are distributed across prefix lengths in
                                a manner typical of the Internet's defaultfree
                                router prefix distribution

                  linear        Routes are distributed equally across prefix
                                lengths from the starting prefix length to
                                the ending prefix length

                 The default value is fixed.

 ospfv2_sum_prefix_len_start
                 Specifies the starting prefix for routes of this type. Possible
                 values range from 1 to 32. The default value is 24.

 ospfv2_sum_prefix_len_end
                 Specifies the ending prefix for routes of this type.
                 Possible values range from 1 to 32.
                 The default value is 24.

 ospfv2_sum_prefix_len_dist
                 Specifies the percentage of routes to create for each prefix length.
                 Possible values range from 0 to 100. The default value is 0.

 ospfv2_sum_primary_metric
                 Specifies the OSPF metric used for primary and unique LSAs.
                 Possible values range from 1 to 65535. The default value is 1.

 ospfv2_sum_secondary_metric
                 Specifies the OSPF metric used for duplicate routes. This
                 argument is valid when duplicate routes are present. Possible
                 values range from 1 to 65535. The default value is 2.

 OSPFv2 External Route Generation Parameters

 ospfv2_ext_emulated_routers
                 Specifies which emulated routers will advertise routes.
                 Possible values are::


                  all     Add routes on all emulated routers
                  none    No route will be added on the emulated routers

                 The default value is none.

 ospfv2_ext_simulated_routers
                 Specifies which simulated routers will advertise routes.
                 Possible values are::


                  all         Add routes on all emulated routers
                  edge        Add routes to only the simulated routers that are on
                              the edge of the topology
                  none        No route will be added on the emulated routers

                 The default value is all.

 ospfv2_ext_num_of_routes
                 Specifies the number of emulated routes that will be created
                 based on the configuration. The default value is 0.

 ospfv2_ext_weight_route_assign
                 Determines how the total number of routes will be distributed.
                 Possible values are::


                  BYPORTS     Equal number of routes are assigned to each port

                  BYSPEED     Number of routes assigned to each port is
                              proportional to the speed (line rate) of the port.
                              For example, a port with a speed of 100 Mbps will
                              receive 10 times more routes than a port with a speed
                              of 10 Mbps

                  BYROUTERS   Equal number of routes are assigned to each router

                 The default value is BYROUTERS.

 ospfv2_ext_dup_percent
                 Specifies the percentage of routes of this type that will be
                 duplicated. Possible values range from 0 to 100. The default value
                 is 0.

 ospfv2_ext_ip_addr_start
                 Specifies the starting IPv4 address to use for generating the
                 routes. The default value is 1.0.0.0.

 ospfv2_ext_ip_addr_end
                 Specifies the ending IPv4 address to use for generating the routes.
                 The default value is 223.255.255.255.

 ospfv2_ext_enable_ip_addr_override
                 Once enabled, the starting/ending IPv4 address values or default
                 values will be used. Possible values are true (enable) and false
                 (disable). The default value is false.

 ospfv2_ext_disable_route_aggr
                 Enables/disables IPv4 routes aggregation. Possible values are true
                 (enable) and false (disable). The default value is false.
                 This argument is available in the modify mode.

 ospfv2_ext_prefix_len_dist_type
                 Specifies how the number of routes will be distributed across
                 the prefix lengths. Possible values are::


                  custom        Defines a custom percentage of routes for
                                each prefix length

                  exponential   Routes are distributed across prefix lengths
                                using an exponential algorithm

                  fixed         All routes have the same userspecified
                                prefix length

                  internet      Routes are distributed across prefix lengths in
                                a manner typical of the Internet's defaultfree
                                router prefix distribution

                  linear        Routes are distributed equally across prefix
                                lengths from the starting prefix length to
                                the ending prefix length

                 The default value is fixed.

 ospfv2_ext_prefix_len_start
                 Specifies the starting prefix for routes of this type. Possible
                 values range from 1 to 32. The default value is 24.

 ospfv2_ext_prefix_len_end
                 Specifies the ending prefix for routes of this type. Possible
                 values range from 1 to 32. The default value is 24.

 ospfv2_ext_prefix_len_dist
                 Specifies the percentage of routes to create for each prefix length.
                 Possible values range from 0 to 100. The default value is 0.

 ospfv2_ext_primary_metric
                 Specifies the OSPF metric used for primary and unique LSAs.
                 Possible values range from 1 to 65535. The default value is 1.

 ospfv2_ext_secondary_metric
                 Specifies the OSPF metric used for duplicate routes. This
                 argument is valid when duplicate routes are present. Possible
                 values range from 1 to 65535. The default value is 2.

OSPFv3 Route Generation Parameters (you must set session_type to ospfv3)

 ospfv3_ip_addr_start
                 Specifies the starting IPv6 address to use for generating OSPFv3
                 routes. The default value is 2000::.

 ospfv3_ip_addr_end
                 Specifies the ending IPv6 address to use for generating OSPFv3
                 routes. The default value is 3ffe::.

 ospfv3_area_type
                 Determines the type of LSAs that are flooded within the area and
                 the options that are set on the LSAs.
                 Possible values are::


                  regular                 Regular areas support all LSA types
                  stub                    Stub areas do not flood external routes
                                          into the area
                  stub_no_summary         Stub areas with no summary interarea LSAs
                  nssa                    NotSoStubby-Areas (NSSA)
                  nssa_no_summary         Totally NotSoStubby-Areas

                 The default value is regular.

 ospfv3_enable_router_id_adv
                 Enables/disables IPv6 router ID advertisement. Possible values
                 are true (enable) and false (disable). The default value is
                 false.

 ospfv3_router_id_start
                 Specifies the router ID used on the first emulated/simulated
                 router. The value must be in IPv4 format. The default value is
                 1.0.0.1.

 ospfv3_router_id_step
                 Specifies the step value by which to generate subsequent router
                 IDs. The value must be in IPv4 format. The default value is
                 0.0.0.1.

OSPFv3 Intra Route Generation Parameters

 ospfv3_intra_emulated_routers
                 Specifies which emulated routers will advertise routes.
                 Possible values are::


                  all     Add routes on all emulated routers
                  none    No route will be added on the emulated routers

                 The default value is none.
 ospfv3_intra_simulated_routers
                 Specifies which simulated routers will advertise routes.
                 Possible values are::


                  all         Add routes on all emulated routers
                  edge        Add routes to only the simulated routers that are on
                              the edge of the topology
                  none        No route will be added on the emulated routers

                 The default value is all.
 ospfv3_intra_num_of_routes
                 Specifies the number of emulated routes that will be created
                 based on the configuration. The default value is 0.

 ospfv3_intra_weight_route_assign
                 Determines how the total number of routes will be distributed.
                 Possible values are::


                  BYPORTS     Equal number of routes are assigned to each port

                  BYSPEED     Number of routes assigned to each port is
                              proportional to the speed (line rate) of the port.
                              For example, a port with a speed of 100 Mbps will
                              receive 10 times more routes than a port with a speed
                              of 10 Mbps

                  BYROUTERS   Equal number of routes are assigned to each router

                 The default value is BYROUTERS.

 ospfv3_intra_dup_percent
                 Specifies the percentage of routes of this type that will be
                 duplicated. Possible values range from 0 to 100. The default value
                 is 0.

 ospfv3_intra_ip_addr_start
                 Specifies the starting IPv6 address to use for generating the
                 routes. The default value is 2000::.

 ospfv3_intra_ip_addr_end
                 Specifies the ending IPv6 address to use for generating the routes.
                 The default value is 3ffe::.

 ospfv3_intra_enable_ip_addr_override
                 Once enabled, the starting/ending IPv6 address values or default
                 values will be used. Possible values are true (enable) and false
                 (disable). The default value is false.

 ospfv3_intra_disable_route_aggr
                 Enables/disables IPv6 routes aggregation. Possible values are true
                 (enable) and false (disable). The default value is false.
                 This argument is available in the modify mode.

 ospfv3_intra_prefix_len_dist_type
                 Specifies how the number of routes will be distributed across the
                 prefix lengths. Possible values are::


                  custom        Defines a custom percentage of routes for
                                each prefix length

                  exponential   Routes are distributed across prefix lengths
                                using an exponential algorithm

                  fixed         All routes have the same userspecified
                                prefix length

                  internet      Routes are distributed across prefix lengths in
                                a manner typical of the Internet's defaultfree
                                router prefix distribution

                  linear        Routes are distributed equally across prefix
                                lengths from the starting prefix length to
                                the ending prefix length

                 The default value is fixed.

 ospfv3_intra_prefix_len_start
                 Specifies the starting prefix for routes of this type. Possible
                 values range from 1 to 128. The default value is 64.

 ospfv3_intra_prefix_len_end
                 Specifies the ending prefix for routes of this type. Possible
                 values range from 1 to 128. The default value is 64.

 ospfv3_intra_prefix_len_dist
                 Specifies the percentage of routes to create for each prefix
                 length. Possible values range from 0 to 100. The default value is
                 0.

 ospfv3_intra_primary_metric
                 Specifies the OSPFv3 metric used for primary and unique LSAs.
                 Possible values range from 1 to 65535. The default value is 1.

 ospfv3_intra_secondary_metric
                 Specifies the OSPFv3 metric used for duplicate routes. This
                 argument is valid when duplicate routes are present. Possible
                 values range from 1 to 65535. The default value is 2.

OSPFv3 Inter Route Generation Parameters

 ospfv3_inter_emulated_routers
                 Specifies which emulated routers will advertise routes.
                 Possible values are::

                  all     Add routes on all emulated routers
                  none    No route will be added on the emulated routers

                 The default value is none.

 ospfv3_inter_simulated_routers
                 Specifies which simulated routers will advertise routes.
                 Possible values are::


                  all         Add routes on all emulated routers
                  edge        Add routes to only the simulated routers that are on
                              the edge of the topology
                  none        No route will be added on the emulated routers

                 The default value is all.

 ospfv3_inter_num_of_routes
                 Specifies the number of emulated routes that will be created
                 based on the configuration. The default value is 0.

 ospfv3_inter_weight_route_assign
                 Determines how the total number of routes will be distributed.
                 Possible values are::


                  BYPORTS     Equal number of routes are assigned to each port

                  BYSPEED     Number of routes assigned to each port is
                              proportional to the speed (line rate) of the port.
                              For example, a port with a speed of 100 Mbps will
                              receive 10 times more routes than a port with a speed
                              of 10 Mbps

                  BYROUTERS   Equal number of routes are assigned to each router

                 The default value is BYROUTERS.

 ospfv3_inter_dup_percent
                 Specifies the percentage of routes of this type that will be
                 duplicated. Possible values range from 0 to 100. The default value
                 is 0.

 ospfv3_inter_ip_addr_start
                 Specifies the starting IPv6 address to use for generating the
                 routes. The default value is 2000::.

 ospfv3_inter_ip_addr_end
                 Specifies the ending IPv6 address to use for generating the
                 routes. The default value is 3ffe::.

 ospfv3_inter_enable_ip_addr_override
                 Once enabled, the starting/ending IPv6 address values or default
                 values will be used. Possible values are true (enable) and false
                 (disable). The default value is false.

 ospfv3_inter_disable_route_aggr
                 Enables/disables IPv6 routes aggregation. Possible values are true
                 (enable) and false (disable). The default value is false.
                 This argument is available in the modify mode.

 ospfv3_inter_prefix_len_dist_type
                 Specifies how the number of routes will be distributed across the
                 prefix lengths. Possible values are::


                  custom        Defines a custom percentage of routes for
                                each prefix length

                  exponential   Routes are distributed across prefix lengths
                                using an exponential algorithm

                  fixed         All routes have the same userspecified
                                prefix length

                  internet      Routes are distributed across prefix lengths in
                                a manner typical of the Internet's defaultfree
                                router prefix distribution

                  linear        Routes are distributed equally across prefix
                                lengths from the starting prefix length to
                                the ending prefix length

                 The default value is fixed.

 ospfv3_inter_prefix_len_start
                 Specifies the starting prefix for routes of this type. Possible
                 values range from 1 to 128. The default value is 64.

 ospfv3_inter_prefix_len_end
                 Specifies the ending prefix for routes of this type. Possible
                 values range from 1 to 128. The default value is 64.

 ospfv3_inter_prefix_len_dist
                 Specifies the percentage of routes to create for each prefix length.
                 Possible values range from 0 to 100. The default value is 0.

 ospfv3_inter_primary_metric
                 Specifies the OSPFv3 metric used for primary and unique LSAs.
                 Possible values range from 1 to 65535. The default value is 1.

 ospfv3_inter_secondary_metric
                 Specifies the OSPFv3 metric used for duplicate routes. This
                 argument is valid when duplicate routes are present. Possible
                 values range from 1 to 65535. The default value is 2.

OSPFv3 External Route Generation Parameters

 ospfv3_ext_emulated_routers
                 Specifies which emulated routers will advertise routes.
                 Possible values are::


                  all     Add routes on all emulated routers
                  none    No route will be added on the emulated routers

                 The default value is none.

 ospfv3_ext_simulated_routers
                 Specifies which simulated routers will advertise routes.
                 Possible values are::


                  all         Add routes on all emulated routers
                  edge        Add routes to only the simulated routers that are on
                              the edge of the topology
                  none        No route will be added on the emulated routers

                 The default value is all.

 ospfv3_ext_num_of_routes
                 Specifies the number of emulated routes that will be created
                 based on the configuration. The default value is 0.

 ospfv3_ext_weight_route_assign
                 Determines how the total number of routes will be distributed.
                 Possible values are::


                  BYPORTS     Equal number of routes are assigned to each port

                  BYSPEED     Number of routes assigned to each port is
                              proportional to the speed (line rate) of the port.
                              For example, a port with a speed of 100 Mbps will
                              receive 10 times more routes than a port with a speed
                              of 10 Mbps

                  BYROUTERS   Equal number of routes are assigned to each router

                 The default value is BYROUTERS.

 ospfv3_ext_dup_percent
                 Specifies the percentage of routes of this type that will be
                 duplicated. Possible values range from 0 to 100. The default value
                 is 0.

 ospfv3_ext_ip_addr_start
                 Specifies the starting IPv6 address to use for generating the
                 routes. The default value is 2000::.

 ospfv3_ext_ip_addr_end
                 Specifies the ending IPv6 address to use for generating the routes.
                 The default value is 3ffe::.

 ospfv3_ext_enable_ip_addr_override
                 Once enabled, the starting/ending IPv6 address values or default
                 values will be used. Possible values are true (enable) and false
                 (disable). The default value is false.

 ospfv3_ext_disable_route_aggr
                 Enables/disables IPv6 routes aggregation. Possible values are true
                 (enable) and false (disable). The default value is false.
                 This argument is available in the modify mode.

 ospfv3_ext_prefix_len_dist_type
                 Specifies how the number of routes will be distributed across the
                 prefix lengths. Possible values are::


                  custom        Defines a custom percentage of routes for
                                each prefix length

                  exponential   Routes are distributed across prefix lengths
                                using an exponential algorithm

                  fixed         All routes have the same userspecified
                                prefix length

                  internet      Routes are distributed across prefix lengths in
                                a manner typical of the Internet's defaultfree
                                router prefix distribution

                  linear        Routes are distributed equally across prefix
                                lengths from the starting prefix length to
                                the ending prefix length

                 The default value is fixed.

 ospfv3_ext_prefix_len_start
                 Specifies the starting prefix for routes of this type.
                 Possible values range from 1 to 128.
                 The default value is 64.

 ospfv3_ext_prefix_len_end
                 Specifies the ending prefix for routes of this type.
                 Possible values range from 1 to 128.
                 The default value is 64.

 ospfv3_ext_prefix_len_dist
                 Specifies the percentage of routes to create for each prefix
                 length. Possible values range from 0 to 100. The default value is
                 0.
 ospfv3_ext_primary_metric
                 Specifies the OSPFv3 metric used for primary and unique LSAs.
                 Possible values range from 1 to 65535. The default value is 1.

 ospfv3_ext_secondary_metric
                 Specifies the OSPFv3 metric used for duplicate routes. This
                 argument is valid when duplicate routes are present. Possible
                 values range from 1 to 65535. The default value is 2.

Arguments Unsupported by Save as HLTAPI:

This function is currently not supported by Save to 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
log                        An error message (if the operation failed)

For OSPFv2:

handle                    Handle that identifies OSPFv2 route generator
                          parameters. Can be used in mode delete as the input
                          handle

summary_lsa_block         List of handles of IPv4 Summary LSA blocks under a
                          specific OSPF router. Can be used to create traffic

external_lsa_block        List of handles of IPv4 External LSA blocks under a
                          specific OSPF router. Can be used to create traffic

stub_lsa_block            List of handles of IPv4 Stub LSA blocks under a
                          specific OSPF router. Can be used to create traffic
nssa_lsa_block            List of handles of IPv4 NSSA LSA blocks under a
                          specific OSPF router. Can be used to create traffic

For OSPFv3:

handle                     Handle that identifies OSPFv3 route generator parameters.
                          Can be used in mode delete as the input handle

inter_lsa_block            List of handles of IPv6 Inter LSA blocks
                           under a specific OSPFv3 router. Can be used to
                           create traffic

intra_lsa_block            List of handles of IPv6 Intra LSA blocks under a
                           specific OSPFv3 router. Can be used to create traffic

external_lsa_block         List of handles of IPv6 External LSA blocks under a
                           specific OSPFv3 router. Can be used to create traffic

nssa_lsa_block             List of handles of IPv6 NSSA LSA blocks under a
                           specific OSPFv3 router. Can be used to create traffic
Description:

The emulation ospf lsa generator function creates or deletes OSPF/OSPFv3 topologies and the LSAs, mapping the operations of the OSPF LSA Generator wizard in the Spirent TestCenter GUI.

If the operation fails, Spirent HLTAPI returns an error message.

Examples:

The following example creates the specified LSAs:

set ospfLsaGenv6 [emulation ospf lsa generator
        handle= $ospf_router0
        mode=                             create
        topo_type=                        grid
        session_type=                     ospfv3
        grid_rows=                        2
        grid_columns=                     2
        grid_emulated_router_pos=         member_of_grid
        grid_emulated_router_row_index=   2
        grid_emulated_router_col_index=   2
        ospfv3_ip_addr_start=             2000::1
        ospfv3_ip_addr_end=               3ffe::1
        ospfv3_area_type=                 nssa
        ospfv3_enable_router_id_adv=      true
        ospfv3_router_id_start=           1.0.0.2
        ospfv3_router_id_step=            0.0.0.1
        ospfv3_intra_emulated_routers=    all
        ospfv3_intra_simulated_routers=   edge
        ospfv3_intra_num_of_routes=       2
        ospfv3_intra_weight_route_assign= byports
        ospfv3_intra_dup_percent=         30
        ospfv3_intra_ip_addr_start=       2000::1
        ospfv3_intra_ip_addr_end=         3ffe::1
        ospfv3_intra_enable_ip_addr_override= true
        ospfv3_intra_disable_route_aggr=  false
        ospfv3_intra_prefix_len_dist_type= internet
        ospfv3_intra_prefix_len_start=    10
        ospfv3_intra_prefix_len_end=      10
        ospfv3_intra_prefix_len_dist=     10
        ospfv3_intra_primary_metric=      10
        ospfv3_intra_secondary_metric=    10
        ospfv3_inter_emulated_routers=    all
        ospfv3_inter_simulated_routers=   edge
        ospfv3_inter_num_of_routes=       2
        ospfv3_inter_weight_route_assign= byports
        ospfv3_inter_dup_percent=         30
        ospfv3_inter_ip_addr_start=       2000::1
        ospfv3_inter_ip_addr_end=         3ffe::1
        ospfv3_inter_enable_ip_addr_override= true
        ospfv3_inter_disable_route_aggr=    false
        ospfv3_inter_prefix_len_dist_type=  internet
        ospfv3_inter_prefix_len_start=      10
        ospfv3_inter_prefix_len_end=        10
        ospfv3_inter_prefix_len_dist=       10
        ospfv3_inter_primary_metric=        10
        ospfv3_inter_secondary_metric=      10
        ospfv3_ext_emulated_routers=        all
        ospfv3_ext_simulated_routers=       edge
        ospfv3_ext_num_of_routes=           2
        ospfv3_ext_weight_route_assign=     byports
        ospfv3_ext_dup_percent=             30
        ospfv3_ext_ip_addr_start=           2000::1
        ospfv3_ext_ip_addr_end=             3ffe::1
        ospfv3_ext_enable_ip_addr_override= true
        ospfv3_ext_disable_route_aggr=      false
        ospfv3_ext_prefix_len_dist_type=    internet
        ospfv3_ext_prefix_len_start=        10
        ospfv3_ext_prefix_len_end=          10
        ospfv3_ext_prefix_len_dist=         10
        ospfv3_ext_primary_metric=          10
        ospfv3_ext_secondary_metric=       10\ ]

set Ospfv3Genhandle [keylget ospfLsaGenv6 handle]

Sample Output:

{status 1} {inter_lsa_block {ipv6networkblock1 #ipv6networkblock2}}
{intra_lsa_block {ipv6networkblock3 ipv6networkblock4 ipv6networkblock5}}
{nssa_lsa_block {ipv6networkblock6 ipv6networkblock7}}
{handle ospfv3lsagenparams1}

Sample input for scaling mode:

puts "emulation_ospfv2_config: $rtn"

set hnd [keylget rtn handle_list]

set ospfLsaGenv4 [emulation ospf lsa generator
    handle= $hnd
    mode= create
    topo_type= full_mesh
    session_type= ospfv2
    full_mesh_num_of_routers= 2
    full_mesh_emulated_router_pos= member_of_mesh
    ospfv2_ip_addr_start= 1.1.1.1
    ospfv2_ip_addr_end=   224.255.255.255
    ospfv2_create_num_point_to_point=  true
    ospfv2_area_type= nssa
    ospfv2_intf_addr_start= 1.1.1.2
    ospfv2_intf_prefix_length= 28
    ospfv2_enable_loopback_advertise= true
    ospfv2_router_id_start= 1.1.1.1
    ospfv2_router_id_step=  0.0.0.2
    ospfv2_stub_emulated_routers= all
    ospfv2_stub_simulated_routers= edge
    ospfv2_stub_num_of_routes= 2
    ospfv2_sum_emulated_routers= all
    ospfv2_sum_simulated_routers= edge
    ospfv2_sum_num_of_routes= 2
    ospfv2_ext_emulated_routers= all
    ospfv2_ext_simulated_routers= edge
    ospfv2_ext_num_of_routes= 2]

puts "emulation_ospf_lsa_generator: $ospfLsaGenv4"

set status [keylget ospfLsaGenv4 status]

Sample Output:

{status 1} {summary_lsa_block {ipv4networkblock3 ipv4networkblock4}}
{stub_lsa_block {ipv4networkblock5 ipv4networkblock6 ipv4networkblock7
ipv4networkblock8 ipv4networkblock9 ipv4networkblock10 ipv4networkblock11
ipv4networkblock12 ipv4networkblock13 ipv4networkblock14 ipv4networkblock15
ipv4networkblock16 ipv4networkblock17 ipv4networkblock18 ipv4networkblock19
ipv4networkblock20 ipv4networkblock21 ipv4networkblock22}} {nssa_lsa_block
{ipv4networkblock1 ipv4networkblock2}}

End of Procedure Header

emulation ospf tlv config

Execute Tester Command ${rt_handle} command=test_control <additional key=value arguments>

Purpose:
This function is a Spirent Extension created to configure, modify, or delete OSPF TypeLength-Values (TLVs)

Synopsis:

Note: M indicates the argument is `Mandatory`.

   emulation ospf tlv config
       mode= {create|modify|delete}  M
       handle= <handle>  M
       type= algorithm_tlv
           handle= <router_info_lsa_handle>
           algorithms=
       type= sid_label_range_tlv
           handle= <router_info_lsa_handle>
           sid_label_range_size= <1 - 16777215>
           sid_label_value= <integer>
           sid_label_value_type= <label | sid>
       type= extended_prefix_tlv
           handle= <extended_prefix_lsa_handle>
           extended_prefix_addr_family= {ipv4_unicast}
           extended_prefix_addr_prefix= <a.b.c.d>
           extended_prefix_prefix_length= <0-32>
           extended_prefix_route_type= {unspecified|intra_area|inter_area
                                       |external|nssa_external}]
        type= prefix_sid_tlv
           handle= <extended_prefix_tlv_handle>
           prefix_sid_algorithm_value= <integer>
           prefix_sid_flags= {nbit | npbit | mbit | ebit | vbit | lbit}
           prefix_sid_index= <integer>
           prefix_sid_multi_topo_id= <integer>
           prefix_sid_range_size= <1-65535>
       type= sid_label_binding_tlv
           handle= <extended_prefix_tlv_handle>
           sid_label_binding_flags= <MBIT>
           sid_label_binding_multi_topo_id= <integer>
           sid_label_binding_range_size= <1-65535>
           sid_label_binding_weight= <integer>
           sid_label_binding_value= <integer>
           sid_label_binding_value_type= {LABEL | SID}
       type= ero_tlv
           handle= <sid_label_binding_tlv_handle>
       type= ipv4_ero_tlv
           handle= <ero_tlv_handle>
           ipv4_ero_flags= <lbit>
           ipv4_ero_addr= <a.b.c.d>
       type= extended_link_tlv
           handle= <extended_link_lsa_handle>
           extended_link_data= <a.b.c.d>
           extended_link_id= <a.b.c.d>
           extended_link_type= {point_to_point|transit_network|stub_network|virtual_link}

       type= adj_sid_tlv
           handle= <extended_link_tlv_handle>  M
           adj_sid_flags= {bbit|vbit|lbit|sbit}
           adj_sid_multi_topo_id= <integer>
           adj_sid_weight= <integer>
           adj_sid_value= <integer>
           adj_sid_value_type= {label | sid}
       type= lan_adj_sid_tlv
           handle= <extended_link_tlv_handle>  M
           lan_adj_sid_flags= {bbit | vbit | lbit | sbit}
           lan_adj_sid_multi_topo_id= <integer>
           lan_adj_sid_neighbor_id= <a.b.c.d>
           lan_adj_sid_weight= <integer>
           lan_adj_sid_value= <integer>
           lan_adj_sid_value_type= {label | sid}

Arguments:

mode
                Specifies the action to perform. You can create, modify, or
                delete a TLV. This argument is `Mandatory`.
                The modes are described below::


                 create      Creates a new OSPF TLV. See the
                             description of the type argument for a list of TLVs
                             that you can create. Use the handle argument to
                             specify the router or TLV handles under which the
                             specified TLV must be created.

                 modify      Modifies an existing TLV. Use the
                             handle argument to specify the TLV to modify.

                 delete      Deletes a TLV. Use the handle argument to specify
                             the TLV to delete.

handle
                OSPF LSA handles received from the
                ``emulation ospf lsa config`` function, or TLV handles received
                from the current function, depending on the TLVs to be
                configured. This argument is `Mandatory`.

type
                Specifies the type of TLVs to be configured. This argument is
                `Mandatory`. Possible values are described below: :

                adj_sid_tlv
                    Adjacency Segment Identifier (AdjSID) is an optional sub-TLV
                    of the Extended Link TLV. It may appear multiple times in
                    the Extended Link TLV.

                algorithm_tlv
                     Segment Routing (SR) Algorithm TLV. It is a TLV of the RI
                     Opaque LSA, which allows a router to advertise algorithms
                     that the router is currently using to other routers in an
                     area.

                ero_tlv
                    ERO Metric subTLV. It is a subTLV of the SID/Label Binding
                    TLV. The ERO Metric subTLV carries the cost of an ERO path.
                    It is used to compare the cost of a given source/destination
                    path.

                extended_prefix_tlv
                    OSPF Extended Prefix TLV, used to advertise additional
                    attributes associated with the prefix. Multiple OSPF Extended
                    Prefix TLVs may be carried in each OSPFv2 Extended Prefix
                    Opaque LSA.

                extended_link_tlv
                    OSPFv2 Extended Link TLV, used to advertise various
                    attributes of the link. It describes a single link and is
                    constructed of a set of subTLVs.

                ipv4_ero_tlv
                     IPv4 ERO TLV, a subTLV of the SID/Label Binding
                     subTLV.

                lan_adj_sid_tlv
                     LAN AdjSID TLV, an optional sub-TLV of the Extended Link
                     TLV.

                prefix_sid_tlv
                    Prefix SID TLV, a subTLV of the OSPF Extended Prefix TLV

                sid_label_binding_tlv
                     SID/Label Binding TLV, a subTLV of the OSPF Extended
                     Prefix TLV, used to advertise SID/Label mapping for a path
                     to the prefix.

                sid_label_range_tlv
                     SID/Label Range TLV, a TLV  of RI Opaque LSA.

algorithms
                Specifies the algorithm for the SRAlgorithm TLV to calculate
                reachability. The available option is METRIC_BASED_SPF. The
                default value is METRIC_BASED_SPF. You must specify
                type algorithm_tlv.

sid_label_range_size
                Size of the SID/Label range. Possible values range from 1 to
                16777215. The default value is 100. You must specify
                type sid_label_range_tlv.

sid_label_value
                Segment identifier of the SID/Label TLV. The value must be an
                integer. The default value is 16. You must specify
                type sid_label_range_tlv.

sid_label_value_type
                Type of segment identifier of the SID/Label TLV. You must
                specify type sid_label_range_tlv. Possible values
                are::


                 label   20bit label
                 sid     32bit SID

                The default value is label.

extended_prefix_addr_family
                Specifies the address family for the OSPF Extended Prefix TLV.
                The available value is ipv4_unicast. You must specify
                type extended_prefix_tlv. The default value is
                ipv4_unicast.

extended_prefix_addr_prefix
                Specifies the network address for the OSPF Extended Prefix TLV.
                You must specify type extended_prefix_tlv. The value must be
                in IPv4 format. The default value is 192.0.1.0.

extended_prefix_prefix_length
                Specifies the prefix length for the OSPF Extended Prefix TLV.
                You must specify type extended_prefix_tlv.
                Possible values range from 0 to 32. The default value is 24.

extended_prefix_route_type
                Specifies the router type for the OSPF Extended Prefix TLV.
                You must specify type extended_prefix_tlv. Possible values
                are unspecified, intra_area, inter_area,
                external, and nssa_external. The default value is unspecified.

prefix_sid_algorithm_value
                Specifies the algorithm the PrefixSID TLV is associated with.
                You must specify type extended_prefix_tlv.
                The available value is 0 (IGP metric based SPT). The default
                value is 0.

prefix_sid_flags
                Specifies the required octet fields defined in the PrefixSID
                TLV. You must specify type extended_prefix_tlv.
                Possible values are described below::


                 nbit    NodeSID flag
                 npbit   NoPHP flag
                 mbit    Mapping Server flag
                 ebit    ExplicitNull flag
                 vbit    Value/Index flag
                 lbit    Local/Global flag

                Use "|" to specify multiple flags.

prefix_sid_index
                Specifies the offset to the advertised SID/Label range. The value
                must be an integer. You must specify type extended_prefix_tlv.
                The default value is 0.

prefix_sid_multi_topo_id
                Specifies the MultiTopology ID for the Prefix-SID TLV. You
                must specify type extended_prefix_tlv. Possible values range
                from 0 to 255. The default value is 0. The values are
                described below::


                 Values          Description

                 0           Reserved for advertising the metric associated with
                             the default topology
                 1           Reserved for advertising the metric associated with
                             the default multicast topology
                 2           Reserved for IPv4 inband management purposes
                 3-31        Reserved for assignments by IANA
                 32-127      Reserved for development, experimental, and proprietary
                             features
                 128-255     Invalid and should be ignored


prefix_sid_range_size
                Size of the SID/Label range. You must specify
                type extended_prefix_tlv. Possible values range from 0 to
                65535. The default value is 1.

sid_label_binding_flags
                Specified the required octet fields defined in the SID Label
                Binding TLV. You must specify type sid_label_binding_tlv.
                The available value is described below::


                 mbit    Mapping Server bit. If set, the SID is advertised from the
                         Segment Routing Mapping Server functionality.

sid_label_binding_multi_topo_id
                Specifies the MultiTopology ID for the SID Label Binding TLV.
                You must specify type sid_label_binding_tlv.
                Possible values range from 0 to 255. The default value is 0. The
                values are described below::


                 Values          Description

                 0           Reserved for advertising the metric associated with
                             the default topology
                 1           Reserved for advertising the metric associated with
                             the default multicast topology
                 2           Reserved for IPv4 inband management purposes
                 3-31        Reserved for assignments by IANA
                 32-127      Reserved for development, experimental, and proprietary
                             features
                 128-255     Invalid and should be ignored

sid_label_binding_range_size
                Number of addresses to be mapped into a PrefixSID. You must
                specify type sid_label_binding_tlv. Possible values
                range from 1 to 65535. The default value is 1.

sid_label_binding_weight
                Specifies the weight used for load balancing in the SID Label Binding TLV.
                You must specify type sid_label_binding_tlv.
                Possible values range from 0 to 255. The default value is 1.

sid_label_binding_value
                Specifies the segment identifier for the SID Label Binding TLV.
                You must specify type sid_label_binding_tlv.
                The value must be an integer. The default value is 16.

sid_label_binding_value_type
                Specifies the type of segment identifier for the SID Label
                Binding TLV. You must specify type sid_label_binding_tlv.
                Possible values are::


                 label   20bit label
                 sid     32bit SID

                The default value is label.

ipv4_ero_flags
                Specifies the required octet fields. You must specify
                type ipv4_ero_tlv. The available value is
                lbit (L bit). If set, the value of the attribute is
                loose. If not set, the value of the attribute is strict.
                The default value is lbit.

ipv4_ero_addr
                Specifies the IP address of the explicit route hop.
                You must specify type ipv4_ero_tlv. The default
                value is 192.0.1.0

extended_link_id
                Identifies the object to which this router link is connected.
                The value depends on the link type specified by extended_link_type.
                You must specify type extended_link_tlv.
                The mapping relations are described below::


                 Link Type              Link ID
                 Pointto-point      Neighbor router ID link
                 Link to transit     Interface address of network designated router
                 Link to stub        IP network/subnet number
                 Virtual link        Neighbor router ID

                The value must be in IPv4 format. The default value is 0.0.0.0.

extended_link_type
                Specifies the link type.  You must specify type extended_link_tlv.
                Possible values are described below::


                 point_to_point         Pointto-Point
                 transit_network        Transit network
                 stub_network           Stub network
                 virtual_link           Virtual link

                The default value point_to_point.

extended_link_data
                Specifies the link address. You must specify type extended_link_tlv.
                The value depends on the link type specified by
                extended_link_type. The values are described below::


                  transit/numbered pointto-point/virtual
                         IP interface address of the associated router interface

                  stub
                         Stub network's IP address mask

                  Unnumbered pointto-point
                         Unnumbered interface's MIBII ifIndex value

                The default value is 0.0.0.0.

adj_sid_flags
                Specifies the required octet fields for the AdjSID sub-TLV.
                You must specify type adj_sid_tlv. Possible values are::


                 bbit    Backup flag. Set if the AdjSID refers to an adjacency
                         being protected.

                 vbit    Value/Index flag. If set, the PrefixSID carries an absolute
                         value. If not set, the PrefixSID carries an index.

                 lbit    Local/Global flag. If set, the value/index carried
                         by the PrefixSID has local significance. If not set,
                         the value/index carried by this subTLV has global
                         significance.

                 sbit    Set Flag. If set, it indicates that the AdjSID refers to
                         a set of adjacencies

                Use "|" to specify multiple flags. The default value is vbit|lbit.

adj_sid_multi_topo_id
                Specifies the multitopology ID for the Adj-SID sub-TLV.
                You must specify type adj_sid_tlv.
                Possible values range from 0 to 255. The default value is 0. The
                values are described below::


                 Values          Description

                 0           Reserved for advertising the metric associated with
                             the default topology
                 1           Reserved for advertising the metric associated with
                             the default multicast topology
                 2           Reserved for IPv4 inband management purposes
                 3-31        Reserved for assignments by IANA
                 32-127      Reserved for development, experimental, and proprietary
                             features
                 128-255     Invalid and should be ignored

adj_sid_weight
                Specifies the weight to be used for load balancing purposes.
                You must specify type adj_sid_tlv.
                Possible values range from 1 to 255. The default value is 1.

adj_sid_value
                Specifies the segment identifier for the AdjSID
                subTLV. You must specify -type adj_sid_tlv. The value must be
                an integer. The default value is 16.

adj_sid_value_type
                Specifies the type of segment identifier for the AdjSID
                subTLV. You must specify -type adj_sid_tlv. Possible values are::


                 label   20bit label
                 sid     32bit SID

                The default value is label.

lan_adj_sid_flags
                Specifies the required octet fields for the LAN AdjSID sub-TLV.
                You must specify type lan_adj_sid_tlv.
                Possible values are described below::


                 bbit    Backup flag. Set if the AdjSID refers to an adjacency
                         being protected.

                 vbit    Value/Index flag. If set, the PrefixSID carries an absolute
                         value. If not set, the PrefixSID carries an index.

                 lbit    Local/Global flag. If set, the value/index carried
                         by the PrefixSID has local significance. If not set,
                         the value/index carried by this subTLV has global
                         significance.

                 sbit    Set Flag. If set, it indicates that the AdjSID refers to
                         a set of adjacencies

                Use "|" to specify multiple flags. The default value is vbit|lbit.

lan_adj_sid_multi_topo_id
                Specifies the multitopology ID for the LAN Adj-SID sub-TLV.
                You must specify type lan_adj_sid_tlv.
                Possible values range from 0 to 255. The default value is 0. The
                values are described below::


                 Values          Description

                 0           Reserved for advertising the metric associated with
                             the default topology
                 1           Reserved for advertising the metric associated with
                             the default multicast topology
                 2           Reserved for IPv4 inband management purposes
                 3-31        Reserved for assignments by IANA
                 32-127      Reserved for development, experimental, and proprietary
                             features
                 128-255     Invalid and should be ignored

lan_adj_sid_neighbor_id
                Specifies the neighbor ID for the LAN AdjSID sub-TLV. You must
                specify type lan_adj_sid_tlv. The value must be
                in IPv4 format. The default value is 0.0.0.0.

lan_adj_sid_weight
                Specifies the weight to be used for load balancing purposes.
                You must specify type lan_adj_sid_tlv.
                Possible values range from 1 to 255. The default value is 1.
lan_adj_sid_value
                Specifies the segment identifier for the LAN AdjSID sub-TLV.
                You must specify type lan_adj_sid_tlv.
                The value must be an integer. The default value is 16.

lan_adj_sid_value_type
                Specifies the type of segment identifier for the LAN AdjSID
                subTLV. You must specify -type lan_adj_sid_tlv.
                Possible values are::


                 label   20bit label
                 sid     32bit SID

                The default value is label.

Arguments Unsupported by Save as HLTAPI:

This function is currently not supported by Save to HLTAPI. To test with this
function, you must configure it manually in the generated Spirent HLTAPI scripts.
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 returned by the function when you use mode
          create to create a new TLV. When you want to modify or
          delete the TLV, you specify the handle as the value to the
          handle argument and the corresponding TLV type under the -type argument.
                status    Success (1) or failure (0) of the operation.

log       An error message (if the operation failed).
Description:

The emulation ospf tlv config function creates, modifies, or deletes a TLV. Use the mode argument to specify the operation to perform. When you create an TLV, the function returns a handle to the newly created TLV. Use this handle as input for modify and delete mode operations.

The mode you use determines the set of arguments you use to configure the TLV. When you specify mode create or modify, you must also use the type argument to specify the type of TLV to create or modify.

Refer to Examples and Arguments for detailed information.

Examples:

To add an OSPF RI LSA:

set device_ret0_router0 [emulation ospf lsa config
       type=                       router_info
       handle=                     $ospf_router0
       router_info_adv_router_id=  192.0.0.1
       router_info_age=            10
       router_info_checksum=       good
       router_info_seq_num=        0x800
       router_info_instance=       1
       router_info_opaque_type=        router_information
       router_info_route_category=     secondary
       router_info_scope=              area_local
       router_info_options=            ebit
       mode=                           create
    ]

Sample Output:

{status 1} {lsa_handle routerinfolsa1} {adv_router_id 0.0.0.0}

To add an OSPF Algorithm TLV under the RI LSA:

set device_ret0_algorithm_tlv [emulation ospf tlv config
      type=           algorithm_tlv
      algorithms=     0
      handle=         $routerInfoHnd
      mode=           create
          ]

# $routerInfoHnd is retrieved from the ``emulation ospf lsa config`` function
# with type= router_info

Sample Output:

{status 1} {handle sralgorithmtlv1}

To add an OSPF SID/Label TLV under the RI LSA:

set device_ret0_sid_label_range_tlv [emulation ospf tlv config
      type=                                sid_label_range_tlv
      handle=                              $routerInfoHnd
      mode=                                create
      sid_label_range_size=                100
      sid_label_value=                     100
      sid_label_value_type=                label
   ]

Sample Output:

{status 1} {handle sidlabelrangetlv1}

To add an OSPF SID Label Binding TLV under the specified Extended Prefix LSA:

set device_ret0_sid_label_binding_tlv [emulation ospf tlv config
        type=                               sid_label_binding_tlv
        handle=                             $extended_prefix_tlv_Hnd
        mode=                               create
        sid_label_binding_flags=            mbit
        sid_label_binding_multi_topo_id=    192
        sid_label_binding_range_size=       32
        sid_label_binding_weight=           20
        sid_label_binding_value=            10
        sid_label_binding_value_type=       label
    ]

Sample Output:

{status 1} {handle prefixsidsubtlv1}

To add an OSPF ERO TLV under the existing SID Label Binding TLV:

set device_ret0_ero_tlv [emulation ospf tlv config
       type=           ero_tlv
       handle=         $sid_label_binding_tlv_Hnd
       mode=            create
 ]

Sample Output:

{status 1} {handle erosubtlv1}

To add an OSPF IPv4 ERO TLV under the existing ERO TLV:

set device_ret0_ipv4_ero_tlv [emulation ospf tlv config
    type=            ipv4_ero_tlv
    handle=          $ero_tlv_Hnd
    mode=           create
    ipv4_ero_flags=    lbit
    ipv4_ero_addr=   10.0.0.1
 ]

Sample Output:

{status 1} {handle ipv4erosubtlv1}

End of Procedure Header

emulation ospf topology route config

Execute Tester Command ${rt_handle} command=test_control <additional key=value arguments>

Purpose:
Creates, modifies, or deletes a set of OSPFv2 and/or OSPFv3 routers or a single routers behind an OSPF router. You can attach routes to or delete routes from different kinds of routers, such as Summary, External, and NSSA.

Synopsis:

Note: M indicates the argument is `Mandatory`.
    emulation ospf topology route config
        mode=  {create|modify|delete} M
        type= {router|grid|network|summary_routes|ext_routes|nssa_routes} M
        elem_handle= <topology_elem_handle>
        handle= <ospf_handle>|<device_handle>|<session_router_handle>
        external_connect= <1-65535> <1-65535>
        external_number_of_prefix= <1-65535>
        external_prefix_forward_addr=  <a.b.c.d> |
                <a:b:c:d:e:f:g:h>]
        external_prefix_length=  <1-32> |<1-128>
        external_prefix_metric= <1-16777215>
        external_prefix_start= <a.b.c.d> |
                <a:b:c:d:e:f:g:h>]
        external_prefix_step= <0-65535>
        external_prefix_type= {{1|2} | {0|1} }
        grid_col= <1-65535>
        grid_connect= <1-65535> <1-65535>
        grid_connect_session= <ospf_session_handle>
        grid_disconnect= <ospf_session_handle>
        grid_link_type= {ptop_numbered|ptop_unnumbered}
        grid_prefix_length= <1-32> |<1-128>
        grid_prefix_start= <a.b.c.d> |
                <a:b:c:d:e:f:g:h> ]
        grid_prefix_step=
             ospfv2 <a.b.c.d> | ospfv3 <1-65535>]
        grid_router_id= <a.b.c.d>
        grid_router_id_step= <a.b.c.d>
        grid_row= <1-65535>
        grid_stub_per_router= <0-65535>
        link_enable= {0|1}
        link_intf_addr= <a.b.c.d>
        net_count= <1-65535>
        net_dr= <ospf_lsa_handle>
        net_ip= {a.b.c.d}
        net_ip_step= {a.b.c.d}
        net_prefix= <a.b.c.d> |
                <a:b:c:d:e:f:g:h>]
        net_prefix_length= <1-128>
        nssa_connect= <1-65535>
        nssa_number_of_prefix= <1-128>
        nssa_prefix_forward_addr= <a.b.c.d> |
                <a:b:c:d:e:f:g:h>]
        nssa_prefix_length= <1-128>
        nssa_prefix_metric= <1-16777215>
        nssa_prefix_start= <a.b.c.d> |
                <a:b:c:d:e:f:g:h>]
        nssa_prefix_step= {1-65535}
        nssa_prefix_type= {{1|2} | {0|1} }
        router_abr= <0|1>
        router_asbr= <0|1>
        router_connect= <ospf_lsa_handle>
        router_disconnect= <ospf_lsa_handle>
        router_id= <a.b.c.d>
        summary_connect= <1-65535> <1-65535>
        summary_number_of_prefix= <1-14294967295>
        summary_prefix_length= <1-128>
        summary_prefix_metric= <1-16777215>
        summary_prefix_start= <a.b.c.d> |
                <a:b:c:d:e:f:g:h>]
        summary_prefix_step= {1-65535

Arguments:

elem_handle
                Specifies the topology element to modify or delete. Returns
                the topology element type that you specified with the type
                argument. This argument is `Mandatory` for modify and delete
                modes.

external_connect
                Specifies the position (row and column) of the router in the
                router grid associated with the OSPF session to which an
                OSPF external route pool will be connected. The default
                position is "1 1". This argument is applicable when a grid
                of simulated OSPF routers are created. See example for
                creating a grid of routers.

external_number_of_prefix
                Specifies the number of routes in an OSPF external route
                pool element. Possible values range from 1 to 66535. The
                default is 24.

external_prefix_forward_addr
                Specifies the forwarding IP address for an OSPF external
                route pool element. The default for OSPFv2 (IPv4) is
                0.0.0.0, and the default for OSPFv3 (IPv6) is
                0:0:0:0:0:0:0:0.

external_prefix_length
                Specifies the prefix length for an OSPF external route pool
                element. For IPv4, possible values range from 0 to 32, and
                the default is 24. For IPv6, possible values range from 1 to
                128; the default is 64.

external_prefix_metric
                Specifies a metric value for an OSPF external route pool
                element. Possible values range from 1 to 16777215. The
                default is 1.

external_prefix_start
                Specifies the first of a sequence of IP addresses belonging
                to the same OSPF external route pool element. The default
                for OSPFv2 (IPv4) is 0.0.0.0, and the default for OSPFv3
                (IPv6) is 0:0:0:0:0:0:0:0. .

external_prefix_step
                Specifies the modifier by which to increment the network
                part of the first IP address, to generate subsequent IP
                addresses belonging to different routes for an OSPF external
                route pool element. Possible values range from 0 to 66535.
                The default is 1.

external_prefix_type
                Specifies the type of metric to use for an OSPF external
                route pool. Possible values are 1 or 2. Specify 1
                for type 1 (internal cost is added to external cost) or 2
                for type 2 (external cost only). The default is 1.

grid_col
                Defines the number of columns in a grid. Use this argument
                to add a grid of routers behind an emulated router. You must
                also specify grid_row to configure the size of the grid.
                Possible values range from 0 to 65535. The default is 1.

grid_connect
                Connects a router in the grid, as specified by the row and
                column, to the emulated router of the specified OSPF session
                handle (handle). By default, the first row and first column
                router is connected to the emulated router. Spirent
                TestCenter allows you to connect only one grid of routers to
                one emulated router. Use this argument to add a grid of
                routers behind an emulated router:

grid_connect_session
                Use this argument to reconnect a grid of routers to an
                emulated router after the grid has been disconnected by
                grid_disconnect. To reconnect a grid of routers to an
                emulated router, use grid_connect_session with "-mode
                modify", type grid, "-elem_handle <grid_handle>", and
                "grid_connect <row col>",
                Note: You can retrieve the "connected_session" handle after
                the grid of routers has been created.

grid_disconnect
                Use this argument to disconnect a grid of routers from an
                emulated router. To disconnect a grid of routers from an
                emulated router, use grid_disconnect with "-mode
                modify", type grid, "-elem_handle <grid_handle>", and
                "grid_connect <row  col>",
                Note: You can retrieve the "connected_session" handle after
                the grid of routers has been created.

grid_link_type
                Specifies the type of link that connects the routers in a
                grid. This argument is available only for OSPFv2. Possible
                values are ptop_numbered and ptop_unnumbered. The default is
                "ptop_unnumbered". A pointto-point (ptop) link is a
                physical or logical serial link between two routers. The
                link can be numbered (IP address is configured on the link)
                or unnumbered.

grid_prefix_length
                Specifies the prefix length of a ptop_numbered link on an
                OSPFv2 grid and on a stub network if you also used the
                grid_stub_per_network argument. The default for OSPFv2 is
                24, and the default for OSPFv3 is 64.

grid_prefix_start
                Defines the first prefix used in a grid. Use this argument
                only if grid_link_type is set to "ptop_numbered" on
                an OSPFv2 grid or if you also used grid_stub_per_router.
                The default for OSPFv2 (IPv4) is 0.0.0.0, and the default
                for OSPFv3 (IPv6) is 0:0:0:0:0:0:0:0.

grid_prefix_step
                Increments network prefixes in a grid. The value rounds to
                the prefix length. Use this argument if either
                grid_link_type is set to "ptop_numbered" or if you also
                set grid_stub_per_router. Possible values range from 1 to
                32 for OSPFv2 and 1 to 128 for OSPFv3.

grid_router_id
                Sets the first router ID in an OSPF router grid.

grid_router_id_step
                Sets the step value for incrementing subsequent router IDs
                in an OSPF router grid.

grid_row
                Defines the number of rows in a grid. Use this argument
                to add a grid of routers behind an emulated router. You must
                also specify grid_col to configure the size of the grid.
                Possible values range from 0 to 65535. The default is 1.

grid_stub_per_router
                Defines the number of stub networks per router in a grid.
                Use this argument to add a grid of routers behind a grid
                router.

handle
                Identifies the OSPF router on which to create the OSPF
                element. This argument is `Mandatory`. For the dual stack
                device routers use the returned session_router handle
                as input to this option.

link_enable
                Enables a link to another element. Use this argument to add
                a single router behind a session router: If true (1),
                enables link to another element. The default is 1. This
                argument is available when type is set to router.

link_intf_addr
                Sets the link interface address. Use this argument to add a
                single router behind a session router.

mode
                Specifies the action to be performed. Possible values
                are create, modify, and delete. This argument is `Mandatory`.
                The modes are described below::


                 create - Creates a topology element. You must use the
                          handle argument to identify the associated element and
                          the type argument to specify the type of topology
                          element to create. Both the handle and -type arguments
                          are `Mandatory` with mode create.

                 modify - Changes the configuration for the topology
                          specified in the handle argument. The handle, -type,
                          and elem_handle arguments are `Mandatory`  with "-mode
                          modify".

                 delete - Deletes the element specified in the handle
                          argument. The handle, -type, and -elem_handle
                          arguments are `Mandatory` with mode delete.

net_count
                `Spirent Extension (for Spirent HLTAPI only).`

                Specifies the number of routers per transit network.
                Possible values range from 1 to 65535. The default is 1.

net_dr
                Sets the designated router of an OSPF network element.

net_ip
                Sets the IP address of an OSPF network element.

net_prefix
                `Spirent Extension (for Spirent HLTAPI only).`

                Use this argument to add a network (transit link) behind a
                session router: The default for OSPFv2 (IPv4) is 0.0.0.0,
                and the default for OSPFv3 (IPv6) is 0:0:0:0:0:0:0:0.

net_prefix_length
                Specifies the prefix length on the network interface.
                Possible values for OSPFv2 range from 1 to 32; the default
                is 24. Possible values for OSPFv3 range from 1 to 128; the
                default is 64.

net_ip_step
                `Spirent Extension (for Spirent HLTAPI only).`

                Specifies the step value for incrementing subsequent IP
                addresses of an OSPF network element on the same transit
                network.

nssa_connect
                Specifies the position (row and column) of the router in the
                router grid associated with the OSPF session to which an
                OSPF NSSA route pool will be connected. The default
                position is "1 1". This argument is applicable when a grid
                of simulated OSPF routers are created. See example for
                creating a grid of routers.

nssa_number_of_prefix
                Specifies the number of NSSA routes added to a grid
                router.

nssa_prefix_forward_addr
                Specifies the forwarding address for an OSPF NSSA route
                pool. The default for OSPFv2 (IPv4) is 0.0.0.0, and the
                default for OSPFv3 (IPv6) is 0:0:0:0:0:0:0:0.

nssa_prefix_length
                Specifies the prefix length for an OSPF NSSA route
                pool. Possible values for OSPFv2 range from 1 to 32; the
                default is 32. Possible values for OSPFv3 range from 1 to
                128; the default is 64.

nssa_prefix_metric
                Specifies a metric value for an OSPF NSSA route pool
                element. Use this argument when adding nssa routes (that is,
                you specified "type as nssa_routes"). Possible values
                range from 1 to 16777215. The default is 1.

nssa_prefix_start
                Specifies the first IP network prefix in an OSPF NSSA route
                pool element. The default for OSPFv2 (IPv4) is 0.0.0.0, and
                the default for OSPFv3 (IPv6) is 0:0:0:0:0:0:0:0.

nssa_prefix_step
                Specifies the amount by which to increment the network part
                of the first IP address to generate subsequent IP addresses
                belonging to different routes for an OSPF NSSA route pool
                element. Possible values range from 1 to 65535.

nssa_prefix_type
                Specifies the type of metric to use for an OSPF NSSA route
                pool. Possible values are 1 and 2. Specify 1 for type 1
                (when calculating the cost of the path to an NSSA route, the
                costs of the internal links are included) or 2 for type 2
                (costs of internal links are not included in the total cost
                calculation. Type 2 routes have a lower priority and are
                considered in the path selection after type 1 costs have
                been evaluated. The default is 1.

router_abr
                Specifies whether the emulated router is an area border
                router. This argument is equivalent to "Router Type" in the
                Spirent TestCenter GUI, with a choice of ABR, ASBR, or
                Virtual Link. Possible values are 0 (false) or 1 (true). If
                set to 1, the emulated router is an area border router (that
                is, it corresponds to the B (Border) bit in a router LSA).
                If set to 0, it is not.

router_asbr
                Specifies whether the emulated router is an AS border
                router. This argument is equivalent to "Router Type" in the
                Spirent TestCenter GUI, with a choice of ABR, ASBR, or
                Virtual Link. Possible values are 0 (false) or 1 (true). If
                set to 1, the emulated router is an AS border router (that
                is, it corresponds to the E (External) bit in a router
                LSA).. If set to 0, it is not.

router_connect
                Connects a single router behind a session
                router: connects to an emulated router or a router
                grid. If you do not specify router_connect, a router is
                automatically connected to an emulated router by default.
                To connect a router, use "router_connect with "-mode
                create", and type router.

router_disconnect
                Disconnects the router from a session router. To disconnect
                a router, use "router_disconnect with -mode modify,
                type router, and "-elem_handle <topology_elem_handle>".

router_id
                Sets the router ID for the OSPF router element.

summary_connect
                Specifies the position (row and column) of the router in the
                router grid associated with the OSPF session to which an
                OSPF summary route pool will be connected. The default
                position is "1 1". This argument is applicable when a grid
                of simulated OSPF routers are created. See example for
                creating a grid of routers.

summary_number_of_prefix
                Specifies the number of summary routes added to a grid router.
                Possible values range from 1 to 14294967295. The default is 1.

summary_prefix_length
                Specifies the prefix length for an OSPF summary route pool
                element. For IPv4, possible values range from 0 to 32, and
                the default is 24. For IPv6, possible values range from 1 to
                128; the default is 64.

summary_prefix_metric
                Specifies a metric value for an OSPF summary route pool
                element. Use this argument when adding summary routes (that
                is, you specified type summary_routes). Possible values
                range from 1 to 16777215. The default is 1.

summary_prefix_start
                Specifies the first of a sequence of IP addresses belonging
                to the same OSPF summary route pool element. The default
                for OSPFv2 (IPv4) is 0.0.0.0, and the default for OSPFv3
                (IPv6) is 0:0:0:0:0:0:0:0. Use this argument only if you
                specified type ext_pool. The default for OSPFv2 (IPv4)
                is 0.0.0.0, and the default for OSPFv3 (IPv6)
                is 0:0:0:0:0:0:0:0.

summary_prefix_step
                Specifies the modifier by which to increment the network
                part of the first IP address, to generate subsequent IP
                addresses belonging to different routes for an OSPF summary
                route pool element. Possible values range from 0 to 66535.
                The default is 1.

type
                Specifies the type of topology element to create. Possible values
                are described below::


                 router           An individual OSPF router
                 grid:            A rectangular grid of routers
                 network          A subnet/link behind the selected session router
                 summary_routes   A pool of summary route addresses
                 ext_routes       A pool of external route addresses
                 nssa_routes      A pool of NSSA route addresses

                This argument is `Mandatory`.

Arguments Unsupported by Save as HLTAPI:

The ``emulation ospf topology route config`` function is currently not supported
by Save to HLTAPI. To test with this function, you must configure it manually in
the generated Spirent HLTAPI scripts.
Ciscospecific Arguments:

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

grid_start_gmpls_link_id
grid_start_te_ip
grid_te
link_metric
link_te
link_te_instance
link_te_link_id
link_te_local_ip_addr
link_te_max_bw
link_te_max_resv_bw
link_te_metric
link_te_remote_ip_addr
link_te_type
link_te_unresv_bw_priority0
link_te_unresv_bw_priority1
link_te_unresv_bw_priority2
link_te_unresv_bw_priority3
link_te_unresv_bw_priority4
link_te_unresv_bw_priority5
link_te_unresv_bw_priority6
link_te_unresv_bw_priority7
nssa_connect
router_te
router_virtual_link_endpt
Return Values:

Depending on the specific language that HLTAPI uses, the function returns a keyed list/dictionary/hash (See Introduction for more information on return value formats) using the following keys (with corresponding data):

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

log            An error message (if the operation failed).

elem_handle    A different element handle is returned based on
               the user configuration

router (elem_handle - router_lsa_handle)

     version             - ospfv2 or ospfv3

     connected_handles   - router_lsa_handle that is connected
                           to the created router

     router_lsa          - router_lsa_handle (same as elem_handle)

grid (elem_handle - grid_handle)

connected_session.$session.row <row>.col <col>
                          - $session is router_lsa_handle
                            <row> is the row that
                            the router connects to
                            the grid.
                            <col> is the column that
                            the router connects to
                            the grid.

router                   - the router_lsa_handle of each router
                            on the grid

network (elem_handle - network_blk_handle)
      network_lsa         - network_blk_handle
      connected_routers   - a list of router lsa handles
      version             - ospfv2 or ospfv3

summary (elem_handle - summary_blk_handle)

      summary_lsas        - summary_blk_handle
      connected_routers   - a list of router lsa handles
      version             - ospfv2 or ospfv3

external (elem_handle - external_blk_handle)

     external_lsas       - summary_blk_handle
     connected_routers   - a list of router lsa handles
     version             - ospfv2 or ospfv3

nssa (elem_handle - nssa_blk_handle)

     nssa_lsas           - nssa_blk_handle
     connected_routers   - a list of router lsa handles
     version             - ospfv2 or ospfv3

To get the router_lsa handle of the created router, specify one of the following:

set router_lsa [keylget cmdReturn elem_handle]

set router_lsa [keylget cmdReturn router.router_lsa]

To get the router_lsa handle of the router that it is connected with, specify the following:

set connected_router [keylget cmdReturn router. connected_handles]

To get the grid_handle:

set grid_handle [keylget cmdReturn elem_handle]

To get the connected_session handle:

set connected_sesion [keylkeys cmdReturn grid.connected_session]

To get the router_lsa of a grid router at row 2, col 2:

set router_lsa [keylget cmdReturn grid.router.2.2]
Description:

The emulation ospf topology route config function creates, enables, disables, modifies, or deletes a set of OSPFv2 and/or OSPFv3 routers or a single routers behind an OSPF router. Use this function to attach routes to or delete routes from Summary, External, and NSSA routers.

To configure the OSPF topology, you create emulated routers and links associated with the routers. To define the routers and links, use a combination of router, LSA, and link elements.

Use the mode argument to specify the operation to perform. When you create a topology element, the function returns a handle to the newly created element. Use this handle as input for modify and delete mode operations.

The mode that you use determines the set of arguments that you use to configure the OSPF topology elements. When you specify mode create, you must also use the handle argument to identify the OSPF session on which to create the OSPF element and the type argument to specify the type of topology element to create.

Examples:

The following example creates an OSPF router behind an emulated router:

[emulation ospf topology route config mode=create
     handle= $router
     type= router
     router_id= 1.0.0.1]

router_handle [keylget cmdReturn elem_handle]

Output for above example:

{status 1} {elem_handle routerlsa2} {router {{connected_handles routerlsa1}
{router_lsa routerlsa2} {link_lsa routerlsalink1}}}

The following example creates an OSPF router behind a grid router:

[emulation ospf topology route config mode=create
       handle= $router
       type=  router
       router_id=  1.0.0.1
       router_connect= $lsa_handle]

  router_handle [keylget cmdReturn elem_handle]

Output for above example:

{status 1} {elem_handle routerlsa6} {router {{connected_handles routerlsa1}
{router_lsa routerlsa6} {link_lsa routerlsalink11}}}

Note: The lsa_handle is retrieved once the grid router has been created.

The following example creates an OSPFv2 grid route on an OSPFv2 emulated router:

[emulation ospf topology route config mode=create
      handle= $router
      type= grid
      grid_connect=  "2 5"
      grid_col= 5
      grid_row=  5
      grid_link_type= ptop_unnumbered
      grid_router_id= 1.0.0.1
      grid_router_id_step=  0.0.0.1
      grid_prefix_length= 16
      grid_prefix_start= 10.10.10.6
      grid_prefix_step= 0.0.0.1]

 grid_handle [keylget cmdReturn elem_handle]
 connected_handle [keylkeys cmdReturn grid.connected_session]

Output for above example:

{status 1} {elem_handle ospfGrid1} {grid {{connected_session {{routerlsa5
{{row 1} {col 1}}}}} {router {{1 {{1 routerlsa1} {2 routerlsa2}}} {2 {{1
routerlsa3} {2 routerlsa4}}}}}}}

The following example creates an OSPFv3 grid route on an OSPFv3 emulated router:

set Topo [emulation ospf topology route config
        mode= create
        type= grid
        handle= $Router_Handle
        grid_col= 2
        grid_connect= 2 2
        grid_link_type= ptop_numbered
        grid_prefix_length= 16
        grid_prefix_start= 2002::10
        grid_prefix_step= 1
        grid_router_id= 12.12.12.12
        grid_router_id_step= 0.0.0.1
        grid_row= 2
        grid_stub_per_router= 2
        link_enable= 0
        link_intf_addr= 1.1.1.10]

Sample output for example shown above:

{status 1} {elem_handle ospfGrid1} {grid {{connected_session {{ospfv3routerlsa5
{{row 2} {col 2}}}}} {router {{1 {{1 ospfv3routerlsa1} {2 ospfv3routerlsa2}}}
{2 {{1 ospfv3routerlsa3} {2 ospfv3routerlsa4}}}}}}}

The following example disconnects an OSPF grid from emulated router:

[emulation ospf topology route config mode=modify
     handle=  $router
     type=  grid
     elem_handle= $grid_handle
     grid_disconnect= $connected_handle]

grid_handle [keylget cmdReturn elem_handle]

Output for above example:

{status 1} {elem_handle ospfGrid1} {grid {{router {{1 {{1 routerlsa1}
{2 routerlsa2}}} {2 {{1 routerlsa3} {2 routerlsa4}}}}}}}

The following example creates an OSPF summary:

[emulation ospf topology route config mode=create
     handle= $router
     type=  summary_routes
     summary_connect= "1 1"
     summary_prefix_start=  91.0.1.0 \
     summary_prefix_step=  2
     summary_number_of_prefix=  5
     summary_prefix_length=  27
     summary_prefix_metric=  10]

summary_handle [keylget cmdReturn elem_handle]

Output for above example:

{summary {{summary_lsas summarylsablock1} {version ospfv2}
{connected_routers routerlsa1}}} {status 1} {elem_handle summarylsablock1}

The following example modifies an OSPF summary:

[emulation ospf topology route config mode=modify
     handle=  $router
     type=  summary_routes
     elem_handle= $summary_handle
     summary_prefix_start= 191.0.1.0 \
     summary_prefix_step=  4
     summary_number_of_prefix=  2
     summary_prefix_length=  24]

summary_handle [keylget cmdReturn elem_handle]

The following example creates 30 OSPF external routes:

set ret [::emulation ospf topology route config mode=create
                      type= ext_routes
                      handle= $router
                      external_connect= "1 1"
                      external_number_of_prefix= 30
                      external_prefix_start= 91.0.0.1
                      external_prefix_step= 2
                      external_prefix_length= 32
                      external_prefix_type= 2]

Sample output for example shown above:

{external {{external_lsas externallsablock1} {version ospfv2}
{connected_routers routerlsa1}}} {status 1} {elem_handle externallsablock1}

The following example creates 20 OSPF NSSA routes:

[::emulation ospf topology route config mode=create
                   type= nssa_routes
                   handle= $router
                   nssa_number_of_prefix= 20
                   nssa_prefix_forward_addr= 10.0.0.1
                   nssa_prefix_start= 90.0.0.1
                   nssa_prefix_step= 2
                   nssa_prefix_length= 32
                   nssa_prefix_metric= 5
                   nssa_prefix_type= 2]

Sample output for example shown above:

{nssa {{nssa_lsas externallsablock4} {version ospfv2}
{connected_routers routerlsa1}}} {status 1} {elem_handle externallsablock4}

Note:

   The Cisco HLTAPI specification documentation states that to
   use the emulation_ospf_topology_route_config function, you must use
   session_router that is returned from the emulation_ospf_config
   function: [keylget cmdReturn session_router]. However, the
   current implementation of the Spirent HLTAPI for
   emulation ospf config is as follows::


    [keylget cmdReturn handle]  -> return session_router handle
    [keylget cmdReturn session_router] -> return router handle

   To ensure that these handles do not cause other functions to work
   improperly, the Spirent HLTAPI uses the handle that is returned
   from [keylget cmdReturn handle] to create objects in
   emulation ospf topology route config. You MUST use the handle that
   is returned from emulation_ospf_config [keylget cmdReturn handle]
   when configuring topology elements with
   emulation ospf topology route config.

End of Procedure Header

emulation ospfv2 info

Execute Tester Command ${rt_handle} command=test_control <additional key=value arguments>

Purpose:
This function is a Spirent Extension created to return statistical information about the OSPFv2 configuration.

Synopsis:

Note: M indicates the argument is `Mandatory`.

   emulation ospfv2 info
         handle= {port_handle|device_handle|all}
         mode= {stats|clear_stats}

Arguments:

handle
                Specifies the port or emulated device from which to
                gather transmitted (tx) and received (rx) statistics. Use "all"
                to specify all devices under all ports. If not specified, results
                from all devices under all ports will be returned.

mode
                Specifies the action to perform on the statistics. Possible
                values are::


                 stats           Retrieves the specified statistics
                 clear_stats     Clears the statistics

                The default value is stats.
Return Values:

Depending on the specific language that HLTAPI uses, the function returns a keyed list/dictionary/hash (See Introduction for more information on return value formats) using the following keys (with corresponding data):

status         Retrieves a value indicating the success (1) or failure
               (0) of the operation.

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

The following keys are returned:

adjacency_status
                  OSPFv2 Adjacency State

router_state
               Reports the state of adjacency on the current port

rx_ack
                Received Acks - Number of Link State Acknowledgment
                packets received by the emulated router

rx_router_asbr
                Received ASBRSummary-LSAs - Number of ASBRSummary-
                LSAs received by the emulated router

rx_asexternal_lsa
               Received ExternalLSAs - Number of External LSAs
               received by the emulated router

rx_dd
               Received DD - Number of Database Description packets
               (containing LSA headers) received by the emulated
               router

rx_hello
               Received Hellos - Number of Hello packets received by
               the emulated router

rx_network_lsa
               Received NetworkLSAs - Number of Network LSAs received
               by the emulated router

rx_nssa_lsa
               Received NSSALSAs - Number of NSSA LSAs received by
               the emulated router

rx_request
               Received Requests - Number of LS Request packets
               received by the emulated router

rx_router_lsa
               Received RouterLSAs - Number of Router LSAs received
               by the emulated router

rx_summary_lsa
               Received SummaryLSAs - Number of Summary LSAs received
               by the emulated router

rx_te_lsa
               Received TELSAs - Number of TELSAs received by the
               emulated router
           tx_ack
               Sent Acks - Number of Link State Acknowledgment packets
               sent by the emulated router

tx_asbr_summry_lsa
               Sent ASBRSummary-LSAs - Number of ASBRSummary LSAs
               sent by the emulated router

tx_as_external_lsa
               Sent ExternalLSAs - Number of External LSAs sent by
               the emulated router

tx_dd
               Sent DD - Number of Database Description packets sent
               by the emulated router

tx_hello
               Sent Hellos - Number of Hello packets sent by the
               emulated router

tx_network_lsa
               Sent NetworkLSAs - Number of Network LSAs sent by the
               emulated router

tx_nssa_lsa
               Sent NSSALSAs - Number of NSSA LSAs sent by the
               emulated router

tx_request
               Sent Requests - Number of LS Request packets sent by
               the emulated router

tx_router_lsa
               Sent RouterLSAs - Number of Router LSAs sent by the
               emulated router

tx_summary_lsa
               Sent SummaryLSAs - Number of Summary LSAs sent by the
               emulated router

tx_te_lsa
               Sent TELSAs - Number of TELSAs sent by the emulated
               router

rx_external_link_lsa
               Rx Opaque/SR extended link LSA count

rx_external_prefix_lsa
               Rx Opaque/SR extended prefix LSA count

rx_router_info_lsa
               Rx Opaque/SR router info LSA count

tx_external_link_lsa
               Tx Opaque/SR extended link LSA count

tx_external_prefix_lsa
                Tx Opaque/SR extended prefix LSA count

tx_router_info_lsa
                 Tx Opaque/SR router info LSA count
Description:

The emulation ospfv2 info function provides information about the statistics returned by the OSPFv2 configuration. The default return value for each statistic is 0.

This function returns the statistics for the specified handle 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:

Sample Input:

emulation ospfv2 info handle=$ospfv2Router(1)

Sample Output:

{tx_summary_lsa 2.000000}  {status 1}

emulation ospfv3 info

Execute Tester Command ${rt_handle} command=test_control <additional key=value arguments>

Purpose:
This function is a Spirent Extension created to return statistical information about the OSPFv3 configuration.

Synopsis:

Note: M indicates the argument is `Mandatory`.

   emulation ospfv3 info
        handle= <port_handle|all>
        mode= {stats|clear_stats}

Arguments:

handle
                Specifies the port from which to gather transmitted
                (tx) and received (rx) statistics. Use "all" to specify all ports.
                If not specified, all statistics from all ports will be returned.

mode
                Specifies the action to perform on the statistics. Possible
                values are::


                 stats           Retrieves the specified statistics
                 clear_stats     Clears the statistics

                The default value is stats.
Return Values:

Depending on the specific language that HLTAPI uses, the function returns a keyed list/dictionary/hash (See Introduction for more information on return value formats) using the following keys (with corresponding data):

status         Retrieves a value indicating the success (1) or failure
               (0) of the operation.

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

The following keys are returned:

adjacency_status
              OSPFv3 Adjacency State

router_state
              Reports the state of adjacency on the current port

rx_ack
               Received acks - Number of Link State Acknowledgment
               packets received by the emulated router

rx_asexternal_lsa
               Received externalLSAs - Number of external LSAs
               received by the emulated router

rx_dd
               Received DD - Number of Database Description
               packets (containing LSA headers) received by the
               emulated router

rx_hello
               Received Hellos - Number of Hello packets received by
               the emulated router

rx_inter_area_prefix_lsa
               Received interarea-prefix LSAs - Number of inter-
               areaprefix LSAs received by the emulated router

rx_inter_area_router_lsa
               Received interarea-router LSAs - Number of inter-
               arearouter LSAs received by the emulated router

rx_intra_area_prefix_lsa
               Received IntraArea-Prefix-LSAs - Number of IntraArea-
               Prefix LSAs received by the emulated router

rx_link_lsa
               Received linkLSAs - Number of link LSAs received by
               the emulated router.

rx_network_lsa
               Received NetworkLSAs - Number of Network LSAs received
               by the emulated router

rx_nssa_lsa
               Received LinkLSAs - Number of Link LSAs received by
               the emulated router

rx_router_lsa
               Received RouterLSAs - Number of Router LSAs received
               by the emulated router

tx_ack
               Sent Acks - Number of Link State Acknowledgment
               packets sent by the emulated router

tx_as_external_lsa
               Sent externalLSAs - Number of external LSAs sent by
               the emulated router

tx_dd
               Sent DD - Number of Database Description packets sent
               by the emulated router

tx_hello
               Sent Hellos - Number of Hello packets sent by the
               emulated router

tx_inter_area_prefix_lsa
               Sent interarea-prefix LSAs - Number of interarea-
               prefix LSAs sent by the emulated router

tx_inter_area_prefix_lsa
               Sent interarea-router LSAs - Number of interarea-
               router LSAs sent by the emulated router

tx_intra_area_prefix_lsa
               Sent IntraArea-Prefix-LSAs - Number of IntraArea-
               Prefix LSAs sent by the emulated router

tx_link_lsa
               Sent linkLSAs - Number of link LSAs sent by the
               emulated router.

tx_network_lsa
               Sent NetworkLSAs - Number of Network LSAs sent by the
               emulated router

tx_nssa_lsa
               Sent NSSALSAs - Number of NSSA LSAs sent by the
               emulated router

tx_request
               Sent requests - Number of LS request packets sent by
               the emulated router

tx_router_lsa
               Sent RouterLSAs - Number of Router LSAs sent by the
               emulated router
Description:

The emulation ospfv3 info function provides information about the statistics returned by the OSPFv3 configuration.

This function returns the statistics for the specified handle 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:

Sample Input:

::emulation ospfv3 info handle=$ospfv3Router(1)

Sample Output:

{ tx_hello 59.000000}  {status 1}

emulation ospf route info

Execute Tester Command ${rt_handle} command=test_control <additional key=value arguments>

Purpose:
Returns detailed OSPF route information of OSPF router.

Synopsis:

Note: M indicates the argument is `Mandatory`.

      emulation ospf route info
        handle= {<ospf_device_handle>|all}

Arguments:

handle
                Specifies the OSPF router from which you get the information. Use
                "all" to specify all devices. If not specified, results from all
                OSPF devices will be returned.
Return Values:

Depending on the specific language that HLTAPI uses, the function returns a keyed list/dictionary/hash (See Introduction for more information on return value formats) using the following keys (with corresponding data):

status         Retrieves a value indicating the success (1) or failure
              (0) of the operation.

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

The following keys are returned:

OSPFv2

    Router LSA Information

         router.lsa_handle.<lsa>.adv_router_id
                   Router ID of the router that sends the LSA

         router.lsa_handle.<lsa>.link_state_id
                   IPv4 address that identifies the LSA

         router.lsa_handle.<lsa>.links.<Index>.id
                   Link ID

         router.lsa_handle.<lsa>.links.<Index>.data
                   Link Data

         router.lsa_handle.<lsa>.links.<Index>.type
                   Type of link to be advertised in the LSA

    Network LSA Information

         network.lsa_handle.<lsa>.adv_router_id
                   Router ID of the designated router (DR) of the emulated network

         network.lsa_handle.<lsa>.link_state_id
                   IPv4 address of the emulated network's DR

         network.lsa_handle.<lsa>.attached_router_ids
                   List of routers on the network

    Summary LSA Information

         summary.lsa_handle.<lsa>.adv_router_id
                   Router ID of the router that sends the LSA

         summary.lsa_handle.<lsa>.link_state_id.num_prefix
                   Number of IPv4 addresses on the network

         summary.lsa_handle.<lsa>.link_state_id.prefix_start
                   The starting IPv4 address

         summary.lsa_handle.<lsa>.link_state_id.prefix_length
                   Prefix length for the IPv4 address

         summary.lsa_handle.<lsa>.link_state_id.prefix_step
                   Step size of link state IDs

    Autonomous System Boundary Router (ASBR) LSA Information

         asbr_summary.lsa_handle.<lsa>.adv_router_id
                   Router ID of the Router that sends the LSA.

         asbr_summary.lsa_handle.<lsa>.link_state_id
                   Router ID of the ASBR whose location is being advertised.

    External LSA information

         external.lsa_handle.<lsa>.adv_router_id
                   Router ID of the router that sends the LSA

         external.lsa_handle.<lsa>.link_state_id.num_prefix
                   Number of IPv4 addresses

         external.lsa_handle.<lsa>.link_state_id.prefix_start
                   The starting IPv4 address

         external.lsa_handle.<lsa>.link_state_id.prefix_length
                   Prefix length for the IPv4 addresses

         external.lsa_handle.<lsa>.link_state_id.prefix_step
                   Step size of link state IDs

    "notsostubby" area (NSSA) LSA Information

         nssa.lsa_handle.<lsa>.adv_router_id
                   Router ID of the router that sends the LSA

         nssa.lsa_handle.<lsa>.link_state_id.num_prefix
                   Number of IP addresses

         nssa.lsa_handle.<lsa.link_state_id>.prefix_start
                   The starting IP address

         nssa.lsa_handle.<lsa>.link_state_id.prefix_length
                   Prefix length of the IPv4 address

         nssa.lsa_handle.<lsa>.link_state_id.prefix_step
                   Step size of link state IDs

    Traffic Engineering (TE) Router LSA Information

         te_router.lsa_handle.<lsa>.adv_router_id
                   Router ID of the router that sends the LSA

         te_router.lsa_handle.<lsa>.link_state_id
                   IPv4 address that identifies the LSA

    TE Link LSA Information
               te_link.lsa_handle.<lsa>.adv_router_id
                   Router ID of the router that sends the LSA.

         te_link.lsa_handle.<lsa>.link_state_id
                   IPv4 address that identifies the LSA

OSPF V3
               Router LSA Information

         router.lsa_handle.<lsa>.adv_router_id
                   Router ID of the router that sends the LSA

         router.lsa_handle.<lsa>.link_state_id
                   IP address that identifies the LSA

         router.lsa_handle.<lsa>.links.<Index>.id
                   Link ID

         router.lsa_handle.<lsa>.links.<Index>.data
                   Link Data

         router.lsa_handle.<lsa>.links.<Index>.type
                   Type of link to be advertised in the LSA

    Network LSA Information

         network.lsa_handle.<lsa>.adv_router_id
                   Router ID of the emulated network's DR

         network.lsa_handle.<lsa>.link_state_id
                   IPv6 address of the emulated network's DR

         network.lsa_handle.<lsa>.attached_router_ids
                   List of routers on the network

    External LSA Information

         external.lsa_handle.<lsa>.adv_router_id
                   Router ID of the router that sends the LSA

         external.lsa_handle.<lsa>.link_state_id.num_prefix
                   Number of IPv6 addresses

         external.lsa_handle.<lsa>.link_state_id.prefix_start
                   The starting IPv6 address

         external.lsa_handle.<lsa>.link_state_id.prefix_length
                   Prefix length

         external.lsa_handle.<lsa>.link_state_id.prefix_step
                   Step size of link state IDs

    NSSA LSA Information

         nssa.lsa_handle.<lsa>.adv_router_id
                   Router ID of the router that sends the LSA

         nssa.lsa_handle.<lsa>.link_state_id.num_prefix
                   Number of IPv6 addresses on the same subnetwork

         nssa.lsa_handle.<lsa.link_state_id>.prefix_start
                   The starting IPv6 address

         nssa.lsa_handle.<lsa>.link_state_id.prefix_length
                   Prefix length

         nssa.lsa_handle.<lsa>.link_state_id.prefix_step
                   Step size between two link state IDs

    Link LSA Information

         link.lsa_handle.<lsa>.adv_router_id
                   Router ID of the router that sends the LSA

         link.lsa_handle.<lsa>.link_state_id
                   Router ID of the link whose location is being advertised

    IntraArea Prefix LSA Information

         intra_area_prefix.lsa_handle.<lsa>.adv_router_id
                   Router ID of the intraarea prefix LSA

         intra_area_prefix.lsa_handle.<lsa>.link_state_id.num_prefix
                   Number of IPv6 addresses on the network

         intra_area_prefix.lsa_handle.<lsa>.link_state_id.prefix_start
                   The starting IPv6 address

         intra_area_prefix.lsa_handle.<lsa>.link_state_id.prefix_length
                   Prefix length

         intra_area_prefix.lsa_handle.<lsa>.link_state_id.prefix_step
                   Step size of Link state IDs

         intra_area_prefix.lsa_handle.<lsa>.link_state_id
                   Link state ID of the intraarea prefix LSA

    InterArea Prefix LSA Information

         inter_area_prefix.lsa_handle.<lsa>.adv_router_id
                   Router ID of the interarea prefix LSA

         inter_area_prefix.lsa_handle.<lsa>.link_state_id.num_prefix
                   Number of IPv6 addresses on the network

         inter_area_prefix.lsa_handle.<lsa.link_state_id>.prefix_start
                   The starting IPv6 address

         inter_area_prefix.lsa_handle.<lsa>.link_state_id.prefix_length
                   Prefix length
               inter_area_prefix.lsa_handle.<lsa>.link_state_id.prefix_step
                   Step size of Link state ID

         inter_area_router.lsa_handle.<lsa>.adv_router_id
                   Router ID of the interarea router

         inter_area_router.lsa_handle.<lsa>.link_state_id
                   Link state ID of the interarea router
Description:

The emulation ospf route info function provides information about the statistics returned by the OSPF session configuration.

This function returns the statistics for the specified handle (handle) 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:

Sample Input:

emulation ospf route info handle=ospfrouter1

Sample Output:

Sample SUCCESS output (a 2*2 grid network LSA Info output)
{router {{lsa_handle {{routerlsa1 {{links {{1 {{id 16.1.1.3}
{type POINT_TO_POINT} {data 0.0.0.1}}} {2 {{id 16.1.1.5}
{type POINT_TO_POINT} {data 0.0.0.2}}} {3 {{id 10.1.1.1}
{type POINT_TO_POINT} {data 0.0.0.3}}}}} {link_state_id 0.0.0.0}
{adv_router_id 16.1.1.1}}} {routerlsa2 {{links {{1 {{id 16.1.1.1}
{type POINT_TO_POINT} {data 0.0.0.1}}} {2 {{id 16.1.1.7}
{type POINT_TO_POINT} {data 0.0.0.2}}}}} {link_state_id 0.0.0.0}
{adv_router_id 16.1.1.3}}} {routerlsa3 {{links {{1 {{id 16.1.1.1}
{type POINT_TO_POINT} {data 0.0.0.1}}} {2 {{id 16.1.1.7}
{type POINT_TO_POINT} {data 0.0.0.2}}}}} {link_state_id 0.0.0.0}
{adv_router_id 16.1.1.5}}} {routerlsa4 {{links {{1 {{id 16.1.1.3}
{type POINT_TO_POINT} {data 0.0.0.1}}} {2 {{id 16.1.1.5}
{type POINT_TO_POINT} {data 0.0.0.2}}}}} {link_state_id 0.0.0.0}
{adv_router_id 16.1.1.7}}} {routerlsa5 {{links {{1 {{id 16.1.1.1}
{type POINT_TO_POINT} {data 0.0.0.1}}}}} {link_state_id 0.0.0.0}
{adv_router_id 10.1.1.1}}}}}}} {status 1}

End of Procedure Header