sub sadk_flap_mx_ifd_laser { my $r = shift; my $sub = sub_name; return $r->error_handler('S', "$sub: MX-VC does not support laser off/on") if (exists $r->{MX_VC_CHASSIS} && $r->{MX_VC_CHASSIS}); my $args = get_args(["FLAP", "IFD"],@_); return $r->error_handler('S',"$sub: FAIL. Missing mandatory argument 'IFD' in API call") unless (defined $args->{IFD}); $args->{IFD} = [$args->{IFD}] unless (ref $args->{IFD} ne "ARRAY"); return $r->error_handler('S', "$sub: Empty list in argument 'IFD'") if (@{$args->{IFD}} == 0); $args->{FLAP} = 1 unless (defined $args->{FLAP}); my ($i,$ifd, $fpc); foreach $ifd (@{$args->{IFD}}) { ($fpc) = $ifd =~ /\w+-(\d+)\/\d+\/\d+/; $r->mode_shell; put_log("\n\n"); $r->put_log("Turn off/on laser on interface $ifd $args->{FLAP} times"); foreach $i (1..$args->{FLAP}) { $r->shell(cmd => "cprod -A fpc$fpc -c \"test ifdev $ifd laser off\""); sleep 20; $r->shell(cmd => "cprod -A fpc$fpc -c \"test ifdev $ifd laser on\""); sleep 20; } } put_log("\n\n"); $r->mode_cli; return 1; } #### $t->sadk_flap_mx_ifd_laser(ifd=>@child_interfaces, flap=>$flaps);