Lines Matching refs:ifp
74 virtif_create(struct ifnet *ifp)
78 struct virtif_sc *sc = ifp->if_softc;
82 panic("%s: already created", ifp->if_xname);
93 ether_ifattach(ifp, enaddr);
95 aprint_normal_ifnet(ifp, "Ethernet address %s\n", enaddrstr);
97 IFQ_SET_READY(&ifp->if_snd);
106 struct ifnet *ifp;
111 ifp = &sc->sc_ec.ec_if;
113 if_initname(ifp, VIF_NAME, num);
114 ifp->if_softc = sc;
116 ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST;
117 ifp->if_init = virtif_init;
118 ifp->if_ioctl = virtif_ioctl;
119 ifp->if_start = virtif_start;
120 ifp->if_stop = virtif_stop;
121 ifp->if_mtu = ETHERMTU;
122 ifp->if_dlt = DLT_EN10MB;
124 if_initialize(ifp);
125 if_register(ifp);
140 error = virtif_create(ifp);
143 if_detach(ifp);
148 ifp->if_softc = NULL;
156 virtif_unclone(struct ifnet *ifp)
158 struct virtif_sc *sc = ifp->if_softc;
161 if (ifp->if_flags & IFF_UP)
167 virtif_stop(ifp, 1);
168 if_down(ifp);
174 ether_ifdetach(ifp);
175 if_detach(ifp);
181 virtif_init(struct ifnet *ifp)
183 struct virtif_sc *sc = ifp->if_softc;
188 ifp->if_flags |= IFF_RUNNING;
193 virtif_ioctl(struct ifnet *ifp, u_long cmd, void *data)
195 struct virtif_sc *sc = ifp->if_softc;
230 if (ifp->if_flags & IFF_UP) {
264 rv = virtif_create(ifp);
274 rv = ether_ioctl(ifp, cmd, data);
290 virtif_start(struct ifnet *ifp)
292 struct virtif_sc *sc = ifp->if_softc;
297 ifp->if_flags |= IFF_OACTIVE;
300 IF_DEQUEUE(&ifp->if_snd, m0);
316 bpf_mtap(ifp, m0, BPF_D_OUT);
321 if_statinc(ifp, if_opackets);
324 ifp->if_flags &= ~IFF_OACTIVE;
328 virtif_stop(struct ifnet *ifp, int disable)
333 ifp->if_flags &= ~IFF_RUNNING;
339 struct ifnet *ifp = &sc->sc_ec.ec_if;
348 if ((ifp->if_flags & IFF_RUNNING) == 0)
361 aprint_verbose_ifnet(ifp, "m_copyback failed\n");
371 if (memcmp(eth->ether_dhost, CLLADDR(ifp->if_sadl),
376 } else if (ifp->if_flags & IFF_PROMISC) {
385 m_set_rcvif(m, ifp);
389 if_input(ifp, m);