Lines Matching refs:ifp

57 	struct interface *ifp;		/* usually output interface */  member
103 struct interface *ifp, in output() argument
120 if (ifp == NULL && type == OUT_MULTICAST) { in output()
155 ifp != NULL && ifp->int_phys != NULL) ? in output()
156 ifp->int_phys->phyi_index : 0; in output()
158 if (rip_sock_interface != ifp) { in output()
164 if (ifp != NULL) { in output()
165 addr.s_addr = (ifp->int_if_flags & IFF_POINTOPOINT) ? in output()
166 ifp->int_dstaddr : ifp->int_addr; in output()
174 rip_sock_interface = ifp; in output()
177 trace_rip(msg, "to", &sin, ifp, buf, size); in output()
180 if (res < 0 && (ifp == NULL || !(ifp->int_state & IS_BROKE))) { in output()
182 ifp != NULL ? ifp->int_name : "", in output()
183 ifp != NULL ? ", " : "", in output()
249 find_auth(struct interface *ifp) in find_auth() argument
255 if (ifp == NULL) in find_auth()
258 if ((ap = ifp->int_auth) == NULL) in find_auth()
364 if (output(wb->type, &ws.to, ws.ifp, wb->buf, in supply_write()
365 ((char *)wb->n - (char *)wb->buf)) < 0 && ws.ifp != NULL) in supply_write()
366 if_sick(ws.ifp, _B_FALSE); in supply_write()
396 (ws.state & WS_ST_TO_ON_NET) ? ws.ifp : NULL); in supply_out()
469 (ag->ag_nhop != ws.ifp->int_addr && in supply_out()
470 on_net(ag->ag_nhop, ws.ifp->int_net, in supply_out()
471 ws.ifp->int_mask)) && in supply_out()
649 if (ws.ifp != NULL && !(ws.state & WS_ST_QUERY) && in walk_supply()
651 (ws.ifp->int_if_flags & IFF_POINTOPOINT))) { in walk_supply()
654 if (rts->rts_metric > metric || rts->rts_ifp != ws.ifp) in walk_supply()
707 if ((RT->rt_state & RS_STATIC) && (ws.ifp == RT->rt_ifp)) in walk_supply()
742 struct interface *ifp, /* output interface */ in supply() argument
759 if (ifp != NULL) { in supply()
760 ws.to_mask = ifp->int_mask; in supply()
761 ws.to_net = ifp->int_net; in supply()
771 ifp = rt->rt_ifp; in supply()
780 ws.ifp = ifp; in supply()
794 if (ifp->int_if_flags & IFF_MULTICAST) in supply()
821 } else if (ifp == NULL || !(ifp->int_state & IS_NO_AG)) { in supply()
823 if (type != OUT_BROADCAST && (ifp == NULL || in supply()
824 !(ifp->int_state & IS_NO_SUPER_AG))) in supply()
829 ws.a = find_auth(ifp); in supply()
854 if (should_supply(NULL) && (def_metric = ifp->int_d_metric) != 0) { in supply()
870 (ifp->int_state & IS_PM_RDISC)) { in supply()
913 struct interface *ifp; in rip_bcast() local
931 for (ifp = ifnet; ifp != NULL; ifp = ifp->int_next) { in rip_bcast()
939 if (IS_RIP_OUT_OFF(ifp->int_state) || in rip_bcast()
940 (ifp->int_state & IS_DUP) || in rip_bcast()
941 !IS_IFF_ROUTING(ifp->int_if_flags)) in rip_bcast()
945 if (!IS_IFF_UP(ifp->int_if_flags)) in rip_bcast()
949 if (IS_IFF_QUIET(ifp->int_if_flags)) in rip_bcast()
952 vers = (ifp->int_state & IS_NO_RIPV1_OUT) ? RIPv2 : RIPv1; in rip_bcast()
953 dst.sin_addr.s_addr = ifp->int_ripout_addr; in rip_bcast()
960 if (!(ifp->int_if_flags & (IFF_BROADCAST | IFF_POINTOPOINT)) && in rip_bcast()
961 !(ifp->int_state & IS_REMOTE)) in rip_bcast()
964 type = (ifp->int_if_flags & IFF_BROADCAST) ? in rip_bcast()
966 if (vers == RIPv2 && (ifp->int_if_flags & IFF_MULTICAST) && in rip_bcast()
967 !(ifp->int_state & IS_NO_RIP_MCAST)) in rip_bcast()
970 supply(&dst, ifp, type, flash, vers, _B_TRUE); in rip_bcast()
986 struct interface *ifp; in rip_query() local
996 for (ifp = ifnet; ifp; ifp = ifp->int_next) { in rip_query()
1006 if (IS_RIP_IN_OFF(ifp->int_state) || in rip_query()
1007 (ifp->int_state & IS_DUP) || in rip_query()
1008 ifp->int_query_time != NEVER) in rip_query()
1012 if (!IS_IFF_UP(ifp->int_if_flags)) in rip_query()
1016 if (IS_IFF_QUIET(ifp->int_if_flags)) in rip_query()
1024 if (!(ifp->int_if_flags & (IFF_BROADCAST | IFF_POINTOPOINT)) && in rip_query()
1025 !(ifp->int_state & IS_REMOTE)) in rip_query()
1036 if ((ifp->int_state & IS_NO_RIPV1_OUT) || in rip_query()
1037 (ifp->int_state & IS_NO_RIPV1_IN)) { in rip_query()
1043 dst.sin_addr.s_addr = ifp->int_ripout_addr; in rip_query()
1045 type = (ifp->int_if_flags & IFF_BROADCAST) ? in rip_query()
1048 (ifp->int_if_flags & IFF_MULTICAST) && in rip_query()
1049 !(ifp->int_state & IS_NO_RIP_MCAST)) in rip_query()
1052 ifp->int_query_time = now.tv_sec+SUPPLY_INTERVAL; in rip_query()
1053 if (output(type, &dst, ifp, &buf, sizeof (buf)) < 0) in rip_query()
1054 if_sick(ifp, _B_FALSE); in rip_query()