TUN2IFP
ifp = TUN2IFP(tp);
ifp = TUN2IFP(tp);
struct ifnet *ifp = TUN2IFP(tp);
if (TUN2IFP(tp)->if_flags & IFF_UP)
TUN2IFP(tp)->if_flags &=
TUN2IFP(tp)->if_flags |= *(int *)data;
strlcpy(ifrp->ifr_name, TUN2IFP(tp)->if_xname, IFNAMSIZ);
if (TUN2IFP(tp)->if_type != tunp->type)
if (TUN2IFP(tp)->if_mtu != tunp->mtu) {
strlcpy(ifr.ifr_name, if_name(TUN2IFP(tp)), IFNAMSIZ);
CURVNET_SET(TUN2IFP(tp)->if_vnet);
error = ifhwioctl(SIOCSIFMTU, TUN2IFP(tp),
TUN2IFP(tp)->if_baudrate = tunp->baudrate;
tunp->mtu = TUN2IFP(tp)->if_mtu;
tunp->type = TUN2IFP(tp)->if_type;
tunp->baudrate = TUN2IFP(tp)->if_baudrate;
if (!IFQ_IS_EMPTY(&TUN2IFP(tp)->if_snd)) {
IFQ_LOCK(&TUN2IFP(tp)->if_snd);
IFQ_POLL_NOLOCK(&TUN2IFP(tp)->if_snd, mb);
IFQ_UNLOCK(&TUN2IFP(tp)->if_snd);
struct ifnet *ifp = TUN2IFP(tp);
ifp = TUN2IFP(tp);
ifp = TUN2IFP(tp);
ifp = TUN2IFP(tp);
struct ifnet *ifp = TUN2IFP(tp);
struct ifnet *ifp = TUN2IFP(tp);
struct ifnet *ifp = TUN2IFP(tp);
struct ifnet *ifp = TUN2IFP(tp);
CURVNET_SET(TUN2IFP(tp)->if_vnet);
ether_ifdetach(TUN2IFP(tp));
bpfdetach(TUN2IFP(tp));
if_detach(TUN2IFP(tp));
TUN2IFP(tp)->if_softc = NULL;
free_unr(tp->tun_drv->unrhdr, TUN2IFP(tp)->if_dunit);
if_free(TUN2IFP(tp));