proc CreateEndpoints {args} { set paramList {} set argIndex 0 while {$argIndex < [llength $args]} { set currentArg [lindex $args $argIndex] switch -exact -- $currentArg { -trafficItemObj { set trafficItemObj [lindex $args [expr $argIndex + 1]] #append paramList " -trafficItemObj $trafficItemObj" incr argIndex 2 } -name { set name [lindex $args [expr $argIndex + 1]] append paramList " -name $name" incr argIndex 2 } -srcEndpoint { set srcEndpoint [lindex $args [expr $argIndex + 1]] append paramList " -sources $srcEndpoint" incr argIndex 2 } -dstEndpoint { set dstEndpoint [lindex $args [expr $argIndex + 1]] append paramList " -destinations $dstEndpoint" incr argIndex 2 } default { puts "Connect: No such parameter: $currentArg" return 1 } } } if {[catch {set endpointSetObj [ixNet add $trafficItemObj endpointSet]} errMsg]} { puts "Error: Creating new endpoints" return 1 } ixNet commit puts "CreateEndpoints: $paramList" if {[catch {eval ixNet setMultiAttribute $endpointSetObj $paramList} errMsg]} { puts "\nError: CreateEndpoints: $errMsg" return 1 } ixNet commit set endpointSetObj [lindex [ixNet remapIds $endpointSetObj] 0] }