Lines Matching defs:ifp
108 struct ifnet *ifp;
110 ifp = if_alloc(IFT_OTHER);
112 if_initname(ifp, ifc->ifc_name, unit);
114 ifp->if_flags = IFF_LOOPBACK;
116 ifp->if_extflags = IFEF_MPSAFE;
118 ifp->if_ioctl = canloop_ioctl;
119 ifp->if_start = canloop_ifstart;
120 can_ifattach(ifp);
122 ifp->if_mowner = malloc(sizeof(struct mowner), M_DEVBUF,
124 strlcpy(ifp->if_mowner->mo_name, ifp->if_xname,
125 sizeof(ifp->if_mowner->mo_name));
126 MOWNER_ATTACH(ifp->if_mowner);
129 ifp->if_flags |= IFF_RUNNING;
135 canloop_clone_destroy(struct ifnet *ifp)
138 ifp->if_flags &= ~IFF_RUNNING;
141 MOWNER_DETACH(ifp->if_mowner);
142 free(ifp->if_mowner, M_DEVBUF);
145 can_ifdetach(ifp);
147 if_free(ifp);
154 canloop_ifstart(struct ifnet *ifp)
161 IF_DEQUEUE(&ifp->if_snd, m);
164 MCLAIM(m, ifp->if_mowner);
168 m_set_rcvif(m, ifp);
169 if (ifp->if_flags & IFF_LOOPBACK)
170 can_bpf_mtap(ifp, m, 0);
173 if_statadd2(ifp, if_opackets, 1, if_obytes, pktlen);
177 can_input(ifp, m);
179 printf("%s: can't handle CAN packet\n", ifp->if_xname);
192 canloop_ioctl(struct ifnet *ifp, u_long cmd, void *data)
214 error = ifioctl_common(ifp, cmd, data);