Lines Matching defs:ifp
169 struct ifnet *ifp;
171 ifp = malloc(sizeof(*ifp), M_DEVBUF, M_WAITOK|M_ZERO);
172 snprintf(ifp->if_xname, sizeof ifp->if_xname, "lo%d", unit);
173 ifp->if_softc = NULL;
174 ifp->if_mtu = LOMTU;
175 ifp->if_flags = IFF_LOOPBACK | IFF_MULTICAST;
176 ifp->if_xflags = IFXF_CLONED | IFXF_LRO;
177 ifp->if_capabilities = IFCAP_CSUM_IPv4 |
181 ifp->if_bpf_mtap = lo_bpf_mtap;
182 ifp->if_rtrequest = lortrequest;
183 ifp->if_ioctl = loioctl;
184 ifp->if_input = loinput;
185 ifp->if_output = looutput;
186 ifp->if_type = IFT_LOOP;
187 ifp->if_hdrlen = sizeof(u_int32_t);
188 if_counters_alloc(ifp);
190 if_attachhead(ifp);
191 if_addgroup(ifp, ifc->ifc_name);
192 rtable_l2set(0, 0, ifp->if_index);
194 if_attach(ifp);
195 if_alloc_sadl(ifp);
197 bpfattach(&ifp->if_bpf, ifp, DLT_LOOP, sizeof(u_int32_t));
203 loop_clone_destroy(struct ifnet *ifp)
208 if (ifp->if_index == rtable_loindex(ifp->if_rdomain)) {
210 if (ifp->if_rdomain == 0)
216 if (p->if_rdomain != ifp->if_rdomain)
218 if (p->if_index == ifp->if_index)
225 rdomain = ifp->if_rdomain;
228 if_detach(ifp);
230 free(ifp, M_DEVBUF, sizeof(*ifp));
245 loinput(struct ifnet *ifp, struct mbuf *m)
252 error = if_input_local(ifp, m, m->m_pkthdr.ph_family);
254 counters_inc(ifp->if_counters, ifc_ierrors);
258 looutput(struct ifnet *ifp, struct mbuf *m, struct sockaddr *dst,
274 return (if_output_local(ifp, m, dst->sa_family));
278 lortrequest(struct ifnet *ifp, int cmd, struct rtentry *rt)
288 loioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
295 if (ISSET(ifp->if_xflags, IFXF_LRO))
296 SET(ifp->if_capabilities, IFCAP_TSOv4 | IFCAP_TSOv6);
298 CLR(ifp->if_capabilities, IFCAP_TSOv4 | IFCAP_TSOv6);
302 ifp->if_flags |= IFF_RUNNING;
303 if_up(ifp); /* send up RTM_IFINFO */
315 ifp->if_mtu = ifr->ifr_mtu;