Lines Matching refs:ifp

99 fwe_poll(if_t ifp, enum poll_cmd cmd, int count)  in fwe_poll()  argument
104 if (!(if_getdrvflags(ifp) & IFF_DRV_RUNNING)) in fwe_poll()
107 fwe = ((struct fwe_eth_softc *)if_getsoftc(ifp))->fwe; in fwe_poll()
138 if_t ifp; in fwe_attach() local
180 ifp = fwe->eth_softc.ifp = if_alloc(IFT_ETHER); in fwe_attach()
181 if_setsoftc(ifp, &fwe->eth_softc); in fwe_attach()
183 if_initname(ifp, device_get_name(dev), unit); in fwe_attach()
184 if_setinitfn(ifp, fwe_init); in fwe_attach()
185 if_setstartfn(ifp, fwe_start); in fwe_attach()
186 if_setioctlfn(ifp, fwe_ioctl); in fwe_attach()
187 if_setflags(ifp, (IFF_BROADCAST|IFF_SIMPLEX|IFF_MULTICAST)); in fwe_attach()
188 if_setsendqlen(ifp, TX_MAX_QUEUE); in fwe_attach()
191 ether_ifattach(ifp, eaddr); in fwe_attach()
195 if_setifheaderlen(ifp, sizeof(struct ether_vlan_header)); in fwe_attach()
196 if_setcapabilitiesbit(ifp, IFCAP_VLAN_MTU | IFCAP_POLLING, 0); in fwe_attach()
197 if_setcapenablebit(ifp, IFCAP_VLAN_MTU, 0); in fwe_attach()
199 FWEDEBUG(ifp, "interface created\n"); in fwe_attach()
208 if_t ifp = fwe->eth_softc.ifp; in fwe_stop() local
239 if_setdrvflagbits(ifp, 0, (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)); in fwe_stop()
246 if_t ifp; in fwe_detach() local
250 ifp = fwe->eth_softc.ifp; in fwe_detach()
253 if (if_getcapenable(ifp) & IFCAP_POLLING) in fwe_detach()
254 ether_poll_deregister(ifp); in fwe_detach()
259 ether_ifdetach(ifp); in fwe_detach()
260 if_free(ifp); in fwe_detach()
272 if_t ifp = fwe->eth_softc.ifp; in fwe_init() local
278 FWEDEBUG(ifp, "initializing\n"); in fwe_init()
281 if_setflagbits(ifp, IFF_PROMISC, 0); in fwe_init()
336 if_setdrvflagbits(ifp, IFF_DRV_RUNNING, 0); in fwe_init()
337 if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE); in fwe_init()
341 fwe_start(ifp); in fwe_init()
347 fwe_ioctl(if_t ifp, u_long cmd, caddr_t data) in fwe_ioctl() argument
349 struct fwe_softc *fwe = ((struct fwe_eth_softc *)if_getsoftc(ifp))->fwe; in fwe_ioctl()
356 if (if_getflags(ifp) & IFF_UP) { in fwe_ioctl()
357 if (!(if_getdrvflags(ifp) & IFF_DRV_RUNNING)) in fwe_ioctl()
360 if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) in fwe_ioctl()
364 if_setflagbits(ifp, IFF_PROMISC, 0); in fwe_ioctl()
385 !(if_getcapenable(ifp) & IFCAP_POLLING)) { in fwe_ioctl()
386 error = ether_poll_register(fwe_poll, ifp); in fwe_ioctl()
391 if_setcapenablebit(ifp, IFCAP_POLLING, 0); in fwe_ioctl()
395 if_getcapenable(ifp) & IFCAP_POLLING) { in fwe_ioctl()
396 error = ether_poll_deregister(ifp); in fwe_ioctl()
399 if_setcapenablebit(ifp, 0, IFCAP_POLLING); in fwe_ioctl()
407 error = ether_ioctl(ifp, cmd, data); in fwe_ioctl()
419 if_t ifp; in fwe_output_callback() local
423 ifp = fwe->eth_softc.ifp; in fwe_output_callback()
425 FWEDEBUG(ifp, "resp = %d\n", xfer->resp); in fwe_output_callback()
427 if_inc_counter(ifp, IFCOUNTER_OERRORS, 1); in fwe_output_callback()
438 if (!if_sendq_empty(ifp)) in fwe_output_callback()
439 fwe_start(ifp); in fwe_output_callback()
443 fwe_start(if_t ifp) in fwe_start() argument
445 struct fwe_softc *fwe = ((struct fwe_eth_softc *)if_getsoftc(ifp))->fwe; in fwe_start()
448 FWEDEBUG(ifp, "starting\n"); in fwe_start()
453 FWEDEBUG(ifp, "not ready\n"); in fwe_start()
457 m = if_dequeue(ifp); in fwe_start()
460 if_inc_counter(ifp, IFCOUNTER_OERRORS, 1); in fwe_start()
468 if_setdrvflagbits(ifp, IFF_DRV_OACTIVE, 0); in fwe_start()
470 if (!if_sendq_empty(ifp)) in fwe_start()
471 fwe_as_output(fwe, ifp); in fwe_start()
473 if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE); in fwe_start()
483 fwe_as_output(struct fwe_softc *fwe, if_t ifp) in fwe_as_output() argument
494 !if_sendq_empty(ifp)) { in fwe_as_output()
507 m = if_dequeue(ifp); in fwe_as_output()
514 BPF_MTAP(ifp, m); in fwe_as_output()
526 if_inc_counter(ifp, IFCOUNTER_OERRORS, 1); in fwe_as_output()
530 if_inc_counter(ifp, IFCOUNTER_OPACKETS, 1); in fwe_as_output()
547 if_t ifp; in fwe_as_input() local
556 ifp = fwe->eth_softc.ifp; in fwe_as_input()
577 if_inc_counter(ifp, IFCOUNTER_IERRORS, 1); in fwe_as_input()
586 m->m_pkthdr.rcvif = ifp; in fwe_as_input()
588 FWEDEBUG(ifp, "%02x %02x %02x %02x %02x %02x\n" in fwe_as_input()
602 if_input(ifp, m); in fwe_as_input()
603 if_inc_counter(ifp, IFCOUNTER_IPACKETS, 1); in fwe_as_input()