Interface Table
Several commands relate to the specification of interfaces and IP addresses.
- protocolServer: Enables various protocols.
- Interface Table: Constructs an table of interfaces, each interface contains a list of associated IPv4 and IPv6 addresses along with a MAC address.
- IP: Constructs an IP address to MAC address correspondence table.
- Interface Table versus IP Address Table: Discusses the differences and uses of the interface table versus the IP table.
- sfpPlus: Configures the small form-factor pluggable (SFP) transceiver interface, for NGY, and other 10GE load modules.
protocolServer
The protocolServer command is used to enable various protocols. protocolServer for full details. The important options of this command are mentioned in the following table:
Table: protocolServer Options
Member | Usage |
---|---|
enableArpResponse |
Enables ARP response. |
enablePingResponse |
Enables Ping response. |
Interface Table
The interface table is used to hold a number of logical interfaces that are associated with an Ixia port. Each interface may have none or more IPv4 and IPv6 addresses associated with a MAC address and optional VLAN ID.
Refer to the IxNetwork Users Guide for a discussion of the Ixia Protocol Server’s testing model with respect to interfaces.
Following are the interface table related commands:
- interfaceTable: Holds a list of interfaces for a port.
- interfaceEntry: Holds a list of IPv4/IPv6 addresses associated with an interface.
- interfaceIpV4: An individual IPv4 address and related parameters.
- interfaceIpV6: An individual IPv6 address and related parameters.
In addition, the IP addresses associated with an interface as well as perceived neighbors may be accessed with the following commands:
These commands, and the data that they maintain are arranged in a hierarchy, as shown in Figure: Interface Table Command Hierarchy.
Figure: Interface Table Command Hierarchy
interfaceTable
The interfaceTable command is used to configure interfaces associated with a port. Interfaces hold interfaceEntry elements, each of which includes multiple IPv4 and IPv6 addresses. Note that the select command must be used before any other sub-commands to indicate the chassis, card, and port in use. Refer to "interfaceTable" for full details. The typical series of operations are mentioned in the following table:
Table: Typical Interface Table Operations
Operation | Steps |
---|---|
add interface table items |
1. Use the select sub-command of the interfaceTable command to select the port being modified. |
|
2. Set IPv4 or IPv6 address values using the interfaceIpV4 or interfaceIpV6 command. DHCP may be configured in the dhcpV4Properties command. DHCPv6 may be configured in the dhcpV6Properties command. |
|
3. Use the addItem sub-command of the interfaceEntry command; which adds the address to an individual interlace entry. |
|
4. Repeat steps 2 and 3 to add IPv4 and/or IPv6 addresses to the interface. |
|
5. Set the enable, description, macAddress and VLAN attributes for the interface entry. |
|
6. Use the addInterface sub-command of the interfaceTable command to add the interface entry to the table. |
|
7. Repeat steps 2 through 6 to add additional interfaces to the interface table for a port. |
look through interface table |
1. Use the select sub-command of the interfaceTable command to select the port being modified. |
|
2. Use the getFirstInterface sub-command of the interfaceTable command to reference the first interface entry in the list. |
|
3. Use the getFirstItem sub-command of the interfaceEntry command to get to the first interface entry. Note that separate lists are maintained for IPv4 and IPv6 addresses. |
|
4. Use the options in the interfaceIpV4 or interfaceIpV6 command to look at the IPv4 or IPv6 address data. |
|
5. Use the getNextItem sub-command of the interfaceEntry command to position to the next address in the interface entry. |
|
6. Use the getNextInterface sub-command of the interfaceTable command to reference the next interface entry in the list. |
|
7. Repeat steps 3 and 4 to look through the IPv4/IPv6 addresses in the interface entry. |
|
8. Repeat steps 6 to loop through all defined interfaces until an error is returned. |
The important sub-commands of this command are mentioned in the following table:
Table: interfaceTable Sub-Commands
Member | Usage |
---|---|
select |
Sets the chassis, card and port that are operated on by the remaining sub-commands. This sub-command must be used first. |
clearAllInterfaces |
Clears the interface table. |
addInterface |
Adds the interface entry described in the interfaceEntry command to the interface table at the current table position. |
delInterface |
Deletes the interface table item at the current position or matched by a description. |
getInterface |
Finds the interface table item for a particular interface description. |
getFcoeDiscoveredInfo |
Gets the FCoE assigned address and other information which matches the specified description. |
getFirstInterface |
Positions to the first interface table item. |
getNextInterface |
Moves to the next interface table item. |
sendRouterSolicitation |
Sends a router solicitation request to the link. Routers on the link sends back router announcement messages that is accessible in the discovered table. |
clearDiscoveredNeighborTable |
Clears all of the discovered neighbors. |
requestDiscoveredTable |
These commands are used in sequence to retrieve the discovered neighbor and address tables. This data is accessed through the discoveredList, dhcpV4DiscoveredInfo, dhcpV6DiscoveredInfo, fcoeDiscoveredInfo and ptpDiscoveredInfo commands. |
sendArp |
Sends an ARP request to one or all enabled interfaces. Results are read back through getDiscoveredList. |
sendArpClear |
Clears the ARP table for one or all enabled interfaces. |
sendArpRefresh |
Re-reads the ARP data from the port CPU. |
setInterface |
Sets an interface entry in the interface to the specified description. |
interfaceEntry
Interface entries hold one or more IPv4 or IPv6 addresses; the interfaceTable takes care of keeping the actual list of interfaces. DHCP and DHCPv6 for IPv4 may also be enabled. interfaceEntry for full details. The important options and sub-commands of this command are mentioned in the following table:
Table: interfaceEntry Options
Member | Usage |
---|---|
enable |
Enables the use of the interface entry. |
enableDhcp |
Enables the use of DHCP for IPv4 addresses on the port. DHCP parameters are configured using the dhcpV4Properties command. |
enableDhcpV6 |
Enables the use of DHCPv6 for IPv4 addresses on the port. DHCP parameters are configured using the dhcpV6DiscoveredInfo command. |
enableFlogi |
Enable Fabric login (for FCoE protocol) |
description |
A description of the interface. This description is used for matching in the interfaceTable’s delItem and getItem commands. |
interfaceType |
The type of the interface: connected, routed, GRE, NPIV, or PTP. |
ipv6 gateway |
There can be one gateway per IPv6 interface. |
macAddress |
The MAC address associated with the interface entry. |
enableVlan |
Enable VLAN encapsulation for the interface. |
vlanId |
If enableVlan is set, this is the ID used for the VLAN encapsulation. |
eui64Id |
The EUI-64 ID associated with POS boards with IPv6 support. |
greSourceIpAddress |
The settings for GRE headers, when interfaceType is GRE. |
Table: interfaceEntry Sub-Commands
Member | Usage |
---|---|
clearAllItems |
Clears all IPv4/IPv6 addresses. Two separate lists are used for each of the IPv4 and IPv6 addresses. |
addItem |
Adds an IPv4/IPv6 to the respective list in the entry. Two separate lists are used for each of the IPv4 and IPv6 addresses. |
delItem |
Deletes the currently addressed item, or one that matches a particular address. |
getFirstItem |
References the first item in one of the lists. |
getNextItem |
References the next item in one of the lists. |
getItem |
Refers to a particular item matched by a particular address. |
interfaceIpV4
The interfaceIpV4 holds a single IPv4 address and related data. It is added to one of the lists in the interfaceEntry using the interfaceEntry addItem command. Refer to interfaceIpV4 for full details. The important options of this command are mentioned in the following table:
Table:interfaceIpV4 Options
Member | Usage |
---|---|
ipAddress |
The IPv4 address. |
gatewayIpAddress |
The gateway address for the address. |
maskWidth |
The size of the mask for the address, counting from the high-order bit. |
interfaceIpV6
The interfaceIpV6 holds a single IPv6 address and data. It is added to one of the lists in the interfaceEntry using interfaceEntry addItem. Refer to interfaceIpV6 for full details. The important options of this command are mentioned in the following table:
Table:interfaceIpV6 Options
Member |
Usage |
---|---|
ipAddress |
The IPv6 address. |
maskWidth |
The size of the mask for the address, counting from the high-order bit. |
discoveredList
The discoveredList command must be preceded with use of three commands in the Interface Table command: sendRouterSolicitation, requestDiscoveredTable, and getDiscoveredList. The discoveredList command is used to look through two lists associated with an interface, as follows:
- Neighbor list: Contains a list of discovered neighbors, each of which contains a MAC address and a list of IP addresses.
- Address list: Contains the list of IP addresses associated with the interface.
The important sub-commands of this command are mentioned in the following table:
Table:discoveredList Sub-Commands
Member | Usage |
---|---|
getFirstAddress |
Loops through the IP addresses assigned to the interface. The IP address itself is accessed through the use of the discoveredAddress command. |
getFirstNeighbor |
Loops through the neighbors found for the interface. The neighbor’s information itself is accessed through the use of the discoveredNeighbor command. |
discoveredAddress
The discoveredAddress command holds an IPv4 or IPv6 address associated with an interface (as retrieved in discoveredList) or the IPv4/IPv6 address associated with a neighbor (as retrieved in discoveredNeighbor). Refer to discoveredAddress for full details. The important options of this command are mentioned in the following table:
Table: discoveredAddress Options
Member | Usage |
---|---|
ipAddress |
The IPv4 or IPv6 address. |
discoveredNeighbor
The discoveredNeighbor command holds an entry for each neighbor discovered as a result of router discovery or neighbor discovery announcements. Each neighbor entry has the following:
- MAC address: The MAC address of the discovered interface.
- Router flag: If the neighbor is a router.
- Address list: A list of IP addresses associated with the neighbor’s interface, accessed with the discoveredAddress command.
The important options and sub-commands of this command are mentioned in the following table:
Table: discoveredNeighbor Options
Member | Usage |
---|---|
macAddress |
The MAC address associated with the neighbor. |
isRouter |
If true, indicates that the neighbor is a router. |
Table: discoveredNeighbor Sub-Commands
Member | Usage |
---|---|
getFirstAddress |
Loops through the IP addresses associated with the neighbor. The IP address itself is accessed through the use of the discoveredAddress command. |
Using DHCP with Interfaces
A DHCP client may be enabled on intelligent ports and then used for the source addresses in stream traffic. The steps necessary to accomplish this are as follows:
- interfaceEntry: Set the enableDhcp flag to enable the use of DHCP.
- dhcpV4Properties: Set the DHCP negotiation properties.
- dhcpV4Tlv: Can be used to set up DHCP properties beyond those exposed in dhcpV4Properties.
- interfaceTable: Use addInterface to add the DHCP enabled interface to the port.
- ixWritePortsToHardware: Or similar command to send the configuration to the port(s).
- interfaceTable: Use the requestDiscoveredTable followed by the getDhcpV4DiscoveredInfo sub-commands to read back the assigned DHCP address. This information is available in the following commands:
- dhcpV4DiscoveredInfo: Allows access to the assigned address and other common parameters.
- dhcpV4Tlv: Allows access to all other parameters as TLVs.
- stream: Set the enableSourceInterface and sourceInterfaceDescription fields to specify that the MAC and IPv4 addresses should be taken from a particular interface entry.
dhcpV4Properties
The dhcpV4Properties command allows you to set the most frequently used DHCP parameters to be used in negotiation with a DHCP server. The values in this command are applied to an interfaceEntry being added to the interfaceTable. Other DHCP parameters may be set with the dhcpV4Tlv command. Refer to dhcpV4Properties for full details. The important options and sub-commands of this command are mentioned in the following table:
Table: dhcpV4Properties Options
Member | Usage |
---|---|
clientId |
The client identifier. If ““, then the MAC address of the interface is used. |
serverId |
If specified, only the indicated DHCP server is used. Otherwise, any available DHCP server is used. |
vendorId |
The vendor ID for the client. |
renewTimer |
The client’s desired renewal time. The lesser of this time and the DHCP server’s response is used. |
Table: dhcpV4Properties Sub-Commands
Member | Usage |
---|---|
addTlv |
Associates the values in dhcpV4Tlv with this DHCP property set. |
getFirstTlv |
Fetches a TLV value either by iterating through all the items, or by index. |
delTlv |
Removes a single TLV or all TLVs. |
dhcpV4DiscoveredInfo
The dhcpV4DiscoveredInfo command makes the frequently used DHCP parameters negotiated with a DHCP server available to you. Other DHCP parameters may be read with the dhcpV4Tlv command. Refer to dhcpV4DiscoveredInfo for full details. The important options and sub-commands of this command are mentioned in the following table:
Table: dhcpV4DiscoveredInfo Options
Member | Usage |
---|---|
ipAddress |
The DHCP server assigned IPv4 address. |
gatewayIpAddress |
The DHCP server assigned gateway address. |
prefixLength |
The prefix/mask length for the network associated with the ipAddress. |
leaseDuration |
The server’s desired renewal time. The lesser of this time and the client’s desired value is used. |
Table: dhcpV4DiscoveredInfo Sub-Commands
Member | Usage |
---|---|
getFirstTlv |
Fetches a TLV value either by iterating through all the items, or by index. |
dhcpV4Tlv
The dhcpV4Tlv command is used to set DHCP options used by the client in the DHCP negotiation and to read the results from the DHCP server. The client values are set with the dhcpV4PropertiesaddTlv sub-command. The server values are read with the dhcpV4DiscoveredInfoget*Tlv sub-commands. Refer to dhcpV4Tlv for full details. The important options of this command are mentioned in the following table:
Table: dhcpV4Tlv Options
Member | Usage |
---|---|
type |
The type number of the DHCP parameter. |
value |
The value of the DHCP parameter. The length is inferred from the length of this string. |
Using DHCPv6 with Interfaces
A DHCPv6 client may be enabled on intelligent ports and then used for the source addresses in stream traffic. The following steps are necessary to accomplish this:
- interfaceEntry: Set the enableDhcpV6 flag to enable the use of DHCP.
- dhcpV6DiscoveredInfo: Set the DHCPv6 negotiation properties.
- dhcpV6Tlv: Can be used to set up DHCPv6 properties beyond those exposed in dhcpV6Properties.
- interfaceTable: Use addInterface to add the DHCPv6 enabled interface to the port.
- ixWritePortsToHardware: Or similar command to send the configuration to the port(s).
- interfaceTable: Use the requestDiscoveredTable followed by the getDhcpV6DiscoveredInfo sub-commands to read back the assigned DHCPv6 address. This information is available in the following commands:
- dhcpV6DiscoveredInfo: Allows access to the assigned address and other common parameters.s
- dhcpV6Tlv: Allows access to all other parameters as TLVs.
- stream: Set the enableSourceInterface and sourceInterfaceDescription fields to specify that the MAC and IPv4 addresses should be taken from a particular interface entry.
dhcpV6Properties
The dhcpV6Properties command allows you to set the most frequently used DHCPv6 parameters to be used in negotiation with a DHCP server. The values in this command are applied to an interfaceEntry being added to the interfaceTable. Other DHCP parameters may be set with the dhcpV6Tlv command. Refer to dhcpV6Properties for full details. The important options and sub-commands of this command are mentioned in the following table:
Table: dhcpV6Properties Options
Member | Usage |
---|---|
iaID |
The client identifier, which must be unique for the subnet that the interface is connected to |
iaType |
The type of DHCPv6 address. |
renewTimer |
The requested value for the renewal time, in seconds. |
Table: dhcpV6Properties Sub-Commands
Member | Usage |
---|---|
addTlv |
Associates the values in dhcpV6Tlv with this DHCP property set. |
getFirstTlv |
Fetches a TLV value either by iterating through all the items, or by index. |
delTlv |
Removes a single TLV or all TLVs. |
dhcpV6DiscoveredInfo
The dhcpV6DiscoveredInfo command makes the frequently used DHCPv6 parameters negotiated with a DHCP server available to you. Other DHCPv6 parameters may be read with the dhcpV6Tlv command. Refer to dhcpV6DiscoveredInfo for full details. The important options and sub-commands of this command are mentioned in the following table:
Table: dhcpV6DiscoveredInfo Options
Member | Usage |
---|---|
discoveredAddressList |
A list of discovered IP addresses. |
iaRebindTime |
The rebind timer value specified by the DHCPv6 Server, in seconds |
iaRenewTime |
The renew timer value specified by the DHCPv6 Server, in seconds |
Table: dhcpV6DiscoveredInfo Sub-Commands
Member |
Usage |
---|---|
getFirstTlv |
Fetches a TLV value either by iterating through all the items, or by index. |
dhcpV6Tlv
The dhcpV6Tlv command is used to set DHCPv6 options used by the client in the DHCPv6 negotiation and to read the results from the DHCP server. The client values are set with the dhcpV6Properties addTlv sub-command. The server values are read with the dhcpV6DiscoveredInfoget*Tlv sub-commands. Refer to dhcpV6Tlv for full details. The important options of this command are mentioned in the following table:
Table: dhcpV4Tlv Options
Member | Usage |
---|---|
type |
The type number of the DHCP parameter. |
value |
The value of the DHCP parameter. The length is inferred from the length of this string. |
Using PTP with Interfaces
Precision Time Protocol (PTP) enables precise synchronization of clocks in measurement and control systems implemented with technologies such as network communication, local computing, and distributed objects. ptp for details. Associated commands include ptpAnnounce, ptpDelayRequest, ptpDelayResponse, ptpDiscoveredInfo, ptpFollowUp, ptpProperties, and ptpSync.
Using Fibre Channel and FCoE
fibreChannel
The fibreChannel command supports FCoE header and trailer in streams. fibreChannel for details.
fcoe
The fcoe command is used to configure Fibre Channel over Ethernet (FCoE) header and trailer packet. FCoE is a method of communicating data for streams and protocols. fcoe for details. Associated commands include fcoeDiscoveredInfo and fcoeProperties.
To configure an unconnected NPIV interface, see also npivProperties.
IP
ipAddressTable
The address table is a list of entries, each of which is described in the item command. The address table command is used to position within the list and elements are accessed with the list object. The typical series of operations are mentioned in the following table:
Table: Typical Address Table Operations
Operation | Steps |
---|---|
add address table items |
|
look through address table |
|
find the address table item for an IP address |
|
atmOamRdi for full details. The important options and sub-commands of this command are mentioned in the following table:
ipAddressTable Options
Member | Usage |
---|---|
defaultGateway |
The IP address of where all non-overridden ARP requests are sent. This is usually the address of the Device Under Test. |
Table: ipAddressTable Sub-Commands
Member |
Usage |
---|---|
clear |
Clears the IP address table. |
addItem |
Adds the address table item as set by the last call to ipAddressTableItem.set to the address table at the current table position. |
delItem |
Deletes the address table item at the current position. |
getItem |
Finds the address table item for a particular IP address. |
getFirstItem |
Positions to the first address table item. |
getNextItem |
Moves to the next address table item. |
ipAddressTableItem
This command holds an individual table item; ipAddressTable takes care of keeping the actual list of address table items. ipAddressTableItem for full details. The important options and sub-commands of this command are mentioned in the following table:
Table: addressTableItem Options
Member | Usage |
---|---|
fromIpAddress |
The IP address range. |
fromMacAddress |
The MAC address range. |
numAddresses |
The number of consecutive addresses. |
enableUseNetwork |
Enables and sets the network mask to be applied to the IP addresses. |
overrideDefaultGateway |
Override the default gateway address from the protocolServer object. |
gatewayIpAddress |
If the gateway is overridden, this is the new gateway address value. |
mappingOption |
IP to MAC mapping: Either one IP to one MAC or many IP to one MAC. |
enableVlan |
Enable VLAN encapsulation for the routing protocols, using a specified VLAN ID. Interface Table for a list of protocols that may be VLAN encapsulated. |
Table: addressTableItem Sub-Commands
Member | Usage |
---|---|
get |
Gets the current item from the ipAddressTable command. |
set |
Saves the current item for use by ipAddressTable. |
Interface Table versus IP Address Table
The interface table is a new means of associating IPv4 and IPv6 addresses with ports and eventually replaces the IP table. Observe the following rules:
- Write new tests using the interface table.
- Do not mix interface table and IP table usage for the same test. If interface tables are available, the software uses them exclusively. If no interface tables are present, the data in the IP table is used automatically.
- Interface tables must be used for some of the new, advanced protocol tests. These include the following:
- RIPng
- OSPF
- ISIS
- BGP when used with any TXS or 10GE
- Continue to use IP tables when a large number of IP addresses are used, for example in ARP testing.
sfpPlus
The sfpPlus command is used to configure the small form-factor pluggable (SFP) transceiver interface that was added to NGY and other 10GE load modules. sfpPlus for full details.
The important options and sub-commands of this command are mentioned in the following table:
Table: sfpPlus Options
Member | Usage |
---|---|
enableMonitorLos |
Enable monitor SFP Loss of Signal. |
enableMonitorModule |
Enable monitor SFP Module Ready Signal. |
enableAutomaticDetect |
Enable automatic detection of transceiver type. |
type |
Configure the transceiver type. |