Lines Matching defs:fe

608 	struct vxlan_ftable_entry *fe, *tfe;
612 LIST_FOREACH_SAFE(fe, &sc->vxl_ftable[i], vxlfe_hash, tfe) {
613 if (all || VXLAN_FE_IS_DYNAMIC(fe))
614 vxlan_ftable_entry_destroy(sc, fe);
622 struct vxlan_ftable_entry *fe, *tfe;
628 LIST_FOREACH_SAFE(fe, &sc->vxl_ftable[i], vxlfe_hash, tfe) {
629 if (VXLAN_FE_IS_DYNAMIC(fe) &&
630 time_uptime >= fe->vxlfe_expire)
631 vxlan_ftable_entry_destroy(sc, fe);
641 struct vxlan_ftable_entry *fe;
652 fe = vxlan_ftable_entry_lookup(sc, mac);
653 if (fe != NULL) {
654 fe->vxlfe_expire = time_uptime + sc->vxl_ftable_timeout;
656 if (!VXLAN_FE_IS_DYNAMIC(fe) ||
657 vxlan_sockaddr_in_equal(&fe->vxlfe_raddr, &vxlsa->sa))
665 vxlan_sockaddr_in_copy(&fe->vxlfe_raddr, &vxlsa->sa);
681 fe = vxlan_ftable_entry_alloc();
682 if (fe == NULL)
685 vxlan_ftable_entry_init(sc, fe, mac, &vxlsa->sa, VXLAN_FE_FLAG_DYNAMIC);
688 error = vxlan_ftable_entry_insert(sc, fe);
728 struct vxlan_ftable_entry *fe;
745 LIST_FOREACH(fe, &sc->vxl_ftable[i], vxlfe_hash) {
748 vxlan_ftable_entry_dump(fe, &sb);
766 struct vxlan_ftable_entry *fe;
768 fe = malloc(sizeof(*fe), M_VXLAN, M_ZERO | M_NOWAIT);
770 return (fe);
774 vxlan_ftable_entry_free(struct vxlan_ftable_entry *fe)
777 free(fe, M_VXLAN);
781 vxlan_ftable_entry_init(struct vxlan_softc *sc, struct vxlan_ftable_entry *fe,
785 fe->vxlfe_flags = flags;
786 fe->vxlfe_expire = time_uptime + sc->vxl_ftable_timeout;
787 memcpy(fe->vxlfe_mac, mac, ETHER_ADDR_LEN);
788 vxlan_sockaddr_copy(&fe->vxlfe_raddr, sa);
793 struct vxlan_ftable_entry *fe)
797 LIST_REMOVE(fe, vxlfe_hash);
798 vxlan_ftable_entry_free(fe);
803 struct vxlan_ftable_entry *fe)
810 hash = VXLAN_SC_FTABLE_HASH(sc, fe->vxlfe_mac);
814 LIST_INSERT_HEAD(&sc->vxl_ftable[hash], fe, vxlfe_hash);
819 dir = vxlan_ftable_addr_cmp(fe->vxlfe_mac, lfe->vxlfe_mac);
823 LIST_INSERT_BEFORE(lfe, fe, vxlfe_hash);
826 LIST_INSERT_AFTER(lfe, fe, vxlfe_hash);
841 struct vxlan_ftable_entry *fe;
848 LIST_FOREACH(fe, &sc->vxl_ftable[hash], vxlfe_hash) {
849 dir = vxlan_ftable_addr_cmp(mac, fe->vxlfe_mac);
851 return (fe);
860 vxlan_ftable_entry_dump(struct vxlan_ftable_entry *fe, struct sbuf *sb)
867 sa = &fe->vxlfe_raddr;
871 sbuf_printf(sb, "%c 0x%02X ", VXLAN_FE_IS_DYNAMIC(fe) ? 'D' : 'S',
872 fe->vxlfe_flags);
875 sbuf_printf(sb, "%02X:", fe->vxlfe_mac[i]);
876 sbuf_printf(sb, "%02X ", fe->vxlfe_mac[i]);
888 sbuf_printf(sb, "%08jd", (intmax_t)fe->vxlfe_expire);
2223 struct vxlan_ftable_entry *fe;
2245 fe = vxlan_ftable_entry_alloc();
2246 if (fe == NULL)
2252 vxlan_ftable_entry_init(sc, fe, cmd->vxlcmd_mac, &vxlsa.sa,
2256 error = vxlan_ftable_entry_insert(sc, fe);
2260 vxlan_ftable_entry_free(fe);
2269 struct vxlan_ftable_entry *fe;
2275 fe = vxlan_ftable_entry_lookup(sc, cmd->vxlcmd_mac);
2276 if (fe != NULL) {
2277 vxlan_ftable_entry_destroy(sc, fe);
2753 struct vxlan_ftable_entry *fe;
2760 fe = NULL;
2781 fe = vxlan_ftable_entry_lookup(sc, eh->ether_dhost);
2782 if (fe == NULL)
2783 fe = &sc->vxl_default_fe;
2784 vxlan_sockaddr_copy(&vxlsa, &fe->vxlfe_raddr.sa);