Lines Matching defs:intf

353     NetworkInterfaceInfo *intf;
359 for (intf = m->HostInterfaces; intf; intf = intf->next)
360 if (intf->ip.type == addr->type && intf->InterfaceID == InterfaceID && intf->McastTxRx)
361 if (((intf->ip.ip.v4.NotAnInteger ^ addr->ip.v4.NotAnInteger) & intf->mask.ip.v4.NotAnInteger) == 0)
368 for (intf = m->HostInterfaces; intf; intf = intf->next)
369 if (intf->ip.type == addr->type && intf->InterfaceID == InterfaceID && intf->McastTxRx)
370 if ((((intf->ip.ip.v6.l[0] ^ addr->ip.v6.l[0]) & intf->mask.ip.v6.l[0]) == 0) &&
371 (((intf->ip.ip.v6.l[1] ^ addr->ip.v6.l[1]) & intf->mask.ip.v6.l[1]) == 0) &&
372 (((intf->ip.ip.v6.l[2] ^ addr->ip.v6.l[2]) & intf->mask.ip.v6.l[2]) == 0) &&
373 (((intf->ip.ip.v6.l[3] ^ addr->ip.v6.l[3]) & intf->mask.ip.v6.l[3]) == 0))
382 NetworkInterfaceInfo *intf = m->HostInterfaces;
383 while (intf && intf->InterfaceID != InterfaceID) intf = intf->next;
384 return(intf);
389 NetworkInterfaceInfo *intf;
396 for (intf = m->HostInterfaces; intf; intf = intf->next)
398 if (intf->InterfaceID == InterfaceID &&
399 intf->ip.type == mDNSAddrType_IPv4 && mDNSv4AddressIsLinkLocal(&intf->ip.ip.v4))
401 debugf("FirstIPv4LLInterfaceForID: found LL interface with address %.4a", &intf->ip.ip.v4);
402 return intf;
410 NetworkInterfaceInfo *intf = FirstInterfaceForID(m, InterfaceID);
411 return(intf ? intf->ifname : mDNSNULL);
1249 NetworkInterfaceInfo *intf = FirstInterfaceForID(m, rr->resrec.InterfaceID);
1250 if (intf && !intf->Advertise) { rr->resrec.InterfaceID = mDNSInterface_LocalOnly; rr->ARType = AuthRecordLocalOnly; }
1907 NetworkInterfaceInfo *intf = FirstInterfaceForID(m, InterfaceID);
1930 if (intf && !mDNSPlatformValidRecordForInterface(rr, intf))
1995 debugf("SendDelayedUnicastResponse: Added NSEC3 Record %s on %p", RRDisplayString(m, nsec3RR), intf->InterfaceID);
2000 LogMsg("SendDelayedUnicastResponse: ERROR!! Cannot Add NSEC3 Record %s on %p", RRDisplayString(m, nsec3RR), intf->InterfaceID);
2138 NetworkInterfaceInfo *intf = FirstInterfaceForID(m, rr->resrec.InterfaceID);
2139 if (!intf) { LogMsg("SendARP: No interface with InterfaceID %p found %s", rr->resrec.InterfaceID, ARDisplayString(m,rr)); return; }
2145 for (i=0; i<6; i++) *ptr++ = intf->MAC.b[0];
2158 for (i=0; i<6; i++) *ptr++ = intf->MAC.b[i];
2209 NetworkInterfaceInfo *intf = FirstInterfaceForID(m, rr->resrec.InterfaceID);
2210 if (!intf) { LogMsg("SendNDP: No interface with InterfaceID %p found %s", rr->resrec.InterfaceID, ARDisplayString(m,rr)); return; }
2231 *ptr++ = intf->MAC.b[i];
2272 *ptr++ = intf->MAC.b[i];
2286 *ptr++ = intf->MAC.b[i];
2308 mDNSlocal void SetupOwnerOpt(const mDNS *const m, const NetworkInterfaceInfo *const intf, rdataOPT *const owner)
2313 owner->u.owner.IMAC = intf->MAC;
2319 owner->optlen = DNSOpt_Owner_Space(&m->PrimaryMAC, &intf->MAC) - 4;
2328 mDNSlocal mDNSBool ShouldSendGoodbyesBeforeSleep(mDNS *const m, const NetworkInterfaceInfo *intf, AuthRecord *rr)
2346 if (!intf->SendGoodbyes)
2348 debugf("ShouldSendGoodbyesBeforeSleep: not sending goodbye %s, int %p", ARDisplayString(m, rr), intf->InterfaceID);
2353 debugf("ShouldSendGoodbyesBeforeSleep: sending goodbye %s, int %p", ARDisplayString(m, rr), intf->InterfaceID);
2379 const NetworkInterfaceInfo *intf = GetFirstActiveInterface(m->HostInterfaces);
2540 rr->SendRNow = !intf ? mDNSNULL : (rr->resrec.InterfaceID) ? rr->resrec.InterfaceID : intf->InterfaceID;
2569 while (intf)
2571 int OwnerRecordSpace = (m->AnnounceOwner && intf->MAC.l[0]) ? DNSOpt_Header_Space + DNSOpt_Owner_Space(&m->PrimaryMAC, &intf->MAC) : 0;
2590 if ((rr->SendRNow == intf->InterfaceID) &&
2591 ((rr->resrec.InterfaceID == mDNSInterface_Any) && !mDNSPlatformValidRecordForInterface(rr, intf)))
2594 rr->SendRNow = GetNextActiveInterfaceID(intf);
2596 else if (rr->SendRNow == intf->InterfaceID)
2601 (rr->resrec.RecordType != kDNSRecordTypeDeregistering && !ShouldSendGoodbyesBeforeSleep(m, intf, rr));
2652 rr->resrec.AnonInfo->SendNow = intf->InterfaceID;
2657 rr->SendRNow = GetNextActiveInterfaceID(intf);
2670 if (rr->resrec.AnonInfo && rr->resrec.AnonInfo->SendNow == intf->InterfaceID)
2692 if (rr->ImmedAdditional == intf->InterfaceID)
2706 a->LastMCInterface == intf->InterfaceID &&
2732 rr->LastMCInterface = intf->InterfaceID;
2739 // (recognized by rr->SendNSECNow == intf->InterfaceID) we should really put the NSEC in the Answer Section,
2742 if (rr->SendNSECNow == mDNSInterfaceMark || rr->SendNSECNow == intf->InterfaceID)
2784 if (r2->SendNSECNow == mDNSInterfaceMark || r2->SendNSECNow == intf->InterfaceID)
2803 SetupOwnerOpt(m, intf, &opt.resrec.rdata->u.opt[0]);
2808 SetupOwnerOpt(m, intf, &opt.resrec.rdata->u.opt[0]);
2818 LogInfo("SendResponses put %s %s: %s %s", OwnerRecordSpace ? "OWNER" : "", TraceRecordSpace ? "TRACER" : "", intf->ifname, ARDisplayString(m, &opt));
2836 m->omsg.h.numAdditionals, m->omsg.h.numAdditionals == 1 ? "" : "s", intf->InterfaceID);
2838 if (intf->IPv4Available) mDNSSendDNSMessage(m, &m->omsg, responseptr, intf->InterfaceID, mDNSNULL, &AllDNSLinkGroup_v4, MulticastDNSPort, mDNSNULL, mDNSNULL, mDNSfalse);
2839 if (intf->IPv6Available) mDNSSendDNSMessage(m, &m->omsg, responseptr, intf->InterfaceID, mDNSNULL, &AllDNSLinkGroup_v6, MulticastDNSPort, mDNSNULL, mDNSNULL, mDNSfalse);
2846 const NetworkInterfaceInfo *next = GetFirstActiveInterface(intf->next);
2849 debugf(msg, intf, next);
2851 intf = next;
2978 mDNSlocal mDNSBool BuildQuestion(mDNS *const m, const NetworkInterfaceInfo *intf, DNSMessage *query, mDNSu8 **queryptr,
2981 mDNSBool ucast = (q->LargeAnswers || q->RequestUnicast) && m->CanReceiveUnicastOn5353 && intf->SupportsUnicastMDNSResponse;
3170 mDNSlocal mDNSBool SuppressOnThisInterface(const DupSuppressInfo ds[DupSuppressInfoSize], const NetworkInterfaceInfo * const intf)
3173 mDNSBool v4 = !intf->IPv4Available; // If this interface doesn't do v4, we don't need to find a v4 duplicate of this query
3174 mDNSBool v6 = !intf->IPv6Available; // If this interface doesn't do v6, we don't need to find a v6 duplicate of this query
3176 if (ds[i].InterfaceID == intf->InterfaceID)
3311 const NetworkInterfaceInfo *intf = GetFirstActiveInterface(m->HostInterfaces);
3475 q->SendQNow = !intf ? mDNSNULL : (q->InterfaceID) ? q->InterfaceID : intf->InterfaceID;
3533 ar->SendRNow = (!intf || ar->WakeUp.HMAC.l[0]) ? mDNSNULL : ar->resrec.InterfaceID ? ar->resrec.InterfaceID : intf->InterfaceID;
3583 while (intf)
3585 int OwnerRecordSpace = (m->AnnounceOwner && intf->MAC.l[0]) ? DNSOpt_Header_Space + DNSOpt_Owner_Space(&m->PrimaryMAC, &intf->MAC) : 0;
3601 if (mDNSOpaque16IsZero(q->TargetQID) && (q->SendQNow == intf->InterfaceID))
3605 SuppressOnThisInterface(q->DupSuppress, intf) ? "Suppressing" : "Putting ",
3609 if (!mDNSPlatformValidQuestionForInterface(q, intf))
3611 LogInfo("SendQueries: Not sending (%s) %##s on %s", DNSTypeName(q->qtype), q->qname.c, InterfaceNameForID(m, intf->InterfaceID));
3612 q->SendQNow = (q->InterfaceID || !q->SendOnAll) ? mDNSNULL : GetNextActiveInterfaceID(intf);
3615 else if ((Suppress = SuppressOnThisInterface(q->DupSuppress, intf)) ||
3616 BuildQuestion(m, intf, &m->omsg, &queryptr, q, &kalistptr, &answerforecast))
3631 q->AnonInfo->SendNow = intf->InterfaceID;
3633 q->SendQNow = (q->InterfaceID || !q->SendOnAll) ? mDNSNULL : GetNextActiveInterfaceID(intf);
3651 if (ar->SendRNow == intf->InterfaceID)
3653 mDNSBool ucast = (ar->ProbeCount >= DefaultProbeCountForTypeUnique-1) && m->CanReceiveUnicastOn5353 && intf->SupportsUnicastMDNSResponse;
3663 ar->SendRNow = (ar->resrec.InterfaceID) ? mDNSNULL : GetNextActiveInterfaceID(intf);
3710 if (q->AnonInfo && q->AnonInfo->SendNow == intf->InterfaceID)
3715 debugf("SendQueries: Added NSEC3 record %s on InterfaceID %p", RRDisplayString(m, q->AnonInfo->nsec3RR), intf->InterfaceID);
3720 LogMsg("SendQueries: ERROR!! Cannot add NSEC3 record %s on InterfaceID %p", RRDisplayString(m, q->AnonInfo->nsec3RR), intf->InterfaceID);
3740 SetupOwnerOpt(m, intf, &opt.resrec.rdata->u.opt[0]);
3745 SetupOwnerOpt(m, intf, &opt.resrec.rdata->u.opt[0]);
3751 LogInfo("SendQueries putting %s %s: %s %s", OwnerRecordSpace ? "OWNER" : "", TraceRecordSpace ? "TRACER" : "", intf->ifname, ARDisplayString(m, &opt));
3773 m->omsg.h.numAuthorities, m->omsg.h.numAuthorities == 1 ? "" : "s", intf->InterfaceID);
3774 if (intf->IPv4Available) mDNSSendDNSMessage(m, &m->omsg, queryptr, intf->InterfaceID, mDNSNULL, &AllDNSLinkGroup_v4, MulticastDNSPort, mDNSNULL, mDNSNULL, useBackgroundTrafficClass);
3775 if (intf->IPv6Available) mDNSSendDNSMessage(m, &m->omsg, queryptr, intf->InterfaceID, mDNSNULL, &AllDNSLinkGroup_v6, MulticastDNSPort, mDNSNULL, mDNSNULL, useBackgroundTrafficClass);
3784 const NetworkInterfaceInfo *next = GetFirstActiveInterface(intf->next);
3787 debugf(msg, intf, next);
3789 intf = next;
3844 NetworkInterfaceInfo *intf = FirstInterfaceForID(m, InterfaceID);
3845 if (!intf) { LogMsg("SendARP: No interface with InterfaceID %p found", InterfaceID); return; }
3851 for (i=0; i<6; i++) *ptr++ = intf->MAC.b[0];
5630 NetworkInterfaceInfo *intf;
5631 for (intf = GetFirstActiveInterface(m->HostInterfaces); intf; intf = GetFirstActiveInterface(intf->next))
5633 if (intf->McastTxRx && !intf->Loopback && !mDNSPlatformInterfaceIsD2D(intf->InterfaceID))
5636 if (!intf->NetWake)
5639 mDNS_snprintf(reason, sizeof(reason), "%s does not support NetWake", intf->ifname);
5640 LogInfo("mDNS_UpdateAllowSleep: Sleep disabled because %s does not support NetWake", intf->ifname);
5648 if (!SupportsInNICProxy(intf))
5652 const CacheRecord *cr = FindSPSInCache1(m, &intf->NetWakeBrowse, mDNSNULL, mDNSNULL);
5656 mDNS_snprintf(reason, sizeof(reason), "No sleep proxy server on %s", intf->ifname);
5657 LogInfo("mDNS_UpdateAllowSleep: Sleep disabled because %s has no sleep proxy server", intf->ifname);
5667 mDNS_snprintf(reason, sizeof(reason), "No sleep proxy server with better metric on %s", intf->ifname);
5668 LogInfo("mDNS_UpdateAllowSleep: Sleep disabled because %s has no sleep proxy server with a better metric", intf->ifname);
5685 mDNSlocal mDNSBool mDNSUpdateOkToSend(mDNS *const m, AuthRecord *rr, NetworkInterfaceInfo *const intf, mDNSu32 scopeid)
5701 // Note: scopeid is the same as intf->InterfaceID. It is passed in so that we don't have to call the
5702 // platform function to extract the value from "intf" every time.
5705 (!rr->resrec.InterfaceID || rr->resrec.InterfaceID == intf->InterfaceID))
5750 mDNSexport mStatus UpdateKeepaliveRData(mDNS *const m, AuthRecord *rr, NetworkInterfaceInfo *const intf, mDNSBool updateMac, char *ethAddr)
5794 if ((intf != mDNSNULL) && (mti.IntfId != intf->InterfaceID))
5796 LogInfo("mDNSPlatformRetrieveTCPInfo: InterfaceID mismatch mti.IntfId = %p InterfaceID = %p", mti.IntfId, intf->InterfaceID);
5840 mDNSlocal void SendSPSRegistrationForOwner(mDNS *const m, NetworkInterfaceInfo *const intf, const mDNSOpaque16 id, const OwnerOptData *const owner)
5842 const int optspace = DNSOpt_Header_Space + DNSOpt_LeaseData_Space + DNSOpt_Owner_Space(&m->PrimaryMAC, &intf->MAC);
5843 const int sps = intf->NextSPSAttempt / 3;
5848 scopeid = mDNSPlatformInterfaceIndexfromInterfaceID(m, intf->InterfaceID, mDNStrue);
5849 if (!intf->SPSAddr[sps].type)
5851 intf->NextSPSAttemptTime = m->timenow + mDNSPlatformOneSecond;
5852 if (m->NextScheduledSPRetry - intf->NextSPSAttemptTime > 0)
5853 m->NextScheduledSPRetry = intf->NextSPSAttemptTime;
5854 LogSPS("SendSPSRegistration: %s SPS %d (%d) %##s not yet resolved", intf->ifname, intf->NextSPSAttempt, sps, intf->NetWakeResolve[sps].qname.c);
5874 if (rr->resrec.InterfaceID == intf->InterfaceID || (!rr->resrec.InterfaceID && (rr->ForceMCast || IsLocalDomain(rr->resrec.name))))
5904 if (rr->SendRNow || mDNSUpdateOkToSend(m, rr, intf, scopeid))
5912 if (mDNS_KeepaliveRecord(&rr->resrec) && (UpdateKeepaliveRData(m, rr, intf, mDNSfalse, mDNSNULL) != mStatus_NoError))
5927 LogSPS("SendSPSRegistration put %s FAILED %d/%d %s", intf->ifname, p - m->omsg.data, limit - m->omsg.data, ARDisplayString(m, rr));
5930 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));
5955 SetupOwnerOpt(m, intf, &opt.resrec.rdata->u.opt[1]); // use our own interface information
5962 LogSPS("SendSPSRegistration put %s %s", intf->ifname, ARDisplayString(m, &opt));
5970 LogSPS("SendSPSRegistration: Sending Update %s %d (%d) id %5d with %d records %d bytes to %#a:%d", intf->ifname, intf->NextSPSAttempt, sps,
5971 mDNSVal16(m->omsg.h.id), m->omsg.h.mDNS_numUpdates, p - m->omsg.data, &intf->SPSAddr[sps], mDNSVal16(intf->SPSPort[sps]));
5972 // if (intf->NextSPSAttempt < 5) m->omsg.h.flags = zeroID; // For simulating packet loss
5973 err = mDNSSendDNSMessage(m, &m->omsg, p, intf->InterfaceID, mDNSNULL, &intf->SPSAddr[sps], intf->SPSPort[sps], mDNSNULL, mDNSNULL, mDNSfalse);
5975 if (err && intf->SPSAddr[sps].type == mDNSAddrType_IPv4 && intf->NetWakeResolve[sps].ThisQInterval == -1)
5977 LogSPS("SendSPSRegistration %d %##s failed to send to IPv4 address; will try IPv6 instead", sps, intf->NetWakeResolve[sps].qname.c);
5978 intf->NetWakeResolve[sps].qtype = kDNSType_AAAA;
5979 mDNS_StartQuery_internal(m, &intf->NetWakeResolve[sps]);
5986 intf->NextSPSAttemptTime = m->timenow + mDNSPlatformOneSecond * 10; // If successful, update NextSPSAttemptTime
5989 if (mDNSOpaque16IsZero(id) && intf->NextSPSAttempt < 8) intf->NextSPSAttempt++;
6101 mDNSlocal void SendSPSRegistration(mDNS *const m, NetworkInterfaceInfo *const intf, const mDNSOpaque16 id)
6106 SendSPSRegistrationForOwner(m, intf, id, &owner);
6113 SendSPSRegistrationForOwner(m, intf, id, &owner);
6122 NetworkInterfaceInfo *intf;
6125 for (intf = GetFirstActiveInterface(m->HostInterfaces); intf; intf = GetFirstActiveInterface(intf->next))
6126 if (intf->NextSPSAttempt && intf->NextSPSAttemptTime == m->timenow + mDNSPlatformOneSecond * 10)
6127 intf->NextSPSAttemptTime++;
6133 for (intf = GetFirstActiveInterface(m->HostInterfaces); intf; intf = GetFirstActiveInterface(intf->next))
6136 mDNSu32 scopeid = mDNSPlatformInterfaceIndexfromInterfaceID(m, intf->InterfaceID, mDNStrue);
6138 (!rr->resrec.InterfaceID || rr->resrec.InterfaceID == intf->InterfaceID))
6141 SendSPSRegistration(m, intf, rr->updateid);
6146 // For interfaces where we did an SPS registration attempt, increment intf->NextSPSAttempt
6147 for (intf = GetFirstActiveInterface(m->HostInterfaces); intf; intf = GetFirstActiveInterface(intf->next))
6148 if (intf->NextSPSAttempt && intf->NextSPSAttemptTime == m->timenow + mDNSPlatformOneSecond * 10 && intf->NextSPSAttempt < 8)
6149 intf->NextSPSAttempt++;
6154 NetworkInterfaceInfo *intf = (NetworkInterfaceInfo *)question->QuestionContext;
6155 int sps = (int)(question - intf->NetWakeResolve);
6168 intf->SPSPort[sps] = answer->rdata->u.srv.port;
6178 intf->SPSAddr[sps].type = mDNSAddrType_IPv4;
6179 intf->SPSAddr[sps].ip.v4 = answer->rdata->u.ipv4;
6181 if (sps == intf->NextSPSAttempt/3) SendSPSRegistration(m, intf, zeroID); // If we're ready for this result, use it now
6197 intf->SPSAddr[sps].type = mDNSAddrType_IPv6;
6198 intf->SPSAddr[sps].ip.v6 = answer->rdata->u.ipv6;
6200 if (sps == intf->NextSPSAttempt/3) SendSPSRegistration(m, intf, zeroID); // If we're ready for this result, use it now
6266 NetworkInterfaceInfo *intf;
6267 for (intf = GetFirstActiveInterface(m->HostInterfaces); intf; intf = GetFirstActiveInterface(intf->next))
6269 intf->SendGoodbyes = 1;
6298 NetworkInterfaceInfo *intf;
6311 for (intf = FirstInterfaceForID(m, regID[i]); intf; intf = intf->next)
6313 if ((intf->InterfaceID != regID[i]) ||
6314 (intf->ip.type != mDNSAddrType_IPv4))
6318 if ((intf->ip.ip.v4.NotAnInteger & intf->mask.ip.v4.NotAnInteger) == (newIntf->ip.ip.v4.NotAnInteger & newIntf->mask.ip.v4.NotAnInteger))
6320 LogSPS("%s : Already registered for the same subnet (IPv4) for interface %s", __func__, intf->ifname);
6366 NetworkInterfaceInfo *intf;
6371 for (intf = GetFirstActiveInterface(m->HostInterfaces); intf; intf = GetFirstActiveInterface(intf->next))
6374 intf->SendGoodbyes = 0;
6378 if (!intf->McastTxRx || mDNSPlatformInterfaceIsD2D(intf->InterfaceID))
6380 LogSPS("BeginSleepProcessing: %-6s Ignoring for registrations", intf->ifname);
6391 if (!intf->NetWake)
6393 LogSPS("BeginSleepProcessing: %-6s not capable of magic packet wakeup", intf->ifname);
6394 intf->SendGoodbyes = 1;
6400 if (skipSameSubnetRegistration(m, registeredIntfIDS, registeredCount, intf->InterfaceID))
6402 LogSPS("%s : Skipping sleep proxy registration on %s", __func__, intf->ifname);
6407 else if (SupportsInNICProxy(intf))
6410 if (ActivateLocalProxy(m, intf, &keepaliveOnly) == mStatus_NoError)
6417 LogSPS("BeginSleepProcessing: %-6s using local proxy", intf->ifname);
6422 registeredIntfIDS[registeredCount] = intf->InterfaceID;
6437 FindSPSInCache(m, &intf->NetWakeBrowse, sps);
6439 intf->ifname, &intf->ip, NextQSendTime(&intf->NetWakeBrowse) - m->timenow, intf->NetWakeBrowse.ThisQInterval);
6445 intf->NextSPSAttempt = 0;
6446 intf->NextSPSAttemptTime = m->timenow + mDNSPlatformOneSecond;
6448 scopeid = mDNSPlatformInterfaceIndexfromInterfaceID(m, intf->InterfaceID, mDNStrue);
6457 if (intf->SPSAddr[i].type)
6458 LogFatalError("BeginSleepProcessing: %s %d intf->SPSAddr[i].type %d", intf->ifname, i, intf->SPSAddr[i].type);
6459 if (intf->NetWakeResolve[i].ThisQInterval >= 0)
6460 LogFatalError("BeginSleepProcessing: %s %d intf->NetWakeResolve[i].ThisQInterval %d", intf->ifname, i, intf->NetWakeResolve[i].ThisQInterval);
6462 intf->SPSAddr[i].type = mDNSAddrType_None;
6463 if (intf->NetWakeResolve[i].ThisQInterval >= 0) mDNS_StopQuery(m, &intf->NetWakeResolve[i]);
6464 intf->NetWakeResolve[i].ThisQInterval = -1;
6467 LogSPS("BeginSleepProcessing: %-6s Found Sleep Proxy Server %d TTL %d %s", intf->ifname, i, sps[i]->resrec.rroriginalttl, CRDisplayString(m, sps[i]));
6468 mDNS_SetupQuestion(&intf->NetWakeResolve[i], intf->InterfaceID, &sps[i]->resrec.rdata->u.name, kDNSType_SRV, NetWakeResolve, intf);
6469 intf->NetWakeResolve[i].ReturnIntermed = mDNStrue;
6470 mDNS_StartQuery_internal(m, &intf->NetWakeResolve[i]);
6473 registeredIntfIDS[registeredCount] = intf->InterfaceID;
6585 NetworkInterfaceInfo *intf;
6608 for (intf = GetFirstActiveInterface(m->HostInterfaces); intf; intf = GetFirstActiveInterface(intf->next)) intf->NextSPSAttempt = -1;
6710 NetworkInterfaceInfo *intf;
6722 for (intf = GetFirstActiveInterface(m->HostInterfaces); intf; intf = GetFirstActiveInterface(intf->next))
6723 if (intf->NextSPSAttempt >= 0)
6725 if (now - intf->NextSPSAttemptTime >= 0)
6728 intf->ifname, intf->NextSPSAttempt/3, intf->NextSPSAttempt);
6729 SendSPSRegistration(m, intf, zeroID);
6734 if (m->NextScheduledSPRetry - intf->NextSPSAttemptTime > 0)
6735 m->NextScheduledSPRetry = intf->NextSPSAttemptTime;
6739 for (intf = GetFirstActiveInterface(m->HostInterfaces); intf; intf = GetFirstActiveInterface(intf->next))
6741 int sps = (intf->NextSPSAttempt == 0) ? 0 : (intf->NextSPSAttempt-1)/3;
6742 if (intf->NetWakeResolve[sps].ThisQInterval >= 0)
6745 intf->ifname, intf->NetWakeResolve[sps].qname.c, DNSTypeName(intf->NetWakeResolve[sps].qtype));
6786 for (intf = GetFirstActiveInterface(m->HostInterfaces); intf; intf = GetFirstActiveInterface(intf->next))
6787 if (intf->NetWakeBrowse.ThisQInterval >= 0)
6790 intf->ifname, intf->NetWakeResolve[0].qname.c, DNSTypeName(intf->NetWakeResolve[0].qtype));
6791 mDNS_DeactivateNetWake_internal(m, intf);
11007 NetworkInterfaceInfo *intf;
11021 for (intf = m->HostInterfaces; intf; intf = intf->next)
11023 if (intf->InterfaceActive && !intf->Loopback)
11025 LogInfo("ShouldSuppressDotLocalQuery: Found interface %s, not suppressing", intf->ifname);
11372 NetworkInterfaceInfo *intf = FirstInterfaceForID(m, question->InterfaceID);
11373 if (!intf)
12113 NetworkInterfaceInfo *intf;
12114 for (intf = m->HostInterfaces; intf; intf = intf->next)
12115 if (intf->ip.type == mDNSAddrType_IPv6) return(mDNStrue);
12535 NetworkInterfaceInfo *intf;
12536 for (intf = m->HostInterfaces; intf; intf = intf->next)
12537 if (intf->Advertise) break;
12538 return(intf);
12656 NetworkInterfaceInfo *intf;
12657 for (intf = m->HostInterfaces; intf; intf = intf->next)
12659 if (intf->Advertise)
12661 LogInfo("AdvertiseInterface: Advertising for ifname %s", intf->ifname);
12662 AdvertiseInterface(m, intf);
12669 NetworkInterfaceInfo *intf;
12670 for (intf = m->HostInterfaces; intf; intf = intf->next)
12672 if (intf->Advertise)
12674 LogInfo("DeadvertiseInterface: Deadvertising for ifname %s", intf->ifname);
12675 DeadvertiseInterface(m, intf);
12756 NetworkInterfaceInfo *intf;
12759 for (intf = m->HostInterfaces; intf; intf = intf->next)
12760 if (intf->InterfaceID == active->InterfaceID)
12762 if (intf->ip.type == mDNSAddrType_IPv4 && intf->McastTxRx) active->IPv4Available = mDNStrue;
12763 if (intf->ip.type == mDNSAddrType_IPv6 && intf->McastTxRx) active->IPv6Available = mDNStrue;
13016 NetworkInterfaceInfo *intf;
13034 for (intf = m->HostInterfaces; intf; intf = intf->next)
13035 if (intf->InterfaceActive && intf->InterfaceID == set->InterfaceID)
13036 UpdateInterfaceProtocols(m, intf);
13040 intf = FirstInterfaceForID(m, set->InterfaceID);
13041 if (intf)
13045 if (intf->InterfaceActive)
13046 LogMsg("mDNS_DeregisterInterface: ERROR intf->InterfaceActive already set for %s (%#a)", set->ifname, &set->ip);
13047 intf->InterfaceActive = mDNStrue;
13048 UpdateInterfaceProtocols(m, intf);
13050 if (intf->NetWake) mDNS_ActivateNetWake_internal(m, intf);
13054 for (intf = m->HostInterfaces; intf; intf = intf->next)
13055 if (intf->InterfaceID == set->InterfaceID && intf->ip.type == set->ip.type)
13057 if (!intf) revalidate = mDNStrue;
13119 for (intf = m->HostInterfaces; intf; intf = intf->next)
13120 if (intf->RR_A.RRSet == &set->RR_A)
13121 intf->RR_A.RRSet = A;
13700 NetworkInterfaceInfo *intf = FirstInterfaceForID(m, InterfaceID);
13701 if (!intf) return;
13725 mDNSSameEthAddress(&arp->sha, &intf->MAC) ? msg3 : msg4;
13727 intf->ifname, msg, &arp->sha, &arp->spa, &arp->tpa, &rr->WakeUp.HMAC, &rr->WakeUp.IMAC, ARDisplayString(m, rr));
13754 if (mDNSSameEthAddress(&arp->sha, &intf->MAC))
13765 LogSPS("%-7s ARP from %.6a %.4a for %.4a -- Invalid H-MAC %.6a I-MAC %.6a %s", intf->ifname,
13773 LogSPS("%-7s ARP %s from owner %.6a %.4a for %-15.4a -- re-starting probing for %s", intf->ifname,
13779 LogMsg("%-7s Conflicting ARP from %.6a %.4a for %.4a -- waking H-MAC %.6a I-MAC %.6a %s", intf->ifname,
13810 NetworkInterfaceInfo *intf = FirstInterfaceForID(m, InterfaceID);
13811 if (!intf) return;
13831 sha && mDNSSameEthAddress(sha, &intf->MAC) ? msg3 :
13834 intf->ifname, msg, sha, spa, &ndp->target, &rr->WakeUp.HMAC, &rr->WakeUp.IMAC, ARDisplayString(m, rr));
13852 if (mDNSSameEthAddress(sha, &intf->MAC))
13868 LogSPS("%-7s NDP from %.6a %.16a for %.16a -- Invalid H-MAC %.6a I-MAC %.6a %s", intf->ifname,
13876 LogSPS("%-7s NDP %s from owner %.6a %.16a for %.16a -- re-starting probing for %s", intf->ifname,
13881 LogMsg("%-7s Conflicting NDP from %.6a %.16a for %.16a -- waking H-MAC %.6a I-MAC %.6a %s", intf->ifname,