proc ConfigIpv4GatewayIpNgpf {args} { set direction increment set step 0.0.0.0 set paramList {} set argIndex 0 while {$argIndex < [llength $args]} { set currentArg [lindex $args $argIndex] switch -exact -- $currentArg { -ipv4Obj { set ipv4Obj [lindex $args [expr $argIndex + 1]] incr argIndex 2 } -gatewayIp { set gatewayIp [lindex $args [expr $argIndex + 1]] append paramList " -start $gatewayIp" incr argIndex 2 } -direction { set direction [lindex $args [expr $argIndex + 1]] append paramList " -direction $direction" incr argIndex 2 } -step { set step [lindex $args [expr $argIndex + 1]] append paramList " -step $step" incr argIndex 2 } -ipv4GatewayPortStep { set ipv4GatewayPortStep [lindex $args [expr $argIndex + 1]] incr argIndex 2 } default { puts "Connect: No such parameter: $currentArg" return 1 } } } set gatewayMultivalue [ixNet getAttribute $ipv4Obj -gatewayIp] puts "\t$paramList" if {[catch {eval ixNet setMultiAttribute $gatewayMultivalue/counter $paramList} errMsg]} { puts "\nConfigGatewayIpNgpf failed: $errMsg" return 1 } ixNet commit if {[info exists ipv4GatewayPortStep]} { puts "\nConfiguring ConfigIpv4GatewayIpNgpf port step: $gatewayMultivalue/nest:1 $ipv4GatewayPortStep" ixNet setAttribute $gatewayMultivalue/nest:1 -step $ipv4GatewayPortStep ixNet commit } }