예제 #1
0
/// @brief returns ifindex of an interface with matched address
///
/// @param addr address to be matched
///
/// @return interface index (or -1 if not found)
int TSrvCfgMgr::getRelayByLinkAddr(SPtr<TIPv6Addr> addr) {
    SPtr<TSrvCfgIface> cfgIface;

    firstIface();
    while (cfgIface = getIface()) {
        if (cfgIface->addrInSubnet(addr)) {
            Log(Debug) << "Address " << addr->getPlain() << " matched on interface "
                       << cfgIface->getFullName() << LogEnd;
            return cfgIface->getID();
        }
    }

    Log(Warning) << "Finding RELAYs using link address failed." << LogEnd;
    return -1;
}