MCPcopy Create free account
hub / github.com/F-Stack/f-stack / vxlan_socket_destroy

Function vxlan_socket_destroy

freebsd/net/if_vxlan.c:894–923  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

892}
893
894static void
895vxlan_socket_destroy(struct vxlan_socket *vso)
896{
897 struct socket *so;
898#ifdef INVARIANTS
899 int i;
900 struct vxlan_socket_mc_info *mc;
901
902 for (i = 0; i < VXLAN_SO_MC_MAX_GROUPS; i++) {
903 mc = &vso->vxlso_mc[i];
904 KASSERT(mc->vxlsomc_gaddr.sa.sa_family == AF_UNSPEC,
905 ("%s: socket %p mc[%d] still has address",
906 __func__, vso, i));
907 }
908
909 for (i = 0; i < VXLAN_SO_VNI_HASH_SIZE; i++) {
910 KASSERT(LIST_EMPTY(&vso->vxlso_vni_hash[i]),
911 ("%s: socket %p vni_hash[%d] not empty",
912 __func__, vso, i));
913 }
914#endif
915 so = vso->vxlso_sock;
916 if (so != NULL) {
917 vso->vxlso_sock = NULL;
918 soclose(so);
919 }
920
921 rm_destroy(&vso->vxlso_lock);
922 free(vso, M_VXLAN);
923}
924
925static void
926vxlan_socket_release(struct vxlan_socket *vso)

Callers 2

vxlan_socket_releaseFunction · 0.85
vxlan_socket_createFunction · 0.85

Calls 3

socloseFunction · 0.85
rm_destroyFunction · 0.50
freeFunction · 0.50

Tested by

no test coverage detected