Lines Matching defs:interface

394     // Note: We don't check for InterfaceActive, as the active interface could be IPv6 and 
395 // we still want to find the first IPv4 Link-Local interface
401 debugf("FirstIPv4LLInterfaceForID: found LL interface with address %.4a", &intf->ip.ip.v4);
729 // (or were received) on the same interface (i.e. if *both* records specify an interface, then it has to match).
779 // We've already determined that we plan to give this answer on this interface
780 // (either the record is non-specific, or it is specific to this interface)
1045 // RestartRecordGetZoneData calls this function whenever a new interface gets registered with core.
1374 // rr->resrec.interface = already set in mDNS_SetupResourceRecord
1715 // This happens today when we turn on/off interface where we get multiple network transitions
2139 if (!intf) { LogMsg("SendARP: No interface with InterfaceID %p found %s", rr->resrec.InterfaceID, ARDisplayString(m,rr)); return; }
2144 // 0x06 Source address (Note: Since we don't currently set the BIOCSHDRCMPLT option, BPF will fill in the real interface address for us)
2210 if (!intf) { LogMsg("SendNDP: No interface with InterfaceID %p found %s", rr->resrec.InterfaceID, ARDisplayString(m,rr)); return; }
2226 // 0x06 Source address (Note: Since we don't currently set the BIOCSHDRCMPLT option, BPF will fill in the real interface address for us)
2344 // If we are going to sleep and in SleepState_Sleeping, SendGoodbyes on the interface tell you
2402 // *** 1. Setup: Set the SendRNow and ImmedAnswer fields to indicate which interface(s) the records need to be sent on
2473 // Any interface-specific records we're going to send are marked as being sent on all appropriate interfaces (which is just one)
2484 // Note: Currently all address records are interface-specific, so it's safe to set ImmedAdditional to their InterfaceID,
2485 // which will be non-null. If by some chance there is an address record that's not interface-specific (should never happen)
2513 // -- 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
2554 else if (rr->ImmedAnswer) // Else, just respond to a single query on single interface:
2556 rr->SendRNow = rr->ImmedAnswer; // Just respond on that interface
2566 // *** 2. Loop through interface list, sending records as appropriate
2588 // Skip this interface if the record InterfaceID is *Any and the record is not
2589 // appropriate for the interface type.
2646 if (newptr) // If succeeded in sending, advance to next interface
2655 // If sending on all interfaces, go to next interface; else we're finished now
2842 // There might be more things to send on this interface, so go around one more time and try again.
2844 else // Nothing more to send on this interface; go to next
2852 pktcount = 0; // When we move to a new interface, reset packet count back to zero -- NSEC generation logic uses it
2871 LogInfo("SendResponses: No active interface %d to send: %d %02X %s",
3000 if (rr->resrec.InterfaceID == q->SendQNow && // received on this interface
3038 if (rr->resrec.InterfaceID == q->SendQNow && // received on this interface
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
3213 // We can't send magic packets without knowing which interface to send it on.
3529 // Ethernet destination address is Ethernet interface address of the Sleep Proxy client we're probing
3582 // go through our interface list sending the appropriate queries on each interface
3608 // If interface is P2P type, verify that query should be sent over it.
3780 // on this interface, so go around one more time and try again.
3782 else // Nothing more to send on this interface; go to next
3800 LogInfo("SendQueries: No active interface %d to send probe: %d %s",
3806 // that their interface which went away might come back again, the logic will want to send queries
3807 // for those records, but we can't because their interface isn't here any more, so to keep the
3809 // If the interface does not come back in time, the cache record will expire naturally
3825 // we legitimately couldn't send because the interface is no longer available
3832 LogInfo("SendQueries: No active interface %d to send %s question: %d %##s (%s)",
3845 if (!intf) { LogMsg("SendARP: No interface with InterfaceID %p found", InterfaceID); return; }
3850 // 0x06 Source address (Note: Since we don't currently set the BIOCSHDRCMPLT option, BPF will fill in the real interface address for us)
4940 // a positive answer using an expired record (e.g. from an interface that has gone away).
4966 // To avoid pointless CPU thrash, we use SetSPSProxyListChanged(X) to record the last interface that
5635 // Disallow sleep if this interface doesn't support NetWake
5644 // If the interface can be an in-NIC Proxy, we should check if it can accomodate all the records
5696 // If we have a pending registration for "scopeid", it is ok to send the update on that interface.
5784 // If this keepalive packet would be sent on a different interface than the current one that we are processing
5862 // overwrite the id. We send the registration over interface X with id "IDX" and before
5863 // we get a response, we overwrite with id "IDY" for interface Y and we won't accept responses
5879 // When we are registering on the first interface, rr->updateid is zero in which case
5955 SetupOwnerOpt(m, intf, &opt.resrec.rdata->u.opt[1]); // use our own interface information
6036 // Some records are interface specific and some are not. The ones that are supposed to be registered
6039 // ack from the sleep proxy server, we clear the interface bit. This way, we know when a record completes
6052 // For records that are registered only on a specific interface, mark only that bit as it will
6053 // never be registered on any other interface. For others, it should be sent on all interfaces.
6135 // If we still have registrations pending on this interface, send it now
6292 * The 'real' fix for this would be to send out multicast packets over one interface
6320 LogSPS("%s : Already registered for the same subnet (IPv4) for interface %s", __func__, intf->ifname);
6388 // But then if the interface goes away, we won't stop these questions because
6449 // Now we know for sure that we have to wait for registration to complete on this interface.
6482 // If we have at least one interface on which we are registering with an external sleep proxy,
7348 // on this interface. If it is more than a second, or LastMCInterface is different, then we may multicast it.
7360 // then we'll want to mark it to generate an NSEC record on this interface
7485 // If we're planning to send this answer on this interface, and only on this interface, then allow KA suppression
7609 // If we're already planning to send this on another interface, just send it on all interfaces
7614 rr->ImmedAnswer = InterfaceID; // Record interface to send it on
7637 // Since additional records are an optimization anyway, we only ever send them on one interface at a time
8519 verbosedebugf("mDNSCoreReceiveCacheCheck: Found record size %5d interface %p already in cache: %s",
8714 // InterfaceID non-NULL tells us the interface this multicast response was received on
9028 // OS X and iOS set the IFEF_ARPLL interface flag on interfaces
9033 // link-local destination on an interface without the IFEF_ARPLL flag set.
9068 if (PacketRRMatchesSignature(&m->rec.r, rr)) // If interface, name, type (if shared record) and class match...
9076 // If we were planning to send on this -- and only this -- interface, then we don't need to any more
10407 (IsAWDLIncluded(q) == IsAWDLIncluded(question)) && // Inclusion of AWDL interface must match
10497 mDNSexport McastResolver *mDNS_AddMcastResolver(mDNS *const m, const domainname *d, const mDNSInterfaceID interface, mDNSu32 timeout)
10504 LogInfo("mDNS_AddMcastResolver: Adding %##s, InterfaceID %p, timeout %u", d->c, interface, timeout);
10508 while (*p) // Check if we already have this {interface, domain} tuple registered
10510 if ((*p)->interface == interface && SameDomainName(&(*p)->domain, d))
10512 if (!((*p)->flags & McastResolver_FlagDelete)) LogMsg("Note: Mcast Resolver domain %##s (%p) registered more than once", d->c, interface);
10530 (*p)->interface = interface;
10699 ((d->scoped == kScopeInterfaceID) && d->interface == InterfaceID) ||
10729 // This happens normally when you unplug the interface where we reset the interfaceID to mDNSInterface_Any for all
10738 if ((curr->scoped == kScopeInterfaceID && curr->interface == mDNSInterface_Any) || (curr->scoped == kScopeServiceID && curr->serviceID <= 0))
10740 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);
10763 " Timeout %d, interface %p", question->qname.c, &curr->addr, curr->domain.c, curr->scoped, index, curr->timeout,
10764 curr->interface);
11011 // Check to see if there is at least one interface other than loopback and don't suppress
11012 // .local questions if you find one. If we have at least one interface, it means that
11017 // Note: we used to check for multicast capable interfaces instead of just any interface
11018 // present. That did not work in the case where we have a valid interface for unicast
11025 LogInfo("ShouldSuppressDotLocalQuery: Found interface %s, not suppressing", intf->ifname);
11369 // If this question is referencing a specific interface, verify it exists
11374 LogInfo("ValidateParameters: Note: InterfaceID %d for question %##s (%s) not currently found in active interface list",
11622 // or the request is going over cellular interface.
12150 // 2. The interface ID is different, but the target host and port are the same
12151 // This implies that we're seeing the exact same SRV record on more than one interface, so we should
12153 query->qAv4.InterfaceID = query->qSRV.InterfaceID; // Will be mDNSInterface_Any, or a specific interface
12246 // If the query is not interface-specific, then InterfaceID may be zero
12248 // In addition, InterfaceID will be updated to give the interface identifier corresponding to that response
12376 // info->interface = Must already be set up by client
12554 if (!primary) primary = set; // If no existing advertised interface, this new NetworkInterfaceInfo becomes our new primary
12556 // If interface is marked as a direct link, we can assume the address record is unique
12640 // When doing the mDNS_Exit processing, we first call DeadvertiseInterface for each interface, so by the time the platform
12786 // yet. If the question (browse) is started later during interface registration, it will
12787 // be stopped during interface deregistration. We can't sanity check to see if the
12820 // Note: We start the browse only if the interface is NetWake capable and we use this to
12833 // Make special call to the browse callback to let it know it can to remove all records for this interface
12861 // Assume this interface will be active now, unless we find a duplicate already in the list
12880 // This InterfaceID already represented by a different interface in the list, so mark this instance inactive for now
12904 // In early versions of OS X the IPv6 address remains on an interface even when the interface is turned off,
12905 // giving the false impression that there's an active representative of this interface when there really isn't.
12906 // Therefore, when registering an interface, we want to re-trigger our questions and re-probe our Resource Records,
12907 // even if we believe that we previously had an active representative of this interface.
12911 // Normally, after an interface comes up, we pause half a second before beginning probing.
12912 // This is to guard against cases where there's rapid interface changes, where we could be confused by
12913 // seeing packets we ourselves sent just moments ago (perhaps when this interface had a different address)
12917 // In the case of a flapping interface, we pause for five seconds, and reduce the announcement count to one packet.
12935 LogMsg("mDNS_RegisterInterface: Frequent transitions for interface %s (%#a)", set->ifname, &set->ip);
12956 if (!q->InterfaceID || q->InterfaceID == set->InterfaceID) // If non-specific Q, or Q on this specific interface,
12984 // For all our non-specific authoritative resource records (and any dormant records specific to this interface)
13033 // If this interface not the active member of its set, update the v4/v6Available flags for the active member
13073 LogMsg("mDNS_DeregisterInterface: Frequent transitions for interface %s (%#a)", set->ifname, &set->ip);
13077 // 1. Deactivate any questions specific to this interface, and tag appropriate questions
13089 // 2. Flush any cache records received on this interface
13095 // If this interface is deemed flapping,
13096 // postpone deleting the cache records in case the interface comes back again
13099 // For a flapping interface we want these record to go away after 30 seconds
13102 // if the interface does come back, any relevant questions will be reactivated anyway
13123 // If we were advertising on this interface, deregister those address and reverse-lookup records now
13126 // If we have any cache records received on this interface that went away, then re-verify them.
13127 // In some versions of OS X the IPv6 address remains on an interface even when the interface is turned off,
13128 // giving the false impression that there's an active representative of this interface when there really isn't.
14429 // interface list and security credentials
14774 // has changed e.g., when a new interface is coming up and that becomes the primary
14775 // interface, we switch to the DNS servers configured for the primary interface. In
14776 // this case, we should not accept responses associated with the previous interface as
14777 // the "name" could resolve differently on this new primary interface. Hence, discard
14957 // handle router and primary interface changes