From 40cfead11a8617c58ccb1dc4a551c238f64c7fe2 Mon Sep 17 00:00:00 2001 From: thompsa Date: Sat, 20 Sep 2008 19:38:37 +0000 Subject: Fix clone destruction, can't use the simple api because that does not remove the ifnet from cloner's list. Expose if_clone_destroyif api to do this. Submitted by: sam --- sys/net/if_clone.c | 3 +-- sys/net/if_clone.h | 1 + 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'sys/net') diff --git a/sys/net/if_clone.c b/sys/net/if_clone.c index cc52126..8ffb758 100644 --- a/sys/net/if_clone.c +++ b/sys/net/if_clone.c @@ -53,7 +53,6 @@ static void if_clone_free(struct if_clone *ifc); static int if_clone_createif(struct if_clone *ifc, char *name, size_t len, caddr_t params); -static int if_clone_destroyif(struct if_clone *ifc, struct ifnet *ifp); static struct mtx if_cloners_mtx; static int if_cloners_count; @@ -199,7 +198,7 @@ if_clone_destroy(const char *name) /* * Destroy a clone network interface. */ -static int +int if_clone_destroyif(struct if_clone *ifc, struct ifnet *ifp) { int err; diff --git a/sys/net/if_clone.h b/sys/net/if_clone.h index af3395f..280a545 100644 --- a/sys/net/if_clone.h +++ b/sys/net/if_clone.h @@ -75,6 +75,7 @@ void if_clone_detach(struct if_clone *); int if_clone_create(char *, size_t, caddr_t); int if_clone_destroy(const char *); +int if_clone_destroyif(struct if_clone *, struct ifnet *); int if_clone_list(struct if_clonereq *); int ifc_name2unit(const char *name, int *unit); -- cgit v1.1