Lines Matching defs:intf

357     NetworkInterfaceInfo *intf;
363 for (intf = m->HostInterfaces; intf; intf = intf->next)
364 if (intf->ip.type == addr->type && intf->InterfaceID == InterfaceID && intf->McastTxRx)
365 if (((intf->ip.ip.v4.NotAnInteger ^ addr->ip.v4.NotAnInteger) & intf->mask.ip.v4.NotAnInteger) == 0)
369 if (mDNSSameIPv4Address(intf->ip.ip.v4, addr->ip.v4))
384 for (intf = m->HostInterfaces; intf; intf = intf->next)
385 if (intf->ip.type == addr->type && intf->InterfaceID == InterfaceID && intf->McastTxRx)
386 if ((((intf->ip.ip.v6.l[0] ^ addr->ip.v6.l[0]) & intf->mask.ip.v6.l[0]) == 0) &&
387 (((intf->ip.ip.v6.l[1] ^ addr->ip.v6.l[1]) & intf->mask.ip.v6.l[1]) == 0) &&
388 (((intf->ip.ip.v6.l[2] ^ addr->ip.v6.l[2]) & intf->mask.ip.v6.l[2]) == 0) &&
389 (((intf->ip.ip.v6.l[3] ^ addr->ip.v6.l[3]) & intf->mask.ip.v6.l[3]) == 0))
393 if (mDNSSameIPv6Address(intf->ip.ip.v6, addr->ip.v6))
411 NetworkInterfaceInfo *intf = m->HostInterfaces;
412 while (intf && intf->InterfaceID != InterfaceID) intf = intf->next;
413 return(intf);
418 NetworkInterfaceInfo *intf;
425 for (intf = m->HostInterfaces; intf; intf = intf->next)
427 if (intf->InterfaceID == InterfaceID &&
428 intf->ip.type == mDNSAddrType_IPv4 && mDNSv4AddressIsLinkLocal(&intf->ip.ip.v4))
430 debugf("FirstIPv4LLInterfaceForID: found LL interface with address %.4a", &intf->ip.ip.v4);
431 return intf;
439 NetworkInterfaceInfo *intf = FirstInterfaceForID(m, InterfaceID);
440 return(intf ? intf->ifname : mDNSNULL);
1206 NetworkInterfaceInfo *intf = FirstInterfaceForID(m, rr->resrec.InterfaceID);
1207 if (intf && !intf->Advertise) { rr->resrec.InterfaceID = mDNSInterface_LocalOnly; rr->ARType = AuthRecordLocalOnly; }
1861 NetworkInterfaceInfo *intf = FirstInterfaceForID(m, InterfaceID);
1884 if (intf && !mDNSPlatformValidRecordForInterface(rr, intf))
1949 debugf("SendDelayedUnicastResponse: Added NSEC3 Record %s on %p", RRDisplayString(m, nsec3RR), intf->InterfaceID);
1954 LogMsg("SendDelayedUnicastResponse: ERROR!! Cannot Add NSEC3 Record %s on %p", RRDisplayString(m, nsec3RR), intf->InterfaceID);
2092 NetworkInterfaceInfo *intf = FirstInterfaceForID(m, rr->resrec.InterfaceID);
2093 if (!intf) { LogMsg("SendARP: No interface with InterfaceID %p found %s", rr->resrec.InterfaceID, ARDisplayString(m,rr)); return; }
2099 for (i=0; i<6; i++) *ptr++ = intf->MAC.b[0];
2112 for (i=0; i<6; i++) *ptr++ = intf->MAC.b[i];
2163 NetworkInterfaceInfo *intf = FirstInterfaceForID(m, rr->resrec.InterfaceID);
2164 if (!intf) { LogMsg("SendNDP: No interface with InterfaceID %p found %s", rr->resrec.InterfaceID, ARDisplayString(m,rr)); return; }
2185 *ptr++ = intf->MAC.b[i];
2226 *ptr++ = intf->MAC.b[i];
2240 *ptr++ = intf->MAC.b[i];
2262 mDNSlocal void SetupOwnerOpt(const mDNS *const m, const NetworkInterfaceInfo *const intf, rdataOPT *const owner)
2267 owner->u.owner.IMAC = intf->MAC;
2273 owner->optlen = DNSOpt_Owner_Space(&m->PrimaryMAC, &intf->MAC) - 4;
2282 mDNSlocal mDNSBool ShouldSendGoodbyesBeforeSleep(mDNS *const m, const NetworkInterfaceInfo *intf, AuthRecord *rr)
2300 if (!intf->SendGoodbyes)
2302 debugf("ShouldSendGoodbyesBeforeSleep: not sending goodbye %s, int %p", ARDisplayString(m, rr), intf->InterfaceID);
2307 debugf("ShouldSendGoodbyesBeforeSleep: sending goodbye %s, int %p", ARDisplayString(m, rr), intf->InterfaceID);
2333 const NetworkInterfaceInfo *intf = GetFirstActiveInterface(m->HostInterfaces);
2494 rr->SendRNow = !intf ? mDNSNULL : (rr->resrec.InterfaceID) ? rr->resrec.InterfaceID : intf->InterfaceID;
2523 while (intf)
2525 int OwnerRecordSpace = (m->AnnounceOwner && intf->MAC.l[0]) ? DNSOpt_Header_Space + DNSOpt_Owner_Space(&m->PrimaryMAC, &intf->MAC) : 0;
2544 if ((rr->SendRNow == intf->InterfaceID) &&
2545 ((rr->resrec.InterfaceID == mDNSInterface_Any) && !mDNSPlatformValidRecordForInterface(rr, intf)))
2548 rr->SendRNow = GetNextActiveInterfaceID(intf);
2550 else if (rr->SendRNow == intf->InterfaceID)
2555 (rr->resrec.RecordType != kDNSRecordTypeDeregistering && !ShouldSendGoodbyesBeforeSleep(m, intf, rr));
2606 rr->resrec.AnonInfo->SendNow = intf->InterfaceID;
2611 rr->SendRNow = GetNextActiveInterfaceID(intf);
2624 if (rr->resrec.AnonInfo && rr->resrec.AnonInfo->SendNow == intf->InterfaceID)
2646 if (rr->ImmedAdditional == intf->InterfaceID)
2660 a->LastMCInterface == intf->InterfaceID &&
2686 rr->LastMCInterface = intf->InterfaceID;
2693 // (recognized by rr->SendNSECNow == intf->InterfaceID) we should really put the NSEC in the Answer Section,
2696 if (rr->SendNSECNow == mDNSInterfaceMark || rr->SendNSECNow == intf->InterfaceID)
2738 if (r2->SendNSECNow == mDNSInterfaceMark || r2->SendNSECNow == intf->InterfaceID)
2757 SetupOwnerOpt(m, intf, &opt.resrec.rdata->u.opt[0]);
2762 SetupOwnerOpt(m, intf, &opt.resrec.rdata->u.opt[0]);
2772 LogInfo("SendResponses put %s %s: %s %s", OwnerRecordSpace ? "OWNER" : "", TraceRecordSpace ? "TRACER" : "", intf->ifname, ARDisplayString(m, &opt));
2790 m->omsg.h.numAdditionals, m->omsg.h.numAdditionals == 1 ? "" : "s", intf->InterfaceID);
2792 if (intf->IPv4Available) mDNSSendDNSMessage(m, &m->omsg, responseptr, intf->InterfaceID, mDNSNULL, &AllDNSLinkGroup_v4, MulticastDNSPort, mDNSNULL, mDNSNULL, mDNSfalse);
2793 if (intf->IPv6Available) mDNSSendDNSMessage(m, &m->omsg, responseptr, intf->InterfaceID, mDNSNULL, &AllDNSLinkGroup_v6, MulticastDNSPort, mDNSNULL, mDNSNULL, mDNSfalse);
2800 const NetworkInterfaceInfo *next = GetFirstActiveInterface(intf->next);
2803 debugf(msg, intf, next);
2805 intf = next;
3124 mDNSlocal mDNSBool SuppressOnThisInterface(const DupSuppressInfo ds[DupSuppressInfoSize], const NetworkInterfaceInfo * const intf)
3127 mDNSBool v4 = !intf->IPv4Available; // If this interface doesn't do v4, we don't need to find a v4 duplicate of this query
3128 mDNSBool v6 = !intf->IPv6Available; // If this interface doesn't do v6, we don't need to find a v6 duplicate of this query
3130 if (ds[i].InterfaceID == intf->InterfaceID)
3268 const NetworkInterfaceInfo *intf = GetFirstActiveInterface(m->HostInterfaces);
3432 q->SendQNow = !intf ? mDNSNULL : (q->InterfaceID) ? q->InterfaceID : intf->InterfaceID;
3490 ar->SendRNow = (!intf || ar->WakeUp.HMAC.l[0]) ? mDNSNULL : ar->resrec.InterfaceID ? ar->resrec.InterfaceID : intf->InterfaceID;
3540 while (intf)
3542 int OwnerRecordSpace = (m->AnnounceOwner && intf->MAC.l[0]) ? DNSOpt_Header_Space + DNSOpt_Owner_Space(&m->PrimaryMAC, &intf->MAC) : 0;
3558 if (mDNSOpaque16IsZero(q->TargetQID) && (q->SendQNow == intf->InterfaceID))
3562 SuppressOnThisInterface(q->DupSuppress, intf) ? "Suppressing" : "Putting ",
3566 if (!mDNSPlatformValidQuestionForInterface(q, intf))
3568 LogInfo("SendQueries: Not sending (%s) %##s on %s", DNSTypeName(q->qtype), q->qname.c, InterfaceNameForID(m, intf->InterfaceID));
3569 q->SendQNow = (q->InterfaceID || !q->SendOnAll) ? mDNSNULL : GetNextActiveInterfaceID(intf);
3572 else if ((Suppress = SuppressOnThisInterface(q->DupSuppress, intf)) ||
3588 q->AnonInfo->SendNow = intf->InterfaceID;
3590 q->SendQNow = (q->InterfaceID || !q->SendOnAll) ? mDNSNULL : GetNextActiveInterfaceID(intf);
3608 if (ar->SendRNow == intf->InterfaceID)
3620 ar->SendRNow = (ar->resrec.InterfaceID) ? mDNSNULL : GetNextActiveInterfaceID(intf);
3667 if (q->AnonInfo && q->AnonInfo->SendNow == intf->InterfaceID)
3672 debugf("SendQueries: Added NSEC3 record %s on InterfaceID %p", RRDisplayString(m, q->AnonInfo->nsec3RR), intf->InterfaceID);
3677 LogMsg("SendQueries: ERROR!! Cannot add NSEC3 record %s on InterfaceID %p", RRDisplayString(m, q->AnonInfo->nsec3RR), intf->InterfaceID);
3697 SetupOwnerOpt(m, intf, &opt.resrec.rdata->u.opt[0]);
3702 SetupOwnerOpt(m, intf, &opt.resrec.rdata->u.opt[0]);
3708 LogInfo("SendQueries putting %s %s: %s %s", OwnerRecordSpace ? "OWNER" : "", TraceRecordSpace ? "TRACER" : "", intf->ifname, ARDisplayString(m, &opt));
3730 m->omsg.h.numAuthorities, m->omsg.h.numAuthorities == 1 ? "" : "s", intf->InterfaceID);
3731 if (intf->IPv4Available) mDNSSendDNSMessage(m, &m->omsg, queryptr, intf->InterfaceID, mDNSNULL, &AllDNSLinkGroup_v4, MulticastDNSPort, mDNSNULL, mDNSNULL, useBackgroundTrafficClass);
3732 if (intf->IPv6Available) mDNSSendDNSMessage(m, &m->omsg, queryptr, intf->InterfaceID, mDNSNULL, &AllDNSLinkGroup_v6, MulticastDNSPort, mDNSNULL, mDNSNULL, useBackgroundTrafficClass);
3741 const NetworkInterfaceInfo *next = GetFirstActiveInterface(intf->next);
3744 debugf(msg, intf, next);
3746 intf = next;
3801 NetworkInterfaceInfo *intf = FirstInterfaceForID(m, InterfaceID);
3802 if (!intf) { LogMsg("SendARP: No interface with InterfaceID %p found", InterfaceID); return; }
3808 for (i=0; i<6; i++) *ptr++ = intf->MAC.b[0];
5561 NetworkInterfaceInfo *intf;
5562 for (intf = GetFirstActiveInterface(m->HostInterfaces); intf; intf = GetFirstActiveInterface(intf->next))
5564 if (intf->McastTxRx && !intf->Loopback && !mDNSPlatformInterfaceIsD2D(intf->InterfaceID))
5567 if (!intf->NetWake)
5570 mDNS_snprintf(reason, sizeof(reason), "%s does not support NetWake", intf->ifname);
5571 LogInfo("mDNS_UpdateAllowSleep: Sleep disabled because %s does not support NetWake", intf->ifname);
5576 const CacheRecord *cr = FindSPSInCache1(m, &intf->NetWakeBrowse, mDNSNULL, mDNSNULL);
5580 mDNS_snprintf(reason, sizeof(reason), "No sleep proxy server on %s", intf->ifname);
5581 LogInfo("mDNS_UpdateAllowSleep: Sleep disabled because %s has no sleep proxy server", intf->ifname);
5591 mDNS_snprintf(reason, sizeof(reason), "No sleep proxy server with better metric on %s", intf->ifname);
5592 LogInfo("mDNS_UpdateAllowSleep: Sleep disabled because %s has no sleep proxy server with a better metric", intf->ifname);
5608 mDNSlocal mDNSBool mDNSUpdateOkToSend(mDNS *const m, AuthRecord *rr, NetworkInterfaceInfo *const intf, mDNSu32 scopeid)
5624 // Note: scopeid is the same as intf->InterfaceID. It is passed in so that we don't have to call the
5625 // platform function to extract the value from "intf" everytime.
5628 (!rr->resrec.InterfaceID || rr->resrec.InterfaceID == intf->InterfaceID))
5667 mDNSexport mStatus UpdateKeepaliveRData(mDNS *const m, AuthRecord *rr, NetworkInterfaceInfo *const intf, mDNSBool updateMac, char *ethAddr)
5711 if ((intf != mDNSNULL) && (mti.IntfId != intf->InterfaceID))
5713 LogInfo("mDNSPlatformRetrieveTCPInfo: InterfaceID mismatch mti.IntfId = %p InterfaceID = %p", mti.IntfId, intf->InterfaceID);
5757 mDNSlocal void SendSPSRegistrationForOwner(mDNS *const m, NetworkInterfaceInfo *const intf, const mDNSOpaque16 id, const OwnerOptData *const owner)
5759 const int optspace = DNSOpt_Header_Space + DNSOpt_LeaseData_Space + DNSOpt_Owner_Space(&m->PrimaryMAC, &intf->MAC);
5760 const int sps = intf->NextSPSAttempt / 3;
5765 scopeid = mDNSPlatformInterfaceIndexfromInterfaceID(m, intf->InterfaceID, mDNStrue);
5766 if (!intf->SPSAddr[sps].type)
5768 intf->NextSPSAttemptTime = m->timenow + mDNSPlatformOneSecond;
5769 if (m->NextScheduledSPRetry - intf->NextSPSAttemptTime > 0)
5770 m->NextScheduledSPRetry = intf->NextSPSAttemptTime;
5771 LogSPS("SendSPSRegistration: %s SPS %d (%d) %##s not yet resolved", intf->ifname, intf->NextSPSAttempt, sps, intf->NetWakeResolve[sps].qname.c);
5791 if (rr->resrec.InterfaceID == intf->InterfaceID || (!rr->resrec.InterfaceID && (rr->ForceMCast || IsLocalDomain(rr->resrec.name))))
5821 if (rr->SendRNow || mDNSUpdateOkToSend(m, rr, intf, scopeid))
5829 if (mDNS_KeepaliveRecord(&rr->resrec) && (UpdateKeepaliveRData(m, rr, intf, mDNSfalse, mDNSNULL) != mStatus_NoError))
5844 LogSPS("SendSPSRegistration put %s FAILED %d/%d %s", intf->ifname, p - m->omsg.data, limit - m->omsg.data, ARDisplayString(m, rr));
5847 LogSPS("SendSPSRegistration put %s 0x%x 0x%x (updateid %d) %s", intf->ifname, rr->updateIntID.l[1], rr->updateIntID.l[0], mDNSVal16(m->omsg.h.id), ARDisplayString(m, rr));
5872 SetupOwnerOpt(m, intf, &opt.resrec.rdata->u.opt[1]); // use our own interface information
5879 LogSPS("SendSPSRegistration put %s %s", intf->ifname, ARDisplayString(m, &opt));
5887 LogSPS("SendSPSRegistration: Sending Update %s %d (%d) id %5d with %d records %d bytes to %#a:%d", intf->ifname, intf->NextSPSAttempt, sps,
5888 mDNSVal16(m->omsg.h.id), m->omsg.h.mDNS_numUpdates, p - m->omsg.data, &intf->SPSAddr[sps], mDNSVal16(intf->SPSPort[sps]));
5889 // if (intf->NextSPSAttempt < 5) m->omsg.h.flags = zeroID; // For simulating packet loss
5890 err = mDNSSendDNSMessage(m, &m->omsg, p, intf->InterfaceID, mDNSNULL, &intf->SPSAddr[sps], intf->SPSPort[sps], mDNSNULL, mDNSNULL, mDNSfalse);
5892 if (err && intf->SPSAddr[sps].type == mDNSAddrType_IPv4 && intf->NetWakeResolve[sps].ThisQInterval == -1)
5894 LogSPS("SendSPSRegistration %d %##s failed to send to IPv4 address; will try IPv6 instead", sps, intf->NetWakeResolve[sps].qname.c);
5895 intf->NetWakeResolve[sps].qtype = kDNSType_AAAA;
5896 mDNS_StartQuery_internal(m, &intf->NetWakeResolve[sps]);
5903 intf->NextSPSAttemptTime = m->timenow + mDNSPlatformOneSecond * 10; // If successful, update NextSPSAttemptTime
5906 if (mDNSOpaque16IsZero(id) && intf->NextSPSAttempt < 8) intf->NextSPSAttempt++;
6018 mDNSlocal void SendSPSRegistration(mDNS *const m, NetworkInterfaceInfo *const intf, const mDNSOpaque16 id)
6023 SendSPSRegistrationForOwner(m, intf, id, &owner);
6030 SendSPSRegistrationForOwner(m, intf, id, &owner);
6039 NetworkInterfaceInfo *intf;
6042 for (intf = GetFirstActiveInterface(m->HostInterfaces); intf; intf = GetFirstActiveInterface(intf->next))
6043 if (intf->NextSPSAttempt && intf->NextSPSAttemptTime == m->timenow + mDNSPlatformOneSecond * 10)
6044 intf->NextSPSAttemptTime++;
6050 for (intf = GetFirstActiveInterface(m->HostInterfaces); intf; intf = GetFirstActiveInterface(intf->next))
6053 mDNSu32 scopeid = mDNSPlatformInterfaceIndexfromInterfaceID(m, intf->InterfaceID, mDNStrue);
6055 (!rr->resrec.InterfaceID || rr->resrec.InterfaceID == intf->InterfaceID))
6058 SendSPSRegistration(m, intf, rr->updateid);
6063 // For interfaces where we did an SPS registration attempt, increment intf->NextSPSAttempt
6064 for (intf = GetFirstActiveInterface(m->HostInterfaces); intf; intf = GetFirstActiveInterface(intf->next))
6065 if (intf->NextSPSAttempt && intf->NextSPSAttemptTime == m->timenow + mDNSPlatformOneSecond * 10 && intf->NextSPSAttempt < 8)
6066 intf->NextSPSAttempt++;
6071 NetworkInterfaceInfo *intf = (NetworkInterfaceInfo *)question->QuestionContext;
6072 int sps = (int)(question - intf->NetWakeResolve);
6085 intf->SPSPort[sps] = answer->rdata->u.srv.port;
6095 intf->SPSAddr[sps].type = mDNSAddrType_IPv4;
6096 intf->SPSAddr[sps].ip.v4 = answer->rdata->u.ipv4;
6098 if (sps == intf->NextSPSAttempt/3) SendSPSRegistration(m, intf, zeroID); // If we're ready for this result, use it now
6114 intf->SPSAddr[sps].type = mDNSAddrType_IPv6;
6115 intf->SPSAddr[sps].ip.v6 = answer->rdata->u.ipv6;
6117 if (sps == intf->NextSPSAttempt/3) SendSPSRegistration(m, intf, zeroID); // If we're ready for this result, use it now
6163 NetworkInterfaceInfo *intf;
6164 for (intf = GetFirstActiveInterface(m->HostInterfaces); intf; intf = GetFirstActiveInterface(intf->next))
6166 intf->SendGoodbyes = 1;
6195 NetworkInterfaceInfo *intf;
6208 for (intf = FirstInterfaceForID(m, regID[i]); intf; intf = intf->next)
6210 if ((intf->InterfaceID != regID[i]) ||
6211 (intf->ip.type != mDNSAddrType_IPv4))
6215 if ((intf->ip.ip.v4.NotAnInteger & intf->mask.ip.v4.NotAnInteger) == (newIntf->ip.ip.v4.NotAnInteger & newIntf->mask.ip.v4.NotAnInteger))
6217 LogSPS("%s : Already registered for the same subnet (IPv4) for interface %s", __func__, intf->ifname);
6262 NetworkInterfaceInfo *intf;
6267 for (intf = GetFirstActiveInterface(m->HostInterfaces); intf; intf = GetFirstActiveInterface(intf->next))
6270 intf->SendGoodbyes = 0;
6274 if (!intf->McastTxRx || mDNSPlatformInterfaceIsD2D(intf->InterfaceID))
6276 LogSPS("BeginSleepProcessing: %-6s Ignoring for registrations", intf->ifname);
6287 if (!intf->NetWake)
6289 LogSPS("BeginSleepProcessing: %-6s not capable of magic packet wakeup", intf->ifname);
6290 intf->SendGoodbyes = 1;
6296 if (skipSameSubnetRegistration(m, registeredIntfIDS, registeredCount, intf->InterfaceID))
6298 LogSPS("%s : Skipping sleep proxy registration on %s", __func__, intf->ifname);
6303 else if (SupportsInNICProxy(intf))
6305 if (ActivateLocalProxy(m, intf) == mStatus_NoError)
6310 LogSPS("BeginSleepProcessing: %-6s using local proxy", intf->ifname);
6315 registeredIntfIDS[registeredCount] = intf->InterfaceID;
6330 FindSPSInCache(m, &intf->NetWakeBrowse, sps);
6332 intf->ifname, &intf->ip, NextQSendTime(&intf->NetWakeBrowse) - m->timenow, intf->NetWakeBrowse.ThisQInterval);
6338 intf->NextSPSAttempt = 0;
6339 intf->NextSPSAttemptTime = m->timenow + mDNSPlatformOneSecond;
6341 scopeid = mDNSPlatformInterfaceIndexfromInterfaceID(m, intf->InterfaceID, mDNStrue);
6350 if (intf->SPSAddr[i].type)
6351 { LogMsg("BeginSleepProcessing: %s %d intf->SPSAddr[i].type %d", intf->ifname, i, intf->SPSAddr[i].type); *(long*)0 = 0; }
6352 if (intf->NetWakeResolve[i].ThisQInterval >= 0)
6353 { LogMsg("BeginSleepProcessing: %s %d intf->NetWakeResolve[i].ThisQInterval %d", intf->ifname, i, intf->NetWakeResolve[i].ThisQInterval); *(long*)0 = 0; }
6355 intf->SPSAddr[i].type = mDNSAddrType_None;
6356 if (intf->NetWakeResolve[i].ThisQInterval >= 0) mDNS_StopQuery(m, &intf->NetWakeResolve[i]);
6357 intf->NetWakeResolve[i].ThisQInterval = -1;
6360 LogSPS("BeginSleepProcessing: %-6s Found Sleep Proxy Server %d TTL %d %s", intf->ifname, i, sps[i]->resrec.rroriginalttl, CRDisplayString(m, sps[i]));
6361 mDNS_SetupQuestion(&intf->NetWakeResolve[i], intf->InterfaceID, &sps[i]->resrec.rdata->u.name, kDNSType_SRV, NetWakeResolve, intf);
6362 intf->NetWakeResolve[i].ReturnIntermed = mDNStrue;
6363 mDNS_StartQuery_internal(m, &intf->NetWakeResolve[i]);
6366 registeredIntfIDS[registeredCount] = intf->InterfaceID;
6478 NetworkInterfaceInfo *intf;
6505 for (intf = GetFirstActiveInterface(m->HostInterfaces); intf; intf = GetFirstActiveInterface(intf->next)) intf->NextSPSAttempt = -1;
6607 NetworkInterfaceInfo *intf;
6619 for (intf = GetFirstActiveInterface(m->HostInterfaces); intf; intf = GetFirstActiveInterface(intf->next))
6620 if (intf->NextSPSAttempt >= 0)
6622 if (now - intf->NextSPSAttemptTime >= 0)
6625 intf->ifname, intf->NextSPSAttempt/3, intf->NextSPSAttempt);
6626 SendSPSRegistration(m, intf, zeroID);
6631 if (m->NextScheduledSPRetry - intf->NextSPSAttemptTime > 0)
6632 m->NextScheduledSPRetry = intf->NextSPSAttemptTime;
6636 for (intf = GetFirstActiveInterface(m->HostInterfaces); intf; intf = GetFirstActiveInterface(intf->next))
6638 int sps = (intf->NextSPSAttempt == 0) ? 0 : (intf->NextSPSAttempt-1)/3;
6639 if (intf->NetWakeResolve[sps].ThisQInterval >= 0)
6642 intf->ifname, intf->NetWakeResolve[sps].qname.c, DNSTypeName(intf->NetWakeResolve[sps].qtype));
6683 for (intf = GetFirstActiveInterface(m->HostInterfaces); intf; intf = GetFirstActiveInterface(intf->next))
6684 if (intf->NetWakeBrowse.ThisQInterval >= 0)
6687 intf->ifname, intf->NetWakeResolve[0].qname.c, DNSTypeName(intf->NetWakeResolve[0].qtype));
6688 mDNS_DeactivateNetWake_internal(m, intf);
10986 NetworkInterfaceInfo *intf;
11000 for (intf = m->HostInterfaces; intf; intf = intf->next)
11002 if (intf->InterfaceActive && !intf->Loopback)
11004 LogInfo("ShouldSuppressDotLocalQuery: Found interface %s, not suppressing", intf->ifname);
11351 NetworkInterfaceInfo *intf = FirstInterfaceForID(m, question->InterfaceID);
11352 if (!intf)
12053 NetworkInterfaceInfo *intf;
12054 for (intf = m->HostInterfaces; intf; intf = intf->next)
12055 if (intf->ip.type == mDNSAddrType_IPv6) return(mDNStrue);
12474 NetworkInterfaceInfo *intf;
12475 for (intf = m->HostInterfaces; intf; intf = intf->next)
12476 if (intf->Advertise) break;
12477 return(intf);
12578 NetworkInterfaceInfo *intf;
12583 for (intf = m->HostInterfaces; intf; intf = intf->next)
12584 if (intf->RR_A.RRSet == &set->RR_A)
12585 intf->RR_A.RRSet = A;
12604 NetworkInterfaceInfo *intf;
12605 for (intf = m->HostInterfaces; intf; intf = intf->next)
12607 if (intf->Advertise)
12609 LogInfo("AdvertiseInterface: Advertising for ifname %s", intf->ifname);
12610 AdvertiseInterface(m, intf);
12618 NetworkInterfaceInfo *intf;
12619 for (intf = m->HostInterfaces; intf; intf = intf->next)
12621 if (intf->Advertise)
12623 LogInfo("DeadvertiseInterface: Deadvertising for ifname %s", intf->ifname);
12624 DeadvertiseInterface(m, intf);
12635 NetworkInterfaceInfo *intf;
12650 for (intf = m->HostInterfaces; intf; intf = intf->next)
12651 if (intf->Advertise) DeadvertiseInterface(m, intf);
12654 for (intf = m->HostInterfaces; intf; intf = intf->next)
12655 if (intf->Advertise) AdvertiseInterface(m, intf);
12715 NetworkInterfaceInfo *intf;
12718 for (intf = m->HostInterfaces; intf; intf = intf->next)
12719 if (intf->InterfaceID == active->InterfaceID)
12721 if (intf->ip.type == mDNSAddrType_IPv4 && intf->McastTxRx) active->IPv4Available = mDNStrue;
12722 if (intf->ip.type == mDNSAddrType_IPv6 && intf->McastTxRx) active->IPv6Available = mDNStrue;
12990 NetworkInterfaceInfo *intf;
12991 for (intf = m->HostInterfaces; intf; intf = intf->next)
12992 if (intf->InterfaceActive && intf->InterfaceID == set->InterfaceID)
12993 UpdateInterfaceProtocols(m, intf);
12997 NetworkInterfaceInfo *intf = FirstInterfaceForID(m, set->InterfaceID);
12998 if (intf)
13002 if (intf->InterfaceActive)
13003 LogMsg("mDNS_DeregisterInterface: ERROR intf->InterfaceActive already set for %s (%#a)", set->ifname, &set->ip);
13004 intf->InterfaceActive = mDNStrue;
13005 UpdateInterfaceProtocols(m, intf);
13007 if (intf->NetWake) mDNS_ActivateNetWake_internal(m, intf);
13011 for (intf = m->HostInterfaces; intf; intf = intf->next)
13012 if (intf->InterfaceID == set->InterfaceID && intf->ip.type == set->ip.type)
13014 if (!intf) revalidate = mDNStrue;
13650 NetworkInterfaceInfo *intf = FirstInterfaceForID(m, InterfaceID);
13651 if (!intf) return;
13675 mDNSSameEthAddress(&arp->sha, &intf->MAC) ? msg3 : msg4;
13677 intf->ifname, msg, &arp->sha, &arp->spa, &arp->tpa, &rr->WakeUp.HMAC, &rr->WakeUp.IMAC, ARDisplayString(m, rr));
13704 if (mDNSSameEthAddress(&arp->sha, &intf->MAC))
13715 LogSPS("%-7s ARP from %.6a %.4a for %.4a -- Invalid H-MAC %.6a I-MAC %.6a %s", intf->ifname,
13723 LogSPS("%-7s ARP %s from owner %.6a %.4a for %-15.4a -- re-starting probing for %s", intf->ifname,
13729 LogMsg("%-7s Conflicting ARP from %.6a %.4a for %.4a -- waking H-MAC %.6a I-MAC %.6a %s", intf->ifname,
13760 NetworkInterfaceInfo *intf = FirstInterfaceForID(m, InterfaceID);
13761 if (!intf) return;
13781 sha && mDNSSameEthAddress(sha, &intf->MAC) ? msg3 :
13784 intf->ifname, msg, sha, spa, &ndp->target, &rr->WakeUp.HMAC, &rr->WakeUp.IMAC, ARDisplayString(m, rr));
13802 if (mDNSSameEthAddress(sha, &intf->MAC))
13818 LogSPS("%-7s NDP from %.6a %.16a for %.16a -- Invalid H-MAC %.6a I-MAC %.6a %s", intf->ifname,
13826 LogSPS("%-7s NDP %s from owner %.6a %.16a for %.16a -- re-starting probing for %s", intf->ifname,
13831 LogMsg("%-7s Conflicting NDP from %.6a %.16a for %.16a -- waking H-MAC %.6a I-MAC %.6a %s", intf->ifname,
14946 NetworkInterfaceInfo *intf;
14986 for (intf = m->HostInterfaces; intf; intf = intf->next)
14987 if (intf->Advertise)
14988 DeadvertiseInterface(m, intf);