diff options
author | Brooks Davis <brooks@FreeBSD.org> | 2004-07-22 22:50:15 +0000 |
---|---|---|
committer | Brooks Davis <brooks@FreeBSD.org> | 2004-07-22 22:50:15 +0000 |
commit | b4e9f8379e8158fc7262cb86f9bd853f7836a8aa (patch) | |
tree | dac75c6710ae34c0b959d61d2321fe2aecf0b276 | |
parent | 2eed2482ba65b7dc6c89b25b184de848c891c481 (diff) | |
download | src-b4e9f8379e8158fc7262cb86f9bd853f7836a8aa.tar.gz src-b4e9f8379e8158fc7262cb86f9bd853f7836a8aa.zip |
Actually free the unit when destroying the interface.
Reported by: la at delfi.lt
Tested by: la at delfi.lt
PR: 68618
Notes
Notes:
svn path=/head/; revision=132557
-rw-r--r-- | sys/net/if_vlan.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/sys/net/if_vlan.c b/sys/net/if_vlan.c index 4f6e0bd98585..55eb541d4f5f 100644 --- a/sys/net/if_vlan.c +++ b/sys/net/if_vlan.c @@ -421,8 +421,11 @@ vlan_clone_create(struct if_clone *ifc, char *name, size_t len) static int vlan_clone_destroy(struct if_clone *ifc, struct ifnet *ifp) { + int unit; struct ifvlan *ifv = ifp->if_softc; + unit = ifp->if_dunit; + VLAN_LOCK(); LIST_REMOVE(ifv, ifv_list); vlan_unconfig(ifp); @@ -432,6 +435,8 @@ vlan_clone_destroy(struct if_clone *ifc, struct ifnet *ifp) free(ifv, M_VLAN); + ifc_free_unit(ifc, unit); + return (0); } |