# NAME

      ADDR_SELECT.pm - utility functions for "Default Address Selection for IPv6" test

# SYNOPSIS

      nutReboot
      nutDefaultRouteAdd
      nutIPv6AddrAdd
      nutIPv6AddrAdd_Any
      nutIPv6AddrDelete
      nutIPv6AddrDelete_Any
      nutDeprecatedIPv6AddrAdd
      nutDeprecatedIPv6AddrAdd_Any
      nutAutoConfIPv6AddrAdd
      nutAutoConfIPv6AddrAdd_Any
      nutPing6
      nutPing6_Link0
      nutPing6Async
      nutPing6Async_Link0
      nutPing6AsyncWait
      nutClear
      prefix2G_ADDR_NUT
      nutLLA
      nutInitialize
      nutInitialize_ConfiguredTunnel
      checkNUT_SrcAddr
      checkNUT_SrcAddr_Any
      nutTempAddrEnable
      nutTempAddrDisable
      nutDnsSet
      nutDnsRemove
      nutPing62Dest
      nutPing62Dest_TempAddr
      nutPing62Dest_Dns

# DESCRIPTION

      #nutReboot() - reboot NUT

        This routine calls vRemote("reboot.rmt") simply.

      #nutDefaultRouteAdd() - Add IPv6 Default Route in NUT

        route.rmt wrapper method.

        (FreeBSD)
        route add -inet6  default <TN-Link0-LinkLocalAddress>%<NUT-Link0>

      #nutIPv6AddrAdd($ADDR,$PLEN) - Add IPv6 Unicast Address in NUT Link0

        manualaddrconf.rmt wrapper method.

        (FreeBSD)
        ifconfig <NUT-Link0> inet6 <$ADDR> prefixlen <$PLEN> alias

      #nutIPv6AddrAdd_Any($ADDR,$PLEN,$IF) - Add IPv6 Unicast Address in NUT any Link

        manualaddrconf.rmt wrapper method.

        (FreeBSD)
        ifconfig <$IF> inet6 <$ADDR> prefixlen <$PLEN> alias

      #nutIPv6AddrDelete($ADDR,$PLEN) - Delete IPv6 Unicast Address in NUT Link0

        manualaddrconf.rmt wrapper method.

        (FreeBSD)
        ifconfig <NUT-Link0> inet6 <$ADDR> prefixlen <$PLEN> delete

      #nutIPv6AddrDelete_Any($ADDR,$PLEN,$IF) - Delete IPv6 Unicast Address in NUT any Link

        manualaddrconf.rmt wrapper method.

        (FreeBSD)
        ifconfig <$IF> inet6 <$ADDR> prefixlen <$PLEN> delete

      #nutDeprecatedIPv6AddrAdd($G_PREFIX,$CPP) - Add Deprecated IPv6 Address in NUT Link0

        Send 'ra_DEPRECATED' packet simply.

      #nutDeprecatedIPv6AddrAdd($G_PREFIX,$CPP) - Add Deprecated IPv6 Address in NUT Link0

        Send 'ra_DEPRECATED' packet simply.

      #nutDeprecatedIPv6AddrAdd_Any($G_PREFIX,$CPP,$IF) - Add Deprecated IPv6 Address in NUT any Link

        Send 'ra_DEPRECATED' packet simply.

      #nutAutoConfIPv6AddrAdd($G_PREFIX,$CPP) - Add IPv6 Address in NUT Link0 by RA

        Send 'ra_NORMAL' packet simply.

      #nutAutoConfIPv6AddrAdd_Any($G_PREFIX,$CPP,$IF) - Add IPv6 Address in NUT  any Link by RA

        Send 'ra_NORMAL' packet simply.

      #nutPing6($ADDR) - Ping6 from NUT

        ping6.rmt wrapper method.

        (FreeBSD)
        ping6 -n -c 1 -i 1 -h 64 -s 2 -p 00 <$ADDR>

      #nutPing6_Link0($ADDR) - Ping6 from NUT

        ping6.rmt wrapper method.

        (FreeBSD)
        ping6 -n -c 1 -i 1 -h 64 -s 2 -p 00 -I <NUT-Link0> <$ADDR>

      #nutPing6Async($ADDR) - Ping6 from NUT

        ping6.rmt wrapper method.
        * use vRemoteAsync()

        (FreeBSD)
        ping6 -n -c 1 -i 1 -h 64 -s 2 -p 00 <$ADDR>

      #nutPing6Async_Link0($ADDR) - Ping6 from NUT

        ping6.rmt wrapper method.
        * use vRemoteAsync()

        (FreeBSD)
        ping6 -n -c 1 -i 1 -h 64 -s 2 -p 00 -I <NUT-Link0> <$ADDR>

      #nutPing6AsyncWait($ADDR) -

        vRemoteAsyncWait() wrapper method.

      #ping6_Destination2SOURCE1($CPP,$IF) - internal subroutine

      #nutClear($ADDR1,$PLEN1, ; $ADDR2,$PLEN2,$ADDR3,$PLEN3,$ADDR4,$PLEN4) - delete all address & NCE in NUT Link0

        Call nutIPv6AddrDelete($ADDR1,$PLEN1) , nutIPv6AddrDelete($ADDR2,$PLEN2),...  simply
        and Call clearprefix.rmt & clearnc.rmt & cleardefr.rmt simply.

      #prefix2G_ADDR_NUT($G_PREFIX,$IF_SELECT) - return grobal address ($G_PREFIX::NUT'sEUI64)

      #nutLLA($IF_SELECT) - return link local address (NUT's LLA)

      #nutInitialize() - NUT initialization

        Call nutDefaultRouteAdd() simply

      #nutInitialize_ConfiguredTunnel($IPv4_ROUTER,$TUN_SRC,$TUN_END,$TUN_PREFIX) - NUT initialization ConfiguredTunnel

      #checkNUT_SrcAddr($CPP_ORG,$CHECK_SRC1,$CHECK_DST1 ; $CHECK_SRC2,$CHECK_DST2,$CHECK_SRC3,$CHECK_DST3,$CHECK_SRC4,$CHECK_DST4) - check All source address in NUT

         Send ping6 from CHECK_DST1 to CHECK_SRC1,
         Send ping6 from CHECK_DST2 to CHECK_SRC2,
         Send ping6 from CHECK_DST3 to CHECK_SRC3,
         Send ping6 from CHECK_DST4 to CHECK_SRC4

         return true(1) : ping6 success
         return false(0) : One of ping6 fail

      # checkNUT_SrcAddr_Any($CPP_ORG,$CHECK_SRC1,$CHECK_DST1,$IF_SELECT) - check source address in NUT any Link

         Send ping6 from CHECK_DST1 to CHECK_SRC1($IF_SELECT)

         return true(1) : ping6 success
         return false(0) : ping6 fail

      #nutTempAddrEnable() - NUT enable temporary address

      #nutTempAddrDisable() - NUT disable temporary address

      #nutDnsSet($DNS_ADDR) - NUT set DNS(server=$DNS_ADDR)

      #nutDnsRemove() - NUT remove DNS

      #nutPing62Dest() - ping6 NUT to DESTNATION

      #nutPing62Dest_TempAddr() - ping6 NUT to DESTNATION

      #nutPing62Dest_Dns() - ping6 NUT to DESTNATION

# SEE ALSO

ADDR_SELECT.pm

      perldoc V6EvalTool
      perldoc V6Remote