Lines Matching refs:ifp

354 	struct ifnet		*ifp;
359 ifp = sc->pcn_ifp;
363 if (ifp->if_flags & IFF_ALLMULTI || ifp->if_flags & IFF_PROMISC) {
375 if_maddr_rlock(ifp);
376 TAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) {
383 if_maddr_runlock(ifp);
561 struct ifnet *ifp;
623 ifp = sc->pcn_ifp = if_alloc(IFT_ETHER);
624 if (ifp == NULL) {
629 ifp->if_softc = sc;
630 if_initname(ifp, device_get_name(dev), device_get_unit(dev));
631 ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST;
632 ifp->if_ioctl = pcn_ioctl;
633 ifp->if_start = pcn_start;
634 ifp->if_init = pcn_init;
635 ifp->if_snd.ifq_maxlen = PCN_TX_LIST_CNT - 1;
643 error = mii_attach(dev, &sc->pcn_miibus, ifp, pcn_ifmedia_upd,
671 ether_ifattach(ifp, (u_int8_t *) eaddr);
679 ether_ifdetach(ifp);
702 struct ifnet *ifp;
705 ifp = sc->pcn_ifp;
716 ether_ifdetach(ifp);
729 if (ifp)
730 if_free(ifp);
841 struct ifnet *ifp;
847 ifp = sc->pcn_ifp;
862 if_inc_counter(ifp, IFCOUNTER_IERRORS, 1);
871 if_inc_counter(ifp, IFCOUNTER_IERRORS, 1);
879 if_inc_counter(ifp, IFCOUNTER_IPACKETS, 1);
882 m->m_pkthdr.rcvif = ifp;
885 (*ifp->if_input)(ifp, m);
904 struct ifnet *ifp;
907 ifp = sc->pcn_ifp;
927 if_inc_counter(ifp, IFCOUNTER_OERRORS, 1);
929 if_inc_counter(ifp, IFCOUNTER_COLLISIONS, 1);
931 if_inc_counter(ifp, IFCOUNTER_COLLISIONS, 1);
934 if_inc_counter(ifp, IFCOUNTER_COLLISIONS,
937 if_inc_counter(ifp, IFCOUNTER_OPACKETS, 1);
950 ifp->if_drv_flags &= ~IFF_DRV_OACTIVE;
963 struct ifnet *ifp;
966 ifp = sc->pcn_ifp;
980 if (ifp->if_snd.ifq_head != NULL)
981 pcn_start_locked(ifp);
996 struct ifnet *ifp;
1000 ifp = sc->pcn_ifp;
1005 if (!(ifp->if_flags & IFF_UP)) {
1028 if (ifp->if_snd.ifq_head != NULL)
1029 pcn_start_locked(ifp);
1096 pcn_start(ifp)
1097 struct ifnet *ifp;
1101 sc = ifp->if_softc;
1103 pcn_start_locked(ifp);
1108 pcn_start_locked(ifp)
1109 struct ifnet *ifp;
1115 sc = ifp->if_softc;
1124 if (ifp->if_drv_flags & IFF_DRV_OACTIVE)
1128 IF_DEQUEUE(&ifp->if_snd, m_head);
1133 IF_PREPEND(&ifp->if_snd, m_head);
1134 ifp->if_drv_flags |= IFF_DRV_OACTIVE;
1142 BPF_MTAP(ifp, m_head);
1159 pcn_setfilt(ifp)
1160 struct ifnet *ifp;
1164 sc = ifp->if_softc;
1167 if (ifp->if_flags & IFF_PROMISC) {
1174 if (ifp->if_flags & IFF_BROADCAST) {
1198 struct ifnet *ifp = sc->pcn_ifp;
1223 if_printf(ifp, "initialization failed: no "
1249 pcn_setfilt(ifp);
1305 ifp->if_drv_flags |= IFF_DRV_RUNNING;
1306 ifp->if_drv_flags &= ~IFF_DRV_OACTIVE;
1317 pcn_ifmedia_upd(ifp)
1318 struct ifnet *ifp;
1322 sc = ifp->if_softc;
1338 if (ifp->if_snd.ifq_head != NULL)
1339 pcn_start_locked(ifp);
1350 pcn_ifmedia_sts(ifp, ifmr)
1351 struct ifnet *ifp;
1357 sc = ifp->if_softc;
1370 pcn_ioctl(ifp, command, data)
1371 struct ifnet *ifp;
1375 struct pcn_softc *sc = ifp->if_softc;
1383 if (ifp->if_flags & IFF_UP) {
1384 if (ifp->if_drv_flags & IFF_DRV_RUNNING &&
1385 ifp->if_flags & IFF_PROMISC &&
1389 pcn_setfilt(ifp);
1394 } else if (ifp->if_drv_flags & IFF_DRV_RUNNING &&
1395 !(ifp->if_flags & IFF_PROMISC) &&
1399 pcn_setfilt(ifp);
1404 } else if (!(ifp->if_drv_flags & IFF_DRV_RUNNING))
1407 if (ifp->if_drv_flags & IFF_DRV_RUNNING)
1410 sc->pcn_if_flags = ifp->if_flags;
1424 error = ifmedia_ioctl(ifp, ifr, &mii->mii_media, command);
1427 error = ether_ioctl(ifp, command, data);
1437 struct ifnet *ifp;
1440 ifp = sc->pcn_ifp;
1442 if_inc_counter(ifp, IFCOUNTER_OERRORS, 1);
1443 if_printf(ifp, "watchdog timeout\n");
1449 if (ifp->if_snd.ifq_head != NULL)
1450 pcn_start_locked(ifp);
1461 struct ifnet *ifp;
1464 ifp = sc->pcn_ifp;
1500 ifp->if_drv_flags &= ~(IFF_DRV_RUNNING | IFF_DRV_OACTIVE);