示例#1
0
static int
loop_clone_destroy(struct ifnet *ifp)
{

	if (ifp == lo0ifp)
		return (EPERM);

#ifdef MBUFTRACE
#ifdef T2EX
	if ( ifp->if_mowner != NULL ) {
#endif
	MOWNER_DETACH(ifp->if_mowner);
	free(ifp->if_mowner, M_DEVBUF);
#ifdef T2EX
	}
#endif
#endif

#if NBPFILTER > 0
	bpfdetach(ifp);
#endif
	if_detach(ifp);

	free(ifp, M_DEVBUF);

	return (0);
}
示例#2
0
static int
loop_clone_destroy(struct ifnet *ifp)
{

    if (ifp == lo0ifp)
        return (EPERM);

#ifdef MBUFTRACE
    MOWNER_DETACH(ifp->if_mowner);
    free(ifp->if_mowner, M_DEVBUF);
#endif

    bpf_detach(ifp);
    if_detach(ifp);

    if_free(ifp);

    return (0);
}
示例#3
0
static int
loop_clone_destroy_lo0(void)
{
	struct ifnet *ifp = lo0ifp;

#ifdef MBUFTRACE
	if ( ifp->if_mowner != NULL ) {
		MOWNER_DETACH(ifp->if_mowner);
		free(ifp->if_mowner, M_DEVBUF);
	}
#endif

#if NBPFILTER > 0
	bpfdetach(ifp);
#endif
	if_detach(ifp);

	free(ifp, M_DEVBUF);

	return (0);
}