Lines Matching refs:mne

3820 	struct mac_nat_entry    *mne;  in bridge_mac_nat_entry_out()  local
3824 LIST_FOREACH(mne, list, mne_list) { in bridge_mac_nat_entry_out()
3829 "%s", mne->mne_bif->bif_ifp->if_xname); in bridge_mac_nat_entry_out()
3830 memcpy(ifbmne.ifbmne_mac, mne->mne_mac, in bridge_mac_nat_entry_out()
3833 if (now < mne->mne_expire) { in bridge_mac_nat_entry_out()
3834 ifbmne.ifbmne_expire = mne->mne_expire - now; in bridge_mac_nat_entry_out()
3838 if ((mne->mne_flags & MNE_FLAGS_IPV6) != 0) { in bridge_mac_nat_entry_out()
3840 ifbmne.ifbmne_ip6_addr = mne->mne_ip6; in bridge_mac_nat_entry_out()
3843 ifbmne.ifbmne_ip_addr = mne->mne_ip; in bridge_mac_nat_entry_out()
3873 struct mac_nat_entry *mne; in bridge_ioctl_gmnelist() local
3879 LIST_FOREACH(mne, &sc->sc_mne_list, mne_list) { in bridge_ioctl_gmnelist()
3882 LIST_FOREACH(mne, &sc->sc_mne_list_v6, mne_list) { in bridge_ioctl_gmnelist()
7780 mac_nat_entry_print2(struct mac_nat_entry *mne,
7788 af = ((mne->mne_flags & MNE_FLAGS_IPV6) != 0) ? AF_INET6 : AF_INET;
7789 ether_ntop(etopbuf, sizeof(etopbuf), mne->mne_mac);
7790 (void)inet_ntop(af, &mne->mne_u, ntopbuf, sizeof(ntopbuf));
7799 ifname, msg1, space, msg2, mne, mne->mne_bif->bif_ifp->if_xname,
7804 mac_nat_entry_print(struct mac_nat_entry *mne,
7807 mac_nat_entry_print2(mne, ifname, msg, NULL);
7813 struct mac_nat_entry *mne;
7819 LIST_FOREACH(mne, &sc->sc_mne_list, mne_list) {
7820 if (mne->mne_ip.s_addr == s_addr) {
7822 mac_nat_entry_print(mne, sc->sc_if_xname,
7825 ret_mne = mne;
7832 LIST_FOREACH(mne, &sc->sc_mne_list_v6, mne_list) {
7833 if (IN6_ARE_ADDR_EQUAL(&mne->mne_ip6, ip6)) {
7835 mac_nat_entry_print(mne, sc->sc_if_xname,
7838 ret_mne = mne;
7848 struct mac_nat_entry *mne, const char *reason)
7850 LIST_REMOVE(mne, mne_list);
7852 mac_nat_entry_print(mne, sc->sc_if_xname, reason);
7854 zfree(bridge_mne_pool, mne);
7863 struct mac_nat_entry *mne;
7869 mne = zalloc_noblock(bridge_mne_pool);
7870 if (mne == NULL) {
7875 bzero(mne, sizeof(*mne));
7876 bcopy(eaddr, mne->mne_mac, sizeof(mne->mne_mac));
7877 mne->mne_bif = bif;
7879 bcopy(ip, &mne->mne_ip, sizeof(mne->mne_ip));
7882 bcopy(ip, &mne->mne_ip6, sizeof(mne->mne_ip6));
7883 mne->mne_flags |= MNE_FLAGS_IPV6;
7886 LIST_INSERT_HEAD(list, mne, mne_list);
7887 mne->mne_expire = (unsigned long)net_uptime() + sc->sc_brttimeout;
7889 mac_nat_entry_print(mne, sc->sc_if_xname, "created");
7891 return mne;
7898 struct mac_nat_entry *mne;
7900 mne = bridge_lookup_mac_nat_entry(sc, af, ip);
7901 if (mne != NULL) {
7904 if (mne->mne_bif == mac_nat_bif) {
7907 if (mne->mne_bif != bif) {
7908 mac_nat_entry_print2(mne,
7913 } else if (mne->mne_bif != bif) {
7914 const char *old_if = mne->mne_bif->bif_ifp->if_xname;
7916 mne->mne_bif = bif;
7918 mac_nat_entry_print2(mne,
7922 bcopy(eaddr, mne->mne_mac, sizeof(mne->mne_mac));
7924 mne->mne_expire = (unsigned long)net_uptime() +
7927 mne = bridge_create_mac_nat_entry(sc, bif, af, ip, eaddr);
7929 return mne;
7936 struct mac_nat_entry *mne;
7939 LIST_FOREACH_SAFE(mne, list, mne_list, tmne) {
7940 if (bif != NULL && mne->mne_bif != bif) {
7943 bridge_destroy_mac_nat_entry(sc, mne, "flushed");
8025 struct mac_nat_entry *mne;
8028 LIST_FOREACH_SAFE(mne, list, mne_list, tmne) {
8029 if (now >= mne->mne_expire) {
8030 bridge_destroy_mac_nat_entry(sc, mne, "aged out");
8122 struct mac_nat_entry *mne = NULL;
8142 mne = bridge_lookup_mac_nat_entry(sc, AF_INET, &tpa);
8144 if (mne != NULL) {
8154 mne->mne_mac);
8158 mne->mne_bif->bif_ifp->if_xname,
8161 bcopy(mne->mne_mac, ea->arp_tha, sizeof(ea->arp_tha));
8170 mne = bridge_lookup_mac_nat_entry(sc, AF_INET, &spa);
8175 return mne;
8185 struct mac_nat_entry *mne = NULL;
8207 mne = bridge_update_mac_nat_entry(sc, bif, AF_INET, &ip, ea->arp_sha);
8208 if (mnr != NULL && mne != NULL) {
8280 struct mac_nat_entry *mne = NULL;
8292 mne = bridge_lookup_mac_nat_entry(sc, AF_INET, &dst);
8294 return mne;
8362 struct mac_nat_entry *mne = NULL;
8378 mne = bridge_update_mac_nat_entry(sc, bif, AF_INET, &ip,
8658 struct mac_nat_entry *mne = NULL;
8670 mne = bridge_lookup_mac_nat_entry(sc, AF_INET6, &dst);
8673 return mne;
8736 struct mac_nat_entry *mne = NULL;
8746 mne = bridge_mac_nat_arp_input(sc, data);
8750 mne = bridge_mac_nat_ip_input(sc, data);
8755 mne = bridge_mac_nat_ipv6_input(sc, data);
8761 if (mne != NULL) {
8767 bcopy(mne->mne_mac, eh->ether_dhost,
8770 dst_if = mne->mne_bif->bif_ifp;
8771 *is_input = (mne->mne_bif == sc->sc_mac_nat_bif);