port
port - configure a port of a card on a chassis.
SYNOPSIS
port sub-command options
DESCRIPTION
The port command is used to configure the properties of a port of a card on a chassis.
For Sonet ports which support DCC (Data Communications Channel) streams and flows, ports may be set transmit a combination of DCC packets as streams, advanced streams or flows and SPE (Synchronous Payload Envelope) packets as streams, advanced streams or flows. See the transmitMode option for further details.
Note: The setDefault sub-command sets all options at default values, as indicated here. These values are a consistent setting for 10/100 ethernet cards and may or may not be appropriate for other cards. In general, the sequence:
port setDefault
port set $chassis $card $port
fails.
The setFactoryDefaults sub-command, which relates to a particular port, sets all options at default values appropriate for the type of port. The sequence:
port setFactoryDefaults $chassis $card $port
port set $chassis $card $port
always succeeds. For multi-type boards, for example, OC192/10GE WAN, the board type is forced to one particular setting and may not be appropriate.
STANDARD OPTIONS
advertise1000FullDuplex true/false
If set to true, this port advertises itself at 1000 Mbps and Full duplex mode (applicable to gigabit ports only). (default = false)
advertise100FullDuplex true/false
If set to true, this port advertises itself at 100 Mbps and Full duplex mode (applicable to 10/100 port only). (default = true)
advertise100HalfDuplex true/false
If set to true, this port advertises itself at 100 Mbps and Half duplex mode (applicable to 10/100 port only). (default = true)
advertise10FullDuplex true/false
If set to true, this port advertises itself at 10 Mbps and Full duplex mode (applicable to 10/100 port only) or 10Gbps (applicable to Novus 10G only). (default = true)
advertise10HalfDuplex true/false
If set to true, this port advertises itself at 10 Mbps and Half duplex mode (applicable to 10/100 port only). (default = true)
advertiseAbilities
Sets up the auto-negotiation parameters for gigabit (applicable to Gigabit only). The value of flowControl must be true for this field to have an effect.
Option |
Value |
Usage |
---|---|---|
portAdvertiseNone |
0 |
(default) Do not advertise flow control abilities |
portAdvertiseSend |
1 |
Send only (asymmetric to link partner) |
portAdvertiseSendAndReceive |
2 |
Send and receive (symmetric to link partner) |
portAdvertiseSendAndOrReceive |
3 |
Send and/or receive (both symmetric or asymmetric to link partner) |
am100GTwoLane
Controls the alignment marker mapping on transmit, and requires the same mapping to be used on receive for T400 QDD and T400 OSFP 100GE speed modes.
It is a boolean that can be set to 0 (default) and 1.
Option |
Value |
Usage |
---|---|---|
100GBASE-*4 |
0 |
Switches to 100GBASE-CR4/SR4 style alignment markers. |
100GBASE-*2 |
1 |
Switches to 100GBASE-CR2/SR2 style alignment markers. |
autoDetectInstrumentationMode
For specified load modules, the timestamp can be inserted into the Auto Instrumentation header instead of the usual locations such as before CRC or at user-specified offset. This is called "Floating Timestamp."
(default = portAutoInstrumentationModeEndOfFrame) Options include:
Option |
Value |
Usage |
---|---|---|
portAutoInstrumentationModeEndOfFrame |
0 |
(default) End of Frame timestamp and data integrity |
portAutoInstrumentationModeFloating |
1 |
Floating timestamp and data integrity |
autonegotiate true/false
Specifies the auto-negotiate mode on a 10/100 port. (default = false)
Auto-negotiate mode can be set for Xcellon-Multis CFP4 and QSFP28 load modules.
This feature is only available for 40GE and 100GE port speed. It can be tested using the portFeatureAutoNeg command.
This feature is also supported on Novus 100GE/40GE/50GE/25GE and NOVUS25/10GE8SFP28 10G/25G.
A value of true (1) is returned if the feature is enabled and false (0) if the feature is not enabled.
All variants of T400 QDD and T400 OSFP support this command. Both auto negotiation and link training can be enabled using this command.
ieeeL1Defaults true/false
If set to true, the IEEE default parameters are enabled and you will not be able to enable the L1 parameters like autonegotiation, link training and FEC manually.
(default = true)
dataCenterMode
Configure the type of priority traffic mapping on a port if portFeatureDataCenterMode = true. (default = fourPriorityTrafficMapping)
Option |
Value |
Usage |
---|---|---|
fourPriorityTrafficMapping |
1 |
four priority |
eightPriorityTrafficMapping |
2 |
eight priority |
DestMacAddress
The MAC address of the DUT port to which the Ixia source port is connected. Used for running IP tests. Entered in form {01 02 03 04 05 06}. (default = {00 de bb 00 00 00})
Note: This value is not written in HAL or hardware. It is merely stored in TclHal so that it can be accessed at any time. The MAC addresses should be set with the stream command.
directedAddress
This is the address that port listens on for a directed pause message. (default = {01 80 C2 00 00 01})
duplex half/full
Set the duplex mode to half duplex or full duplex on a 10/100 port. (applicable to 10/100 only) (default = full)
Duplex is always full for Gigabit ports.
enableAutoDetectInstrumentation true/false
If set to true, then auto detection of instrumentation is enabled. (default = false)
enableDataCenterMode true/false
Enable/disable the Data Center Mode. (default = false)
enableManualAutoNegotiate true/false
If set to true, then as the port configuration is written to hardware auto negotiation begins. (applicable to MII only) (default = false)
enablePhyPolling true/false
If set to true, the PHY is continuously polled during Mii setup operation. (default = true)
enableRepeatableLastRandomPattern true/false
This feature is only available for certain port types; this may be tested through the use of the port isValidFeature... portFeatureRepeatableRandomStreams command. If true, the last random seed used to create random stream values is reused. That value is visible in the lastRandomSeedValue option. (default = false)
enableRsFec true/false
If set to true, the port allows Forward Error Correction. (default = false)
enableRsFecStats true/false
If set to true, the port collects Forward Error Correction stats. (default = false)
enableLinkTraining true/false
If set to true, the port allows link training. (default = false)
For Multis and Novus, this feature is available only when ieeeL1Defaults is set to false and autonegotiate is set to true.
For all the T400 QDD and T400 OSFP variants, we can enable link training only without Auto Negotiation using this command.
This feature is also supported on NOVUS25/10GE8SFP28 10G/25G.
enableSimulateCableDisconnect true | false
If set to true, the port simulates a disconnected cable to the DUT. (default = false)
enableTransparentDynamicRateChange true | false
If set to true, the port allows dynamic rate change across counters. (default = false)
enableTxRxSyncStatsMode true | false
If set to true, the port collects Tx/Rx sync stats. (default = false)
firecodeAdvertise(true/false)
If set to true, the port advertises FC-FEC. If set to false, port does not advertise FC-FEC. (default = true)
firecodeForceOff(true/false)
If set to true, FC-FEC will be forcefully disabled. If set to false, FC-FEC will not be forcefully disabled. (default = false)
firecodeForceOn(true/false)
If set to true, FC-FEC will be forcefully enabled. If set to false, FC-FEC will not be forcefully enabled. (default = false)
firecodeRequest(true/false)
If set to true, port requests FC-FEC. If set to false, port does not request RS-FEC. (default = true)
flowControl true/false
Sets/unsets flow control on a port. (default = false)
flowControlType
Configure the type of flow control on a port if portFeatureDataCenterMode = true. (default = ieee8023x)
Option |
Value |
Usage |
---|---|---|
ieee8023x |
0 |
(default) IEEE 802.3x values For details, see pauseControlType on page A-pauseControl. |
ieee8021Qbb |
1 |
IEEE 802.1Qbb values For details, see pauseControlType on page A-pauseControl. |
gigVersion
Read-only. FPGA version of the gigabit port. (applicable to Gigabit only)
ignoreLink true/false
Transmit ignores the link status on Ethernet, POS or ATM port if set to true. (default = false)
lastRandomSeedValue
Read-only. The seed value that was last used when enableRepeatableLastRandomPattern was false and a start transmit operation was performed.
linkState
Read-only. The following states can be read from the port:
Option |
Value |
Usage |
---|---|---|
linkDown |
0 |
The link on the port is down. This may be because there is no cable connected to the port or the link on the destination port may be down. The LED on the card is off when the link is down. |
linkUp |
1 |
the link is up indicated by green LED on the card. |
linkLoopback |
2 |
the port has been set to loopback mode. The LED on the card is off in this mode. |
miiWrite |
3 |
the link is in this state when the configuration of 10/100 port is being written to hardware (applicable to 10/100 only) |
restartAuto |
4 |
restarts the auto-negotiation process |
autoNegotiating |
5 |
the link is in currently executing the auto-negotiation process |
miiFail |
6 |
failed to write into memory for 10/100 ports (applicable to 10/100 only) |
noTransceiver |
7 |
No external transceiver or carrier detected. |
invalidAddress |
8 |
No PHY detected at the selected address. |
readLinkPartner |
9 |
Auto negotiation state in negotiation process. This is an intermediate state and should be used for informational purposes only. |
noLinkPartner |
10 |
Auto negotiation state in negotiation process. No link partner was found. This is an intermediate state and should be used for informational purposes only |
restartAutoEnd |
11 |
Auto negotiation state in negotiation process. This is an intermediate state and should be used for informational purposes only. |
fpgaDownloadFail |
12 |
Fpga download failure. Port is not usable. |
noGbicModule |
13 |
No GBIC module detected on Ixia Gbic port. |
fifoReset |
14 |
State in board initialization process. This is an intermediate state used for informational purposes only. |
fifoResetComplete |
15 |
State in board initialization process. This is an intermediate state and used for informational purposes only. |
pppOff |
16 |
PPP is disabled. PPP control packets is ignored; PPP link negotiation is not performed. Does not mean the link is unusable; it may, for instance, be configured for Cisco/HDLC and traffic (non-PPP) may still flow. |
pppUp |
17 |
The fully operational state when PPP is enabled. PPP link negotiation has successfully completed and the link is available for normal data traffic. |
pppDown |
18 |
The non-operational state when PPP is enabled. PPP link negotiation has failed or the link has been administratively disabled. |
pppInit |
19 |
PPP link negotiation state. This is an intermediate state and should be used for informational purposes only. Initialization state at the start of the negotiation process. |
pppWaitForOpen |
20 |
PPP link negotiation state: Waiting for indication from PPP controller that auto negotiation and related PPP control packet transfers can proceed. This is an intermediate state and should be used for informational purposes only. |
pppAutoNegotiate |
21 |
PPP link negotiation state: In process of exchanging PPP control packets (for example, LCP and IPCP) to negotiate link parameters. This is an intermediate state and should be used for informational purposes only. |
pppClose |
22 |
PPP link negotiation state: The PPP session has been terminated. All data traffic stops. |
pppConnect |
23 |
PPP link negotiation state: Negotiation has successfully completed; the peers are logically connected. Normal data traffic may flow once the pppUp state is reached. This is an intermediate state and should be used for informational purposes only. |
lossOfFrame |
24 |
Physical link is down. (for example, loss of signal, loss of frame) |
lossOfSignal |
25 |
Physical link is down. (for example, loss of signal, loss of frame) |
lossOfFramePpp |
26 |
PPP link negotiation state: Physical link has gone down and PPP negotiation has been stopped. |
stateMachineFailure |
27 |
Communication with the local processor has failed. Check Server display and log for possible failure. |
pppRestartNegotiation |
28 |
PPP link negotiation state, following explicit request to restart negotiation process: this state indicates response to request.This is an intermediate state and should be used for informational purposes only. |
pppRestartInit |
29 |
PPP link negotiation state, following explicit request to restart negotiation process: the link has or is brought down to begin a new negotiation cycle. This is an intermediate state and should be used for informational purposes only. |
pppRestartWaitFor |
30 |
PPP link negotiation state, following explicit request to restart negotiation process: Waiting for indication from PPP controller that current connection is already down or is in process of being shut down. This is an intermediate state and should be used for informational purposes only. |
pppRestartWaitFor |
31 |
PPP link negotiation state, following explicit request to restart negotiation process: Waiting for indication from PPP controller that shut down of current connection has completed.This is an intermediate state and should be used for informational purposes only. |
pppRestartFinish |
32 |
PPP link negotiation state, following explicit request to restart negotiation process: Preparation for restart completed; ready to begin normal cycle again. This is an intermediate state and should be used for informational purposes only. |
localProcessorDown |
33 |
local processor boot failure |
forcedLinkUp |
34 |
Link has been forced up. |
temperatureAlarm |
35 |
An over-temperature condition has occurred. |
pppClosing |
36 |
PPP negotiation is closing. |
pppLcpNegotiate |
37 |
PPP LCP negotiation in process. |
pppAuthenticate |
38 |
PPP authentication in process. |
pppNcpNegotiate |
39 |
PPP NCP negotiation in process. |
noXenpakModule |
40 |
No Xenpak module is installed. |
sublayerUnlock |
41 |
Sublayer unlock. |
demoMode |
42 |
Server is in demo mode. |
waitingForFpga |
43 |
Port is waiting for FPGA (Field Programmable Gate Array) programming to be downloaded to port. |
lossOfCell |
44 |
ATM cell loss. |
noXFPModule |
45 |
No XFP module is installed. |
moduleNotReady |
46 |
The XFP interface has reported not ready. |
noX2Module |
48 |
No X2 module is installed. |
lossOfPointer |
49 |
Loss of pointer. |
lossOfAligment |
50 |
Loss of alignment. |
lossOfMultiframe |
51 |
Loss of multiframe. |
gfpOutOfSync |
52 |
GFP out of sync. |
lcasSequenceMismatch |
53 |
Lcas sequence mismatch. |
ethernetOamLoopback |
54 |
Ethernet OAM loopback |
loopback
Sets/unsets loopback mode on a port. (default = portNormal) Valid choices are:
Option |
Value |
Usage |
---|---|---|
portNormal |
0 |
|
portLoopback |
1 |
|
portLineLoopback |
2 |
|
MacAddress
Assigns a Source MAC address to the port. MAC address is entered in form {01 02 03 04 05 06}. (default = '00 de bb 00 01 01')
Note: This value is not written in HAL or hardware. It is merely stored in TclHal so that it can be accessed at any time. The MAC addresses should be set with the stream. command.
managerIp
Read-only. For ports with local CPUs, this is the management IP address associated with the port. For example, the default managerIp for port 1 on card 2 would be 10.0.2.1.
masterSlave
Only apply to GIG MII. If negotiateMsterSlave is `false', then the masterSlave is essentially read-only. Options include:
Option |
Value |
Usage |
---|---|---|
portMaster |
0 |
|
portSlave |
1 |
(default) |
multicastPauseAddress
This is the address that the port listens on for a multicast pause message. (default = {01 80 C2 00 00 01})
name
The given name of the port. (default = "")
negotiateMasterSlave true/false
Only apply to Gigabit MII. Enable negotiateMasterSlave. (default = false)
numAddresses
Number of source MAC addresses assigned to this port. (default = 1)
Note: This value is not written in HAL or hardware. It is merely stored in TclHal so that it can be accessed at any time.
operationModeList
Use to configure port operation mode, for load modules with this option. Options include:
Option |
Value |
Usage |
---|---|---|
portOperationModeStream |
0 |
(default) Sets port operation mode to Stream/Capture/Latency mode. |
portOperationModeRtp |
1 |
Sets port operation mode to RTP. |
portOperationMode |
2 |
Sets port operation mode to TSO/LRO. |
portOperationModeL7 |
3 |
Sets port operation mode to L7. |
portOperationMode |
4 |
Sets port operation mode to IPsec of hardware. |
owner
Read-only. Name of the owner of this port, if any. (default = "")
packetFlowFileName
Sets the packet flow file name. To set the packet flow file name, need to enable usePacketFlowImage File first. (default = "")
pfcEnableValueList
Valid when flowControlType is set to ieee8021Qbb.
Use to configure priority-based flow control (PFC) with pair list of enable and channel mask value. (default = '{0 0} {0 0} {0 0} {0 0} {0 0} {0 0} {0 0} {0 0}') The first item in each pair is 'enable' and the second item is 'channel mask value'.
pfcResponseDelayEnabled
If true, sets the delay time, in nanoseconds, of frames.
pfcResponseDelayQuanta
Allows to set the delay quanta of flow control.
pfcEnableValueListBit Matrix
Valid when flowControlType is set to ieee8021Qbb.
Use to configure priority-based flow control (PFC) with pair list of enable and channel mask value. (default = '{0 0} {0 0} {0 0} {0 0} {0 0} {0 0} {0 0} {0 0}') The first item in each pair is 'enable' and the second item is 'channel mask value'.
pmaClock
(default = pmaClockAutoNegotiate) Options include:
Option |
Value |
Usage |
---|---|---|
pmaClockAutoNegotiate |
0 |
Auto Negotiate |
pmaClockMaster |
1 |
(default) Transceiver 10G Base-T Phy Master |
pmaClockSlave |
2 |
Transceiver 10G Base-T Phy Slave |
preEmphasis
For ports that support the portFeaturePreEmphasis, the percentage signal pre-emphasis to be applied. If a port does not support the exact percentage set in this option, the nearest value is used. Refer to the Ixia Hardware Guide for the exact pre-emphasis percentages supported. (default = 0)
phyMode
Read-only. The current PHY mode for cards which support both Copper, Fiber and SGMII PHY modes. The current mode may be set with the setPhyMode sub-command.
Option |
Value |
Usage |
---|---|---|
portPhyModeCopper |
0 |
(default) Copper |
portPhyModeFiber |
1 |
Fiber |
portPhyModeSgmii |
2 |
SGMII |
portMode
Multimode ports may be set into one of their possible modes by setting this option. The setting of this option has no meaning for ports that only operate in a single mode.The speed of ports which operate at multiple speed is controlled by the autonegotiate, speed, advertisexxx and duplex options.
The choices for this option are:
Option |
Value |
Usage |
---|---|---|
portPosMode |
0 |
(default) Packet over sonet mode. |
portEthernetMode |
1 |
Indicates Ethernet mode or 10Gig WAN mode. |
port10GigLanMode |
4 |
Indicates 10Gig LAN mode. |
portBertMode |
5 |
Indicates BERT mode. |
portAtmMode |
7 |
Indicates ATM mode. |
portPosChannelizedMode |
8 |
Indicates Channelized POS mode |
The valid choices for OC48c POS/BERT and OC48cTXS POS/BERT combinations are:
Option |
Value |
Usage |
---|---|---|
portPosMode |
0 |
POS mode. |
portBertMode |
5 |
BEe. |
The valid choices for OC192c POS/WAN/BERT are:
Option |
Value |
Usage |
---|---|---|
portPosMode |
0 |
POS mode. |
port10GigWanMode |
1 |
10Gig WAN mode. |
portBertMode |
5 |
BERT mode. |
Earlier values of portPosFraming and posEthernetFraming are still valid and produces the same results as the use of portPosMode and portEthernetMode, but are deprecated for future use.
The valid choices for 10GE POS/WAN/LAN/BERT are:
Option |
Value |
Usage |
---|---|---|
portPosMode |
0 |
POS mode. |
port10GigWanMode |
1 |
10Gig WAN mode. |
port10GigLanMode |
4 |
10Gig LAN mode. |
portBertMode |
5 |
BERT mode. |
Note that port setFactoryDefault will not reset the port mode associated with OC192/ 10Gig type cards.
The valid choices for ATM/ POS are:
Option |
Value |
Usage |
---|---|---|
portPosMode |
0 |
POS mode. |
portAtmMode |
7 |
ATM mode. |
portPosChannelizedMode |
8 |
POS channelized mode. |
pgidStatMode
The state dual PGID stat mode feature is configured and checked in Tcl with the help of this option.
The choices for this option are:
Option |
Value |
Usage |
---|---|---|
regularPGIDCountMode | 0 |
This allows 8K PGIDs in K400 100G/50G mode. |
highPGIDCountMode | 1 |
This allows 32K PGIDs in 100G mode and 16K PGIDs in 50G mode.Dual PGID support is for 8K/16K in 50G mode and 8K/32K in 100G mode. |
Modes not supported on 16K and 32K statistics:
- Inter Arrival Time or Delay Variation is not supported.
- Advanced Sequence Tracking or Switched Path/ Duplicate checking modes are not supported.
receiveMode
Sets up the type of capture/ receive mode for this port.
Note: The receive modes are and'd and or'd to determine which fpga is required for what interface. If a port does not support receiveMode, then any of these options that are configured has no effect.
The choices of this option are:
Option |
Value |
Usage |
---|---|---|
portRxModeNone |
0 |
The displayed value for ports that do not support receive mode. Using this option for ports that DO support receiveMode has no effect. |
portCapture |
0x0001 |
(default) use normal capture buffer |
portPacketGroup |
0x0002 |
get real time latency on received packets |
portRxTcpSessions |
0x0004 |
use TCP session |
portRxTcpRoundTrip |
0x0008 |
do TCP Round trip |
portRxDataIntegrity |
0x0010 |
do data integrity |
portRxFirstTimeStamp |
0x0020 |
get the first receive time |
portRxSequenceChecking |
0x0040 |
do sequence checking |
portRxModeBert |
0x0080 |
Bit Error Rate testing mode |
portRxModeIsl |
0x0100 |
Expect ISL encapsulation |
portRxModeBertChannelized |
0x0200 |
Channelized BIT Error rate testing mode |
portRxModeEcho |
0x0400 |
Gigabit echo mode |
portRxModeDcc |
0x0800 |
DCC packets are received from the SONET overhead. |
portRxModeWidePacketGroup |
0x1000 |
Latency mode using wide packet groups |
portRxModePrbs |
0x2000 |
Enable capture of PRBS packets Note: When selected, if Data Integrity was previously selected, it is disabled and a message logs to the Tcl event log to note the change in the receive mode. |
portRxModeRateMonitoring |
0x4000 |
Enable capture of Rate Monitoring packets Note: When selected, if Sequence Checking was previously selected, it is disabled and a message logs to the Tcl event log to note the change in the receive mode. |
portRxModePerFlowErrorStats |
0x8000 |
Enables capture of per-PGID checksum error stats. Note: When selected, Wide Packet Groups is automatically enabled. |
reedSolomonAdvertise (true/false)
If set to true, port advertises RS-FEC. If set to false, port does not advertise RS-FEC. (default = true)
reedSolomonForceOff(true/false)
If set to true, RS-FEC will be forcefully disabled. If set to false, RS-FEC will not be forcefully disabled. (default = false)
reedSolomonForceOn(true/false)
If set to true, RS-FEC will be forcefully enabled. If set to false, RS-FEC will not be forcefully enabled. (default = false)
reedSolomonRequest(true/false)
If set to true, port requests RS-FEC. If set to false, port does not request RS-FEC. (default = true)
rxFpgaVersion
Read-only. FPGA version of the receive engine of the 10/100 port. (applicable to 10/100 only)
rxTxMode
Sets one of following modes on a Gigabit port
Option |
Value |
Usage |
---|---|---|
gigNormal |
0 |
(default) The Gigabit port runs as full duplex. |
gigLoopback |
1 |
The Gigabit port transmits and receives frames in internal loopback. |
gigCableDisconnect |
2 |
simulate cable disconnect on the port |
speed 10|100|1000
Set the line speed in MBps. Note that this value does not represent an actual line rate. Some deprecated older commands needed this value to perform various operations. New commands no longer need the value. When using the cget command to return the value, the value return will not reflect the actual line rate. (default =100)
timeoutEnable true / false
Enables the gigabit auto-negotiation timeout. (applicable to Gigabit only) (default = true)
transmitClockDeviation
For ports that support the portFeatureFrequencyOffset feature, this is the transmit clock deviation expressed in parts per million (ppm). (default = 0)
transmitClockMode
Configure the type of clock mode on a port. (default = portClockInternal)
Option |
Value |
Usage |
---|---|---|
portClockInternal |
0 |
internal clock |
portClockExternal |
1 |
external clock |
transmitMode
Sets the type of stream/transmit mode for this port. Options include:
Option |
Value |
Usage |
---|---|---|
portTxPacketStreams |
0 |
(default) set up hardware to use normal streams |
portTxPacketFlows |
1 |
set up hardware to use packet flows |
portTxModeAdvancedScheduler |
4 |
set up hardware to use the advanced scheduler |
portTxModeBert |
5 |
set up the hardware to use Bit Error Rate patterns |
portTxModeBertChannelized |
6 |
set up the hardware to use channelized BERT |
portTxModeEcho |
7 |
sets up port to echo received packets |
portTxModeDccStreams |
8 |
sets up the port to only transmit DCC packets as a stream |
portTxModeDccAvanced |
9 |
sets up the port to only transmit DCC packets as advanced streams |
portTxModeDccFlowsSpe |
10 |
sets up the port to transmit DCC packets as flows and SPE packets as streams |
portTxModeDccFlowsSpe |
11 |
sets up the port to transmit DCC packets as flows and SPE packets as advanced streams |
portTxModeAdvancedSchedulerCoarse (VM only) |
12 |
set up VM to use the advanced scheduler with less precision and cpu utilization |
portTxModePacketStreamsCoarse(VM only) |
13 |
set up VM to use the streams with less precision and cpu utilization |
txFpgaVersion
Read-only. FPGA version of the transmit engine of the 10/100 port. (applicable to 10/100 only)
txRxSyncInterval
The interval (ms) at which to synchronously freeze TX and RX PGID stats.
type
Read-only. Specifies the type of the Ixia port. The following options are used, along with the name of the port found when using IxExplorer. The Ixia part number associated with each port type can be found in the Ixia Hardware Guide.
Option |
Value |
IxExplorer Port Name |
---|---|---|
port10100BaseTX |
1 |
10/100 Base TX |
port10100BaseMII |
2 |
10/100 MII |
port100BaseFXMultiMode |
3 |
100 Base FX MultiMode |
port100BaseFXSingleMode |
4 |
100 Base FX SingleMode |
portGigabitSXMultiMode |
5 |
1000 Base SX MultiMode |
portReducedMII |
7 |
10/100 Reduced MII |
portGbic |
8 |
GBIC |
portPacketOverSonet |
9 |
OC12c/OC3c POS |
port10100Level3 |
10 |
10/100 Base TX - 3 |
portGigabitLevel3 |
11 |
1000 Base SX MultiMode - 3 |
portGbicLevel3 |
12 |
GBIC-3 |
portGigCopper |
13 |
GBIC |
portPosOc48 |
14 |
OC48c POS |
portPosOc48Level3 |
15 |
OC48c POS-M |
portPosOc192 |
16 |
OC192c POS |
portPosOc192Level3 |
17 |
OC192c POS-3 |
portPosOc48VariableClocking |
27 |
OC48c POS VAR |
portGigCopperTripleSpeed |
28 |
Copper 10/100/1000 |
portGigSingleMode |
29 |
1000 Base LX SingleMode |
portOc48Bert |
32 |
OC48c POS BERT |
portOc48PosAndBert |
33 |
OC48c POS/BERT |
port10GEWAN2 |
36 |
OC192c POS |
port10GEWAN1 |
37 |
OC192c POS |
port10GEXAUI1 |
45 |
10GE XAUI |
port10GigLanXenpak1 |
49 |
10GE XENPAK |
port10GELAN_M |
51 |
|
port10GELAN1 |
53 |
10GE LAN |
port10100Txs |
63 |
10/100 Base TX |
port1000Sfps4 |
67 |
1000 Base X |
port1000Txs4 |
68 |
10/100/1000 Base T |
portSingleRateBertUnframed |
69 |
Unframed BERT Single-Rate |
portMultiRateBertUnframed |
70 |
Unframed BERT Multi-Rate |
port10GEUniphy_MA |
71 |
|
port10GEUniphy |
72 |
10GE LAN/WAN / OC192c POS/BERT |
port40GigBertUnframed |
73 |
Unframed Bert 40Gig Port |
portOc12Atm |
74 |
ATM 622 Mutli-Rate |
portOc12Pos32Mb |
75 |
OC12 POS 32MB |
port1000Txs24 |
77 |
10/100/1000 Base T |
portElm |
78 |
|
port101001000Layer7 |
80 |
|
port10GEXenpakP |
81 |
|
port1000Stxs4 |
82 |
|
port10GUniphyP |
83 |
|
port10GELSM |
84 |
|
port10GEMultiMSA |
85 |
|
port10GUniphyXFP |
86 |
|
portPowerOverEthernet |
87 |
Power over Ethernet |
port2Dot5GMSM |
88 |
POS |
port10GMSM |
89 |
POS LAN/WAN |
port101001000Inline |
90 |
10/100/1000 Base T - Inline |
port101001000Monitor |
91 |
10/100/1000 Base T - Monitor |
portASM101001000XMV12X |
94 |
10/100/1000 ASM XMV12X |
portASMXMV10GigAggre |
95 |
10G LAN XFP Aggregate |
portLANXFP |
97 |
10G LAN/WAN XFP (MACSec) |
port10GLANWANXFP |
98 |
10GE LSM XM8 |
portVoiceQualityResourceModule |
99 |
Voice quality resource module |
port40GE100GELSM |
100 |
40GE LSM XMV and 100GE LSM XMV modules |
portFlexAP10G16S |
102 |
10G, 16-port Excellon-Flex port |
port40GELSMQSFP |
104 |
40 GE LSM QSFP port |
portFCMSFP |
105 |
4 and 8 port Fibre Channel with SPF+ interface |
portEthernetVM |
107 |
Ethernet VM port |
typeName
Read only. The name equivalent of the type field.
usePacketFlowImageFile true/false
Enable the Packet Flow Image File. Controls whether the port is used in stream mode or flow mode. If set to flow mode, then the packetFlowFileName option should be set. (default = false)
DEPRECATED STANDARD OPTIONS
dataScrambling
Enables port data scrambling.
lineScrambling
Enables line scrambling.
rateMode
The rate may be entered in one of the following modes. Note: This value is not written in HAL or hardware. It is merely stored in TclHal so that it can be accessed at any time.
Option |
Value |
Usage |
---|---|---|
useGap |
0 |
The rate is entered in clock ticks used to calculate the inter-frame gap |
usePercentRate |
1 |
the rate is entered as a percentage of maximum rate |
sonetInterface
sonetOperation
useRecoveredClock true/false
Set the sonet framer to use the recovered clock. (applicable to POS/sonet only, non-LSM modules. LSM modules configure their recovered clock in the XAUI object.) (default =false)
portMode
The following portMode options have been deprecated:.
Option |
Value |
Usage |
---|---|---|
portUsbMode |
2 |
Indicates USB mode for USB/Ethernet ports. |
type
The following type options have been deprecated:
Option |
Value |
Usage |
---|---|---|
portUsbUsb |
18 |
USB |
portUsbEthernet |
20 |
Ethernet |
port10100UsbSh4 |
55 |
|
COMMANDS
The port command is invoked with the following sub-commands. If no sub-command is specified, returns a list of all sub-commands available.
port canUse chasID cardID portID
If the port is owned by the current logged in user, canUse returns true, otherwise it returns false. Specific errors are:
- No connection to a chassis
- Invalid port number
- The port is being used by another user
port cget option
Returns the current value of the configuration option given by option. Option may have any of the values accepted by the port command.
port config option value
Modify the configuration options of the port. If no option is specified, returns a list describing all of the available options (see STANDARD OPTIONS) for port.
CAUTION: 'Port get' should be called before 'port config' in order to maintain consistency between Tcl Client port object and Server port object.
port export fileName chasID cardID portID
Exports the current configuration of the port at portID, cardID, chasID into the file named fileName; fileName may include a full or relative path. The file produced by this command may be used by the import sub-command. Specific errors are:
- No connection to a chassis
- Invalid port
port get chasID cardID portID
Gets the current configuration of the port with id portID on card cardID, chassis chasID from its hardware. Call this command before calling port cget option value to get the value of the configuration option. Specific errors are:
- No connection to a chassis
- Invalid port number
Note: Port ID starts from 1 and ends with the last port number (if the card has 16 ports, the last port ID will be 16).
port getFeature chasID cardID portID featureList
Determines whether a specific feature is present in the featureList for the port at portID, cardID, chasID . A value list with unit is returned if the feature(s) are present; otherwise, an empty string is returned.
Feature |
Request String |
Description |
---|---|---|
Ethernet Line Rate |
ethernetLineRate |
Available ethernet line rates are returned as a list of numbers. Unit of measurement is mbit. An empty list is returned for single rate and Sonet boards. |
Sonet Interface Type |
sonetInterfaceType |
Available Sonet interfaces are returned as a list of symbols. An empty list is returned for non-Sonet boards. |
Capture Buffer Size |
captureBufferSize |
The size of the capture buffer is given in MB as a float. Returns empty list for boards that do not support capture. |
Minimum Captured Packet Size |
minimumCapturedPacketSize |
The minimum number of bytes a packet must have to be captured. Returns empty list for boards that do not support capture. |
Maximum Captured Packet Size |
maximumCapturedPacketSize |
The maximum number of bytes a packet can have to be captured. Returns empty list for boards that do not support capture. |
Number of Streams |
basicStreamCount |
The number of non-advanced streams the board supports is returned as an integer. Returns empty list for boards that do not support streams. |
Number of Advanced Streams |
advancedStreamCount |
The number of streams the board supports is returned as an integer. Returns empty list for boards that do not support streams. |
Minimum Preamble Size |
minimumPreambleSize |
The minimum number of preamble bytes is returned. Boards or modes that do not support this concept return an empty list. Unit of measurement is bytes. |
Maximum Preamble Size |
maximumPreambleSize |
The maximum number of preamble bytes is returned. Boards or modes that do not support this concept return an empty list. Unit of measurement is bytes. |
Minimum Frame Size |
minimumFrameSize |
The minimum number of bytes in a frame is returned. Unit of measurement is bytes. This includes CRC but not preamble bytes. Example: { 64 bytes } |
Maximum Frame Size |
maximumFrameSize |
The maximum number of bytes in a frame is returned. Unit of measurement is bytes. This includes CRC but not preamble bytes. Examples: |
Minimum Inter-Frame Gap |
minimumInterFrameGap |
The minimum inter-frame gap is returned as a float. Unit of measurement is ns. |
Maximum Inter-Frame Gap |
maximumInterFrameGap |
The maximum inter-frame gap is returned as a float. Unit of measurement is ns. |
Minimum Inter-Burst Gap |
minimumInterBurstGap |
The minimum inter-burst gap is returned as a float. Unit of measurement is ns. |
Maximum Inter-Burst Gap |
maximumInterBurstGap |
The maximum inter-burst gap is returned as a float. Unit of measurement is ns. |
Minimum Inter-Stream Gap |
minimumInterStreamGap |
The minimum inter-stream gap is returned as a float. Unit of measurement is ns. |
Maximum Inter-Stream Gap |
maximumInterStreamGap |
The maximum inter-stream gap is returned as a float. Unit of measurement is ns. |
Minimum Frame Rate |
minimumFrameRate |
The minimum frame rate is returned as a float. Unit of measurement is fps. |
Latency Resolution |
latencyResolution |
The resolution of port to port latency measurements using FPGA timestamps is returned as a float. The value is given for directly connected boards of the same type in the same chassis. Unit of measurement is ns. |
Number of Virtual Circuits |
virtualCircuitCount |
The number of virtual circuits is returned. Boards that do not support this return an empty list. |
Phy Modes |
phyModes |
The list of available phy modes is returned as a list of symbols. Available symbols are portPhyModeCopper and |
Total Port CPU Memory |
totalPcpuMemory |
The total Port CPU memory is returned. |
Number of Table UDF Entries |
tableUdfEntryCount |
The maximum number of table UDF entries is returned. Boards that do not support this feature return an empty list. |
Number of Value List UDF Entries |
valueListUdfEntryCount |
The maximum number of value list UDF entries is returned. Boards that do not support this feature return an empty list. |
Number of Range List UDF Entries |
rangeListUdfEntryCount |
The maximum number of range list UDF entries is returned. Boards that do not support this feature return an empty list. |
Number of PGIDs |
pgidCount |
The maximum number of PGIDs returned. Boards that do not support this feature return an empty list. |
Number of Random Table Counts |
randomTableCount |
Returns the result of GetRandomTableCount(). Boards that do not support this feature return an empty list. |
Maximum UDF Count |
maximumUdfCount |
The maximum number of UDFs configured per port. |
Background Memory Size | backgroundMemorySize |
The size of the available background memory in bytes. |
EXAMPLE
package req IxTclHal
ixConnectToChassis loopback
(TclScripts) 4 % port getFeature 1 177 1 {maximumUdfCount }
{maximumUdfCount {{ 8 }} }
(TclScripts) 5 % port getFeature 1 1 1 {maximumUdfCount}
{maximumUdfCount {{ 5 }} }
(TclScripts) 6 % port get 1 177 1
0
(TclScripts) 7 % port cget -type
106
(TclScripts) 8 % port cget -typeName
10GE LAN SFP+
(TclScripts) 9 % card get 1 177
0
(TclScripts) 10 % card cget -typeName
XDM10G32S
(TclScripts) 11 % card cget -type
170
port getFeature 1 1 1 {maximumUdfCount tableUdfEntryCount}
Returns {maximumUdfCount {{ 5 }} } {tableUdfEntryCount {98048} }
port getId chasID cardID portID
Gets the name of the port as a string of format <chassis>.<card>.<port> <portname> or <chassis>.<card>.<port> if the port has no name. For example, 1.2.3 router1.
port getPortState chasID cardID portID
Gets the ownership state of the port as a string of format <chassis>.<card>.<port> <portname> or <chassis>.<card>.<port> if the port has no name. For example, 1.2.3 router1.
port getStreamCount chasID cardID portID
Gets the number of streams configure on the with id <chassis>.<card>.<port> <portname> or <chassis>.<card>.<port> if the port has no name. For example, 1.2.3 router1.
port import fileName chasID cardID portID
Imports a saved port configuration found in the file fileName into the current configuration of the port at portID, cardID, chassis chasID. fileName may include a full or relative path. The file used by this command must have been produced by the export sub-command. Do not call a port set command after calling port import until a port write command is called. A port write is necessary to commit these items to the hardware. Specific errors are:
- No connection to a chassis
- Invalid port
- The card is owned by another user
- fileName does not exist
port isActiveFeature chasID cardID portID feature
Determines whether a specific feature is active for the port at portID, cardID, chassis chasID and that the port is properly configured/enabled to use that feature. A value of true (1) is returned if the feature is enabled and false (0) if the feature is not enabled. Feature may be one of the values from the isValidFeature list.
port isCapableFeature chasID cardID portID feature [param]
Determines whether a specific feature is capable for the port at portID, cardID, chassis chasID. A value of true (1) is returned if the port is capable of the feature and false (0) if not. Feature may be one of the values from the isValidFeature list.
port isValidFeature chasID cardID portID feature [param]
Determines whether a specific feature is valid for the port at portID, cardID, chassis chasID with the port in its current mode (for example, BERT versus LAN mode). A value of true (1) is returned if the feature is valid and false (0) if the feature is invalid or the port is invalid. The param option allows further clarification on the feature; see the table below to determine the use of param for a particular feature. Feature may be one of the following values.
Features and their values and descriptions
Feature |
Value |
Description |
---|---|---|
|
0 |
Invalid feature |
portFeatureQos |
1 |
QoS statistics available. |
portFeatureAutoNeg | 1 | Supports auto-negotiation. |
portFeatureDualPgidStatMode | 1 |
Supports dual PGID stat mode feature on the port. Note: This feature is applicable for Novus, Novus-R, Novus-M 10GE/25GE/40GE/50GE/100GE and K400 - 100G/50G. |
portFeatureShareUDFValueList | 1 | Supports shared UDF value list. |
portFeaturePacketFlows |
2 |
supports packet flow mode. |
portFeaturePacketStreams |
2 |
supports packet streams. |
portFeatureUdfOddOffset |
3 |
UDFs can occur at odd byte offsets. param can be used as a particular UDF number to determine if the feature is supported on a particular UDF. |
portFeatureRxPacketGroups |
4 |
supports packet group mode. |
portFeatureRxSequence |
5 |
supports receive sequence checking. |
portFeatureRxDataIntegrity |
6 |
supports received data integrity checking. |
portFeatureRxRoundTripFlows |
7 |
supports receive round trip flow mode. |
portFeatureGigGMiiAutoDisable |
8 |
Reserved for future usage. |
portFeatureMultipleDLCIs |
9 |
supports ability to generate multiple DLCIs per port on frame relay connections |
portFeatureForcedCollisions |
10 |
supports forced collisions. |
portFeatureTxDataIntegrity |
11 |
supports transmitted data integrity. |
portFeaturePacketFlowImage |
12 |
supports packet flow mode with image files as described in the port command (this one). |
portFeatureSrp |
13 |
supports the spatial reuse protocol. |
portFeaturePos |
14 |
supports packet over sonet operation |
portFeatureBert |
15 |
supports bit error rate testing. |
portFeature10GigWan |
16 |
supports 10 Gbps Wide Area Network operation. |
portFeature10GigWanAndOc192AndBert |
17 |
supports 10 Gbps Wide Area Network, OC192 and BERT |
portFeature10GigWanAndOc192 |
18 |
supports 10 Gbps Wide Area Network and OC192 |
portFeature10GigWanAndBert |
19 |
supports 10 Gbps Wide Area Network and Bert |
portFeatureOc192AndBert |
20 |
supports OC 192 and Bert |
portFeatureOC192Bert |
21 |
supports OC192 Bert only |
portFeatureUdfOverlap |
22 |
multiple UDFs may start adjacent to each other, regardless of word boundaries. param can be used as a particular UDF number to determine if the feature is supported on a particular UDF. |
portFeatureUdfCascade |
23 |
supports cascading of user defined fields. param can be used as a particular UDF number to determine if the feature is supported on a particular UDF. |
portFeatureRxSequence |
24 |
Sequence checking of packets with identical PGIDs is allowed |
portFeatureAdvancedScheduler |
26 |
supports advanced stream schedule operation. |
portFeatureProtocols |
27 |
supports operation of the protocol server. |
portFeatureProtocolARP |
28 |
supports ARP operation. |
portFeatureProtocolPING |
29 |
supports ping operation. |
portFeatureBitMask |
30 |
a bit mask may be used on UDF values without restriction; some boards require that bits in the mask be contiguous. param can be used as a particular UDF number to determine if the feature is supported on a particular UDF. |
portFeatureSonetErrorInsertion |
31 |
supports insertion of sonet errors |
portFeatureBertErrorGeneration |
32 |
support Bert error generation |
portFeatureLocalCPU |
35 |
supports a local CPU |
portFeatureIxRouter |
36 |
can run a copy of IxRouter - used in IxLoad and other TCP level testing |
portFeatureIxWeb |
37 |
can be used in IxWeb |
portFeature10GigLan |
38 |
supports 10 gigabit ethernet LAN operation |
portFeatureVsr |
39 |
supports OC192 VSR operation |
portFeatureSplitUdfs |
40 |
UDFs may be split in combinations of 8, 16 and 32 bit counters. param can be used as a particular UDF number to determine if the feature is supported on a particular UDF. |
portFeatureTxDuration |
41 |
supports the Transmit duration statistic |
portFeatureRxFirstTimeStamp |
43 |
supports First TIme Stamp operation |
portFeatureRxStreamTrigger |
44 |
supports stream trigger operation |
portFeatureRxChecksumErrors |
45 |
supports receive checksum operation |
portFeatureOddPreamble |
46 |
supports an odd number of bytes in the preamble |
portFeaturePacketGapTime |
47 |
supports different units of time in the packet gap specification (gapUnit in stream). |
portFeatureRoutingProtocols |
48 |
supports the advanced routing protocols |
portFeatureModifiablePreamble |
52 |
allows packet preamble contents to be modified |
portFeatureIgnorePGID |
77 |
allows the PGID signature to be ignored in latency measurements |
portFeatureBertUnframed |
82 |
supports unframed BERT |
portFeatureXaui |
84 |
10GigE XAUI interface |
portFeatureBertChannelized |
92 |
Channelized BERT |
portFeatureLdp |
96 |
supports LDP operation |
portFeatureUdf5 |
104 |
supports 5 UDFs. |
portFeatureTxDccStreams |
110 |
supports transmission of DCC packets as streams |
portFeatureTxDccAdvanced |
111 |
supports transmission of DCC packets as advanced scheduler streams. |
portFeatureTxDccFlowsSpe |
112 |
supports transmission of a combination of DCC packets as flows and SPE packets as streams. |
portFeatureTxDccFlowsSpe |
113 |
supports transmission of a combination of DCC packets as flows and SPE packets as advanced scheduler streams. |
portFeatureRxDcc |
114 |
supports reception of DCC packets. |
portFeatureDccProperties |
115 |
supports DCC features |
portFeatureProtocolL2VPN |
119 |
supports Layer 2 VPN |
portFeatureProtocolL3VPN |
120 |
supports Layer 3 VPN |
portFeatureProtocolRIPng |
121 |
supports RIPng protocol |
portFeatureSrpFullFeatured |
122 |
supports all SRP features |
portFeatureUdfExtension1 |
123 |
supports advanced UDF extensions, including nested UDFs. param can be used as a particular UDF number to determine if the feature is supported on a particular UDF. |
portFeatureTxFrequency |
131 |
supports the ability to vary the transmit frequency |
portFeatureDaCascadeFromSelf |
133 |
supports the ability to cascade a stream Destination MAC address from itself |
portFeatureUdfTableMode |
136 |
supports value list mode UDFs. param can be used as a particular UDF number to determine if the feature is supported on a particular UDF. |
portFeatureUdfLinkedListMode |
137 |
supports UDF linked list mode |
portFeatureCapture |
143 |
supports received data capture. |
portFeaturePauseControl |
147 |
supports automatic pause control |
portFeatureCJPAT |
149 |
support for CJPAT jitter test pattern |
portFeatureCRPAT |
150 |
support for CRPAT jitter test pattern |
portFeatureProtocolIGMP |
151 |
supports the newer IGMP protocol implementation, which includes IGMPv3 and MLD |
portFeatureAtm |
152 |
the port is an ATM type |
portFeatureRpr |
153 |
support for RPR ring control signalling |
portFeatureLinkFault |
159 |
support for link fault signalling |
portFeatureProtocolMLD |
160 |
supports the MLD protocol |
portFeatureProtocolPIMSM |
163 |
support for the PIM/SM protocol |
portFeatureProtocolOSPFv3 |
164 |
support for the OSPFv3 protocol |
portFeatureIPv6Neighbor |
165 |
supports the IPV6 neighbor discovery protocol |
portFeatureProtocolBGPv6 |
166 |
supports BGP for IPv6 |
portFeatureProtocolISISv6 |
167 |
supports ISIS for IPv6 |
portFeatureFlexibleTimestamp |
168 |
support flexible time stamp placement |
portFeatureProtocolOffset |
169 |
supports flexible placement of start of protocol in a frame |
portFeatureRandomGap |
171 |
support random gap values |
portFeatureScheduledTx |
173 |
support setting of the maximum transmission time. See portGroupsetScheduledTxDuration. |
portFeatureLayer7Only |
174 |
only supports Layer 7 operations. Such ports have no capabilities that can be used by the TCL API. |
portFeatureUniphy |
175 |
card is an OC192 type which supports WAN/LAN features simultaneously |
portFeatureUdfIPv4Mode |
176 |
support UDF in IPv4 mode. param can be used as a particular UDF number to determine if the feature is supported on a particular UDF. |
portFeatureRandomFrameSizeWeightedPair |
180 |
supports random weighted frame sizes |
portFeatureRxWidePacketGroups |
181 |
supports wide packet groups |
portFeatureDualPhyMode |
182 |
the ports on the card can operate in copper, fiber, or SGMII mode |
portFeatureAtmPos |
184 |
supports POS over ATM. |
portFeatureFec |
187 |
supports FEC (Forward Error Correction) operation in the optical digital wrapper |
portFeatureAtmPatternMatcher |
190 |
supports filter pattern matching for ATM patterns |
portFeatureGfp |
192 |
support GFP (Generic Framing Protocol) operation. |
portFeatureCiscoCDL |
198 |
supports Cisco CDL (Converged Data Layer) operation. |
portFeatureRxLatencyBin |
200 |
supports latency bins in packetGroups. |
portFeatureRxTimeBin |
201 |
supports time bins in packetGroups. |
portFeaturePreambleView |
204 |
supports the ability to view a preamble in stream packetView. |
portFeaturePreambleCapture |
205 |
supports the ability to capture a received preamble. |
portFeatureCDLErrorTrigger |
207 |
supports the ability to trigger capture from the presence of a CDL error. |
portFeatureSimulateCable |
209 |
supports the ability to simulate a cable disconnect on the interface. |
portFeatureTableUdf |
211 |
supports table mode UDFs. |
portFeatureOc192 |
212 |
supports OC192 operation. |
portFeaturePerStreamTxStats |
215 |
support per stream transmit statistics |
portFeatureLasi |
216 |
a XENPAK port that supports LASI operation |
portFeatureIPsecAcceleration |
218 |
a port that supports IPSec operation. |
portFeaturePowerOverEthernet |
219 |
supports PoE power consumption |
portFeatureGapControlMode |
220 |
supports stream gap control |
portFeaturePatternOffsetFlexible |
221 |
supports specification of a pattern offset based on packet component in the filterPallette command |
portFeatureSonet |
227 |
supports SONET |
portFeatureTransceiverXenpak |
231 |
the port supports a Xenpak interface |
portFeatureXFP |
232 |
the port supports an XFP interface. |
portFeatureRepeatableRandom |
236 |
supports the ability to repeat the last set of randomly generated stream values |
portFeatureGre |
238 |
supports GRE |
portFeatureMultiSwitchPacket |
243 |
supports the detection of multi-path switched packet loss and skip detection |
portFeatureProtocolDHCP |
245 |
supports the DHCP protocol |
portFeatureUseInterfaceIn |
246 |
supports the ability to use an IP address from an interfaceEntry in a stream. |
portFeatureStackedVlan |
247 |
supports stacked VLAN (Q in Q) |
portFeatureFrequencyOffset |
248 |
Supports the ability to alter the clock frequency. See the transmitClockDeviation option in this command. |
portFeaturePreEmphasis |
249 |
supports pre-emphasis specification. See the preEmphasis option in this command. |
portFeatureTrafficMap |
250 |
supports a traffic map |
portFeatureProtocolDHCPv6 |
251 |
supports DHCPv6 |
portFeatureAutoDetectRx |
253 |
supports receive side automatic instrumentation detection |
portFeatureAutoDetectTx |
254 |
supports transmit side automatic instrumentation detection |
portFeatureChainUdf |
255 |
supports chained UDFs |
portFeatureStreamStartTxDelay |
256 |
supports start stream delay |
portFeatureStreamExtractor |
265 |
supports stream extraction module features |
portFeatureStreamExtractor |
266 |
supports the monitor function of the stream extraction module |
portFeatureStreamExtractor |
267 |
supports the inline (receive) function of the stream extraction module |
portFeatureVcat |
271 |
supports VCAT feature |
portFeatureLaps |
272 |
supports Link Access Procedure SDH |
portFeatureSplitPgid |
273 |
supports split PGID feature. |
portFeatureIncludePreambleIn |
274 |
supports including the preamble length in the receive side CRC calculation |
portFeatureTransceiverX2 |
276 |
the port supports an X2 interface |
portFeatureConditionalStats |
278 |
supports flow detective |
portFeature1GEAggregate |
280 |
supports 1GE Aggregate mode |
portFeature10GEAggregate |
281 |
supports 10GE Aggregate mode |
portFeatureAdvancedStream |
282 |
supports continuous burst mode in advanced stream scheduler mode |
portFeatureDaSa2 |
283 |
supports destination address and source address generation |
portFeatureRxFilters |
284 |
supports Rx filters |
portFeatureUdfBitSize |
285 |
supports bit-sized UDF |
portFeatureSequenceNumber |
286 |
supports sequence number UDF |
portFeaturePRBS |
287 |
specifies whether this port is capable, valid, or active for tx/rx of PRBS packets. Active = the port is in PRBS mode. |
portFeatureAdjustableRate |
288 |
supports adjust rate (in streams) |
portFeatureSuspendResume |
289 |
supports the suspend/resume Tx feature |
portFeatureIntrinsicLatency |
290 |
supports intrinsic latency adjustment |
portFeatureClearSelectedPGID |
293 |
supports clearing of selected PGID stats |
portFeatureMACSec |
294 |
supports MAC Sec Tx/Rx |
portFeatureTransceiver10G |
297 |
supports Transceiver 10G BaseT interface |
portFeatureEthernetOAM |
299 |
supports OAM port config/stream config |
portFeatureDoNotApplyFrame |
300 |
port feature does not support Frame CRC application |
portFeatureAdjustableFrameSize |
312 |
supports changing frame size on the fly |
portFeatureL2TP |
315 |
adds support for checksum calculation for the inner L3/L4 (inner IP and TCP/UDP) protocols carried over L2TP |
portFeatureFloatingTimestampAndDataIntegrity |
317 |
adds timestamp as part of floating instrumentation header, and addresses similar issue in Data Integrity checking |
portFeatureDualClocks |
319 |
supports both LAN and WAN clocking concurrently |
portFeatureDataCenterMode |
322 |
enables Data Center Mode where FCoE is active; supports priority flow control (PFC) mapping |
portFeatureTcpIPv4Checksum-Override |
324 |
supports TCP IPv4 checksum override |
portFeaturePtp |
325 |
supports IEEE1588v2 (PTP - Precision Time Protocol) 2-step only |
portFeatureDataLanes |
331 |
supports lane skew, mapping, stats |
portFeature100GigEthernet |
335 |
supports 100GE LSM XMV module |
portFeature40GigEthernet |
336 |
supports 40GE LSM XMV module |
portFeatureSfpPlus |
337 |
supports SFP+ transceiver |
portFeatureDelayVariation |
339 |
supports delay variation/jitter measurement |
portFeatureMisdirectedPacket |
341 |
supports misdirected packet count |
portFeatureRateMonitoring |
342 |
supports monitoring convergence times and service interruption |
portFeatureIncrFrameBurst Override |
343 |
supports packet burst override in incrementing frame mode |
portFeatureTransparentDynamic |
345 |
supports transparent dynamic rate change |
portFeatureLastBitTimeStamp |
346 |
supports store and forward latency |
portFeatureChecksumError StatsPerPGID |
354 |
supports per-flow error statistics |
portFeaturePcsLaneErrorGeneration |
356 |
supports PCS lane error generation |
portFeatureBertList |
365 |
supports BERT in 40GE and 100GE cards |
portFeatureL7Mode |
370 |
supports L7 operation mode in NGY |
portFeaturePFC |
374 |
supports priority flow control |
portFeaturePCPUFlowControl |
376 |
supports PCPU Flow Control |
portFeatureHWIPsec |
377 |
supports HW-IPsec |
portFeatureWanIFSStretch |
379 |
supports IFS Stretch feature in WAN mode |
portFeaturePacketStreamsCoarse (VM only) |
407 |
supports packet streams with less precision and cpu utilization |
portFeatureAdvancedSchedulerCoarse (VM only) |
408 |
supports advance stream schedule operation with less precision and cpu utilization |
portFeature1588TimeStamp |
412 |
supports IEEE1588v2 (PTP - Precision Time Protocol) |
portFeaturePFCPauseResponseDelay |
413 |
supports the ability to increase the number of frames that is sent when a pause frame is received |
portFeatureMultinicPerOS |
414 |
supports multiple NIC per IxOS setup |
portFeatureKillBitMode |
418 |
supports Kill Bit mode statistic featute |
portFeatureDynamicBackgroundUpdate |
419 |
supports dynamic background update |
portFeatureEndOfFrameTimestampAndDI |
|
supports end of frame timestamp |
portFeatureVlan0x9300 |
433 |
supports VLAN 0x9300 option |
portFeatureSequenceAdv |
434 |
supports Advanced Sequence tracking |
portFeatureTransceiverCfpQsfp |
429 |
supports CFP-QSFP transceiver |
portFeatureTransceiverHse40GQsfp |
437 |
supports HSE 40G QSFP transceiver |
portFeature40GEAggregate | 455 | Indicates whether the port supports 40Gig aggregate mode. |
portFeaturePacketLength |
|
supports ability to insert the length of the packet in the packet |
portFeatureImpairment |
|
supports feature impairement |
portFeatureDataCenter2Priority |
|
supports Data Center 2 priority traffic mapping |
portFeatureDataCenter4Priority |
|
supports Data Center 4 priority traffic mapping |
portFeatureDataCenter8Priority |
|
supports Data Center 8 priority traffic mapping |
portFeatureLinearCoefficientUdf |
|
supports linear coefficient UDF |
portFeatureTripleNestedUdf |
|
supports triple nested UDF |
portFeatureReArmFirstTimeStamp |
|
supports first timestamp |
portFeatureRestartStream |
|
supports restart stream |
portFeatureSimulateTxCable |
|
supports simulation of TX cable disconnection |
portFeature400GigEthernet |
508 | Indicates whether the port supports 400Gig Ethernet. |
portFeatureRsFec | 518 |
Supports Reed-Solomon forward error correction. Note: This feature is applicable for MultisQSFP28 100GE, MultisCFP4 , Novus 100GE/50GE/25GE, Novus-R 100GE/50GE/25GE ports, Novus-M 100GE/50GE/25GE, and NOVUS25/10GE8SFP28 10G/25G ports. |
portFeatureMlgAutoNeg | 519 |
Supports link training when auto negotiation is enabled. Note: This feature is applicable for Multis QSFP28 and Multis CFP4 100GE. |
portFeature25GigEthernet |
538 | Indicates whether the port supports 25Gig Ethernet. |
portFeatureLaserOff |
541 | Indicates whether the port supports Laser Off. |
portFeature50GigEthernet | 545 | Indicates whether the port supports 200Gig Ethernet. |
portFeature2x25GigEthernet |
549 | Indicates whether the port supports 200Gig Ethernet. |
portFeatureFirecodeFec | 563 |
Supports Firecode forward error correction. Note: This feature is applicable for Novus, Novus-R, Novus-M 25GE/50GE, and NOVUS25/10GE8SFP28 10G/25G ports only. |
portFeatureMazuma1G | 577 | Indicates whether the Mazuma 10G load modules supports 1G only. |
portFeatureMazumaPentagon |
585 | Indicates whether the Mazuma port is capable of 5 speeds (10G, 5G, 2.5G, 1G, 100Mbps). |
portFeature200GigEthernet | 588 | Indicates whether the port supports 200Gig Ethernet. |
portFeatureKP4Fec | 592 |
Supports KP4 forward error correction. Note: This feature is applicable for T400GD-8P-QDD, QSFP-DD400GE+200G+100G+50G, CFP8-400GE, and NOVUS50GEKP4. |
portFeatureAdvancedStreamFixedCountBurst | 617 | Supports fixed burst mode in advanced stream scheduler mode. |
portFeatureIgnoreMisdirectedPacketFilter | 618 | Supports ignore misdirected packet filter feature. |
port reset chasID cardID portID
Deletes all streams from a port. Current configuration is not affected. Note: In order for port reset to take effect, stream write or ixWriteConfigToHardware commands should be used to commit the changes to hardware. Specific errors are:
- No connection to a chassis
- Invalid port number
- The port is being used by another user
port resetStreamProtocolStack chasID cardID portID
Sets the factory default values for all configuration options on a particular port's stream protocol stack. When this command runs, all protocols on the port are reset to their factory default state.
If the protocol stack is successfully reset, TCL_OK is returned, else TCL_ERROR is returned.
A TCL_ERROR is returned when:
- The arguments provided do not resolve to a known port known.
- The arguments provided do resolve to a known port, but that port is owned by another user.
port restartAutoNegotiation chasID cardID portID
Causes auto-negotiation of duplex and speed to be restarted on the indicated port.
port set chasID cardID portID
Sets the configuration of the port in IxHAL with id portID on card cardID, chassis chasID by reading the configuration option values set by the port config option value command. Specific errors are:
- No connection to a chassis
- Invalid port number
- The port is being used by another user
- The configured parameters are not valid for this port
- Insufficient memory to add data
port setDefault
Sets to IxTclHal default values for all configuration options.
port setFactoryDefaults chasID cardID portID
Sets the factory defaults to the port. The factory defaults vary depending on the particular port type. The following two tables lists the factory defaults associated with all current board types. For ports which support streams, one default stream is written. The mode of dual PHY ports is set back to its default state. Options not mentioned in the table have a constant value as shown in the STANDARD OPTIONS section above.
Port Type |
advertise1000 |
advertise100 |
advertise100 |
advertise10 |
advertise10 |
advertise |
autonegotiate |
duplex |
---|---|---|---|---|---|---|---|---|
All 10/100Mbps |
true |
true |
true |
true |
true |
false |
true |
full |
All 100Mbps |
false |
true |
false |
false |
false |
false |
false |
half |
1000 SFPS4 |
false |
false |
false |
false |
false |
false |
false |
full |
All other Gigabit |
false |
true |
true |
true |
true |
false |
true |
full |
All OC12c/OC3c |
N/A |
N/A |
N/A |
N/A |
N/A |
N/A |
N/A |
N/A |
OC48 POS and POS/BERT |
N/A |
N/A |
N/A |
N/A |
N/A |
N/A |
N/A |
N/A |
OC48 BERT |
N/A |
N/A |
N/A |
N/A |
N/A |
N/A |
N/A |
N/A |
Unframed BERT |
N/A |
N/A |
N/A |
N/A |
N/A |
N/A |
N/A |
N/A |
OC192 POS and POS/BERT |
N/A |
N/A |
N/A |
N/A |
N/A |
N/A |
N/A |
N/A |
OC192 BERT |
N/A |
N/A |
N/A |
N/A |
N/A |
N/A |
N/A |
N/A |
OC192 POS/10GEWAN and POS/BERT/10GEWAN |
false |
true |
true |
true |
true |
false |
false |
full |
All ATM |
N/A |
N/A |
N/A |
N/A |
N/A |
N/A |
N/A |
N/A |
10GE (non-BERT) |
false |
true |
true |
true |
true |
false |
false |
full |
10GE BERT |
false |
true |
true |
true |
true |
false |
true |
full |
40Gig BERT Unframed |
N/A |
N/A |
N/A |
N/A |
N/A |
N/A |
N/A |
N/A |
Port Type |
flowControl |
negotiateMasterSlave |
portMode |
receiveMode |
speed |
transmitMode |
---|---|---|---|---|---|---|
All 10/100Mbps |
false |
true |
N/A |
capture |
max |
streams |
All 100Mbps |
false |
false |
N/A |
capture |
100 |
streams |
1000 SFPS4 |
false |
false |
N/A |
capture |
1000 |
streams |
All other Gigabit |
false |
false |
N/A |
capture |
1000 |
streams |
All OC12c/OC3c |
N/A |
N/A |
N/A |
capture |
622 |
streams |
OC48 POS and POS/BERT |
N/A |
N/A |
N/A |
capture |
2488 |
streams |
OC48 BERT |
N/A |
N/A |
N/A |
bert |
2488 |
bert |
Unframed BERT |
N/A |
N/A |
N/A |
bert |
155 |
bert |
OC192 POS and POS/BERT |
N/A |
N/A |
N/A |
capture |
9953 |
streams |
OC192 BERT |
N/A |
N/A |
N/A |
bert |
9953 |
bert |
OC192 POS/10GEWAN and POS/BERT/10GEWAN |
true |
false |
Ethernet |
capture |
9953 |
streams |
All ATM |
N/A |
N/A |
N/A |
capture |
622 |
streams |
10GE (non-BERT) |
true |
false |
N/A |
capture |
10000 |
streams |
10GE WAN (non-BERT) |
true |
false |
N/A |
capture |
9294 |
streams |
10GE BERT |
N/A |
N/A |
N/A |
bert |
10000 |
bert |
10GE BERT/WAN |
N/A |
N/A |
N/A |
bert |
9294 |
bert |
40Gig BERT Unframed |
N/A |
N/A |
N/A |
bert |
40000 |
bert |
Specific errors are:
- No connection to a chassis
- Invalid port number
- The port is being used by another user
port setModeDefaults chasID cardID portID
Sets the factory default values for all configuration options on a particular port for the current setting of portMode. The portMode option is not changed. See the tables contained in the description of the setMode sub-command for a listing of the default values.
port setPhyMode phyMode chasID cardID portID
For cards which support both Copper, Fiber and SGMII PHY modes, this command sets the current PHY mode.
Option |
Value |
Usage |
---|---|---|
portPhyModeCopper |
0 |
Copper |
portPhyModeFiber |
1 |
Fiber |
portPhyModeSgmii | 2 | SGMII |
Specific errors are:
- No connection to a chassis
- Invalid port number
- The port is being used by another user
- The configured parameters are not valid for this port
port setReceiveMode receiveMode chasID cardID portID
Sets the receive mode on the port. See the description for receiveMode in the STANDARD OPTIONS section of this command for the values of receiveMode. Return codes are:
Code |
Usage |
---|---|
0 |
(TCL_OK) The command succeeded and a write to hardware is needed, either with port write or ixWritePortsToHrdware. |
200 |
(ixTcl_noWriteRequired) No write is needed to set the mode, because the port is already in that mode. |
101 |
(ixTcl_unsupportedFeature) This port type will not support the requested receive mode. |
100 |
(ixTcl_notAvail) This port is owned by another user. |
port setTransmitMode transmitMode chasID cardID portID
Sets the transmission mode on the port. See the description for transmitMode in the STANDARD OPTIONS section of this command for the values of transmitMode. See the return codes in port setReceivedMode.
port write chasID cardID portID
Writes or commits the changes in IxHAL to hardware for the port. Before using this command, use the port set command to configure the port related parameters (speed, duplex mode, autonegotiation, flow control, loopback, rxTxMode, and ignoreLink) in IxHAL. Specific errors are:
- No connection to a chassis
- Invalid port number
- The port is being used by another user
- Network error between the client and chassis
DEPRECATED COMMANDS
port getInterface chasID cardID portID
Gets the interface type of the port.
port setparm chasID cardID portID
Modify the configuration options of the port on a specific card and chassis. It is similar to the port config option value command but allows a single option to be set in IxTclHAL on a particular port.
port writeReceiveMode chasID cardID portID
Sets up the hardware to capture or packet group modes for this port.
Note: OBSOLETE. This command is the same as write.
port writeTransmitMode chasID cardID portID
Sets up the hardware to packet streams or packet flow mode for this port. Note: OBSOLETE. This command is the same as write.
EXAMPLES
package require IxTclHal
# Connect to chassis and get chassis ID
set host localhost
set username user
# Check if we're running on UNIX - connect to the TCL Server
# which must be running on the chassis
if [isUNIX] {
if [ixConnectToTclServer $host] {
ixPuts "Could not connect to $host"
return 1
}
}
# Now connect to the chassis
if [ixConnectToChassis $host] {
ixPuts $::ixErrorInfo
return 1
}
# Get the chassis ID to use in port lists
set chas [ixGetChassisID $host]
# Define all of the features by number and name
set pfValid [list \
$::portFeatureQos "Qos" \
$::portFeaturePacketFlows "Packet Flows" \
$::portFeatureUdfOddOffset "UDF odd offset" \
$::portFeatureRxPacketGroups "Rx packet groups" \
$::portFeatureRxSequenceChecking "Rx sequence checking" \
$::portFeatureRxDataIntegrity "Rx data integrity" \
$::portFeatureRxRoundTripFlows "Rx round trip flows" \
$::portFeatureGigGMiiAutoDisable "Gig GMII auto disable" \
$::portFeatureMultipleDLCIs "Multiple DLCIs" \
$::portFeatureForcedCollisions "Forced Collisions" \
$::portFeatureTxDataIntegrity "Tx Data Integrity" \
file" \
$::portFeatureSrp "Spacial reuse protocol" \
$::portFeaturePos "POS" \
$::portFeatureBert "Bert" \
$::portFeature10GigWan "10 Gigabit WAN" \
$::portFeatureUdfOverlap "UDF Overlap" \
$::portFeatureUdfCascade "UDF Cascade" \
$::portFeatureRxSequenceCheckingPerPGID "Rx Seq Checking per PGID" \
$::portFeaturePacketStreams "Packet Streams" \
$::portFeatureAdvancedScheduler "Advanced Scheduler" \
$::portFeatureProtocols "Protocols" \
$::portFeatureProtocolARP "Protocol: ARP" \
$::portFeatureProtocolPING "Protocol: PING" \
$::portFeatureBitMask "Bit Mask" \
$::portFeatureSonetErrorInsertionList "Sonet error insertion list" \
$::portFeatureBertErrorGeneration "BERT error generation" \
$::portFeatureLocalCPU "Local CPU" \
$::portFeatureIxRouter "IxRouter" \
$::portFeatureIxWeb "IxWeb" \
$::portFeature10GigLan "10G LAN" \
$::portFeatureVsr "VSR" \
$::portFeatureSplitUdfs "Split UDF" \
$::portFeatureTxDuration "Transmit Duration" \
Sessions" \
$::portFeatureRxFirstTimeStamp "Received First Time Stamp" \
$::portFeatureRxStreamTrigger "Received Stream Trigger" \
$::portFeatureRxChecksumErrors "Received Checksum Errors" \
$::portFeatureOddPreamble "Odd Preamble" \
$::portFeaturePacketGapTimeUnits "Packet Gap Time Units" \
$::portFeatureRoutingProtocols "Routing Protocols" \
$::portFeatureModifiablePreamble "Modifiable Preamble" \
$::portFeatureIgnorePGIDSignature "Ignore PGID Signature" \
$::portFeatureBertUnframed "Unframed BERT" \
$::portFeatureXaui "XAUI" \
$::portFeatureBertChannelized "Channelized BERT" \
$::portFeatureLdp "Protocol: LDP" \
$::portFeatureUdf5 "UDF5" \
$::portFeatureTxDccStreams "DCC Streams" \
$::portFeatureTxDccAdvancedScheduler "DCC Advanced Scheduler" \
$::portFeatureTxDccFlowsSpeStreams "DCC Flows SPE Streams" \
$::portFeatureTxDccFlowsSpeAdvancedScheduler "DCC Flows SPE Adv Scheduler" \
$::portFeatureRxDcc "DCC Receive" \
$::portFeatureDccProperties "DCC Properties" \
$::portFeatureProtocolL2VPN "Protocol: L2VPN" \
$::portFeatureProtocolL3VPN "Protocol: L3VPN" \
$::portFeatureProtocolRIPng "Protocol: RIPng" \
$::portFeatureSrpFullFeatured "SRP Full Featured" \
$::portFeatureUdfExtension1 "UDF Extension 1" \
$::portFeatureTxFrequencyDeviation "Transmit Freq Deviation" \
$::portFeatureUdfTableMode "UDF Value List Mode" \
$::portFeatureCapture "Capture" \
$::portFeaturePauseControl "Pause Control" \
$::portFeatureCJPAT "CJPAT" \
$::portFeatureCRPAT "CRPAT" \
$::portFeatureProtocolIGMP "Protocol: IGMP" \$::portFeatureAtm "ATM" \
$::portFeatureRpr "RPR" \
$::portFeatureLinkFault "Link Fault Signaling" \
$::portFeatureProtocolMLD "Protocol: MLD"
$::portFeatureProtocolPIMSM "Protocol: PIMSM" \
$::portFeatureProtocolOSPFv3 "Protocol: OSPFv3" \
$::portFeatureIPv6NeighborDiscovery "IPv6 Neighbor Discovery" \
$::portFeatureProtocolBGPv6 "Protocol: BGPv6" \
$::portFeatureProtocolISISv6 "Protocol: ISISv6" \
$::portFeatureFlexibleTimestamp "Flexible Time Stamp" \
$::portFeatureProtocolOffset "Protocol Offset" \
$::portFeatureRandomGap "Random Gap" \
$::portFeatureLayer7Only "Layer 7 Only" \
$::portFeatureUniphy "UNIPHY" \
$::portFeatureUdfIPv4Mode "UDF IPv4 Mode" \
$::portFeatureRandomFrameSizeWeightedPair "Random Frame Size Weighted Pair" \
$::portFeatureRxWidePacketGroups "Receive Wide Packet Groups" \
$::portFeatureDualPhyMode "Dual PHY Mode" \
$::portFeatureAtmPos "ATM POS" \
$::portFeatureFec "FEC" \
$::portFeatureAtmPatternMatcher "ATM Pattern Matcher" \
$::portFeatureGfp "GFP" \
$::portFeatureCiscoCDL "Cisco CDL" \
$::portFeatureRxLatencyBin "Receive Latency Bins" \
$::portFeatureRxTimeBin "Receive Time Bins" \
$::portFeaturePreambleView "View Preamble" \
$::portFeaturePreambleCapture "Capture Preamble" \
$::portFeatureCDLErrorTrigger "CDL Error Trigger" \
$::portFeatureSimulateCableDisconnect "Simulate Cable Disconnect" \
$::portFeatureXFP "XFP" \
$::portFeatureTableUdf "Table UDF" \
$::portFeatureOc192 "OC192" \
$::portFeaturePerStreamTxStats "Per-Stream Transmit Stats" \
$::portFeatureLasi "LASI" \
$::portFeaturePowerOverEthernet "PoE" \
$::portFeatureGapControlMode "Gap Control Mode" \
$::portFeaturePatternOffsetFlexible "Flexible Pattern Offset" \
$::portFeatureSonet "SONET" \
$::portFeatureRepeatableRandomStreams "Repeatable Random Streams" \
$::portFeatureGre "GRE" \
$::portFeatureMultiSwitchPacketDetection "Multi-Path Switched Packet Detection" \
$::portFeatureProtocolDHCP "Protocol: DHCP" \
$::portFeatureUseInterfaceInStream "Use Interfaces in Streams" \
$::portFeatureStackedVlan "Stacked VLAN" \
$::portFeatureFrequencyOffset "Frequency Offset" \
$::portFeaturePreEmphasis "Pre-Emphasis" \
]
# Define all of the features by number and name
set pfActive [list \
$::portFeatureRxPacketGroups "Rx packet groups" \
$::portFeatureRxDataIntegrity "Rx data integrity" \
$::portFeatureRxRoundTripFlows "Rx round trip flows" \
$::portFeaturePos "POS" \
$::portFeatureBert "Bert" \
$::portFeature10GigWan "10 Gigabit WAN" \
$::portFeatureBertErrorGeneration "BERT error generation" \
]
# printOptions - get standard options for a port and print them
proc printOptions {chas card port} {
port get $chas $card $port
set portType [port cget -type]
set portName [port cget -typeName]
set name [port cget -name]
set owner [port cget -owner]
set linkState [port cget -linkState]
set rateMode [port cget -rateMode]
set loopback [port cget -loopback]
set flowControl [port cget -flowControl]
set portMode [port cget -portMode]
ixPuts "Port: $name, type $portName ($portType)"
ixPuts "\towner $owner, linkState $linkState, rateMode $rateMode"
ixPuts "\tloopback $loopback, flowControl $flowControl, portMode $portMode"
}
# Print the values of all of the 'valid' features
proc printValid {chas card port} {
global pfValid;
array set portValidFeatures $pfValid
foreach i [lsort -integer [array names portValidFeatures]] {
if {[port isValidFeature $chas $card $port $i] == 0} {
ixPuts -nonewline "No "
} else {
ixPuts -nonewline "Yes "
}
ixPuts $portValidFeatures($i)
}
}
# Print the values of all of the 'active' features
proc printActive {chas card port} {
global pfActive;
array set portActiveFeatures $pfActive;
foreach i [lsort -integer [array names portActiveFeatures]] {
if {[port isActiveFeature $chas $card $port $i] == 0} {
ixPuts -nonewline "No "
} else {
ixPuts -nonewline "Yes "
}
ixPuts $portActiveFeatures($i)
}
}
# Get the chassis' number of cards
# Login before taking ownership
if [ixLogin $username] {
ixPuts $::ixErrorInfo
return 1
}
chassis getFromID $chas
set ncards [chassis cget -maxCardCount]
ixPuts "Chassis $chas, $ncards cards"
# Go through each of the ports
for {set i 1} {$i <= $ncards} {incr i} {
# Check for missing card
if {[card get $chas $i] != 0} {
continue
}
ixPuts "\n------------------------------------------------------------"
set portList [list [list $chas $i 1]]
# Take ownership of the ports we'll use
if [ixTakeOwnership $portList] {
ixPuts $::ixErrorInfo
return 1
}
# Get the port's options
port get $chas $i 1
# Get the type of the card as a number and name
set portType [port cget -type]
set portName [port cget -typeName]
set cardType [card cget -type]
ixPuts "Type $portName ($portType) -- card $i (type $cardType)"
# Set the port to its defaults
port setDefault
# If it's a BERT module, need to set the transmit and receive modes to BERT
if {$portType == $::portOc48Bert} {
port config -transmitMode portTxModeBert
port config -receiveMode portRxModeBert
}
# Give the port a name
port config -name "$i:1"
# Set the features to ixTclHal
set result [port set $chas $i 1]
# Check for valid result
if {$result != 0} {
ixPuts "Set returns $result"
continue
}
# Write the features to the hardware
ixWriteConfigToHardware portList
# Print the standard options for the card
printOptions $chas $i 1
# Print the valid features for the card
ixPuts "\nValid Features for Port"
ixPuts "-----------------------"
printValid $chas $i 1
# Set some values for the 10/100 cards:
# Rx:capture, Tx:packet flows w/ image file
# Autonegotiate 100 Half or 100 Full duplex
if {$portType == $::port10100BaseTX} {
port config -receiveMode portCapture
port config -transmitMode portTxPacketFlows
port config -usePacketFlowImageFile 1
port config -packetFlowFileName "flow10100.txt"
port config -autonegotiate true
port config -advertise10HalfDuplex false
port config -advertise10FullDuplex false
port config -advertise100HalfDuplex true
port config -advertise100FullDuplex true
port config -speed 100
}
# Set some values for OC48c POS cards
if {$portType == $::portPacketOverSonet} {
port config -receiveMode portPacketGroup
}
# Set the values
port set $chas $i 1
ixWriteConfigToHardware portList
# Check on what features are active now
ixPuts "\nActive Features for Port"
ixPuts "------------------------"
printActive $chas $i 1
ixClearOwnership $portList
}
# Disconnect from the chassis we're using
ixDisconnectFromChassis $host
# If we're running on UNIX, disconnect from the TCL Server
if [isUNIX] {
ixDisconnectTclServer $host
}
#Check if the Auto Negotiation feature is available
if {![port isValidFeature $chassId $cardId $portId $:: portFeatureAutoNeg]} {
errorMsg " portFeatureAutoNeg is not supported on $chassId $cardId $portId"
return "FAIL"
}
# to force enable FC-FEC
port config -firecodeForceOn 1
port config -firecodeForceOff 0
port config -reedSolomonForceOn 0
port config -reedSolomonForceOff 0
if {[port set $chassis $card $port]} {
errorMsg "Error calling port set $chassis $card $port"
set retCode $::TCL_ERROR
}
# to force enable RS-FEC
port config -firecodeForceOn 0
port config -firecodeForceOff 0
port config -reedSolomonForceOn 1
port config -reedSolomonForceOff 0
if {[port set $chassis $card $port]} {
errorMsg "Error calling port set $chassis $card $port"
set retCode $::TCL_ERROR
}
# to force disable RS-FEC
port config -reedSolomonForceOn 0
port config -reedSolomonForceOff 1
if {[port set $chassis $card $port]} {
errorMsg "Error calling port set $chassis $card $port"
set retCode $::TCL_ERROR
}
# to force disable FC-FEC
port config -firecodeForceOn 0
port config -firecodeForceOff 1
if {[port set $chassis $card $port]} {
errorMsg "Error calling port set $chassis $card $port"
set retCode $::TCL_ERROR
}
#The supported codes for Novus, Novus-R, and Novus-M 25G and 100G modules are as follows:
port config -enableRsFec false
port config -enableRsFecStats false
port config -enableLinkTraining false
port config -ieeeL1Defaults 0
port config -firecodeRequest 1
port config -firecodeAdvertise 1
port config -firecodeForceOn 0
port config -firecodeForceOff 0
port config -reedSolomonRequest 1
port config -reedSolomonAdvertise 1
port config -reedSolomonForceOn 1
if {[port set $chassis $card $port]} {
errorMsg "Error calling port set $chassis $card $port"
set retCode $::TCL_ERROR
}
#The supported codes for all the variants of T400 QDD and T400 OSFP modules are as follows:
#To disable AutoNegotiation and LinkTraining
port config -autonegotiate false
if {[port set $chassis $card $port]} {
errorMsg "Error calling port set $chassis $card $port"
set retCode $::TCL_ERROR
}
#To enable AutoNegotiation and LinkTraining
port config -autonegotiate true
port config -enableLinkTraining false
if {[port set $chassis $card $port]} {
errorMsg "Error calling port set $chassis $card $port"
set retCode $::TCL_ERROR
}
#To enable only LinkTraining
port config -autonegotiate false
port config -enableLinkTraining true
if {[port set $chassis $card $port]} {
errorMsg "Error calling port set $chassis $card $port"
set retCode $::TCL_ERROR
}
SEE ALSO
card, filter, filterPallette, portGroup, stream, packetGroup