def METHOD_NAME(self):
    """Retrieve the IPv6 addresses and prefixes of interfaces.
    Return value:
      A set of tuples: set([(ifindex, ip_address, prefix_address), ...])
      ifindex will be an integer, ip_address and prefix_address will be
      IPy.IP objects.
    """
    prefixlen_column = 'ipv6AddrPfxLength'
    ipv6_addrs = yield self.retrieve_column(prefixlen_column)
    addresses = set()
    for row_index, prefixlen in ipv6_addrs.items():
        ifindex = row_index[0]
        ipv6_address = row_index[1:]
        ip = Ipv6Mib.ipv6address_to_ip(ipv6_address)
        prefix = ip.make_net(prefixlen)
        row = (ifindex, ip, prefix)
        addresses.add(row)
    self._logger.debug(
        "interface addresses: Got %d rows from %s",
        len(ipv6_addrs),
        prefixlen_column,
    )
    defer.returnValue(addresses)