# NAME

IPSEC.pm - utility functions for IPsec test

# SYNOPSIS

    use IPSEC;

# DESCRIPTION

This module contains methods to test IPsec.

## Functions

ipsecExitPass()

  Output 'OK' to log and exit (exit code is Pass).

ipsecExitIgnore()

  Output no message and Exit (exit code is Ignore).

ipsecExitNS()

  Output 'This test is not supported now' to log and Exit (exit code is NS).

ipsecExitWarn()

  Output 'Warn' (color is green) to log and Exit (exit code is Warn).

ipsecExitHostOnly()

  Output 'This test is for the host only' to log and Exit (exit code is HostOnly).

ipsecExitRouterOnly()

  Output 'This test is for the router only' to log and Exit (exit code is HostOnly).

ipsecExitFail()

  Output 'NG' (color is red) to log and Exit (exit code is Fail).

ipsecExitFatal()

  Output 'Fatal' (color is red) to log and Exit (exit code is Fatal).

ipsecReboot()

  Reboot the target.

  This function calls 'reboot.rmt' simply.

ipsecCheckNUT($require)

  Check NUT type in 'nut.def'. Parameter `$require` is one of 'host' or 'router'.

  If 'Type' in nut.def does not match to $require, output message and exit (HostOnly, RouterOnly or Fatal).

ipsecSetSAD(@params)

  Set SAD (Security Association Database) entry.

  This function calls 'ipsecSetSAD.rmt' with `@params` simply. If remote command fails, output message and exit (Fail).

ipsecSetSADAsync(@params)

  Same function as the above. But set SAD (Security Association Database) entry asynchronously.

ipsecSetSPD(@params)

  Set SPD (Security Policy Database) entry.

  This function calls 'ipsecSetSPD.rmt' with `@params` simply. If remote command fails, output message and exit (Fail).

ipsecSetSPDAsync(@params)

  Same function as the above. But set SPD (Security Policy Database) entry asynchronously.

ipsecClearAll()

  Clear all SAD and SPD entries.

  This function calls 'ipsecClearAll.rmt' simply. If remote command fails, output message and exit (Fail).

ipsecEnable()

  Enable and start IPsec function.

  This function calls 'ipsecEnable.rmt' simply. If remote command fails, output message and exit (Fail).

ipsecPing2NUT($IF, $req, $rep [,$ns, $na])

  Emulate Ping to NUT.

  Send `$req` to NUT and wait `$rep` from NUT.

  If NS is received from NUT, send NA to NUT and wait `$rep` again.

ipsecPingFrag2NUT($IF, $req1st, $req2nd, $rep1st, $rep2nd)

  Emulate Fragmented Ping to NUT.

  Send `$req1st` and `$req2nd` to NUT and wait `$rep1st` and `$rep2nd` from NUT.

ipsecForwardEncap($IFs, $IFr, $p1, $p2 [, $ns, $na])

  Check packet forwarding with encapsulation.

  Send `$p1` to NUT's `$IFs` and wait `$p2` from NUT's $IFr.

  If NS is received from NUT, send NA to NUT and wait `$p2` again.

ipsecForwardDecap($IFs, $IFr, $p1, $p2 [, $ns, $na])

  Check packet forwarding with decapsulation.

  Send `$p1` to NUT's `$IFs` and wait `$p2` from NUT's $IFr.

  If NS is received from NUT, send NA to NUT and wait `$p2` again.

# SEE ALSO

      perldoc V6EvalTool
      perldoc V6Remote
      perldoc /usr/local/v6eval/bin/manual/ipsecSetSAD.rmt
      perldoc /usr/local/v6eval/bin/manual/ipsecSetSPD.rmt
      perldoc /usr/local/v6eval/bin/manual/ipsecClearAll.rmt
      perldoc /usr/local/v6eval/bin/manual/ipsecEnable.rmt