Home | History | Annotate | Download | only in net

Lines Matching refs:ifp

85 ieee1394_output(struct ifnet *ifp, struct mbuf *m0, const struct sockaddr *dst,
100 if ((ifp->if_flags & (IFF_UP|IFF_RUNNING)) != (IFF_UP|IFF_RUNNING))
107 IFQ_CLASSIFY(&ifp->if_snd, m0, dst->sa_family);
139 (error = arpresolve(ifp, rt, m0, dst, hwdst,
143 if ((m0->m_flags & M_BCAST) && (ifp->if_flags & IFF_SIMPLEX))
162 memcpy(hwdst->iha_uid, ifp->if_broadcastaddr,
163 MIN(IEEE1394_ADDR_LEN, ifp->if_addrlen));
166 error = nd6_resolve(ifp, rt, m0, dst, hwdst->iha_uid,
179 rt_unhandled(__func__, ifp, dst);
184 looutput(ifp, mcopy, dst, rt);
185 myaddr = (const struct ieee1394_hwaddr *)CLLADDR(ifp->if_sadl);
186 if (ifp->if_bpf) {
193 ifp->if_broadcastaddr)->iha_uid, 8);
196 bpf_mtap2(ifp->if_bpf, &h, sizeof(h), m0, BPF_D_OUT);
198 if ((ifp->if_flags & IFF_SIMPLEX) &&
201 return looutput(ifp, m0, dst, rt);
224 m0 = ieee1394_fragment(ifp, m0, (2<<hwdst->iha_maxrec) - hdrlen, etype);
231 error = if_transmit_lock(ifp, m);
250 ieee1394_fragment(struct ifnet *ifp, struct mbuf *m0, int maxsize,
253 struct ieee1394com *ic = (struct ieee1394com *)ifp;
323 ieee1394_input(struct ifnet *ifp, struct mbuf *m, uint16_t src)
329 if ((ifp->if_flags & IFF_UP) == 0) {
341 if ((m = ieee1394_reass(ifp, m, src)) == NULL)
349 if (ifp->if_bpf) {
362 ifp->if_broadcastaddr)->iha_uid, 8);
365 (const struct ieee1394_hwaddr *)CLLADDR(ifp->if_sadl);
369 bpf_mtap2(ifp->if_bpf, &h, sizeof(h), m, BPF_D_IN);
401 ieee1394_reass(struct ifnet *ifp, struct mbuf *m0, uint16_t src)
403 struct ieee1394com *ic = (struct ieee1394com *)ifp;
553 if (trp->rp_ttl <= ifp->if_timer)
554 trp->rp_ttl = ifp->if_timer + 1;
570 ieee1394_drain(struct ifnet *ifp)
572 struct ieee1394com *ic = (struct ieee1394com *)ifp;
588 ieee1394_watchdog(struct ifnet *ifp)
590 struct ieee1394com *ic = (struct ieee1394com *)ifp;
595 dec = (ifp->if_timer > 0) ? ifp->if_timer : 1;
623 ieee1394_ifattach(struct ifnet *ifp, const struct ieee1394_hwaddr *hwaddr)
626 struct ieee1394com *ic = (struct ieee1394com *)ifp;
628 ifp->if_type = IFT_IEEE1394;
629 ifp->if_hdrlen = sizeof(struct ieee1394_header);
630 ifp->if_dlt = DLT_EN10MB; /* XXX */
631 ifp
632 ifp->if_output = ieee1394_output;
633 ifp->if_drain = ieee1394_drain;
634 ifp->if_watchdog = ieee1394_watchdog;
635 ifp->if_timer = 1;
636 if (ifp->if_baudrate == 0)
637 ifp->if_baudrate = IF_Mbps(100);
639 if_set_sadl(ifp, hwaddr, sizeof(struct ieee1394_hwaddr), true);
641 baddr = malloc(ifp->if_addrlen, M_DEVBUF, M_WAITOK);
646 ifp->if_broadcastaddr = (uint8_t *)baddr;
648 bpf_attach(ifp, DLT_APPLE_IP_OVER_IEEE1394,
653 ieee1394_ifdetach(struct ifnet *ifp)
655 ieee1394_drain(ifp);
656 bpf_detach(ifp);
657 free(__UNCONST(ifp->if_broadcastaddr), M_DEVBUF);
658 ifp->if_broadcastaddr = NULL;
662 ieee1394_ioctl(struct ifnet *ifp, u_long cmd, void *data)
670 ifp->if_flags |= IFF_UP;
674 if ((error = if_init(ifp)) != 0)
676 arp_ifinit(ifp, ifa);
680 error = if_init(ifp);
688 else if ((error = ifioctl_common(ifp, cmd, data)) == ENETRESET)
693 error = ifioctl_common(ifp, cmd, data);