Lines Matching refs:ifp

847 	struct ifnet *ifp;
854 ifp = sc->dc_ifp;
855 if (mii == NULL || ifp == NULL ||
856 (ifp->if_drv_flags & IFF_DRV_RUNNING) == 0)
972 struct ifnet *ifp;
975 ifp = sc->dc_ifp;
991 if (ifp->if_flags & IFF_PROMISC)
996 if (ifp->if_flags & IFF_ALLMULTI)
1001 if_maddr_rlock(ifp);
1002 TAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) {
1009 if_maddr_runlock(ifp);
1011 if (ifp->if_flags & IFF_BROADCAST) {
1012 h = dc_mchash_le(sc, ifp->if_broadcastaddr);
1043 struct ifnet *ifp;
1048 ifp = sc->dc_ifp;
1057 if (ifp->if_flags & IFF_PROMISC)
1062 if (ifp->if_flags & IFF_ALLMULTI)
1075 if (ifp->if_flags & (IFF_PROMISC | IFF_ALLMULTI))
1079 if_maddr_rlock(ifp);
1080 TAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) {
1094 if_maddr_runlock(ifp);
1104 struct ifnet *ifp;
1109 ifp = sc->dc_ifp;
1119 if (ifp->if_flags & IFF_PROMISC)
1124 if (ifp->if_flags & IFF_ALLMULTI)
1133 if (ifp->if_flags & IFF_BROADCAST)
1148 if (ifp->if_flags & (IFF_PROMISC | IFF_ALLMULTI))
1152 if_maddr_rlock(ifp);
1153 TAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) {
1162 if_maddr_runlock(ifp);
1174 struct ifnet *ifp;
1181 ifp = sc->dc_ifp;
1213 if_maddr_rlock(ifp);
1214 TAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) {
1227 if_maddr_runlock(ifp);
1238 if (ifp->if_flags & IFF_PROMISC)
1240 if (ifp->if_flags & IFF_ALLMULTI)
1265 struct ifnet *ifp;
1271 ifp = sc->dc_ifp;
1288 if (ifp->if_flags & IFF_PROMISC)
1293 if (ifp->if_flags & IFF_ALLMULTI)
1298 if_maddr_rlock(ifp);
1299 TAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) {
1306 if_maddr_runlock(ifp);
1308 if (ifp->if_flags & IFF_BROADCAST) {
1309 h = dc_mchash_le(sc, ifp->if_broadcastaddr);
2023 struct ifnet *ifp;
2384 ifp = sc->dc_ifp = if_alloc(IFT_ETHER);
2385 if (ifp == NULL) {
2390 ifp->if_softc = sc;
2391 if_initname(ifp, device_get_name(dev), device_get_unit(dev));
2392 ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST;
2393 ifp->if_ioctl = dc_ioctl;
2394 ifp->if_start = dc_start;
2395 ifp->if_init = dc_init;
2396 IFQ_SET_MAXLEN(&ifp->if_snd, DC_TX_LIST_CNT - 1);
2397 ifp->if_snd.ifq_drv_maxlen = DC_TX_LIST_CNT - 1;
2398 IFQ_SET_READY(&ifp->if_snd);
2448 error = mii_attach(dev, &sc->dc_miibus, ifp, dc_ifmedia_upd,
2466 error = mii_attach(dev, &sc->dc_miibus, ifp, dc_ifmedia_upd,
2486 ifp->if_hdrlen = sizeof(struct ether_vlan_header);
2487 ifp->if_capabilities |= IFCAP_VLAN_MTU;
2488 ifp->if_capenable = ifp->if_capabilities;
2490 ifp->if_capabilities |= IFCAP_POLLING;
2499 ether_ifattach(ifp, (caddr_t)eaddr);
2507 ether_ifdetach(ifp);
2528 struct ifnet *ifp;
2534 ifp = sc->dc_ifp;
2537 if (ifp != NULL && ifp->if_capenable & IFCAP_POLLING)
2538 ether_poll_deregister(ifp);
2548 ether_ifdetach(ifp);
2561 if (ifp != NULL)
2562 if_free(ifp);
2861 struct ifnet *ifp;
2868 ifp = sc->dc_ifp;
2874 (ifp->if_drv_flags & IFF_DRV_RUNNING) != 0;
2877 if (ifp->if_capenable & IFCAP_POLLING) {
2917 if_inc_counter(ifp, IFCOUNTER_IERRORS, 1);
2919 if_inc_counter(ifp, IFCOUNTER_COLLISIONS, 1);
2924 ifp->if_drv_flags &= ~IFF_DRV_RUNNING;
2945 if_inc_counter(ifp, IFCOUNTER_IQDROPS, 1);
2948 m->m_pkthdr.rcvif = ifp;
2955 ETHER_ALIGN, ifp, NULL);
2958 if_inc_counter(ifp, IFCOUNTER_IQDROPS, 1);
2965 if_inc_counter(ifp, IFCOUNTER_IPACKETS, 1);
2967 (*ifp->if_input)(ifp, m);
2983 struct ifnet *ifp;
2990 ifp = sc->dc_ifp;
3056 if_inc_counter(ifp, IFCOUNTER_OERRORS, 1);
3058 if_inc_counter(ifp, IFCOUNTER_COLLISIONS, 1);
3060 if_inc_counter(ifp, IFCOUNTER_COLLISIONS, 1);
3062 ifp->if_drv_flags &= ~IFF_DRV_RUNNING;
3067 if_inc_counter(ifp, IFCOUNTER_OPACKETS, 1);
3068 if_inc_counter(ifp, IFCOUNTER_COLLISIONS, (txstat & DC_TXSTAT_COLLCNT) >> 3);
3079 ifp->if_drv_flags &= ~IFF_DRV_OACTIVE;
3093 struct ifnet *ifp;
3098 ifp = sc->dc_ifp;
3155 if (sc->dc_link != 0 && !IFQ_DRV_IS_EMPTY(&ifp->if_snd))
3156 dc_start_locked(ifp);
3228 dc_poll(struct ifnet *ifp, enum poll_cmd cmd, int count)
3230 struct dc_softc *sc = ifp->if_softc;
3235 if (!(ifp->if_drv_flags & IFF_DRV_RUNNING)) {
3243 if (!IFQ_IS_EMPTY(&ifp->if_snd) &&
3244 !(ifp->if_drv_flags & IFF_DRV_OACTIVE))
3245 dc_start_locked(ifp);
3263 if_inc_counter(ifp, IFCOUNTER_IERRORS, (r & 0xffff) + ((r >> 17) & 0x7ff));
3276 if_printf(ifp, "%s: bus error\n", __func__);
3277 ifp->if_drv_flags &= ~IFF_DRV_RUNNING;
3290 struct ifnet *ifp;
3305 ifp = sc->dc_ifp;
3307 if (ifp->if_capenable & IFCAP_POLLING) {
3316 if ((ifp->if_drv_flags & IFF_DRV_RUNNING) == 0)
3345 if_inc_counter(ifp, IFCOUNTER_IERRORS, (r & 0xffff) + ((r >> 17) & 0x7ff));
3352 if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd))
3353 dc_start_locked(ifp);
3356 ifp->if_drv_flags &= ~IFF_DRV_RUNNING;
3367 if (ifp->if_drv_flags & IFF_DRV_RUNNING)
3509 dc_start(struct ifnet *ifp)
3513 sc = ifp->if_softc;
3515 dc_start_locked(ifp);
3527 dc_start_locked(struct ifnet *ifp)
3533 sc = ifp->if_softc;
3537 if ((ifp->if_drv_flags & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) !=
3543 for (queued = 0; !IFQ_DRV_IS_EMPTY(&ifp->if_snd); ) {
3548 ifp->if_drv_flags |= IFF_DRV_OACTIVE;
3551 IFQ_DRV_DEQUEUE(&ifp->if_snd, m_head);
3558 IFQ_DRV_PREPEND(&ifp->if_snd, m_head);
3559 ifp->if_drv_flags |= IFF_DRV_OACTIVE;
3568 BPF_MTAP(ifp, m_head);
3596 struct ifnet *ifp = sc->dc_ifp;
3602 if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0)
3726 if (ifp->if_capenable & IFCAP_POLLING)
3764 ifp->if_drv_flags |= IFF_DRV_RUNNING;
3765 ifp->if_drv_flags &= ~IFF_DRV_OACTIVE;
3790 dc_ifmedia_upd(struct ifnet *ifp)
3795 sc = ifp->if_softc;
3830 dc_ifmedia_sts(struct ifnet *ifp, struct ifmediareq *ifmr)
3836 sc = ifp->if_softc;
3855 dc_ioctl(struct ifnet *ifp, u_long command, caddr_t data)
3857 struct dc_softc *sc = ifp->if_softc;
3865 if (ifp->if_flags & IFF_UP) {
3866 int need_setfilt = (ifp->if_flags ^ sc->dc_if_flags) &
3869 if (ifp->if_drv_flags & IFF_DRV_RUNNING) {
3873 ifp->if_drv_flags &= ~IFF_DRV_RUNNING;
3877 if (ifp->if_drv_flags & IFF_DRV_RUNNING)
3880 sc->dc_if_flags = ifp->if_flags;
3886 if (ifp->if_drv_flags & IFF_DRV_RUNNING)
3893 error = ifmedia_ioctl(ifp, ifr, &mii->mii_media, command);
3898 !(ifp->if_capenable & IFCAP_POLLING)) {
3899 error = ether_poll_register(dc_poll, ifp);
3905 ifp->if_capenable |= IFCAP_POLLING;
3910 ifp->if_capenable & IFCAP_POLLING) {
3911 error = ether_poll_deregister(ifp);
3915 ifp->if_capenable &= ~IFCAP_POLLING;
3922 error = ether_ioctl(ifp, command, data);
3933 struct ifnet *ifp;
3942 ifp = sc->dc_ifp;
3943 if_inc_counter(ifp, IFCOUNTER_OERRORS, 1);
3946 ifp->if_drv_flags &= ~IFF_DRV_RUNNING;
3949 if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd))
3950 dc_start_locked(ifp);
3960 struct ifnet *ifp;
3968 ifp = sc->dc_ifp;
3977 ifp->if_drv_flags &= ~(IFF_DRV_RUNNING | IFF_DRV_OACTIVE);
4060 struct ifnet *ifp;
4063 ifp = sc->dc_ifp;
4067 if (ifp->if_flags & IFF_UP)