Lines Matching refs:bif

378 bif_ifflags_are_set(struct bridge_iflist * bif, uint32_t flags)  in bif_ifflags_are_set()  argument
380 return (bif->bif_ifflags & flags) == flags; in bif_ifflags_are_set()
384 bif_has_checksum_offload(struct bridge_iflist * bif) in bif_has_checksum_offload() argument
386 return bif_ifflags_are_set(bif, IFBIF_CHECKSUM_OFFLOAD); in bif_has_checksum_offload()
1625 struct bridge_iflist *bif; in bridge_clone_destroy() local
1647 while ((bif = TAILQ_FIRST(&sc->sc_iflist)) != NULL) { in bridge_clone_destroy()
1648 bridge_delete_member(sc, bif); in bridge_clone_destroy()
1651 while ((bif = TAILQ_FIRST(&sc->sc_spanlist)) != NULL) { in bridge_clone_destroy()
1652 bridge_delete_span(sc, bif); in bridge_clone_destroy()
1725 bif_set_input_broadcast(struct bridge_iflist * bif, boolean_t input_broadcast) in bif_set_input_broadcast() argument
1729 old_input_broadcast = (bif->bif_flags & BIFF_INPUT_BROADCAST) != 0; in bif_set_input_broadcast()
1731 bif->bif_flags |= BIFF_INPUT_BROADCAST; in bif_set_input_broadcast()
1733 bif->bif_flags &= ~BIFF_INPUT_BROADCAST; in bif_set_input_broadcast()
1748 struct bridge_iflist *bif; in bridge_ioctl() local
1880 TAILQ_FOREACH(bif, &sc->sc_iflist, bif_next) { in bridge_ioctl()
1881 if (bif->bif_ifp->if_mtu != (unsigned)ifr->ifr_mtu) { in bridge_ioctl()
1885 bif->bif_ifp->if_mtu, in bridge_ioctl()
1886 bif->bif_ifp->if_xname, ifr->ifr_mtu); in bridge_ioctl()
1925 struct bridge_iflist *bif; in bridge_mutecaps() local
1931 TAILQ_FOREACH(bif, &sc->sc_iflist, bif_next) { in bridge_mutecaps()
1933 mask &= bif->bif_savedcaps; in bridge_mutecaps()
1936 TAILQ_FOREACH(bif, &sc->sc_iflist, bif_next) { in bridge_mutecaps()
1937 enabled = bif->bif_ifp->if_capenable; in bridge_mutecaps()
1943 bridge_set_ifcap(sc, bif, enabled); in bridge_mutecaps()
1948 bridge_set_ifcap(struct bridge_softc *sc, struct bridge_iflist *bif, int set) in bridge_set_ifcap() argument
1950 struct ifnet *ifp = bif->bif_ifp; in bridge_set_ifcap()
1973 struct bridge_iflist *bif; in bridge_set_tso() local
1985 TAILQ_FOREACH(bif, &sc->sc_iflist, bif_next) { in bridge_set_tso()
1986 ifnet_t ifp = bif->bif_ifp; in bridge_set_tso()
2069 struct bridge_iflist *bif; in bridge_lookup_member() local
2074 TAILQ_FOREACH(bif, &sc->sc_iflist, bif_next) { in bridge_lookup_member()
2075 ifp = bif->bif_ifp; in bridge_lookup_member()
2077 return bif; in bridge_lookup_member()
2092 struct bridge_iflist *bif; in bridge_lookup_member_if() local
2096 TAILQ_FOREACH(bif, &sc->sc_iflist, bif_next) { in bridge_lookup_member_if()
2097 if (bif->bif_ifp == member_ifp) { in bridge_lookup_member_if()
2098 return bif; in bridge_lookup_member_if()
2111 struct bridge_iflist *bif = (struct bridge_iflist *)cookie; in bridge_iff_input() local
2112 struct bridge_softc *sc = bif->bif_sc; in bridge_iff_input()
2203 struct bridge_iflist *bif = (struct bridge_iflist *)cookie; in bridge_iff_output() local
2204 struct bridge_softc *sc = bif->bif_sc; in bridge_iff_output()
2233 struct bridge_iflist *bif = (struct bridge_iflist *)cookie; in bridge_iff_event() local
2234 struct bridge_softc *sc = bif->bif_sc; in bridge_iff_event()
2254 if ((bif->bif_flags & BIFF_PROMISC) == 0 && in bridge_iff_event()
2265 bif->bif_flags |= BIFF_PROMISC; in bridge_iff_event()
2297 struct bridge_iflist *bif; in bridge_iff_detached() local
2305 bif = bridge_lookup_member_if(sc, ifp); in bridge_iff_detached()
2306 if (bif != NULL) { in bridge_iff_detached()
2307 bridge_delete_member(sc, bif); in bridge_iff_detached()
2316 TAILQ_FOREACH(bif, &sc->sc_spanlist, bif_next) in bridge_iff_detached()
2317 if (ifp == bif->bif_ifp) { in bridge_iff_detached()
2318 bridge_delete_span(sc, bif); in bridge_iff_detached()
2378 bridge_delete_member(struct bridge_softc *sc, struct bridge_iflist *bif) in bridge_delete_member() argument
2381 struct ifnet *ifs = bif->bif_ifp, *bifp = sc->sc_ifp; in bridge_delete_member()
2393 if ((bif->bif_flags & BIFF_IN_MEMBER_LIST) != 0) { in bridge_delete_member()
2395 TAILQ_REMOVE(&sc->sc_iflist, bif, bif_next); in bridge_delete_member()
2399 if (bif == sc->sc_mac_nat_bif) { in bridge_delete_member()
2402 bridge_mac_nat_flush_entries(sc, bif); in bridge_delete_member()
2406 if ((bif->bif_ifflags & IFBIF_STP) != 0) { in bridge_delete_member()
2407 bstp_disable(&bif->bif_stp); in bridge_delete_member()
2442 KASSERT(bif->bif_addrcnt == 0, in bridge_delete_member()
2443 ("%s: %d bridge routes referenced", __func__, bif->bif_addrcnt)); in bridge_delete_member()
2449 bif_flags = bif->bif_flags; in bridge_delete_member()
2468 bridge_set_ifcap(sc, bif, bif->bif_savedcaps); in bridge_delete_member()
2476 iflt_detach(bif->bif_iff_ref); in bridge_delete_member()
2491 bstp_destroy(&bif->bif_stp); /* prepare to free */ in bridge_delete_member()
2494 kfree_type(struct bridge_iflist, bif); in bridge_delete_member()
2507 bridge_delete_span(struct bridge_softc *sc, struct bridge_iflist *bif) in bridge_delete_span() argument
2511 KASSERT(bif->bif_ifp->if_bridge == NULL, in bridge_delete_span()
2514 ifnet_release(bif->bif_ifp); in bridge_delete_span()
2516 TAILQ_REMOVE(&sc->sc_spanlist, bif, bif_next); in bridge_delete_span()
2517 kfree_type(struct bridge_iflist, bif); in bridge_delete_span()
2524 struct bridge_iflist *bif = NULL; in bridge_ioctl_add() local
2546 TAILQ_FOREACH(bif, &sc->sc_spanlist, bif_next) { in bridge_ioctl_add()
2547 if (ifs == bif->bif_ifp) { in bridge_ioctl_add()
2598 bif = kalloc_type(struct bridge_iflist, Z_WAITOK | Z_ZERO | Z_NOFAIL); in bridge_ioctl_add()
2599 bif->bif_ifp = ifs; in bridge_ioctl_add()
2601 bif->bif_ifflags |= IFBIF_LEARNING | IFBIF_DISCOVER; in bridge_ioctl_add()
2603 bif->bif_savedcaps = ifs->if_capenable; in bridge_ioctl_add()
2605 bif->bif_sc = sc; in bridge_ioctl_add()
2607 (void)bridge_mac_nat_enable(sc, bif); in bridge_ioctl_add()
2633 bstp_create(&sc->sc_stp, &bif->bif_stp, bif->bif_ifp); in bridge_ioctl_add()
2651 bif->bif_flags |= BIFF_PROMISC; in bridge_ioctl_add()
2673 bif->bif_flags |= BIFF_FLOWSWITCH_ATTACHED; in bridge_ioctl_add()
2678 bif->bif_flags |= BIFF_NETAGENT_REMOVED; in bridge_ioctl_add()
2686 iff.iff_cookie = bif; in bridge_ioctl_add()
2692 error = dlil_attach_filter(ifs, &iff, &bif->bif_iff_ref, in bridge_ioctl_add()
2699 bif->bif_flags |= BIFF_FILTER_ATTACHED; in bridge_ioctl_add()
2712 bif->bif_flags |= BIFF_PROTO_ATTACHED; in bridge_ioctl_add()
2723 bif->bif_flags |= BIFF_IN_MEMBER_LIST; in bridge_ioctl_add()
2725 TAILQ_INSERT_TAIL(&sc->sc_iflist, bif, bif_next); in bridge_ioctl_add()
2730 bif->bif_flags |= BIFF_MEDIA_ACTIVE; in bridge_ioctl_add()
2732 bif->bif_flags &= ~BIFF_MEDIA_ACTIVE; in bridge_ioctl_add()
2740 bif_set_input_broadcast(bif, input_broadcast); in bridge_ioctl_add()
2758 if (bif != NULL) { in bridge_ioctl_add()
2759 bridge_delete_member(sc, bif); in bridge_ioctl_add()
2772 struct bridge_iflist *bif; in bridge_ioctl_del() local
2774 bif = bridge_lookup_member(sc, req->ifbr_ifsname); in bridge_ioctl_del()
2775 if (bif == NULL) { in bridge_ioctl_del()
2779 bridge_delete_member(sc, bif); in bridge_ioctl_del()
2795 struct bridge_iflist *bif; in bridge_ioctl_gifflags() local
2797 bif = bridge_lookup_member(sc, req->ifbr_ifsname); in bridge_ioctl_gifflags()
2798 if (bif == NULL) { in bridge_ioctl_gifflags()
2804 bp = &bif->bif_stp; in bridge_ioctl_gifflags()
2811 req->ifbr_ifsflags = bif->bif_ifflags; in bridge_ioctl_gifflags()
2833 req->ifbr_portno = bif->bif_ifp->if_index & 0xfff; in bridge_ioctl_gifflags()
2834 req->ifbr_addrcnt = bif->bif_addrcnt; in bridge_ioctl_gifflags()
2835 req->ifbr_addrmax = bif->bif_addrmax; in bridge_ioctl_gifflags()
2836 req->ifbr_addrexceeded = bif->bif_addrexceeded; in bridge_ioctl_gifflags()
2845 struct bridge_iflist *bif; in bridge_ioctl_sifflags() local
2851 bif = bridge_lookup_member(sc, req->ifbr_ifsname); in bridge_ioctl_sifflags()
2852 if (bif == NULL) { in bridge_ioctl_sifflags()
2868 error = bridge_mac_nat_enable(sc, bif); in bridge_ioctl_sifflags()
2872 } else if (sc->sc_mac_nat_bif == bif) { in bridge_ioctl_sifflags()
2879 if ((bif->bif_ifflags & IFBIF_STP) == 0) { in bridge_ioctl_sifflags()
2880 error = bstp_enable(&bif->bif_stp); in bridge_ioctl_sifflags()
2886 if ((bif->bif_ifflags & IFBIF_STP) != 0) { in bridge_ioctl_sifflags()
2887 bstp_disable(&bif->bif_stp); in bridge_ioctl_sifflags()
2892 bp = &bif->bif_stp; in bridge_ioctl_sifflags()
2904 bif->bif_ifflags = req->ifbr_ifsflags & IFBIFMASK; in bridge_ioctl_sifflags()
2931 struct bridge_iflist *bif; \
2937 TAILQ_FOREACH(bif, &sc->sc_iflist, bif_next) \
2939 TAILQ_FOREACH(bif, &sc->sc_spanlist, bif_next) \
2955 TAILQ_FOREACH(bif, &sc->sc_iflist, bif_next) { \
2960 "%s", bif->bif_ifp->if_xname); \
2970 TAILQ_FOREACH(bif, &sc->sc_spanlist, bif_next) { \
2976 "%s", bif->bif_ifp->if_xname); \
2977 breq.ifbr_ifsflags = bif->bif_ifflags; \
2979 = bif->bif_ifp->if_index & 0xfff; \
3096 struct bridge_iflist *bif; in bridge_ioctl_saddr32() local
3099 bif = bridge_lookup_member(sc, req->ifba_ifsname); in bridge_ioctl_saddr32()
3100 if (bif == NULL) { in bridge_ioctl_saddr32()
3104 error = bridge_rtupdate(sc, req->ifba_dst, req->ifba_vlan, bif, 1, in bridge_ioctl_saddr32()
3114 struct bridge_iflist *bif; in bridge_ioctl_saddr64() local
3117 bif = bridge_lookup_member(sc, req->ifba_ifsname); in bridge_ioctl_saddr64()
3118 if (bif == NULL) { in bridge_ioctl_saddr64()
3122 error = bridge_rtupdate(sc, req->ifba_dst, req->ifba_vlan, bif, 1, in bridge_ioctl_saddr64()
3272 struct bridge_iflist *bif; in bridge_ioctl_sifprio() local
3274 bif = bridge_lookup_member(sc, req->ifbr_ifsname); in bridge_ioctl_sifprio()
3275 if (bif == NULL) { in bridge_ioctl_sifprio()
3279 return bstp_set_port_priority(&bif->bif_stp, req->ifbr_priority); in bridge_ioctl_sifprio()
3291 struct bridge_iflist *bif; in bridge_ioctl_sifcost() local
3293 bif = bridge_lookup_member(sc, req->ifbr_ifsname); in bridge_ioctl_sifcost()
3294 if (bif == NULL) { in bridge_ioctl_sifcost()
3298 return bstp_set_path_cost(&bif->bif_stp, req->ifbr_path_cost); in bridge_ioctl_sifcost()
3337 struct bridge_iflist *bif; in bridge_ioctl_sifmaxaddr() local
3339 bif = bridge_lookup_member(sc, req->ifbr_ifsname); in bridge_ioctl_sifmaxaddr()
3340 if (bif == NULL) { in bridge_ioctl_sifmaxaddr()
3344 bif->bif_addrmax = req->ifbr_addrmax; in bridge_ioctl_sifmaxaddr()
3352 struct bridge_iflist *bif = NULL; in bridge_ioctl_addspan() local
3364 TAILQ_FOREACH(bif, &sc->sc_spanlist, bif_next) in bridge_ioctl_addspan()
3365 if (ifs == bif->bif_ifp) { in bridge_ioctl_addspan()
3385 bif = kalloc_type(struct bridge_iflist, Z_WAITOK | Z_ZERO | Z_NOFAIL); in bridge_ioctl_addspan()
3387 bif->bif_ifp = ifs; in bridge_ioctl_addspan()
3388 bif->bif_ifflags = IFBIF_SPAN; in bridge_ioctl_addspan()
3390 ifnet_reference(bif->bif_ifp); in bridge_ioctl_addspan()
3392 TAILQ_INSERT_HEAD(&sc->sc_spanlist, bif, bif_next); in bridge_ioctl_addspan()
3401 struct bridge_iflist *bif; in bridge_ioctl_delspan() local
3409 TAILQ_FOREACH(bif, &sc->sc_spanlist, bif_next) in bridge_ioctl_delspan()
3410 if (ifs == bif->bif_ifp) { in bridge_ioctl_delspan()
3414 if (bif == NULL) { in bridge_ioctl_delspan()
3418 bridge_delete_span(sc, bif); in bridge_ioctl_delspan()
3476 struct bridge_iflist *bif; \
3483 TAILQ_FOREACH(bif, &sc->sc_iflist, bif_next) { \
3484 if ((bif->bif_ifflags & IFBIF_STP) != 0) \
3502 TAILQ_FOREACH(bif, &sc->sc_iflist, bif_next) { \
3506 if ((bif->bif_ifflags & IFBIF_STP) == 0) \
3509 bp = &bif->bif_stp; \
3510 bpreq.ifbp_portno = bif->bif_ifp->if_index & 0xfff; \
3582 struct bridge_iflist *bif; in bridge_ioctl_ghostfilter() local
3584 bif = bridge_lookup_member(sc, req->ifbrhf_ifsname); in bridge_ioctl_ghostfilter()
3585 if (bif == NULL) { in bridge_ioctl_ghostfilter()
3590 if (bif->bif_flags & BIFF_HOST_FILTER) { in bridge_ioctl_ghostfilter()
3592 bcopy(bif->bif_hf_hwsrc, req->ifbrhf_hwsrca, in bridge_ioctl_ghostfilter()
3594 req->ifbrhf_ipsrc = bif->bif_hf_ipsrc.s_addr; in bridge_ioctl_ghostfilter()
3603 struct bridge_iflist *bif; in bridge_ioctl_shostfilter() local
3605 bif = bridge_lookup_member(sc, req->ifbrhf_ifsname); in bridge_ioctl_shostfilter()
3606 if (bif == NULL) { in bridge_ioctl_shostfilter()
3611 bif->bif_flags |= BIFF_HOST_FILTER; in bridge_ioctl_shostfilter()
3614 bcopy(req->ifbrhf_hwsrca, bif->bif_hf_hwsrc, in bridge_ioctl_shostfilter()
3618 bif->bif_flags |= BIFF_HF_HWSRC; in bridge_ioctl_shostfilter()
3620 bif->bif_flags &= ~BIFF_HF_HWSRC; in bridge_ioctl_shostfilter()
3624 bif->bif_hf_ipsrc.s_addr = req->ifbrhf_ipsrc; in bridge_ioctl_shostfilter()
3625 if (bif->bif_hf_ipsrc.s_addr != INADDR_ANY) { in bridge_ioctl_shostfilter()
3626 bif->bif_flags |= BIFF_HF_IPSRC; in bridge_ioctl_shostfilter()
3628 bif->bif_flags &= ~BIFF_HF_IPSRC; in bridge_ioctl_shostfilter()
3632 bif->bif_flags &= ~(BIFF_HOST_FILTER | BIFF_HF_HWSRC | in bridge_ioctl_shostfilter()
3634 bzero(bif->bif_hf_hwsrc, ETHER_ADDR_LEN); in bridge_ioctl_shostfilter()
3635 bif->bif_hf_ipsrc.s_addr = INADDR_ANY; in bridge_ioctl_shostfilter()
3765 struct bridge_iflist *bif; in bridge_ioctl_gifstats() local
3769 bif = bridge_lookup_member(sc, mreq->brmr_ifname); in bridge_ioctl_gifstats()
3770 if (bif == NULL) { in bridge_ioctl_gifstats()
3785 error = copyout(&bif->bif_stats, user_addr, buflen); in bridge_ioctl_gifstats()
3815 struct bridge_iflist *bif; in bridge_proto_attach_changed() local
3825 bif = bridge_lookup_member_if(sc, ifp); in bridge_proto_attach_changed()
3826 if (bif != NULL) { in bridge_proto_attach_changed()
3827 changed = bif_set_input_broadcast(bif, input_broadcast); in bridge_proto_attach_changed()
3869 struct bridge_iflist *bif; in bridge_updatelinkstatus() local
3878 TAILQ_FOREACH(bif, &sc->sc_iflist, bif_next) { in bridge_updatelinkstatus()
3879 if (bif->bif_flags & BIFF_MEDIA_ACTIVE) { in bridge_updatelinkstatus()
3903 struct bridge_iflist *bif; in bridge_iflinkevent() local
3916 bif = bridge_lookup_member_if(sc, ifp); in bridge_iflinkevent()
3917 if (bif != NULL) { in bridge_iflinkevent()
3919 bif->bif_flags |= BIFF_MEDIA_ACTIVE; in bridge_iflinkevent()
3921 bif->bif_flags &= ~BIFF_MEDIA_ACTIVE; in bridge_iflinkevent()
3924 bridge_mac_nat_flush_entries(sc, bif); in bridge_iflinkevent()
5113 struct bridge_iflist *bif;
5127 TAILQ_FOREACH(bif, &sc->sc_iflist, bif_next) {
5129 if ((bif->bif_flags & BIFF_MEDIA_ACTIVE) == 0) {
5132 dst_if = bif->bif_ifp;
5149 if ((bif->bif_ifflags & IFBIF_STP) &&
5150 bif->bif_stp.bp_state == BSTP_IFSTATE_DISCARDING) {
5163 if (TAILQ_NEXT(bif, bif_next) == NULL) {
5801 struct bridge_iflist *bif;
5805 bif = bridge_lookup_member_if(sc, ifp);
5806 if (bif == NULL) {
5809 if (!bif_has_checksum_offload(bif)) {
5812 bripstats_apply(&bif->bif_stats.brms_in_ip, stats_p);
5829 struct bridge_iflist *bif, *bif2;
5917 bif = bridge_lookup_member_if(sc, ifp);
5918 if (bif == NULL) {
5925 if (is_ip && bif_has_checksum_offload(bif)) {
5927 bripstats_apply(&bif->bif_stats.brms_in_ip, &stats);
5930 &info, &bif->bif_stats.brms_in_ip);
5935 bif->bif_ifp->if_xname, error);
5942 &bif->bif_stats);
5947 bif->bif_ifp->if_xname, error);
5962 if (bif->bif_flags & BIFF_HOST_FILTER) {
5963 error = bridge_host_filter(bif, data);
5967 bif->bif_ifp->if_xname);
5977 if (is_ip && sc->sc_mac_nat_bif == bif) {
6006 m = bstp_input(&bif->bif_stp, ifp, m);
6017 if ((bif->bif_ifflags & IFBIF_STP) &&
6018 bif->bif_stp.bp_state == BSTP_IFSTATE_DISCARDING) {
6047 bridge_forward(sc, bif, mc);
6082 if ((bif->bif_ifflags & IFBIF_STP) &&
6083 bif->bif_stp.bp_state == BSTP_IFSTATE_DISCARDING) {
6117 if (bif->bif_ifflags & IFBIF_LEARNING) { \
6119 vlan, bif, 0, IFBAF_DYNAMIC); \
6120 if (error && bif->bif_addrmax) { \
6144 if (is_ifp_mac && sc->sc_mac_nat_bif == bif) {
6180 if (bif->bif_ifflags & IFBIF_LEARNING) {
6182 vlan, bif, 0, IFBAF_DYNAMIC);
6230 bridge_forward(sc, bif, m);
6437 struct bridge_iflist *bif;
6445 TAILQ_FOREACH(bif, &sc->sc_spanlist, bif_next) {
6446 dst_if = bif->bif_ifp;
6471 struct bridge_iflist *bif, int setflags, uint8_t flags)
6501 if (bif->bif_addrmax && bif->bif_addrcnt >= bif->bif_addrmax) {
6502 bif->bif_addrexceeded++;
6519 if (bif->bif_ifflags & IFBIF_STICKY) {
6533 brt->brt_dst = bif;
6534 bif->bif_addrcnt++;
6544 brt->brt_dst != bif) {
6546 brt->brt_dst = bif;
7270 bridge_dhcp_filter(struct bridge_iflist *bif, struct mbuf *m, size_t offset)
7299 if (bcmp(dhcp.dp_chaddr, bif->bif_hf_hwsrc,
7307 if (dhcp.dp_ciaddr.s_addr != bif->bif_hf_ipsrc.s_addr &&
7318 bridge_host_filter(struct bridge_iflist *bif, mbuf_t *data)
7330 if ((bif->bif_flags & BIFF_HF_HWSRC) == 0 ||
7331 bcmp(eh->ether_shost, bif->bif_hf_hwsrc,
7398 if (bcmp(ea->arp_sha, bif->bif_hf_hwsrc,
7407 if (bcmp(ea->arp_spa, &bif->bif_hf_ipsrc.s_addr,
7450 if (iphdr.ip_src.s_addr != bif->bif_hf_ipsrc.s_addr &&
7478 error = bridge_dhcp_filter(bif, m, offset);
7487 } else if (iphdr.ip_src.s_addr != bif->bif_hf_ipsrc.s_addr ||
7488 bif->bif_hf_ipsrc.s_addr == INADDR_ANY) {
7532 bridge_mac_nat_enable(struct bridge_softc *sc, struct bridge_iflist *bif)
7538 if (IFNET_IS_VMNET(bif->bif_ifp)) {
7543 if (sc->sc_mac_nat_bif != bif) {
7548 sc->sc_mac_nat_bif = bif;
7549 bif->bif_ifflags |= IFBIF_MAC_NAT;
7649 struct bridge_iflist *bif, int af, const void *ip, uint8_t *eaddr)
7666 mne->mne_bif = bif;
7685 struct bridge_iflist *bif, int af, void *ip, uint8_t *eaddr)
7696 if (mne->mne_bif != bif) {
7699 bif->bif_ifp->if_xname);
7702 } else if (mne->mne_bif != bif) {
7705 mne->mne_bif = bif;
7716 mne = bridge_create_mac_nat_entry(sc, bif, af, ip, eaddr);
7723 struct mac_nat_entry_list *list, struct bridge_iflist *bif)
7729 if (bif != NULL && mne->mne_bif != bif) {
7744 bridge_mac_nat_flush_entries(struct bridge_softc *sc, struct bridge_iflist * bif)
7748 flush_bif = (bif == sc->sc_mac_nat_bif) ? NULL : bif;
7969 struct bridge_iflist *bif, mbuf_t *data, struct mac_nat_record *mnr)
7996 mne = bridge_update_mac_nat_entry(sc, bif, AF_INET, &ip, ea->arp_sha);
8088 struct bridge_iflist *bif, mbuf_t m,
8136 bif->bif_ifp->if_xname,
8144 struct bridge_iflist *bif, mbuf_t *data, struct mac_nat_record *mnr)
8167 mne = bridge_update_mac_nat_entry(sc, bif, AF_INET, &ip,
8173 bridge_mac_nat_udp_output(sc, bif, *data,
8217 bridge_mac_nat_icmpv6_output(struct bridge_softc *sc, struct bridge_iflist *bif,
8402 sc->sc_if_xname, bif->bif_ifp->if_xname, str,
8434 struct bridge_iflist *bif, mbuf_t *data, struct mac_nat_record *mnr)
8441 translate = (bif == sc->sc_mac_nat_bif) ? FALSE : TRUE;
8450 bridge_mac_nat_icmpv6_output(sc, bif, data,
8456 (void)bridge_update_mac_nat_entry(sc, bif, AF_INET6, &saddr,
8556 struct bridge_iflist *bif, mbuf_t *data, struct mac_nat_record *mnr)
8573 translate = bridge_mac_nat_arp_output(sc, bif, data, mnr);
8576 translate = bridge_mac_nat_ip_output(sc, bif, data, mnr);
8579 translate = bridge_mac_nat_ipv6_output(sc, bif, data, mnr);