Lines Matching refs:mne

3648 	struct mac_nat_entry    *mne;  in bridge_mac_nat_entry_out()  local
3652 LIST_FOREACH(mne, list, mne_list) { in bridge_mac_nat_entry_out()
3657 "%s", mne->mne_bif->bif_ifp->if_xname); in bridge_mac_nat_entry_out()
3658 memcpy(ifbmne.ifbmne_mac, mne->mne_mac, in bridge_mac_nat_entry_out()
3661 if (now < mne->mne_expire) { in bridge_mac_nat_entry_out()
3662 ifbmne.ifbmne_expire = mne->mne_expire - now; in bridge_mac_nat_entry_out()
3666 if ((mne->mne_flags & MNE_FLAGS_IPV6) != 0) { in bridge_mac_nat_entry_out()
3668 ifbmne.ifbmne_ip6_addr = mne->mne_ip6; in bridge_mac_nat_entry_out()
3671 ifbmne.ifbmne_ip_addr = mne->mne_ip; in bridge_mac_nat_entry_out()
3701 struct mac_nat_entry *mne; in bridge_ioctl_gmnelist() local
3707 LIST_FOREACH(mne, &sc->sc_mne_list, mne_list) { in bridge_ioctl_gmnelist()
3710 LIST_FOREACH(mne, &sc->sc_mne_list_v6, mne_list) { in bridge_ioctl_gmnelist()
7569 mac_nat_entry_print2(struct mac_nat_entry *mne,
7577 af = ((mne->mne_flags & MNE_FLAGS_IPV6) != 0) ? AF_INET6 : AF_INET;
7578 ether_ntop(etopbuf, sizeof(etopbuf), mne->mne_mac);
7579 (void)inet_ntop(af, &mne->mne_u, ntopbuf, sizeof(ntopbuf));
7588 ifname, msg1, space, msg2, mne, mne->mne_bif->bif_ifp->if_xname,
7593 mac_nat_entry_print(struct mac_nat_entry *mne,
7596 mac_nat_entry_print2(mne, ifname, msg, NULL);
7602 struct mac_nat_entry *mne;
7608 LIST_FOREACH(mne, &sc->sc_mne_list, mne_list) {
7609 if (mne->mne_ip.s_addr == s_addr) {
7611 mac_nat_entry_print(mne, sc->sc_if_xname,
7614 ret_mne = mne;
7621 LIST_FOREACH(mne, &sc->sc_mne_list_v6, mne_list) {
7622 if (IN6_ARE_ADDR_EQUAL(&mne->mne_ip6, ip6)) {
7624 mac_nat_entry_print(mne, sc->sc_if_xname,
7627 ret_mne = mne;
7637 struct mac_nat_entry *mne, const char *reason)
7639 LIST_REMOVE(mne, mne_list);
7641 mac_nat_entry_print(mne, sc->sc_if_xname, reason);
7643 zfree(bridge_mne_pool, mne);
7652 struct mac_nat_entry *mne;
7658 mne = zalloc_noblock(bridge_mne_pool);
7659 if (mne == NULL) {
7664 bzero(mne, sizeof(*mne));
7665 bcopy(eaddr, mne->mne_mac, sizeof(mne->mne_mac));
7666 mne->mne_bif = bif;
7668 bcopy(ip, &mne->mne_ip, sizeof(mne->mne_ip));
7671 bcopy(ip, &mne->mne_ip6, sizeof(mne->mne_ip6));
7672 mne->mne_flags |= MNE_FLAGS_IPV6;
7675 LIST_INSERT_HEAD(list, mne, mne_list);
7676 mne->mne_expire = (unsigned long)net_uptime() + sc->sc_brttimeout;
7678 mac_nat_entry_print(mne, sc->sc_if_xname, "created");
7680 return mne;
7687 struct mac_nat_entry *mne;
7689 mne = bridge_lookup_mac_nat_entry(sc, af, ip);
7690 if (mne != NULL) {
7693 if (mne->mne_bif == mac_nat_bif) {
7696 if (mne->mne_bif != bif) {
7697 mac_nat_entry_print2(mne,
7702 } else if (mne->mne_bif != bif) {
7703 const char *old_if = mne->mne_bif->bif_ifp->if_xname;
7705 mne->mne_bif = bif;
7707 mac_nat_entry_print2(mne,
7711 bcopy(eaddr, mne->mne_mac, sizeof(mne->mne_mac));
7713 mne->mne_expire = (unsigned long)net_uptime() +
7716 mne = bridge_create_mac_nat_entry(sc, bif, af, ip, eaddr);
7718 return mne;
7725 struct mac_nat_entry *mne;
7728 LIST_FOREACH_SAFE(mne, list, mne_list, tmne) {
7729 if (bif != NULL && mne->mne_bif != bif) {
7732 bridge_destroy_mac_nat_entry(sc, mne, "flushed");
7814 struct mac_nat_entry *mne;
7817 LIST_FOREACH_SAFE(mne, list, mne_list, tmne) {
7818 if (now >= mne->mne_expire) {
7819 bridge_destroy_mac_nat_entry(sc, mne, "aged out");
7911 struct mac_nat_entry *mne = NULL;
7931 mne = bridge_lookup_mac_nat_entry(sc, AF_INET, &tpa);
7933 if (mne != NULL) {
7943 mne->mne_mac);
7947 mne->mne_bif->bif_ifp->if_xname,
7950 bcopy(mne->mne_mac, ea->arp_tha, sizeof(ea->arp_tha));
7959 mne = bridge_lookup_mac_nat_entry(sc, AF_INET, &spa);
7964 return mne;
7974 struct mac_nat_entry *mne = NULL;
7996 mne = bridge_update_mac_nat_entry(sc, bif, AF_INET, &ip, ea->arp_sha);
7997 if (mnr != NULL && mne != NULL) {
8069 struct mac_nat_entry *mne = NULL;
8081 mne = bridge_lookup_mac_nat_entry(sc, AF_INET, &dst);
8083 return mne;
8151 struct mac_nat_entry *mne = NULL;
8167 mne = bridge_update_mac_nat_entry(sc, bif, AF_INET, &ip,
8414 struct mac_nat_entry *mne = NULL;
8426 mne = bridge_lookup_mac_nat_entry(sc, AF_INET6, &dst);
8429 return mne;
8491 struct mac_nat_entry *mne = NULL;
8501 mne = bridge_mac_nat_arp_input(sc, data);
8505 mne = bridge_mac_nat_ip_input(sc, data);
8510 mne = bridge_mac_nat_ipv6_input(sc, data);
8516 if (mne != NULL) {
8522 bcopy(mne->mne_mac, eh->ether_dhost,
8525 dst_if = mne->mne_bif->bif_ifp;
8526 *is_input = (mne->mne_bif == sc->sc_mac_nat_bif);