NAME

  tst_are_addr_equal - Use IN6_ARE_ADDR_EQUAL to testing an IPv6 address for certain properties


PURPOSE

  Check whether macro IN6_ARE_ADDR_EQUAL is works correctly.


SYNOPSIS

  ./tst_are_addr_equal [-tooloption ...]
    -tooloption : v6api tool option


TEST PROCEDURE

  1. Two address are in6addr_any, should returns non-zero
  2. Two address are in6addr_loopback, should returns non-zero
  3. Two address are the same link local address, should returns non-zero
  4. Two address are the same ipv4 mapped address, should returns non-zero
  5. Two address are in6addr_any and in6addr_loopback, should returns zero
  6. Two address are link local address and global address, should returns zero
  7. Two address are "::FFFF:192.168.0.1" and "::192.168.0.1", should returns zero


NOTE

  None


REFERENCE

  RFC 3542
  2.3.  Address Testing Macros
    The basic API ([RFC-3493]) defines some macros for testing an IPv6
    address for certain properties.  This API extends those definitions
    with additional address testing macros, defined as a result of
    including <netinet/in.h>.
      int  IN6_ARE_ADDR_EQUAL(const struct in6_addr *,
                              const struct in6_addr *);
    This macro returns non-zero if the addresses are equal; otherwise it
    returns zero.