proc ConfigVlanIdNgpf {args} { set direction increment set step 0 set paramList {} set argIndex 0 while {$argIndex < [llength $args]} { set currentArg [lindex $args $argIndex] switch -exact -- $currentArg { -ethernetObj { set ethernetObj [lindex $args [expr $argIndex + 1]] incr argIndex 2 } -start { set vlanId [lindex $args [expr $argIndex + 1]] append paramList " -start $vlanId" incr argIndex 2 } -step { set step [lindex $args [expr $argIndex + 1]] append paramList " -step $step" incr argIndex 2 } -direction { set direction [lindex $args [expr $argIndex + 1]] append paramList " -direction $direction" incr argIndex 2 } default { puts "Connect: No such parameter: $currentArg" return 1 } } } puts "\nConfigVlanIdNgpf: start:$vlanId step:$step direction:$direction" set vlanMultivalue [ixNet getAttribute $ethernetObj/vlan:1 -vlanId] if {[catch {eval ixNet setMultiAttribute $vlanMultivalue/counter $paramList} errMsg]} { puts "\nConfigVlanIdNgpf failed: $errMsg \nstart:$vlanId step:$step direction:$direction" return 1 } ixNet commit }