Lines Matching refs:ifp

79 	struct ifnet	*ifp;		/* per-interface network data */
90 static void ng_eiface_start(struct ifnet *ifp);
91 static int ng_eiface_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data);
93 static void ng_eiface_print_ioctl(struct ifnet *ifp, int cmd, caddr_t data);
131 ng_eiface_ioctl(struct ifnet *ifp, u_long command, caddr_t data)
133 const priv_p priv = (priv_p)ifp->if_softc;
138 ng_eiface_print_ioctl(ifp, command, data);
144 error = ether_ioctl(ifp, command, data);
155 if (ifp->if_flags & IFF_UP) {
156 if (!(ifp->if_drv_flags & IFF_DRV_RUNNING)) {
157 ifp->if_drv_flags &= ~(IFF_DRV_OACTIVE);
158 ifp->if_drv_flags |= IFF_DRV_RUNNING;
161 if (ifp->if_drv_flags & IFF_DRV_RUNNING)
162 ifp->if_drv_flags &= ~(IFF_DRV_RUNNING |
173 ifp->if_mtu = ifr->ifr_mtu;
179 error = ifmedia_ioctl(ifp, ifr, &priv->media, command);
202 struct ifnet *ifp = sc->ifp;
204 ifp->if_drv_flags |= IFF_DRV_RUNNING;
205 ifp->if_drv_flags &= ~IFF_DRV_OACTIVE;
216 struct ifnet *ifp = arg1;
217 const priv_p priv = (priv_p)ifp->if_softc;
223 if (!((ifp->if_flags & IFF_UP) &&
224 (ifp->if_drv_flags & IFF_DRV_RUNNING)))
231 IF_DEQUEUE(&ifp->if_snd, m);
242 BPF_MTAP(ifp, m);
244 if (ifp->if_flags & IFF_MONITOR) {
245 ifp->if_ipackets++;
260 ifp->if_opackets++;
262 ifp->if_oerrors++;
265 ifp->if_drv_flags &= ~IFF_DRV_OACTIVE;
284 ng_eiface_start(struct ifnet *ifp)
286 const priv_p priv = (priv_p)ifp->if_softc;
289 if (ifp->if_drv_flags & IFF_DRV_OACTIVE)
292 ifp->if_drv_flags |= IFF_DRV_OACTIVE;
294 if (ng_send_fn(priv->node, NULL, &ng_eiface_start2, ifp, 0) != 0)
295 ifp->if_drv_flags &= ~IFF_DRV_OACTIVE;
304 ng_eiface_print_ioctl(struct ifnet *ifp, int command, caddr_t data)
325 ifp->if_xname,
337 ng_eiface_mediachange(struct ifnet *ifp)
339 const priv_p priv = (priv_p)ifp->if_softc;
345 ifp->if_baudrate = ifmedia_baudrate(IFM_ETHER | IFM_1000_T);
347 ifp->if_baudrate = ifmedia_baudrate(ifm->ifm_media);
353 ng_eiface_mediastatus(struct ifnet *ifp, struct ifmediareq *ifmr)
355 const priv_p priv = (priv_p)ifp->if_softc;
378 struct ifnet *ifp;
385 ifp = priv->ifp = if_alloc(IFT_ETHER);
386 if (ifp == NULL) {
392 ifp->if_softc = priv;
402 if_initname(ifp, NG_EIFACE_EIFACE_NAME, priv->unit);
403 ifp->if_init = ng_eiface_init;
404 ifp->if_output = ether_output;
405 ifp->if_start = ng_eiface_start;
406 ifp->if_ioctl = ng_eiface_ioctl;
407 ifp->if_snd.ifq_maxlen = ifqmaxlen;
408 ifp->if_flags = (IFF_SIMPLEX | IFF_BROADCAST | IFF_MULTICAST);
409 ifp->if_capabilities = IFCAP_VLAN_MTU | IFCAP_JUMBO_MTU;
410 ifp->if_capenable = IFCAP_VLAN_MTU | IFCAP_JUMBO_MTU;
425 if (ng_name_node(node, ifp->if_xname) != 0)
427 ifp->if_xname);
430 ether_ifattach(ifp, eaddr);
431 ifp->if_baudrate = ifmedia_baudrate(IFM_ETHER | IFM_1000_T);
444 struct ifnet *ifp = priv->ifp;
455 CURVNET_SET_QUIET(ifp->if_vnet);
456 if_link_state_change(ifp, LINK_STATE_UP);
469 struct ifnet *const ifp = priv->ifp;
485 error = if_setlladdr(priv->ifp,
487 EVENTHANDLER_INVOKE(iflladdr_event, priv->ifp);
497 strlcpy(resp->data, ifp->if_xname, IFNAMSIZ);
508 if_addr_rlock(ifp);
509 TAILQ_FOREACH(ifa, &ifp->if_addrhead, ifa_link)
513 if_addr_runlock(ifp);
520 TAILQ_FOREACH(ifa, &ifp->if_addrhead, ifa_link) {
525 ifp->if_xname);
532 if_addr_runlock(ifp);
542 CURVNET_SET_QUIET(ifp->if_vnet);
546 if_link_state_change(ifp, LINK_STATE_UP);
550 if_link_state_change(ifp, LINK_STATE_DOWN);
573 struct ifnet *const ifp = priv->ifp;
579 if (!((ifp->if_flags & IFF_UP) &&
580 (ifp->if_drv_flags & IFF_DRV_RUNNING))) {
592 m->m_pkthdr.rcvif = ifp;
595 ifp->if_ipackets++;
597 (*ifp->if_input)(ifp, m);
610 struct ifnet *const ifp = priv->ifp;
616 CURVNET_SET_QUIET(ifp->if_vnet);
618 ether_ifdetach(ifp);
619 if_free(ifp);
638 CURVNET_SET_QUIET(priv->ifp->if_vnet);
639 if_link_state_change(priv->ifp, LINK_STATE_DOWN);