Home | History | Annotate | Download | only in mDNSCore

Lines Matching defs:intf

609     NetworkInterfaceInfo *intf;
614 for (intf = m->HostInterfaces; intf; intf = intf->next)
615 if (intf->ip.type == addr->type && intf->InterfaceID == InterfaceID && intf->McastTxRx)
616 if (((intf->ip.ip.v4.NotAnInteger ^ addr->ip.v4.NotAnInteger) & intf->mask.ip.v4.NotAnInteger) == 0)
622 for (intf = m->HostInterfaces; intf; intf = intf->next)
623 if (intf->ip.type == addr->type && intf->InterfaceID == InterfaceID && intf->McastTxRx)
624 if ((((intf->ip.ip.v6.l[0] ^ addr->ip.v6.l[0]) & intf->mask.ip.v6.l[0]) == 0) &&
625 (((intf->ip.ip.v6.l[1] ^ addr->ip.v6.l[1]) & intf->mask.ip.v6.l[1]) == 0) &&
626 (((intf->ip.ip.v6.l[2] ^ addr->ip.v6.l[2]) & intf->mask.ip.v6.l[2]) == 0) &&
627 (((intf->ip.ip.v6.l[3] ^ addr->ip.v6.l[3]) & intf->mask.ip.v6.l[3]) == 0))
1532 NetworkInterfaceInfo *intf;
1561 for (intf = m->HostInterfaces; intf; intf = intf->next)
1563 if (!intf->Advertise) continue;
1564 if (mDNSPlatformInterfaceIsAWDL(intf->InterfaceID))
1566 if (flagsAWDL) DeadvertiseInterface(m, intf, flagsAWDL);
1570 if (flags) DeadvertiseInterface(m, intf, flags);
1587 for (intf = m->HostInterfaces; intf; intf = intf->next)
1589 if (intf->Advertise) DeadvertiseInterface(m, intf, kDeadvertiseFlag_NormalHostname);
1609 NetworkInterfaceInfo *intf;
1610 for (intf = m->HostInterfaces; intf; intf = intf->next)
1612 if (intf->Advertise) AdvertiseInterfaceIfNeeded(m, intf);
1736 NetworkInterfaceInfo *intf = FirstInterfaceForID(m, rr->resrec.InterfaceID);
1737 if (intf && !intf->Advertise) { rr->resrec.InterfaceID = mDNSInterface_LocalOnly; rr->ARType = AuthRecordLocalOnly; }
2659 NetworkInterfaceInfo *intf = FirstInterfaceForID(m, InterfaceID);
2681 if (intf && !mDNSPlatformValidRecordForInterface(rr, intf->InterfaceID))
2911 NetworkInterfaceInfo *intf = FirstInterfaceForID(m, rr->resrec.InterfaceID);
2912 if (!intf) { LogMsg("SendARP: No interface with InterfaceID %p found %s", rr->resrec.InterfaceID, ARDisplayString(m,rr)); return; }
2918 for (i=0; i<6; i++) *ptr++ = intf->MAC.b[0];
2931 for (i=0; i<6; i++) *ptr++ = intf->MAC.b[i];
2982 NetworkInterfaceInfo *intf = FirstInterfaceForID(m, rr->resrec.InterfaceID);
2983 if (!intf) { LogMsg("SendNDP: No interface with InterfaceID %p found %s", rr->resrec.InterfaceID, ARDisplayString(m,rr)); return; }
3000 for (i=0; i<6; i++) *ptr++ = (tha ? *tha : intf->MAC).b[i];
3037 for (i=0; i<6; i++) *ptr++ = (tha ? *tha : intf->MAC).b[i];
3047 for (i=0; i<6; i++) *ptr++ = (tha ? *tha : intf->MAC).b[i];
3069 mDNSlocal void SetupOwnerOpt(const mDNS *const m, const NetworkInterfaceInfo *const intf, rdataOPT *const owner)
3074 owner->u.owner.IMAC = intf->MAC;
3080 owner->optlen = DNSOpt_Owner_Space(&m->PrimaryMAC, &intf->MAC) - 4;
3089 mDNSlocal mDNSBool ShouldSendGoodbyesBeforeSleep(mDNS *const m, const NetworkInterfaceInfo *intf, AuthRecord *rr)
3107 if (!intf->SendGoodbyes)
3109 debugf("ShouldSendGoodbyesBeforeSleep: not sending goodbye %s, int %p", ARDisplayString(m, rr), intf->InterfaceID);
3114 debugf("ShouldSendGoodbyesBeforeSleep: sending goodbye %s, int %p", ARDisplayString(m, rr), intf->InterfaceID);
3119 mDNSlocal mDNSu32 DetermineOwnerRecordSpace(const NetworkInterfaceInfo *const intf)
3124 if (m->AnnounceOwner && intf->MAC.l[0])
3126 space = DNSOpt_Header_Space + DNSOpt_Owner_Space(&m->PrimaryMAC, &intf->MAC);
3129 (void)intf;
3155 const NetworkInterfaceInfo *intf = GetFirstActiveInterface(m->HostInterfaces);
3331 rr->SendRNow = !intf ? mDNSNULL : (rr->resrec.InterfaceID) ? rr->resrec.InterfaceID : intf->InterfaceID;
3361 while (intf)
3363 const mDNSu32 OwnerRecordSpace = DetermineOwnerRecordSpace(intf);
3384 if ((rr->SendRNow == intf->InterfaceID) &&
3385 ((rr->resrec.InterfaceID == mDNSInterface_Any) && !mDNSPlatformValidRecordForInterface(rr, intf->InterfaceID)))
3387 rr->SendRNow = GetNextActiveInterfaceID(intf);
3389 else if (rr->SendRNow == intf->InterfaceID)
3394 (rr->resrec.RecordType != kDNSRecordTypeDeregistering && !ShouldSendGoodbyesBeforeSleep(m, intf, rr));
3444 rr->SendRNow = GetNextActiveInterfaceID(intf);
3454 if (rr->ImmedAdditional == intf->InterfaceID)
3468 a->LastMCInterface == intf->InterfaceID &&
3500 rr->LastMCInterface = intf->InterfaceID;
3507 // (recognized by rr->SendNSECNow == intf->InterfaceID) we should really put the NSEC in the Answer Section,
3510 if (rr->SendNSECNow == mDNSInterfaceMark || rr->SendNSECNow == intf->InterfaceID)
3557 if (r2->SendNSECNow == mDNSInterfaceMark || r2->SendNSECNow == intf->InterfaceID)
3578 SetupOwnerOpt(m, intf, &opt.resrec.rdata->u.opt[optCount++]);
3624 m->omsg.h.numAdditionals, m->omsg.h.numAdditionals == 1 ? "" : "s", intf->InterfaceID);
3626 if (intf->IPv4Available) mDNSSendDNSMessage(m, &m->omsg, responseptr, intf->InterfaceID, mDNSNULL, mDNSNULL, &AllDNSLinkGroup_v4, MulticastDNSPort, mDNSNULL, mDNSfalse);
3627 if (intf->IPv6Available) mDNSSendDNSMessage(m, &m->omsg, responseptr, intf->InterfaceID, mDNSNULL, mDNSNULL, &AllDNSLinkGroup_v6, MulticastDNSPort, mDNSNULL, mDNSfalse);
3638 const NetworkInterfaceInfo *next = GetFirstActiveInterface(intf->next);
3639 intf = next;
3798 mDNSlocal mDNSBool BuildQuestion(mDNS *const m, const NetworkInterfaceInfo *intf, DNSMessage *query, mDNSu8 **queryptr,
3801 mDNSBool ucast = (q->LargeAnswers || q->RequestUnicast) && m->CanReceiveUnicastOn5353 && intf->SupportsUnicastMDNSResponse;
4045 mDNSlocal mDNSBool SuppressOnThisInterface(const DupSuppressState *const state, const NetworkInterfaceInfo * const intf)
4049 mDNSBool v4 = !intf->IPv4Available; // If interface doesn't support IPv4, we don't need to find an IPv4 duplicate.
4050 mDNSBool v6 = !intf->IPv6Available; // If interface doesn't support IPv6, we don't need to find an IPv6 duplicate.
4054 if (slot->InterfaceID == intf->InterfaceID)
4294 const NetworkInterfaceInfo *intf = GetFirstActiveInterface(m->HostInterfaces);
4555 q->SendQNow = !intf ? mDNSNULL : (q->InterfaceID) ? q->InterfaceID : intf->InterfaceID;
4613 ar->SendRNow = (!intf || ar->WakeUp.HMAC.l[0]) ? mDNSNULL : ar->resrec.InterfaceID ? ar->resrec.InterfaceID : intf->InterfaceID;
4666 while (intf)
4668 const mDNSu32 OwnerRecordSpace = DetermineOwnerRecordSpace(intf);
4689 if (mDNSOpaque16IsZero(q->TargetQID) && (q->SendQNow == intf->InterfaceID))
4693 SuppressOnThisInterface(q->DupSuppress, intf) ? "Suppressing" : "Putting ",
4698 if (!mDNSPlatformValidQuestionForInterface(q, intf))
4703 else if (DPCSuppressMDNSQuery(q, intf->InterfaceID))
4709 else if ((Suppress = SuppressOnThisInterface(q->DupSuppress, intf)) ||
4710 BuildQuestion(m, intf, &m->omsg, &queryptr, q, &kalistptr, &answerforecast))
4755 q->SendQNow = (q->InterfaceID || !q->SendOnAll) ? mDNSNULL : GetNextActiveInterfaceID(intf);
4784 DPCBrowse.SendQNow = intf->InterfaceID;
4786 BuildQuestion(m, intf, &m->omsg, &queryptr, &DPCBrowse, &kalistptr, &answerforecast);
4795 if (ar->IncludeInProbe || (ar->SendRNow != intf->InterfaceID) ||
4800 if (!mDNSPlatformValidRecordForInterface(ar, intf->InterfaceID))
4802 ar->SendRNow = (ar->resrec.InterfaceID) ? mDNSNULL : GetNextActiveInterfaceID(intf);
4807 mDNSBool ucast = (ar->ProbeCount >= DefaultProbeCountForTypeUnique-1) && m->CanReceiveUnicastOn5353 && intf->SupportsUnicastMDNSResponse;
4838 if (AddRecordInProbe(m, ar, tmp, intf->InterfaceID))
4872 if (AddRecordInProbe(m, ar, tmp, intf->InterfaceID))
4874 tmp->SendRNow = (ar->resrec.InterfaceID) ? mDNSNULL : GetNextActiveInterfaceID(intf);
4883 numQuestionSkipped, intf->InterfaceID);
4948 SetupOwnerOpt(m, intf, &opt.resrec.rdata->u.opt[optCount++]);
4995 m->omsg.h.numAuthorities, m->omsg.h.numAuthorities == 1 ? "" : "s", IIDPrintable(intf->InterfaceID), intf->ifname);
4996 if (intf->IPv4Available) mDNSSendDNSMessage(m, &m->omsg, queryptr, intf->InterfaceID, mDNSNULL, mDNSNULL, &AllDNSLinkGroup_v4, MulticastDNSPort, mDNSNULL, useBackgroundTrafficClass);
4997 if (intf->IPv6Available) mDNSSendDNSMessage(m, &m->omsg, queryptr, intf->InterfaceID, mDNSNULL, mDNSNULL, &AllDNSLinkGroup_v6, MulticastDNSPort, mDNSNULL, useBackgroundTrafficClass);
5006 const NetworkInterfaceInfo *next = GetFirstActiveInterface(intf->next);
5007 intf = next;
5075 NetworkInterfaceInfo *intf = FirstInterfaceForID(m, InterfaceID);
5076 if (!intf)
5086 for (i=0; i<6; i++) *ptr++ = intf->MAC.b[0];
6684 for (const NetworkInterfaceInfo *intf = GetFirstActiveInterface(m->HostInterfaces); intf;
6685 intf = GetFirstActiveInterface(intf->next))
6687 const mdns_multicast_delay_histogram_t delay_histogram = intf->delayHistogram;
6695 PUB_S ", interface index: %u, report: %@" , intf->ifname,
6696 mDNSPlatformInterfaceIndexfromInterfaceID(m, intf->InterfaceID, mDNStrue), delay_histogram);
7290 NetworkInterfaceInfo *intf;
7291 for (intf = GetFirstActiveInterface(m->HostInterfaces); intf; intf = GetFirstActiveInterface(intf->next))
7293 if (intf->McastTxRx && !intf->Loopback && !intf->MustNotPreventSleep && !mDNSPlatformInterfaceIsD2D(intf->InterfaceID))
7296 if (!intf->NetWake)
7299 mDNS_snprintf(reason, sizeof(reason), "%s does not support NetWake", intf->ifname);
7301 intf->ifname);
7311 const CacheRecord *cr = FindSPSInCache1(m, &intf->NetWakeBrowse, mDNSNULL, mDNSNULL);
7316 mDNS_snprintf(reason, sizeof(reason), "No sleep proxy server on %s", intf->ifname);
7318 " has no sleep proxy server", intf->ifname);
7329 mDNS_snprintf(reason, sizeof(reason), "No sleep proxy server with better metric on %s", intf->ifname);
7331 " has no sleep proxy server with a better metric", intf->ifname);
7350 mDNSlocal mDNSBool mDNSUpdateOkToSend(mDNS *const m, AuthRecord *rr, NetworkInterfaceInfo *const intf, mDNSu32 scopeid)
7366 // Note: scopeid is the same as intf->InterfaceID. It is passed in so that we don't have to call the
7367 // platform function to extract the value from "intf" every time.
7370 (!rr->resrec.InterfaceID || rr->resrec.InterfaceID == intf->InterfaceID))
7415 mDNSexport mStatus UpdateKeepaliveRData(mDNS *const m, AuthRecord *rr, NetworkInterfaceInfo *const intf, mDNSBool updateMac, char *ethAddr)
7462 if ((intf != mDNSNULL) && (mti.IntfId != intf->InterfaceID))
7464 LogInfo("mDNSPlatformRetrieveTCPInfo: InterfaceID mismatch mti.IntfId = %p InterfaceID = %p", mti.IntfId, intf->InterfaceID);
7509 mDNSlocal void SendSPSRegistrationForOwner(mDNS *const m, NetworkInterfaceInfo *const intf, const mDNSOpaque16 id, const OwnerOptData *const owner)
7511 const int optspace = DNSOpt_Header_Space + DNSOpt_LeaseData_Space + DNSOpt_Owner_Space(&m->PrimaryMAC, &intf->MAC);
7512 const int sps = intf->NextSPSAttempt / 3;
7517 scopeid = mDNSPlatformInterfaceIndexfromInterfaceID(m, intf->InterfaceID, mDNStrue);
7518 if (!intf->SPSAddr[sps].type)
7520 intf->NextSPSAttemptTime = m->timenow + mDNSPlatformOneSecond;
7521 if (m->NextScheduledSPRetry - intf->NextSPSAttemptTime > 0)
7522 m->NextScheduledSPRetry = intf->NextSPSAttemptTime;
7523 LogSPS("SendSPSRegistration: %s SPS %d (%d) %##s not yet resolved", intf->ifname, intf->NextSPSAttempt, sps, intf->NetWakeResolve[sps].qname.c);
7543 if (rr->resrec.InterfaceID == intf->InterfaceID || (!rr->resrec.InterfaceID && (rr->ForceMCast || IsLocalDomain(rr->resrec.name))))
7573 if (rr->SendRNow || mDNSUpdateOkToSend(m, rr, intf, scopeid))
7581 if (mDNS_KeepaliveRecord(&rr->resrec) && (UpdateKeepaliveRData(m, rr, intf, mDNSfalse, mDNSNULL) != mStatus_NoError))
7596 LogSPS("SendSPSRegistration put %s FAILED %d/%d %s", intf->ifname, p - m->omsg.data, limit - m->omsg.data, ARDisplayString(m, rr));
7599 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));
7624 SetupOwnerOpt(m, intf, &opt.resrec.rdata->u.opt[1]); // use our own interface information
7631 LogSPS("SendSPSRegistration put %s %s", intf->ifname, ARDisplayString(m, &opt));
7641 LogSPS("SendSPSRegistration: Sending Update %s %d (%d) id %5d with %d records %d bytes to %#a:%d", intf->ifname, intf->NextSPSAttempt, sps,
7642 mDNSVal16(m->omsg.h.id), m->omsg.h.mDNS_numUpdates, p - m->omsg.data, &intf->SPSAddr[sps], mDNSVal16(intf->SPSPort[sps]));
7643 // if (intf->NextSPSAttempt < 5) m->omsg.h.flags = zeroID; // For simulating packet loss
7644 err = mDNSSendDNSMessage(m, &m->omsg, p, intf->InterfaceID, mDNSNULL, mDNSNULL, &intf->SPSAddr[sps], intf->SPSPort[sps], mDNSNULL, mDNSfalse);
7646 if (err && intf->SPSAddr[sps].type == mDNSAddrType_IPv4 && intf->NetWakeResolve[sps].ThisQInterval == -1)
7648 LogSPS("SendSPSRegistration %d %##s failed to send to IPv4 address; will try IPv6 instead", sps, intf->NetWakeResolve[sps].qname.c);
7649 intf->NetWakeResolve[sps].qtype = kDNSType_AAAA;
7650 mDNS_StartQuery_internal(m, &intf->NetWakeResolve[sps]);
7657 intf->NextSPSAttemptTime = m->timenow + mDNSPlatformOneSecond * 10; // If successful, update NextSPSAttemptTime
7660 if (mDNSOpaque16IsZero(id) && intf->NextSPSAttempt < 8) intf->NextSPSAttempt++;
7772 mDNSlocal void SendSPSRegistration(mDNS *const m, NetworkInterfaceInfo *const intf, const mDNSOpaque16 id)
7777 SendSPSRegistrationForOwner(m, intf, id, &owner);
7784 SendSPSRegistrationForOwner(m, intf, id, &owner);
7793 NetworkInterfaceInfo *intf;
7796 for (intf = GetFirstActiveInterface(m->HostInterfaces); intf; intf = GetFirstActiveInterface(intf->next))
7797 if (intf->NextSPSAttempt && intf->NextSPSAttemptTime == m->timenow + mDNSPlatformOneSecond * 10)
7798 intf->NextSPSAttemptTime++;
7804 for (intf = GetFirstActiveInterface(m->HostInterfaces); intf; intf = GetFirstActiveInterface(intf->next))
7807 mDNSu32 scopeid = mDNSPlatformInterfaceIndexfromInterfaceID(m, intf->InterfaceID, mDNStrue);
7809 (!rr->resrec.InterfaceID || rr->resrec.InterfaceID == intf->InterfaceID))
7812 SendSPSRegistration(m, intf, rr->updateid);
7817 // For interfaces where we did an SPS registration attempt, increment intf->NextSPSAttempt
7818 for (intf = GetFirstActiveInterface(m->HostInterfaces); intf; intf = GetFirstActiveInterface(intf->next))
7819 if (intf->NextSPSAttempt && intf->NextSPSAttemptTime == m->timenow + mDNSPlatformOneSecond * 10 && intf->NextSPSAttempt < 8)
7820 intf->NextSPSAttempt++;
7825 NetworkInterfaceInfo *intf = (NetworkInterfaceInfo *)question->QuestionContext;
7826 int sps = (int)(question - intf->NetWakeResolve);
7839 intf->SPSPort[sps] = answer->rdata->u.srv.port;
7849 intf->SPSAddr[sps].type = mDNSAddrType_IPv4;
7850 intf->SPSAddr[sps].ip.v4 = answer->rdata->u.ipv4;
7852 if (sps == intf->NextSPSAttempt/3) SendSPSRegistration(m, intf, zeroID); // If we're ready for this result, use it now
7868 intf->SPSAddr[sps].type = mDNSAddrType_IPv6;
7869 intf->SPSAddr[sps].ip.v6 = answer->rdata->u.ipv6;
7871 if (sps == intf->NextSPSAttempt/3) SendSPSRegistration(m, intf, zeroID); // If we're ready for this result, use it now
7901 NetworkInterfaceInfo *intf;
7902 for (intf = GetFirstActiveInterface(m->HostInterfaces); intf; intf = GetFirstActiveInterface(intf->next))
7904 intf->SendGoodbyes = 1;
7933 NetworkInterfaceInfo *intf;
7946 for (intf = FirstInterfaceForID(m, regID[i]); intf; intf = intf->next)
7948 if ((intf->InterfaceID != regID[i]) ||
7949 (intf->ip.type != mDNSAddrType_IPv4))
7953 if ((intf->ip.ip.v4.NotAnInteger & intf->mask.ip.v4.NotAnInteger) == (newIntf->ip.ip.v4.NotAnInteger & newIntf->mask.ip.v4.NotAnInteger))
7955 LogSPS("%s : Already registered for the same subnet (IPv4) for interface %s", __func__, intf->ifname);
8005 NetworkInterfaceInfo *intf;
8006 for (intf = GetFirstActiveInterface(m->HostInterfaces); intf; intf = GetFirstActiveInterface(intf->next))
8010 intf->SendGoodbyes = 0;
8014 if (!intf->McastTxRx || mDNSPlatformInterfaceIsD2D(intf->InterfaceID))
8016 LogSPS("BeginSleepProcessing: %-6s Ignoring for registrations", intf->ifname);
8027 if (!intf->NetWake)
8029 LogSPS("BeginSleepProcessing: %-6s not capable of magic packet wakeup", intf->ifname);
8030 intf->SendGoodbyes = 1;
8038 if (skipSameSubnetRegistration(m, registeredIntfIDS, registeredCount, intf->InterfaceID))
8040 LogSPS("%s : Skipping full sleep proxy registration on %s", __func__, intf->ifname);
8047 FindSPSInCache(m, &intf->NetWakeBrowse, sps);
8049 intf->ifname, &intf->ip, NextQSendTime(&intf->NetWakeBrowse) - m->timenow, intf->NetWakeBrowse.ThisQInterval);
8055 intf->NextSPSAttempt = 0;
8056 intf->NextSPSAttemptTime = m->timenow + mDNSPlatformOneSecond;
8058 scopeid = mDNSPlatformInterfaceIndexfromInterfaceID(m, intf->InterfaceID, mDNStrue);
8067 if (intf->SPSAddr[i].type)
8068 LogFatalError("BeginSleepProcessing: %s %d intf->SPSAddr[i].type %d", intf->ifname, i, intf->SPSAddr[i].type);
8069 if (intf->NetWakeResolve[i].ThisQInterval >= 0)
8070 LogFatalError("BeginSleepProcessing: %s %d intf->NetWakeResolve[i].ThisQInterval %d", intf->ifname, i, intf->NetWakeResolve[i].ThisQInterval);
8072 intf->SPSAddr[i].type = mDNSAddrType_None;
8073 if (intf->NetWakeResolve[i].ThisQInterval >= 0) mDNS_StopQuery(m, &intf->NetWakeResolve[i]);
8074 intf->NetWakeResolve[i].ThisQInterval = -1;
8077 LogSPS("BeginSleepProcessing: %-6s Found Sleep Proxy Server %d TTL %d %s", intf->ifname, i, sps[i]->resrec.rroriginalttl, CRDisplayString(m, sps[i]));
8078 mDNS_SetupQuestion(&intf->NetWakeResolve[i], intf->InterfaceID, &sps[i]->resrec.rdata->u.name, kDNSType_SRV, NetWakeResolve, intf);
8079 intf->NetWakeResolve[i].ReturnIntermed = mDNStrue;
8080 mDNS_StartQuery_internal(m, &intf->NetWakeResolve[i]);
8083 registeredIntfIDS[registeredCount] = intf->InterfaceID;
8239 NetworkInterfaceInfo *intf;
8240 for (intf = GetFirstActiveInterface(m->HostInterfaces); intf; intf = GetFirstActiveInterface(intf->next))
8242 intf->NextSPSAttempt = -1;
8356 NetworkInterfaceInfo *intf;
8358 for (intf = GetFirstActiveInterface(m->HostInterfaces); intf; intf = GetFirstActiveInterface(intf->next))
8359 if (intf->NextSPSAttempt >= 0)
8361 if (now - intf->NextSPSAttemptTime >= 0)
8364 intf->ifname, intf->NextSPSAttempt/3, intf->NextSPSAttempt);
8365 SendSPSRegistration(m, intf, zeroID);
8370 if (m->NextScheduledSPRetry - intf->NextSPSAttemptTime > 0)
8371 m->NextScheduledSPRetry = intf->NextSPSAttemptTime;
8375 for (intf = GetFirstActiveInterface(m->HostInterfaces); intf; intf = GetFirstActiveInterface(intf->next))
8377 int sps = (intf->NextSPSAttempt == 0) ? 0 : (intf->NextSPSAttempt-1)/3;
8378 if (intf->NetWakeResolve[sps].ThisQInterval >= 0)
8381 intf->ifname, intf->NetWakeResolve[sps].qname.c, DNSTypeName(intf->NetWakeResolve[sps].qtype));
8421 for (intf = GetFirstActiveInterface(m->HostInterfaces); intf; intf = GetFirstActiveInterface(intf->next))
8422 if (intf->NetWakeBrowse.ThisQInterval >= 0)
8425 intf->ifname, intf->NetWakeResolve[0].qname.c, DNSTypeName(intf->NetWakeResolve[0].qtype));
8426 mDNS_DeactivateNetWake_internal(m, intf);
12183 const NetworkInterfaceInfo *const intf = FirstInterfaceForID(m, InterfaceID);
12186 if (ResponseMCast && (!intf || intf->SupportsUnicastMDNSResponse) &&
13461 NetworkInterfaceInfo *intf;
13468 intf = FirstInterfaceForID(m, InterfaceID);
13469 SetupOwnerOpt(m, intf, &opt.resrec.rdata->u.opt[0]);
14838 NetworkInterfaceInfo *intf = FirstInterfaceForID(m, question->InterfaceID);
14839 if (!intf)
16252 mDNSlocal AuthRecord *GetInterfaceAddressRecord(NetworkInterfaceInfo *intf, mDNSBool forRandHostname)
16255 return(forRandHostname ? &intf->RR_AddrRand : &intf->RR_A);
16258 return(&intf->RR_A);
16264 NetworkInterfaceInfo *intf;
16265 for (intf = m->HostInterfaces; intf; intf = intf->next)
16267 if (!intf->Advertise) continue;
16269 if (mDNSPlatformInterfaceIsAWDL(intf->InterfaceID)) continue;
16271 return(GetInterfaceAddressRecord(intf, forRandHostname));
16467 NetworkInterfaceInfo *intf;
16468 for (intf = m->HostInterfaces; intf; intf = intf->next)
16470 if (intf->Advertise) DeadvertiseInterface(m, intf, flags);
16588 NetworkInterfaceInfo *intf;
16591 for (intf = m->HostInterfaces; intf; intf = intf->next)
16592 if (intf->InterfaceID == active->InterfaceID)
16594 if (intf->ip.type == mDNSAddrType_IPv4 && intf->McastTxRx) active->IPv4Available = mDNStrue;
16595 if (intf->ip.type == mDNSAddrType_IPv6 && intf->McastTxRx) active->IPv6Available = mDNStrue;
16699 mDNSlocal mDNSBool IsInterfaceValidForQuestion(const DNSQuestion *const q, const NetworkInterfaceInfo *const intf)
16703 return mDNSPlatformValidQuestionForInterface(q, intf);
16707 return (q->InterfaceID == intf->InterfaceID);
16923 NetworkInterfaceInfo *intf;
16931 for (intf = m->HostInterfaces; intf; intf = intf->next)
16935 if (mDNSPlatformInterfaceIsAWDL(intf->InterfaceID)) continue;
16937 ar = GetInterfaceAddressRecord(intf, forRandHostname);
16961 NetworkInterfaceInfo *intf;
16983 for (intf = m->HostInterfaces; intf; intf = intf->next)
16984 if (intf->InterfaceActive && intf->InterfaceID == set->InterfaceID)
16985 UpdateInterfaceProtocols(m, intf);
16989 intf = FirstInterfaceForID(m, set->InterfaceID);
16990 if (intf)
16995 if (intf->InterfaceActive)
16997 LogRedact(MDNS_LOG_CATEGORY_MDNS, MDNS_LOG_ERROR, "intf->InterfaceActive already set for interface - ifname: "
17000 intf->InterfaceActive = mDNStrue;
17001 UpdateInterfaceProtocols(m, intf);
17003 if (intf->NetWake) mDNS_ActivateNetWake_internal(m, intf);
17007 for (intf = m->HostInterfaces; intf; intf = intf->next)
17008 if (intf->InterfaceID == set->InterfaceID && intf->ip.type == set->ip.type)
17010 if (!intf) revalidate = mDNStrue;
17696 NetworkInterfaceInfo *intf = FirstInterfaceForID(m, InterfaceID);
17697 if (!intf) return;
17721 mDNSSameEthAddress(&arp->sha, &intf->MAC) ? msg3 : msg4;
17723 intf->ifname, msg, arp->sha.b, arp->spa.b, arp->tpa.b,
17753 if (mDNSSameEthAddress(&arp->sha, &intf->MAC))
17764 LogMsg("%-7s ARP from %.6a %.4a for %.4a -- Invalid H-MAC %.6a I-MAC %.6a %s", intf->ifname,
17772 LogMsg("%-7s ARP %s from owner %.6a %.4a for %-15.4a -- re-starting probing for %s", intf->ifname,
17778 LogMsg("%-7s Conflicting ARP from %.6a %.4a for %.4a -- waking H-MAC %.6a I-MAC %.6a %s", intf->ifname,
17809 NetworkInterfaceInfo *intf = FirstInterfaceForID(m, InterfaceID);
17810 if (!intf) return;
17830 mDNSSameEthAddress(sha, &intf->MAC) ? msg3 :
17833 intf->ifname, msg, sha, spa, &ndp->target, &rr->WakeUp.HMAC, &rr->WakeUp.IMAC, ARDisplayString(m, rr));
17851 if (mDNSSameEthAddress(sha, &intf->MAC))
17867 LogSPS("%-7s NDP from %.6a %.16a for %.16a -- Invalid H-MAC %.6a I-MAC %.6a %s", intf->ifname,
17875 LogSPS("%-7s NDP %s from owner %.6a %.16a for %.16a -- re-starting probing for %s", intf->ifname,
17880 LogMsg("%-7s Conflicting NDP from %.6a %.16a for %.16a -- waking H-MAC %.6a I-MAC %.6a %s", intf->ifname,