Author: luigi
Date: Sun Jul 19 18:06:30 2015
New Revision: 285698
URL: https://svnweb.freebsd.org/changeset/base/285698

Log:
  properly destroy persistent vale ports

Modified:
  head/sys/dev/netmap/netmap_vale.c

Modified: head/sys/dev/netmap/netmap_vale.c
==============================================================================
--- head/sys/dev/netmap/netmap_vale.c   Sun Jul 19 18:05:49 2015        
(r285697)
+++ head/sys/dev/netmap/netmap_vale.c   Sun Jul 19 18:06:30 2015        
(r285698)
@@ -506,17 +506,6 @@ netmap_vp_dtor(struct netmap_adapter *na
        }
 }
 
-/* nm_dtor callback for persistent VALE ports */
-static void
-netmap_persist_vp_dtor(struct netmap_adapter *na)
-{
-       struct ifnet *ifp = na->ifp;
-
-       netmap_vp_dtor(na);
-       na->ifp = NULL;
-       nm_vi_detach(ifp);
-}
-
 /* remove a persistent VALE port from the system */
 static int
 nm_vi_destroy(const char *name)
@@ -546,6 +535,7 @@ nm_vi_destroy(const char *name)
         */
        if_rele(ifp);
        netmap_detach(ifp);
+       nm_vi_detach(ifp);
        return 0;
 
 err:
@@ -587,7 +577,6 @@ nm_vi_create(struct nmreq *nmr)
        }
        /* persist-specific routines */
        vpna->up.nm_bdg_ctl = netmap_vp_bdg_ctl;
-       vpna->up.nm_dtor = netmap_persist_vp_dtor;
        netmap_adapter_get(&vpna->up);
        NMG_UNLOCK();
        D("created %s", ifp->if_xname);
@@ -1823,6 +1812,11 @@ netmap_vp_create(struct nmreq *nmr, stru
                D("max frame size %u", vpna->mfs);
 
        na->na_flags |= NAF_BDG_MAYSLEEP;
+       /* persistent VALE ports look like hw devices
+        * with a native netmap adapter
+        */
+       if (ifp)
+               na->na_flags |= NAF_NATIVE;
        na->nm_txsync = netmap_vp_txsync;
        na->nm_rxsync = netmap_vp_rxsync;
        na->nm_register = netmap_vp_reg;
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to