I have achieved 100% pass rate in Linux.
You have to use this ping6.rmt
#!/usr/bin/perl
use V6evalRemote;
rOpen() || goto error;
$NUTif = $rOpt_if;
$dstaddress = $rOpt_addr;
$rOpt_timeout = 5 if ! defined $rOpt_timeout;
$rOpt_size = 2 if ! defined($rOpt_size);
$rOpt_count = 1 if ! defined($rOpt_count);
$pingpath = "ping6";
$pingopt = "-n -c $rOpt_count -i 1 -s $rOpt_size -M want -p 00 -w 2";
# $pingopt = "-n -c $rOpt_count -i 1 -s $rOpt_size -p 00 -w 2";
$ifopt = "-I $NUTif" if $NUTif ne "";
rLogin($rOpt_timeout) || goto error;
rCommand("ping6 $pingopt $ifopt $dstaddress", 15) || goto error;
rLogout($rOpt_timeout) || goto error;
rClose();
exit($V6evalRemote::exitPass);
error:
rClose();
exit($V6evalRemote::exitFail);
########################################################################
Also, you have to use this command for interface (eth0) used on NUT:
echo 128 > /proc/sys/net/ipv6/conf/eth0/accept_ra_rt_info_max_plen
echo 2 > /proc/sys/net/ipv6/conf/eth0/accept_dad
Regards
Vit Pelcak