Lines Matching defs:interface
436 // Note: We don't check for InterfaceActive, as the active interface could be IPv6 and
437 // we still want to find the first IPv4 Link-Local interface
443 debugf("FirstIPv4LLInterfaceForID: found LL interface with address %.4a", &intf->ip.ip.v4);
825 // (or were received) on the same interface (i.e. if *both* records specify an interface, then it has to match).
877 // We've already determined that we plan to give this answer on this interface
878 // (either the record is non-specific, or it is specific to this interface)
1146 // RestartRecordGetZoneData calls this function whenever a new interface gets registered with core.
1291 // we will join the multicast group on each active interface.
1306 // advertise all the interface records. If we did enable Bonjour above, the interface records will
1488 // rr->resrec.interface = already set in mDNS_SetupResourceRecord
1827 // This happens today when we turn on/off interface where we get multiple network transitions
2281 if (!intf) { LogMsg("SendARP: No interface with InterfaceID %p found %s", rr->resrec.InterfaceID, ARDisplayString(m,rr)); return; }
2286 // 0x06 Source address (Note: Since we don't currently set the BIOCSHDRCMPLT option, BPF will fill in the real interface address for us)
2352 if (!intf) { LogMsg("SendNDP: No interface with InterfaceID %p found %s", rr->resrec.InterfaceID, ARDisplayString(m,rr)); return; }
2368 // 0x06 Source address (Note: Since we don't currently set the BIOCSHDRCMPLT option, BPF will fill in the real interface address for us)
2474 // If we are going to sleep and in SleepState_Sleeping, SendGoodbyes on the interface tell you
2548 // *** 1. Setup: Set the SendRNow and ImmedAnswer fields to indicate which interface(s) the records need to be sent on
2621 // Any interface-specific records we're going to send are marked as being sent on all appropriate interfaces (which is just one)
2632 // Note: Currently all address records are interface-specific, so it's safe to set ImmedAdditional to their InterfaceID,
2633 // which will be non-null. If by some chance there is an address record that's not interface-specific (should never happen)
2661 // -- If a record is marked to be sent on a certain interface, make sure the whole set is marked to be sent on that interface
2714 else if (rr->ImmedAnswer) // Else, just respond to a single query on single interface:
2716 rr->SendRNow = rr->ImmedAnswer; // Just respond on that interface
2726 // *** 2. Loop through interface list, sending records as appropriate
2748 // Skip this interface if the record InterfaceID is *Any and the record is not
2749 // appropriate for the interface type.
2805 if (newptr) // If succeeded in sending, advance to next interface
2814 // If sending on all interfaces, go to next interface; else we're finished now
3000 // There might be more things to send on this interface, so go around one more time and try again.
3002 else // Nothing more to send on this interface; go to next
3010 pktcount = 0; // When we move to a new interface, reset packet count back to zero -- NSEC generation logic uses it
3029 LogInfo("SendResponses: No active interface %d to send: %d %02X %s",
3108 // Delay before restarting questions on a flapping interface.
3162 if (rr->resrec.InterfaceID == q->SendQNow && // received on this interface
3200 if (rr->resrec.InterfaceID == q->SendQNow && // received on this interface
3335 mDNSBool v4 = !intf->IPv4Available; // If this interface doesn't do v4, we don't need to find a v4 duplicate of this query
3336 mDNSBool v6 = !intf->IPv6Available; // If this interface doesn't do v6, we don't need to find a v6 duplicate of this query
3375 // We can't send magic packets without knowing which interface to send it on.
3690 // Ethernet destination address is Ethernet interface address of the Sleep Proxy client we're probing
3743 // go through our interface list sending the appropriate queries on each interface
3769 // If interface is P2P type, verify that query should be sent over it.
3815 // If interface is a P2P variant, verify that the probe should be sent over it.
3977 // on this interface, so go around one more time and try again.
3979 else // Nothing more to send on this interface; go to next
3997 LogInfo("SendQueries: No active interface %d to send probe: %d %s",
4003 // that their interface which went away might come back again, the logic will want to send queries
4004 // for those records, but we can't because their interface isn't here any more, so to keep the
4006 // If the interface does not come back in time, the cache record will expire naturally
4022 // we legitimately couldn't send because the interface is no longer available
4029 // There will not be an active interface for questions applied to mDNSInterface_BLE
4032 LogInfo("SendQueries: No active interface %d to send %s question: %d %##s (%s)",
4046 if (!intf) { LogMsg("SendARP: No interface with InterfaceID %p found", InterfaceID); return; }
4051 // 0x06 Source address (Note: Since we don't currently set the BIOCSHDRCMPLT option, BPF will fill in the real interface address for us)
5201 // a positive answer using an expired record (e.g. from an interface that has gone away).
5227 // To avoid pointless CPU thrash, we use SetSPSProxyListChanged(X) to record the last interface that
5917 // Disallow sleep if this interface doesn't support NetWake
5926 // If the interface can be an in-NIC Proxy, we should check if it can accomodate all the records
5978 // If we have a pending registration for "scopeid", it is ok to send the update on that interface.
6068 // If this keepalive packet would be sent on a different interface than the current one that we are processing
6146 // overwrite the id. We send the registration over interface X with id "IDX" and before
6147 // we get a response, we overwrite with id "IDY" for interface Y and we won't accept responses
6163 // When we are registering on the first interface, rr->updateid is zero in which case
6239 SetupOwnerOpt(m, intf, &opt.resrec.rdata->u.opt[1]); // use our own interface information
6320 // Some records are interface specific and some are not. The ones that are supposed to be registered
6323 // ack from the sleep proxy server, we clear the interface bit. This way, we know when a record completes
6336 // For records that are registered only on a specific interface, mark only that bit as it will
6337 // never be registered on any other interface. For others, it should be sent on all interfaces.
6419 // If we still have registrations pending on this interface, send it now
6570 * The 'real' fix for this would be to send out multicast packets over one interface
6598 LogSPS("%s : Already registered for the same subnet (IPv4) for interface %s", __func__, intf->ifname);
6664 // But then if the interface goes away, we won't stop these questions because
6728 // Now we know for sure that we have to wait for registration to complete on this interface.
6761 // If we have at least one interface on which we are registering with an external sleep proxy,
7625 // on this interface. If it is more than a second, or LastMCInterface is different, then we may multicast it.
7637 // then we'll want to mark it to generate an NSEC record on this interface
7740 // If we're planning to send this answer on this interface, and only on this interface, then allow KA suppression
7848 // If we're already planning to send this on another interface, just send it on all interfaces
7853 rr->ImmedAnswer = InterfaceID; // Record interface to send it on
7876 // Since additional records are an optimization anyway, we only ever send them on one interface at a time
7962 LogInfo("ProcessQuery: UnansweredQueries %lu interface %lu TTL %lu mDNS_Reconfirm() for %s",
8709 verbosedebugf("mDNSCoreReceiveCacheCheck: Found record size %5d interface %p already in cache: %s",
8901 // InterfaceID non-NULL tells us the interface this multicast response was received on
9228 // OS X and iOS set the IFEF_ARPLL interface flag on interfaces
9233 // link-local destination on an interface without the IFEF_ARPLL flag set.
9268 if (PacketRRMatchesSignature(&m->rec.r, rr)) // If interface, name, type (if shared record) and class match...
9276 // If we were planning to send on this -- and only this -- interface, then we don't need to any more
10439 // Store the Owner OPT record for this interface.
10672 (IsAWDLIncluded(q) == IsAWDLIncluded(question)) && // Inclusion of AWDL interface must match
10759 mDNSexport McastResolver *mDNS_AddMcastResolver(mDNS *const m, const domainname *d, const mDNSInterfaceID interface, mDNSu32 timeout)
10766 LogInfo("mDNS_AddMcastResolver: Adding %##s, InterfaceID %p, timeout %u", d->c, interface, timeout);
10770 while (*p) // Check if we already have this {interface, domain} tuple registered
10772 if ((*p)->interface == interface && SameDomainName(&(*p)->domain, d))
10774 if (!((*p)->flags & McastResolver_FlagDelete)) LogMsg("Note: Mcast Resolver domain %##s (%p) registered more than once", d->c, interface);
10792 (*p)->interface = interface;
10961 ((d->scoped == kScopeInterfaceID) && d->interface == InterfaceID) ||
10991 // This happens normally when you unplug the interface where we reset the interfaceID to mDNSInterface_Any for all
11000 if ((curr->scoped == kScopeInterfaceID && curr->interface == mDNSInterface_Any) || (curr->scoped == kScopeServiceID && curr->serviceID <= 0))
11002 LogInfo("SetValidDNSServers: ScopeType[%d] Skipping DNS server %#a (Domain %##s) Interface:[%p] Serviceid:[%d]", curr->scoped, &curr->addr, curr->domain.c, curr->interface, curr->serviceID);
11027 " Timeout %d, interface %p", question->qname.c, &curr->addr, curr->domain.c, curr->scoped, index, curr->timeout,
11028 curr->interface);
11282 // Check to see if there is at least one interface other than loopback and don't suppress
11283 // .local questions if you find one. If we have at least one interface, it means that
11288 // Note: we used to check for multicast capable interfaces instead of just any interface
11289 // present. That did not work in the case where we have a valid interface for unicast
11296 LogInfo("ShouldSuppressDotLocalQuery: Found interface %s, not suppressing", intf->ifname);
11642 // If this question is referencing a specific interface, verify it exists
11647 LogInfo("ValidateParameters: Note: InterfaceID %d for question %##s (%s) not currently found in active interface list",
11888 // or the request is going over cellular interface.
12064 // we will join the multicast group on each active interface.
12572 // The parameter "set" here refers to the set of AuthRecords used to advertise this interface.
12587 if (!primary) primary = set; // If no existing advertised interface, this new NetworkInterfaceInfo becomes our new primary
12589 // no other interface yet, we should always find ourself in the list.
12591 // If interface is marked as a direct link, we can assume the address record is unique
12679 // When doing the mDNS_Exit processing, we first call DeadvertiseInterface for each interface, so by the time the platform
12837 // yet. If the question (browse) is started later during interface registration, it will
12838 // be stopped during interface deregistration. We can't sanity check to see if the
12871 // Note: We start the browse only if the interface is NetWake capable and we use this to
12884 // Make special call to the browse callback to let it know it can to remove all records for this interface
12912 // Assume this interface will be active now, unless we find a duplicate already in the list
12931 // This InterfaceID already represented by a different interface in the list, so mark this instance inactive for now
12955 // In early versions of OS X the IPv6 address remains on an interface even when the interface is turned off,
12956 // giving the false impression that there's an active representative of this interface when there really isn't.
12957 // Therefore, when registering an interface, we want to re-trigger our questions and re-probe our Resource Records,
12958 // even if we believe that we previously had an active representative of this interface.
12962 // Normally, after an interface comes up, we pause half a second before beginning probing.
12963 // This is to guard against cases where there's rapid interface changes, where we could be confused by
12964 // seeing packets we ourselves sent just moments ago (perhaps when this interface had a different address)
12968 // In the case of a flapping interface, we pause for five seconds, and reduce the announcement count to one packet.
12976 LogMsg("mDNS_RegisterInterface: Using fast activation for DirectLink interface %s (%#a)", set->ifname, &set->ip);
12982 LogMsg("mDNS_RegisterInterface: Frequent transitions for interface %s (%#a), doing slow activation", set->ifname, &set->ip);
13032 if (!q->InterfaceID || q->InterfaceID == set->InterfaceID) // If non-specific Q, or Q on this specific interface,
13054 // For all our non-specific authoritative resource records (and any dormant records specific to this interface)
13103 // If this interface not the active member of its set, update the v4/v6Available flags for the active member
13143 LogMsg("mDNS_DeregisterInterface: Frequent transitions for interface %s (%#a)", set->ifname, &set->ip);
13147 // 1. Deactivate any questions specific to this interface, and tag appropriate questions
13159 // 2. Flush any cache records received on this interface
13165 // If this interface is deemed flapping,
13166 // postpone deleting the cache records in case the interface comes back again
13169 // For a flapping interface we want these records to go away after
13173 // if the interface does come back, any relevant questions will be reactivated anyway
13194 // If we were advertising on this interface, deregister those address and reverse-lookup records now
13197 // If we have any cache records received on this interface that went away, then re-verify them.
13198 // In some versions of OS X the IPv6 address remains on an interface even when the interface is turned off,
13199 // giving the false impression that there's an active representative of this interface when there really isn't.
14556 // interface list and security credentials
14909 // has changed e.g., when a new interface is coming up and that becomes the primary
14910 // interface, we switch to the DNS servers configured for the primary interface. In
14911 // this case, we should not accept responses associated with the previous interface as
14912 // the "name" could resolve differently on this new primary interface. Hence, discard
15087 // handle router and primary interface changes