Lines Matching refs:ifp
150 struct ifnet *ifp)
181 #define ND nd_ifinfo[ifp->if_index]
193 ND.linkmtu = ifindex2ifnet[ifp->if_index]->if_mtu;
200 nd6_setmtu(ifp);
209 nd6_setmtu(struct ifnet *ifp)
219 if (ifp->if_index >= nd_ifinfo_indexlim) {
223 ndi = &nd_ifinfo[ifp->if_index];
237 ndi->maxmtu = ifp->if_mtu;
248 ifp->if_name, ifp->if_unit, (unsigned long)ndi->maxmtu);
415 struct ifnet *ifp = NULL;
436 if ((ifp = rt->rt_ifp) == NULL) {
440 ndi = &nd_ifinfo[ifp->if_index];
496 nd_ifinfo[ifp->if_index].retrans / 1000;
497 nd6_ns_output(ifp, NULL, &dst->sin6_addr,
541 nd6_ns_output(ifp, &dst->sin6_addr,
553 nd_ifinfo[ifp->if_index].retrans / 1000;
554 nd6_ns_output(ifp, &dst->sin6_addr,
694 struct ifnet *ifp;
700 ifp = ia6->ia_ifa.ifa_ifp;
701 ifnet_lock_exclusive(ifp);
702 for (ifa = ifp->if_addrlist.tqh_first; ifa;
742 ifnet_lock_done(ifp);
760 * ifp goes away.
764 struct ifnet *ifp)
770 /* Nuke default router list entries toward ifp */
779 if (dr->ifp == ifp)
783 if (dr->ifp == ifp)
787 /* Nuke prefix list entries toward ifp */
790 if (pr->ndpr_ifp == ifp) {
804 if (nd6_defifindex == ifp->if_index)
807 if (!ip6_forwarding && (ip6_accept_rtadv || (ifp->if_eflags & IFEF_ACCEPT_RTADVD))) {
816 * Nuke neighbor cache entries for the ifp.
817 * Note that rt->rt_ifp may not be the same as ifp,
831 if (sdl->sdl_index == ifp->if_index)
842 struct ifnet *ifp,
853 sin6.sin6_scope_id = in6_addr2scopeid(ifp, addr6);
871 if (create && ifp) {
882 ifaof_ifpforaddr((struct sockaddr *)&sin6, ifp);
938 if ((ifp && ifp->if_type !=IFT_PPP) && ((rt->rt_flags & RTF_GATEWAY) || (rt->rt_flags & RTF_LLINFO) == 0 ||
940 (ifp && rt->rt_ifa->ifa_ifp != ifp))) {
945 ip6_sprintf(addr6), ifp ? if_name(ifp) : "unspec");
962 struct ifnet *ifp,
977 ntohs(*(u_int16_t *)&addr->sin6_addr.s6_addr[2]) == ifp->if_index)
984 ifnet_lock_shared(ifp);
985 for (ifa = ifp->if_addrlist.tqh_first;
998 ifnet_lock_done(ifp);
1001 ifnet_lock_done(ifp);
1007 if (nd6_lookup(&addr->sin6_addr, 0, ifp, rt_locked) != NULL)
1173 struct ifnet *ifp = rt->rt_ifp;
1181 if (nd6_need_cache(ifp) == 0 && (rt->rt_flags & RTF_HOST) == 0) {
1193 (nd6_need_cache(ifp) == 0 || /* stf case */
1194 !nd6_is_addr_neighbor((struct sockaddr_in6 *)rt_key(rt), ifp, 1))) {
1233 SDL(gate)->sdl_type = ifp->if_type;
1234 SDL(gate)->sdl_index = ifp->if_index;
1271 nd6_na_output(ifp,
1279 if ((ifp->if_flags & (IFF_POINTOPOINT | IFF_LOOPBACK)) == 0) {
1288 if_name(ifp));
1291 SDL(gate)->sdl_type = ifp->if_type;
1292 SDL(gate)->sdl_index = ifp->if_index;
1340 caddr_t macp = nd6_ifptomac(ifp);
1345 Bcopy(macp, LLADDR(SDL(gate)), ifp->if_addrlen);
1346 SDL(gate)->sdl_alen = ifp->if_addrlen;
1368 if (ifp->if_flags & IFF_MULTICAST) {
1374 llsol.s6_addr16[1] = htons(ifp->if_index);
1379 if (!in6_addmulti(&llsol, ifp, &error, 0)) {
1381 "%s (errno=%d)\n", if_name(ifp),
1393 (ifp->if_flags & IFF_MULTICAST) != 0) {
1399 llsol.s6_addr16[1] = htons(ifp->if_index);
1404 ifnet_lock_shared(ifp);
1405 IN6_LOOKUP_MULTI(llsol, ifp, in6m);
1406 ifnet_lock_done(ifp);
1427 struct ifnet *ifp)
1461 drl->defrouter[i].if_index = dr->ifp->if_index;
1545 ndi->ndi.linkmtu = IN6_LINKMTU(ifp);
1546 ndi->ndi.maxmtu = nd_ifinfo[ifp->if_index].maxmtu;
1548 nd_ifinfo[ifp->if_index].basereachable;
1549 ndi->ndi.reachable = nd_ifinfo[ifp->if_index].reachable;
1550 ndi->ndi.retrans = nd_ifinfo[ifp->if_index].retrans;
1551 ndi->ndi.flags = nd_ifinfo[ifp->if_index].flags;
1552 ndi->ndi.recalctm = nd_ifinfo[ifp->if_index].recalctm;
1553 ndi->ndi.chlim = nd_ifinfo[ifp->if_index].chlim;
1554 ndi->ndi.receivedra = nd_ifinfo[ifp->if_index].receivedra;
1561 ndi->ndi = nd_ifinfo[ifp->if_index];
1569 nd_ifinfo[ifp->if_index].flags = ndi->ndi.flags;
1648 *idp = htons(ifp->if_index);
1651 if ((rt = nd6_lookup(&nb_addr, 0, ifp, 0)) == NULL) {
1679 struct ifnet *ifp,
1696 if (!ifp)
1697 panic("ifp == NULL in nd6_cache_lladdr");
1706 * Validation about ifp->if_addrlen and lladdrlen must be done in
1710 * we do? (ifp->if_addrlen == 0)
1717 rt = nd6_lookup(from, 0, ifp, 1);
1725 rt = nd6_lookup(from, 1, ifp, 1);
1756 if (bcmp(lladdr, LLADDR(sdl), ifp->if_addrlen))
1777 * XXX is it dependent to ifp->if_type?
1779 sdl->sdl_alen = ifp->if_addrlen;
1780 bcopy(lladdr, LLADDR(sdl), ifp->if_addrlen);
1815 * we assume ifp is not a p2p here, so just
1818 nd6_output(ifp, ifp, ln->ln_hold,
1909 if (do_update && ln->ln_router && !ip6_forwarding && (ip6_accept_rtadv || (ifp->if_eflags & IFEF_ACCEPT_RTADVD))) {
1950 struct ifnet *ifp,
1967 if (nd6_need_cache(ifp) == 0)
1980 if (rt->rt_ifp != ifp) {
1983 return nd6_output(ifp, origifp, m0,
2003 if (!nd6_is_addr_neighbor(gw6, ifp, 1) ||
2004 in6ifa_ifpwithaddr(ifp, &gw6->sin6_addr)) {
2011 if ((ifp->if_flags & IFF_POINTOPOINT) == 0)
2046 if (nd6_is_addr_neighbor(dst, ifp, 1) &&
2047 (rt = nd6_lookup(&dst->sin6_addr, 1, ifp, 1)) != NULL)
2052 if ((ifp->if_flags & IFF_POINTOPOINT) == 0 &&
2053 !(nd_ifinfo[ifp->if_index].flags & ND6_IFF_PERFORMNUD)) {
2067 if ((ifp->if_flags & IFF_POINTOPOINT) != 0 &&
2113 nd_ifinfo[ifp->if_index].retrans / 1000;
2114 nd6_ns_output(ifp, NULL, &dst->sin6_addr, ln, 0, locked);
2127 if ((ifp->if_flags & IFF_LOOPBACK) != 0) {
2157 error = dlil_output(ifp, PF_INET6, m, (caddr_t)rt, (struct sockaddr *)dst, 0);
2162 if ((ifp->if_flags & IFF_LOOPBACK) != 0) {
2163 return((*ifp->if_output)(origifp, m, (struct sockaddr *)dst,
2166 return((*ifp->if_output)(ifp, m, (struct sockaddr *)dst, rt));
2178 struct ifnet *ifp)
2187 switch (ifp->if_type) {
2206 struct ifnet *ifp,
2216 switch (ifp->if_type) {
2228 for (i = 0; i < ifp->if_addrlen; i++)
2263 ifnet_t ifp,
2278 if ((ifp->if_flags & (IFF_UP|IFF_RUNNING)) != (IFF_UP|IFF_RUNNING))
2288 return dlil_resolve_multi(ifp, (const struct sockaddr*)ip6_dest,
2347 dr->ifp) != 0)
2355 d->if_index = dr->ifp->if_index;
2425 pfr->router->ifp) != 0)