#!/usr/local/bin/perl
#
# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
# Yokogawa Electric Corporation, YDC Corporation,
# IPA (Information-technology Promotion Agency, Japan).
# All rights reserved.
# 
# Redistribution and use of this software in source and binary forms, with 
# or without modification, are permitted provided that the following 
# conditions and disclaimer are agreed and accepted by the user:
# 
# 1. Redistributions of source code must retain the above copyright 
# notice, this list of conditions and the following disclaimer.
# 
# 2. Redistributions in binary form must reproduce the above copyright 
# notice, this list of conditions and the following disclaimer in the 
# documentation and/or other materials provided with the distribution.
# 
# 3. Neither the names of the copyrighters, the name of the project which 
# is related to this software (hereinafter referred to as "project") nor 
# the names of the contributors may be used to endorse or promote products 
# derived from this software without specific prior written permission.
# 
# 4. No merchantable use may be permitted without prior written 
# notification to the copyrighters. However, using this software for the 
# purpose of testing or evaluating any products including merchantable 
# products may be permitted without any notification to the copyrighters.
# 
# 
# 
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHTERS, THE PROJECT AND 
# CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING 
# BUT NOT LIMITED THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 
# FOR A PARTICULAR PURPOSE, ARE DISCLAIMED.  IN NO EVENT SHALL THE 
# COPYRIGHTERS, THE PROJECT OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 
# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 
# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 
# CONTRACT,STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF 
# THE POSSIBILITY OF SUCH DAMAGE.
#
# $TAHI: v6eval/bin/remotes/manual/dhcp6r.rmt,v 1.4 2010/03/24 02:42:35 mario Exp $
#
################################################################

use V6evalRemote;
use File::Basename;

#start					
#link0=					ethernet port 1
#link1=					ethernet port 2

#duid					The DUID of client;

#for Dibbler
#servermulticast				Forward messges should be sent to the multicast address
#clientmulticast				Client's message should be received on the multicast address
#serverunicast				Forward message should be sent to the specified address
#clientunicast				Client's message should be received on the specified unicast address


my $basename = basename($0, '.rmt');
my $prompt = "$basename> ";

rArg()  || goto error;


print "\n";

if(defined($rOpt_start)){
	print "lio_start". "\n"; 
	if (!defined($rOpt_link0) || !defined($rOpt_link1)){
		print $prompt."NG:The interfaces used by DHCPv6 relay-agent";
		print $prompt "have not been defined in the configuration file ";
		print $prompt."Please define them!";
		print "lio_stop". "\n"; 
		goto error;
	}
	print $prompt . "Set parameters of DHCPv6 relay-agent manually as following:\n\n";
#	print $prompt. "Please set the interface-id value in Relay-agent: 16843009 ($rOpt_link1)\n";
	if(defined($rOpt_link0) && defined($rOpt_link1)){
		print  $prompt."The interfaces used by DHCPv6 relay-agent test are $rOpt_link0 and $rOpt_link1.\n";
	}	
	if(defined($rOpt_servermulticast)){
		print $prompt."Please enable the Relay agent to forward messges to the multicast address FF05::1:3($rOpt_link0)\n";
	}

	if(defined($rOpt_clientmulticast)){
		print $prompt."Please enable the Relay agent to receive Client's message on the multicast address FF02::1:2($rOpt_link1)\n";
	}

	if(defined($rOpt_serverunicast)){
		print $prompt."Please set the Relay agent to send Relay message to the special unicast address $rOpt_serverunicast($rOpt_link0)\n";
	}

	if(defined($rOpt_clientunicast)){
		print $prompt."Please set the Relay agent to receive Client's message on the special unicast address $rOpt_clientunicast($rOpt_link1)\n";
	}
	
	if(defined($rOpt_interfaceid)){
		print $prompt."Please set the Relay agent to add Interface-id option in the Relay message with the interface-id: 16843009\n";
	}

		
	
	print  $prompt."Please start the DHCPv6 relay-agent!\n";
	print  $prompt."Then press the Enter.\a\n";
	print "lio_stop". "\n"; 
}#End of start;
elsif (defined($rOpt_restart)){
	print "lio_start". "\n"; 
	print $prompt."Please restart the DHCPv6 relay-agent!\n";
	print  $prompt."Then press the Enter.\a\n";
	print "lio_stop". "\n"; 
}
elsif(defined($rOpt_stop)){
	print $prompt."Please stop the DHCPv6 relay-agent!\n";
	print  $prompt."Then press the Enter.\a\n";
	print "lio_stop". "\n"; 
}

<STDIN>;
exit($V6evalRemote::exitPass);


error:
	rClose();
	exit($V6evalRemote::exitFail);
################################################################
__END__

=head1 NAME

B<XXX.rmt> - XXX

=head1 SYNOPSIS

B<XXX.rmt> [-commonoption ...] [XXX=XXX] [XXX="XXX"]

=head1 DESCRIPTION

B<XXX.rmt> XXX
Default timeout value is five seconds.
Do ``perldoc V6evalRemote'' for common options.

B<ifs> option works only if B<target type> is "nec-libra".

=head1 RETURN VALUES

The B<cleardefr.rmt> exits with one of the following values:
 0  command completed successfully
 1  command failed

=head1 SEE ALSO

perldoc V6evalRemote

=cut
