Lines Matching defs:vt
607 struct vxlan_tep *vt = arg;
655 mtx_enter(&vt->vt_mtx);
656 p = RBT_FIND(vxlan_peers, &vt->vt_peers, &key);
659 p = RBT_FIND(vxlan_peers, &vt->vt_peers, &key);
663 mtx_leave(&vt->vt_mtx);
878 struct vxlan_tep *vt;
880 TAILQ_FOREACH(vt, &vxlan_teps, vt_entry) {
881 if (sc->sc_af == vt->vt_af &&
882 sc->sc_rdomain == vt->vt_rdomain &&
883 memcmp(addr, &vt->vt_addr, sizeof(*addr)) == 0 &&
884 sc->sc_port == vt->vt_port)
885 return (vt);
896 struct vxlan_tep *vt;
904 vt = vxlan_tep_get(sc, addr);
905 if (vt != NULL) {
908 mtx_enter(&vt->vt_mtx);
909 op = RBT_INSERT(vxlan_peers, &vt->vt_peers, p);
910 mtx_leave(&vt->vt_mtx);
918 vt = malloc(sizeof(*vt), M_DEVBUF, M_NOWAIT|M_ZERO);
919 if (vt == NULL)
922 vt->vt_af = sc->sc_af;
923 vt->vt_rdomain = sc->sc_rdomain;
924 vt->vt_addr = *addr;
925 vt->vt_port = sc->sc_port;
927 mtx_init(&vt->vt_mtx, IPL_SOFTNET);
928 RBT_INIT(vxlan_peers, &vt->vt_peers);
929 RBT_INSERT(vxlan_peers, &vt->vt_peers, p);
931 error = socreate(vt->vt_af, &so, SOCK_DGRAM, IPPROTO_UDP);
937 sotoinpcb(so)->inp_upcall_arg = vt;
941 m.m_len = sizeof(vt->vt_rdomain);
942 *mtod(&m, unsigned int *) = vt->vt_rdomain;
948 switch (vt->vt_af) {
955 sin->sin_port = vt->vt_port;
972 unhandled_af(vt->vt_af);
982 TAILQ_INSERT_TAIL(&vxlan_teps, vt, vt_entry);
984 vt->vt_so = so;
991 free(vt, M_DEVBUF, sizeof(*vt));
999 struct vxlan_tep *vt;
1002 vt = vxlan_tep_get(sc, addr);
1003 if (vt == NULL)
1006 mtx_enter(&vt->vt_mtx);
1007 RBT_REMOVE(vxlan_peers, &vt->vt_peers, p);
1008 empty = RBT_EMPTY(vxlan_peers, &vt->vt_peers);
1009 mtx_leave(&vt->vt_mtx);
1015 TAILQ_REMOVE(&vxlan_teps, vt, vt_entry);
1017 soclose(vt->vt_so, MSG_DONTWAIT);
1018 free(vt, M_DEVBUF, sizeof(*vt));