ixSetPacketFlowMode

ixSetPacketFlowMode - set a group of ports to Packet Flow Transmit mode

SYNOPSIS

ixSetPacketFlowMode portList [write]

DESCRIPTION

The ixSetPacketFlowMode command sends a message to the IxServer to set the transmit mode of a group of ports simultaneously to Packet Flow mode. The ports may span multiple chassis. This mode is mutually exclusive with the Packet Streams transmit mode.

ARGUMENTS
portList

(By reference) The list of ports in one of the following formats:

one2oneArray, one2manyArray, many2oneArray, many2manyArray

Or a reference to a list. For example, pl after

set pl {{1 1 1} {1 1 2} {1 1 3} {1 1 4}} -or-

set pl {1,1,1 1,1,2 1,1,3 1,1,4}

write

(By value) (Optional) Valid values:

write: the action is committed to hardware

noWrite: the action is not committed to hardware but just set in IxHAL (default)

RETURNS
0

No error; the command was successfully delivered to the IxServer.

1

Error; the command was delivered to the IxServer but it could not process the message.

EXAMPLES

package require IxTclHal

set host galaxy

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]

set cardA 1

set portA 1

set cardB 1

set portB 2

set pl1 [list 1,$cardA,$portA]

set pl2 [list 1,$cardA,$portA 1,$cardB,$portB]

set pl3 [list [list $chas $cardA $portA] [list 1 $cardB $portB]]

set pl4 [list [list 1,$cardA,$portA] [list 1,$cardB,$portB]]

# Login before taking ownership

if [ixLogin $username] {

ixPuts $::ixErrorInfo

return 1

}

# Take ownership of the ports we'll use

if [ixTakeOwnership $pl4] {ixPuts $::ixErrorInfo

return 1

}

map new -type one2onemap config -type one2one

map add 1 $cardA $portA 1 $cardB $portB

map add 1 $cardB $portB 1 $cardA $portA

if {[ixSetPacketFlowMode pl1 write] != 0} {

puts "Could not set PacketFlow mode for $pl1"

}

if {[ixSetPacketFlowMode pl2 write] != 0} {

puts "Could not set PacketFlow mode for $pl2"

}

if {[ixSetPacketFlowMode pl3 write] != 0} {

puts "Could not set PacketFlow mode for $pl3"

}

if {[ixSetPacketFlowMode pl4 write] != 0} {

puts "Could not set PacketFlow mode for $pl4"

}

if {[ixSetPacketFlowMode one2oneArray write] != 0} {

puts "Could not set PacketFlow mode for $one2oneArray"

}

# Let go of the ports that we reserved

ixClearOwnership $pl4

# Disconnect from the chassis we're using

ixDisconnectFromChassis $host

# If we're running on UNIX, disconnect from the TCL Server

if [isUNIX] {

ixDisconnectTclServer $host

}

SEE ALSO

ixSetPortPacketFlowMode, ixSetPacketStreamMode, ixSetPortPacketStreamMode