Lines Matching refs:ifp

301 	struct ifnet		*ifp;
307 ifp = sc->vr_ifp;
308 if (mii == NULL || ifp == NULL ||
309 (ifp->if_drv_flags & IFF_DRV_RUNNING) == 0)
441 struct ifnet *ifp;
451 ifp = sc->vr_ifp;
455 if (ifp->if_flags & IFF_BROADCAST)
457 if (ifp->if_flags & IFF_ALLMULTI || ifp->if_flags & IFF_PROMISC) {
459 if (ifp->if_flags & IFF_PROMISC)
470 if_maddr_rlock(ifp);
477 TAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) {
499 TAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) {
511 if_maddr_runlock(ifp);
597 struct ifnet *ifp;
649 ifp = sc->vr_ifp = if_alloc(IFT_ETHER);
650 if (ifp == NULL) {
655 ifp->if_softc = sc;
656 if_initname(ifp, device_get_name(dev), device_get_unit(dev));
657 ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST;
658 ifp->if_ioctl = vr_ioctl;
659 ifp->if_start = vr_start;
660 ifp->if_init = vr_init;
661 IFQ_SET_MAXLEN(&ifp->if_snd, VR_TX_RING_CNT - 1);
662 ifp->if_snd.ifq_maxlen = VR_TX_RING_CNT - 1;
663 IFQ_SET_READY(&ifp->if_snd);
679 ifp->if_hwassist = VR_CSUM_FEATURES;
680 ifp->if_capabilities |= IFCAP_HWCSUM;
690 ifp->if_capabilities |= IFCAP_WOL_UCAST | IFCAP_WOL_MAGIC;
693 ifp->if_capabilities |= IFCAP_VLAN_MTU;
694 ifp->if_capenable = ifp->if_capabilities;
696 ifp->if_capabilities |= IFCAP_POLLING;
774 error = mii_attach(dev, &sc->vr_miibus, ifp, vr_ifmedia_upd,
783 ether_ifattach(ifp, eaddr);
789 ifp->if_hdrlen = sizeof(struct ether_vlan_header);
797 ether_ifdetach(ifp);
819 struct ifnet *ifp = sc->vr_ifp;
824 if (ifp != NULL && ifp->if_capenable & IFCAP_POLLING)
825 ether_poll_deregister(ifp);
836 ether_ifdetach(ifp);
850 if (ifp)
851 if_free(ifp);
1287 struct ifnet *ifp;
1293 ifp = sc->vr_ifp;
1303 if (ifp->if_capenable & IFCAP_POLLING) {
1330 if_inc_counter(ifp, IFCOUNTER_IERRORS, 1);
1353 if_inc_counter(ifp, IFCOUNTER_IQDROPS, 1);
1380 m->m_pkthdr.rcvif = ifp;
1381 if_inc_counter(ifp, IFCOUNTER_IPACKETS, 1);
1383 if ((ifp->if_capenable & IFCAP_RXCSUM) != 0 &&
1399 (*ifp->if_input)(ifp, m);
1433 struct ifnet *ifp;
1448 ifp = sc->vr_ifp;
1461 ifp->if_drv_flags &= ~IFF_DRV_OACTIVE;
1471 if_inc_counter(ifp, IFCOUNTER_OERRORS, 1);
1509 if_inc_counter(ifp, IFCOUNTER_COLLISIONS, 1);
1513 if_inc_counter(ifp, IFCOUNTER_COLLISIONS, 1);
1518 if_inc_counter(ifp, IFCOUNTER_OPACKETS, 1);
1525 if_inc_counter(ifp, IFCOUNTER_COLLISIONS,
1530 if_inc_counter(ifp, IFCOUNTER_COLLISIONS, (txstat & 0x0f));
1573 vr_poll(struct ifnet *ifp, enum poll_cmd cmd, int count)
1578 sc = ifp->if_softc;
1582 if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0)
1583 rx_npkts = vr_poll_locked(ifp, cmd, count);
1589 vr_poll_locked(struct ifnet *ifp, enum poll_cmd cmd, int count)
1594 sc = ifp->if_softc;
1601 if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd))
1602 vr_start_locked(ifp);
1685 struct ifnet *ifp;
1696 ifp = sc->vr_ifp;
1698 if ((ifp->if_capenable & IFCAP_POLLING) != 0)
1703 if ((ifp->if_drv_flags & IFF_DRV_RUNNING) == 0 ||
1730 if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd))
1731 vr_start_locked(ifp);
1946 vr_start(struct ifnet *ifp)
1950 sc = ifp->if_softc;
1952 vr_start_locked(ifp);
1957 vr_start_locked(struct ifnet *ifp)
1963 sc = ifp->if_softc;
1967 if ((ifp->if_drv_flags & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) !=
1971 for (enq = 0; !IFQ_DRV_IS_EMPTY(&ifp->if_snd) &&
1973 IFQ_DRV_DEQUEUE(&ifp->if_snd, m_head);
1984 IFQ_DRV_PREPEND(&ifp->if_snd, m_head);
1985 ifp->if_drv_flags |= IFF_DRV_OACTIVE;
1994 ETHER_BPF_MTAP(ifp, m_head);
2019 struct ifnet *ifp;
2026 ifp = sc->vr_ifp;
2029 if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0)
2145 if (ifp->if_capenable & IFCAP_POLLING)
2156 ifp->if_drv_flags |= IFF_DRV_RUNNING;
2157 ifp->if_drv_flags &= ~IFF_DRV_OACTIVE;
2169 vr_ifmedia_upd(struct ifnet *ifp)
2176 sc = ifp->if_softc;
2192 vr_ifmedia_sts(struct ifnet *ifp, struct ifmediareq *ifmr)
2197 sc = ifp->if_softc;
2200 if ((ifp->if_flags & IFF_UP) == 0) {
2211 vr_ioctl(struct ifnet *ifp, u_long command, caddr_t data)
2218 sc = ifp->if_softc;
2225 if (ifp->if_flags & IFF_UP) {
2226 if (ifp->if_drv_flags & IFF_DRV_RUNNING) {
2227 if ((ifp->if_flags ^ sc->vr_if_flags) &
2235 if (ifp->if_drv_flags & IFF_DRV_RUNNING)
2238 sc->vr_if_flags = ifp->if_flags;
2250 error = ifmedia_ioctl(ifp, ifr, &mii->mii_media, command);
2253 mask = ifr->ifr_reqcap ^ ifp->if_capenable;
2257 error = ether_poll_register(vr_poll, ifp);
2263 ifp->if_capenable |= IFCAP_POLLING;
2266 error = ether_poll_deregister(ifp);
2270 ifp->if_capenable &= ~IFCAP_POLLING;
2276 (IFCAP_TXCSUM & ifp->if_capabilities) != 0) {
2277 ifp->if_capenable ^= IFCAP_TXCSUM;
2278 if ((IFCAP_TXCSUM & ifp->if_capenable) != 0)
2279 ifp->if_hwassist |= VR_CSUM_FEATURES;
2281 ifp->if_hwassist &= ~VR_CSUM_FEATURES;
2284 (IFCAP_RXCSUM & ifp->if_capabilities) != 0)
2285 ifp->if_capenable ^= IFCAP_RXCSUM;
2287 (ifp->if_capabilities & IFCAP_WOL_UCAST) != 0)
2288 ifp->if_capenable ^= IFCAP_WOL_UCAST;
2290 (ifp->if_capabilities & IFCAP_WOL_MAGIC) != 0)
2291 ifp->if_capenable ^= IFCAP_WOL_MAGIC;
2294 error = ether_ioctl(ifp, command, data);
2304 struct ifnet *ifp;
2311 ifp = sc->vr_ifp;
2323 if_inc_counter(ifp, IFCOUNTER_OERRORS, 1);
2324 ifp->if_drv_flags &= ~IFF_DRV_RUNNING;
2329 if_inc_counter(ifp, IFCOUNTER_OERRORS, 1);
2330 if_printf(ifp, "watchdog timeout\n");
2332 ifp->if_drv_flags &= ~IFF_DRV_RUNNING;
2335 if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd))
2336 vr_start_locked(ifp);
2427 struct ifnet *ifp;
2432 ifp = sc->vr_ifp;
2436 ifp->if_drv_flags &= ~(IFF_DRV_RUNNING | IFF_DRV_OACTIVE);
2507 struct ifnet *ifp;
2512 ifp = sc->vr_ifp;
2515 if (ifp->if_flags & IFF_UP)
2527 struct ifnet *ifp;
2538 ifp = sc->vr_ifp;
2551 if ((ifp->if_capenable & IFCAP_WOL_UCAST) != 0)
2553 if ((ifp->if_capenable & IFCAP_WOL_MAGIC) != 0)
2561 if ((ifp->if_capenable & IFCAP_WOL) != 0) {
2576 if ((ifp->if_capenable & IFCAP_WOL) != 0)