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()
1678 struct bridge_iflist *bif; in bridge_clone_destroy() local
1700 while ((bif = TAILQ_FIRST(&sc->sc_iflist)) != NULL) { in bridge_clone_destroy()
1701 bridge_delete_member(sc, bif); in bridge_clone_destroy()
1704 while ((bif = TAILQ_FIRST(&sc->sc_spanlist)) != NULL) { in bridge_clone_destroy()
1705 bridge_delete_span(sc, bif); in bridge_clone_destroy()
1778 bif_set_input_broadcast(struct bridge_iflist * bif, boolean_t input_broadcast) in bif_set_input_broadcast() argument
1782 old_input_broadcast = (bif->bif_flags & BIFF_INPUT_BROADCAST) != 0; in bif_set_input_broadcast()
1784 bif->bif_flags |= BIFF_INPUT_BROADCAST; in bif_set_input_broadcast()
1786 bif->bif_flags &= ~BIFF_INPUT_BROADCAST; in bif_set_input_broadcast()
1801 struct bridge_iflist *bif; in bridge_ioctl() local
1933 TAILQ_FOREACH(bif, &sc->sc_iflist, bif_next) { in bridge_ioctl()
1934 if (bif->bif_ifp->if_mtu != (unsigned)ifr->ifr_mtu) { in bridge_ioctl()
1938 bif->bif_ifp->if_mtu, in bridge_ioctl()
1939 bif->bif_ifp->if_xname, ifr->ifr_mtu); in bridge_ioctl()
1978 struct bridge_iflist *bif; in bridge_mutecaps() local
1984 TAILQ_FOREACH(bif, &sc->sc_iflist, bif_next) { in bridge_mutecaps()
1986 mask &= bif->bif_savedcaps; in bridge_mutecaps()
1989 TAILQ_FOREACH(bif, &sc->sc_iflist, bif_next) { in bridge_mutecaps()
1990 enabled = bif->bif_ifp->if_capenable; in bridge_mutecaps()
1996 bridge_set_ifcap(sc, bif, enabled); in bridge_mutecaps()
2001 bridge_set_ifcap(struct bridge_softc *sc, struct bridge_iflist *bif, int set) in bridge_set_ifcap() argument
2003 struct ifnet *ifp = bif->bif_ifp; in bridge_set_ifcap()
2026 struct bridge_iflist *bif; in bridge_set_tso() local
2038 TAILQ_FOREACH(bif, &sc->sc_iflist, bif_next) { in bridge_set_tso()
2039 ifnet_t ifp = bif->bif_ifp; in bridge_set_tso()
2122 struct bridge_iflist *bif; in bridge_lookup_member() local
2127 TAILQ_FOREACH(bif, &sc->sc_iflist, bif_next) { in bridge_lookup_member()
2128 ifp = bif->bif_ifp; in bridge_lookup_member()
2130 return bif; in bridge_lookup_member()
2145 struct bridge_iflist *bif; in bridge_lookup_member_if() local
2149 TAILQ_FOREACH(bif, &sc->sc_iflist, bif_next) { in bridge_lookup_member_if()
2150 if (bif->bif_ifp == member_ifp) { in bridge_lookup_member_if()
2151 return bif; in bridge_lookup_member_if()
2164 struct bridge_iflist *bif = (struct bridge_iflist *)cookie; in bridge_iff_input() local
2165 struct bridge_softc *sc = bif->bif_sc; in bridge_iff_input()
2256 struct bridge_iflist *bif = (struct bridge_iflist *)cookie; in bridge_iff_output() local
2257 struct bridge_softc *sc = bif->bif_sc; in bridge_iff_output()
2286 struct bridge_iflist *bif = (struct bridge_iflist *)cookie; in bridge_iff_event() local
2287 struct bridge_softc *sc = bif->bif_sc; in bridge_iff_event()
2307 if ((bif->bif_flags & BIFF_PROMISC) == 0 && in bridge_iff_event()
2318 bif->bif_flags |= BIFF_PROMISC; in bridge_iff_event()
2350 struct bridge_iflist *bif; in bridge_iff_detached() local
2358 bif = bridge_lookup_member_if(sc, ifp); in bridge_iff_detached()
2359 if (bif != NULL) { in bridge_iff_detached()
2360 bridge_delete_member(sc, bif); in bridge_iff_detached()
2369 TAILQ_FOREACH(bif, &sc->sc_spanlist, bif_next) in bridge_iff_detached()
2370 if (ifp == bif->bif_ifp) { in bridge_iff_detached()
2371 bridge_delete_span(sc, bif); in bridge_iff_detached()
2431 bridge_delete_member(struct bridge_softc *sc, struct bridge_iflist *bif) in bridge_delete_member() argument
2434 struct ifnet *ifs = bif->bif_ifp, *bifp = sc->sc_ifp; in bridge_delete_member()
2446 if ((bif->bif_flags & BIFF_IN_MEMBER_LIST) != 0) { in bridge_delete_member()
2448 TAILQ_REMOVE(&sc->sc_iflist, bif, bif_next); in bridge_delete_member()
2452 if (bif == sc->sc_mac_nat_bif) { in bridge_delete_member()
2455 bridge_mac_nat_flush_entries(sc, bif); in bridge_delete_member()
2459 if ((bif->bif_ifflags & IFBIF_STP) != 0) { in bridge_delete_member()
2460 bstp_disable(&bif->bif_stp); in bridge_delete_member()
2495 KASSERT(bif->bif_addrcnt == 0, in bridge_delete_member()
2496 ("%s: %d bridge routes referenced", __func__, bif->bif_addrcnt)); in bridge_delete_member()
2502 bif_flags = bif->bif_flags; in bridge_delete_member()
2521 bridge_set_ifcap(sc, bif, bif->bif_savedcaps); in bridge_delete_member()
2529 iflt_detach(bif->bif_iff_ref); in bridge_delete_member()
2544 bstp_destroy(&bif->bif_stp); /* prepare to free */ in bridge_delete_member()
2547 kfree_type(struct bridge_iflist, bif); in bridge_delete_member()
2560 bridge_delete_span(struct bridge_softc *sc, struct bridge_iflist *bif) in bridge_delete_span() argument
2564 KASSERT(bif->bif_ifp->if_bridge == NULL, in bridge_delete_span()
2567 ifnet_release(bif->bif_ifp); in bridge_delete_span()
2569 TAILQ_REMOVE(&sc->sc_spanlist, bif, bif_next); in bridge_delete_span()
2570 kfree_type(struct bridge_iflist, bif); in bridge_delete_span()
2577 struct bridge_iflist *bif = NULL; in bridge_ioctl_add() local
2599 TAILQ_FOREACH(bif, &sc->sc_spanlist, bif_next) { in bridge_ioctl_add()
2600 if (ifs == bif->bif_ifp) { in bridge_ioctl_add()
2651 bif = kalloc_type(struct bridge_iflist, Z_WAITOK | Z_ZERO | Z_NOFAIL); in bridge_ioctl_add()
2652 bif->bif_ifp = ifs; in bridge_ioctl_add()
2654 bif->bif_ifflags |= IFBIF_LEARNING | IFBIF_DISCOVER; in bridge_ioctl_add()
2656 bif->bif_savedcaps = ifs->if_capenable; in bridge_ioctl_add()
2658 bif->bif_sc = sc; in bridge_ioctl_add()
2660 (void)bridge_mac_nat_enable(sc, bif); in bridge_ioctl_add()
2686 bstp_create(&sc->sc_stp, &bif->bif_stp, bif->bif_ifp); in bridge_ioctl_add()
2704 bif->bif_flags |= BIFF_PROMISC; in bridge_ioctl_add()
2726 bif->bif_flags |= BIFF_FLOWSWITCH_ATTACHED; in bridge_ioctl_add()
2731 bif->bif_flags |= BIFF_NETAGENT_REMOVED; in bridge_ioctl_add()
2739 iff.iff_cookie = bif; in bridge_ioctl_add()
2745 error = dlil_attach_filter(ifs, &iff, &bif->bif_iff_ref, in bridge_ioctl_add()
2752 bif->bif_flags |= BIFF_FILTER_ATTACHED; in bridge_ioctl_add()
2765 bif->bif_flags |= BIFF_PROTO_ATTACHED; in bridge_ioctl_add()
2776 bif->bif_flags |= BIFF_IN_MEMBER_LIST; in bridge_ioctl_add()
2778 TAILQ_INSERT_TAIL(&sc->sc_iflist, bif, bif_next); in bridge_ioctl_add()
2783 bif->bif_flags |= BIFF_MEDIA_ACTIVE; in bridge_ioctl_add()
2785 bif->bif_flags &= ~BIFF_MEDIA_ACTIVE; in bridge_ioctl_add()
2793 bif_set_input_broadcast(bif, input_broadcast); in bridge_ioctl_add()
2811 if (bif != NULL) { in bridge_ioctl_add()
2812 bridge_delete_member(sc, bif); in bridge_ioctl_add()
2825 struct bridge_iflist *bif; in bridge_ioctl_del() local
2827 bif = bridge_lookup_member(sc, req->ifbr_ifsname); in bridge_ioctl_del()
2828 if (bif == NULL) { in bridge_ioctl_del()
2832 bridge_delete_member(sc, bif); in bridge_ioctl_del()
2848 struct bridge_iflist *bif; in bridge_ioctl_gifflags() local
2850 bif = bridge_lookup_member(sc, req->ifbr_ifsname); in bridge_ioctl_gifflags()
2851 if (bif == NULL) { in bridge_ioctl_gifflags()
2857 bp = &bif->bif_stp; in bridge_ioctl_gifflags()
2864 req->ifbr_ifsflags = bif->bif_ifflags; in bridge_ioctl_gifflags()
2886 req->ifbr_portno = bif->bif_ifp->if_index & 0xfff; in bridge_ioctl_gifflags()
2887 req->ifbr_addrcnt = bif->bif_addrcnt; in bridge_ioctl_gifflags()
2888 req->ifbr_addrmax = bif->bif_addrmax; in bridge_ioctl_gifflags()
2889 req->ifbr_addrexceeded = bif->bif_addrexceeded; in bridge_ioctl_gifflags()
2898 struct bridge_iflist *bif; in bridge_ioctl_sifflags() local
2904 bif = bridge_lookup_member(sc, req->ifbr_ifsname); in bridge_ioctl_sifflags()
2905 if (bif == NULL) { in bridge_ioctl_sifflags()
2921 error = bridge_mac_nat_enable(sc, bif); in bridge_ioctl_sifflags()
2925 } else if (sc->sc_mac_nat_bif == bif) { in bridge_ioctl_sifflags()
2932 if ((bif->bif_ifflags & IFBIF_STP) == 0) { in bridge_ioctl_sifflags()
2933 error = bstp_enable(&bif->bif_stp); in bridge_ioctl_sifflags()
2939 if ((bif->bif_ifflags & IFBIF_STP) != 0) { in bridge_ioctl_sifflags()
2940 bstp_disable(&bif->bif_stp); in bridge_ioctl_sifflags()
2945 bp = &bif->bif_stp; in bridge_ioctl_sifflags()
2957 bif->bif_ifflags = req->ifbr_ifsflags & IFBIFMASK; in bridge_ioctl_sifflags()
2984 struct bridge_iflist *bif; \
2990 TAILQ_FOREACH(bif, &sc->sc_iflist, bif_next) \
2992 TAILQ_FOREACH(bif, &sc->sc_spanlist, bif_next) \
3008 TAILQ_FOREACH(bif, &sc->sc_iflist, bif_next) { \
3013 "%s", bif->bif_ifp->if_xname); \
3023 TAILQ_FOREACH(bif, &sc->sc_spanlist, bif_next) { \
3029 "%s", bif->bif_ifp->if_xname); \
3030 breq.ifbr_ifsflags = bif->bif_ifflags; \
3032 = bif->bif_ifp->if_index & 0xfff; \
3149 struct bridge_iflist *bif; in bridge_ioctl_saddr32() local
3152 bif = bridge_lookup_member(sc, req->ifba_ifsname); in bridge_ioctl_saddr32()
3153 if (bif == NULL) { in bridge_ioctl_saddr32()
3157 error = bridge_rtupdate(sc, req->ifba_dst, req->ifba_vlan, bif, 1, in bridge_ioctl_saddr32()
3167 struct bridge_iflist *bif; in bridge_ioctl_saddr64() local
3170 bif = bridge_lookup_member(sc, req->ifba_ifsname); in bridge_ioctl_saddr64()
3171 if (bif == NULL) { in bridge_ioctl_saddr64()
3175 error = bridge_rtupdate(sc, req->ifba_dst, req->ifba_vlan, bif, 1, in bridge_ioctl_saddr64()
3325 struct bridge_iflist *bif; in bridge_ioctl_sifprio() local
3327 bif = bridge_lookup_member(sc, req->ifbr_ifsname); in bridge_ioctl_sifprio()
3328 if (bif == NULL) { in bridge_ioctl_sifprio()
3332 return bstp_set_port_priority(&bif->bif_stp, req->ifbr_priority); in bridge_ioctl_sifprio()
3344 struct bridge_iflist *bif; in bridge_ioctl_sifcost() local
3346 bif = bridge_lookup_member(sc, req->ifbr_ifsname); in bridge_ioctl_sifcost()
3347 if (bif == NULL) { in bridge_ioctl_sifcost()
3351 return bstp_set_path_cost(&bif->bif_stp, req->ifbr_path_cost); in bridge_ioctl_sifcost()
3390 struct bridge_iflist *bif; in bridge_ioctl_sifmaxaddr() local
3392 bif = bridge_lookup_member(sc, req->ifbr_ifsname); in bridge_ioctl_sifmaxaddr()
3393 if (bif == NULL) { in bridge_ioctl_sifmaxaddr()
3397 bif->bif_addrmax = req->ifbr_addrmax; in bridge_ioctl_sifmaxaddr()
3405 struct bridge_iflist *bif = NULL; in bridge_ioctl_addspan() local
3417 TAILQ_FOREACH(bif, &sc->sc_spanlist, bif_next) in bridge_ioctl_addspan()
3418 if (ifs == bif->bif_ifp) { in bridge_ioctl_addspan()
3438 bif = kalloc_type(struct bridge_iflist, Z_WAITOK | Z_ZERO | Z_NOFAIL); in bridge_ioctl_addspan()
3440 bif->bif_ifp = ifs; in bridge_ioctl_addspan()
3441 bif->bif_ifflags = IFBIF_SPAN; in bridge_ioctl_addspan()
3443 ifnet_reference(bif->bif_ifp); in bridge_ioctl_addspan()
3445 TAILQ_INSERT_HEAD(&sc->sc_spanlist, bif, bif_next); in bridge_ioctl_addspan()
3454 struct bridge_iflist *bif; in bridge_ioctl_delspan() local
3462 TAILQ_FOREACH(bif, &sc->sc_spanlist, bif_next) in bridge_ioctl_delspan()
3463 if (ifs == bif->bif_ifp) { in bridge_ioctl_delspan()
3467 if (bif == NULL) { in bridge_ioctl_delspan()
3471 bridge_delete_span(sc, bif); in bridge_ioctl_delspan()
3529 struct bridge_iflist *bif; \
3536 TAILQ_FOREACH(bif, &sc->sc_iflist, bif_next) { \
3537 if ((bif->bif_ifflags & IFBIF_STP) != 0) \
3555 TAILQ_FOREACH(bif, &sc->sc_iflist, bif_next) { \
3559 if ((bif->bif_ifflags & IFBIF_STP) == 0) \
3562 bp = &bif->bif_stp; \
3563 bpreq.ifbp_portno = bif->bif_ifp->if_index & 0xfff; \
3635 struct bridge_iflist *bif; in bridge_ioctl_ghostfilter() local
3637 bif = bridge_lookup_member(sc, req->ifbrhf_ifsname); in bridge_ioctl_ghostfilter()
3638 if (bif == NULL) { in bridge_ioctl_ghostfilter()
3643 if (bif->bif_flags & BIFF_HOST_FILTER) { in bridge_ioctl_ghostfilter()
3645 bcopy(bif->bif_hf_hwsrc, req->ifbrhf_hwsrca, in bridge_ioctl_ghostfilter()
3647 req->ifbrhf_ipsrc = bif->bif_hf_ipsrc.s_addr; in bridge_ioctl_ghostfilter()
3656 struct bridge_iflist *bif; in bridge_ioctl_shostfilter() local
3658 bif = bridge_lookup_member(sc, req->ifbrhf_ifsname); in bridge_ioctl_shostfilter()
3659 if (bif == NULL) { in bridge_ioctl_shostfilter()
3664 bif->bif_flags |= BIFF_HOST_FILTER; in bridge_ioctl_shostfilter()
3667 bcopy(req->ifbrhf_hwsrca, bif->bif_hf_hwsrc, in bridge_ioctl_shostfilter()
3671 bif->bif_flags |= BIFF_HF_HWSRC; in bridge_ioctl_shostfilter()
3673 bif->bif_flags &= ~BIFF_HF_HWSRC; in bridge_ioctl_shostfilter()
3677 bif->bif_hf_ipsrc.s_addr = req->ifbrhf_ipsrc; in bridge_ioctl_shostfilter()
3678 if (bif->bif_hf_ipsrc.s_addr != INADDR_ANY) { in bridge_ioctl_shostfilter()
3679 bif->bif_flags |= BIFF_HF_IPSRC; in bridge_ioctl_shostfilter()
3681 bif->bif_flags &= ~BIFF_HF_IPSRC; in bridge_ioctl_shostfilter()
3685 bif->bif_flags &= ~(BIFF_HOST_FILTER | BIFF_HF_HWSRC | in bridge_ioctl_shostfilter()
3687 bzero(bif->bif_hf_hwsrc, ETHER_ADDR_LEN); in bridge_ioctl_shostfilter()
3688 bif->bif_hf_ipsrc.s_addr = INADDR_ANY; in bridge_ioctl_shostfilter()
3818 struct bridge_iflist *bif; in bridge_ioctl_gifstats() local
3822 bif = bridge_lookup_member(sc, mreq->brmr_ifname); in bridge_ioctl_gifstats()
3823 if (bif == NULL) { in bridge_ioctl_gifstats()
3838 error = copyout(&bif->bif_stats, user_addr, buflen); in bridge_ioctl_gifstats()
3868 struct bridge_iflist *bif; in bridge_proto_attach_changed() local
3878 bif = bridge_lookup_member_if(sc, ifp); in bridge_proto_attach_changed()
3879 if (bif != NULL) { in bridge_proto_attach_changed()
3880 changed = bif_set_input_broadcast(bif, input_broadcast); in bridge_proto_attach_changed()
3922 struct bridge_iflist *bif; in bridge_updatelinkstatus() local
3931 TAILQ_FOREACH(bif, &sc->sc_iflist, bif_next) { in bridge_updatelinkstatus()
3932 if (bif->bif_flags & BIFF_MEDIA_ACTIVE) { in bridge_updatelinkstatus()
3956 struct bridge_iflist *bif; in bridge_iflinkevent() local
3969 bif = bridge_lookup_member_if(sc, ifp); in bridge_iflinkevent()
3970 if (bif != NULL) { in bridge_iflinkevent()
3972 bif->bif_flags |= BIFF_MEDIA_ACTIVE; in bridge_iflinkevent()
3974 bif->bif_flags &= ~BIFF_MEDIA_ACTIVE; in bridge_iflinkevent()
3977 bridge_mac_nat_flush_entries(sc, bif); in bridge_iflinkevent()
5170 struct bridge_iflist *bif;
5187 TAILQ_FOREACH(bif, &sc->sc_iflist, bif_next) {
5188 dst_if = bif->bif_ifp;
5194 if ((bif->bif_flags & BIFF_MEDIA_ACTIVE) == 0) {
5211 if ((bif->bif_ifflags & IFBIF_STP) &&
5212 bif->bif_stp.bp_state == BSTP_IFSTATE_DISCARDING) {
5861 struct bridge_iflist *bif;
5865 bif = bridge_lookup_member_if(sc, ifp);
5866 if (bif == NULL) {
5869 if (!bif_has_checksum_offload(bif)) {
5872 bripstats_apply(&bif->bif_stats.brms_in_ip, stats_p);
5889 struct bridge_iflist *bif, *bif2;
5977 bif = bridge_lookup_member_if(sc, ifp);
5978 if (bif == NULL) {
5985 if (is_ip && bif_has_checksum_offload(bif)) {
5987 bripstats_apply(&bif->bif_stats.brms_in_ip, &stats);
5990 &info, &bif->bif_stats.brms_in_ip);
5995 bif->bif_ifp->if_xname, error);
6002 &bif->bif_stats);
6007 bif->bif_ifp->if_xname, error);
6022 if (bif->bif_flags & BIFF_HOST_FILTER) {
6023 error = bridge_host_filter(bif, data);
6027 bif->bif_ifp->if_xname);
6037 if (is_ip && sc->sc_mac_nat_bif == bif) {
6066 m = bstp_input(&bif->bif_stp, ifp, m);
6077 if ((bif->bif_ifflags & IFBIF_STP) &&
6078 bif->bif_stp.bp_state == BSTP_IFSTATE_DISCARDING) {
6107 bridge_forward(sc, bif, mc);
6142 if ((bif->bif_ifflags & IFBIF_STP) &&
6143 bif->bif_stp.bp_state == BSTP_IFSTATE_DISCARDING) {
6177 if (bif->bif_ifflags & IFBIF_LEARNING) { \
6179 vlan, bif, 0, IFBAF_DYNAMIC); \
6180 if (error && bif->bif_addrmax) { \
6204 if (is_ifp_mac && sc->sc_mac_nat_bif == bif) {
6240 if (bif->bif_ifflags & IFBIF_LEARNING) {
6242 vlan, bif, 0, IFBAF_DYNAMIC);
6290 bridge_forward(sc, bif, m);
6497 struct bridge_iflist *bif;
6505 TAILQ_FOREACH(bif, &sc->sc_spanlist, bif_next) {
6506 dst_if = bif->bif_ifp;
6531 struct bridge_iflist *bif, int setflags, uint8_t flags)
6561 if (bif->bif_addrmax && bif->bif_addrcnt >= bif->bif_addrmax) {
6562 bif->bif_addrexceeded++;
6579 if (bif->bif_ifflags & IFBIF_STICKY) {
6593 brt->brt_dst = bif;
6594 bif->bif_addrcnt++;
6604 brt->brt_dst != bif) {
6606 brt->brt_dst = bif;
7330 bridge_dhcp_filter(struct bridge_iflist *bif, struct mbuf *m, size_t offset)
7359 if (bcmp(dhcp.dp_chaddr, bif->bif_hf_hwsrc,
7367 if (dhcp.dp_ciaddr.s_addr != bif->bif_hf_ipsrc.s_addr &&
7378 bridge_host_filter(struct bridge_iflist *bif, mbuf_t *data)
7390 if ((bif->bif_flags & BIFF_HF_HWSRC) == 0 ||
7391 bcmp(eh->ether_shost, bif->bif_hf_hwsrc,
7458 if (bcmp(ea->arp_sha, bif->bif_hf_hwsrc,
7467 if (bcmp(ea->arp_spa, &bif->bif_hf_ipsrc.s_addr,
7510 if (iphdr.ip_src.s_addr != bif->bif_hf_ipsrc.s_addr &&
7538 error = bridge_dhcp_filter(bif, m, offset);
7547 } else if (iphdr.ip_src.s_addr != bif->bif_hf_ipsrc.s_addr ||
7548 bif->bif_hf_ipsrc.s_addr == INADDR_ANY) {
7592 bridge_mac_nat_enable(struct bridge_softc *sc, struct bridge_iflist *bif)
7598 if (IFNET_IS_VMNET(bif->bif_ifp)) {
7603 if (sc->sc_mac_nat_bif != bif) {
7608 sc->sc_mac_nat_bif = bif;
7609 bif->bif_ifflags |= IFBIF_MAC_NAT;
7709 struct bridge_iflist *bif, int af, const void *ip, uint8_t *eaddr)
7726 mne->mne_bif = bif;
7745 struct bridge_iflist *bif, int af, void *ip, uint8_t *eaddr)
7756 if (mne->mne_bif != bif) {
7759 bif->bif_ifp->if_xname);
7762 } else if (mne->mne_bif != bif) {
7765 mne->mne_bif = bif;
7776 mne = bridge_create_mac_nat_entry(sc, bif, af, ip, eaddr);
7783 struct mac_nat_entry_list *list, struct bridge_iflist *bif)
7789 if (bif != NULL && mne->mne_bif != bif) {
7804 bridge_mac_nat_flush_entries(struct bridge_softc *sc, struct bridge_iflist * bif)
7808 flush_bif = (bif == sc->sc_mac_nat_bif) ? NULL : bif;
8029 struct bridge_iflist *bif, mbuf_t *data, struct mac_nat_record *mnr)
8056 mne = bridge_update_mac_nat_entry(sc, bif, AF_INET, &ip, ea->arp_sha);
8148 struct bridge_iflist *bif, mbuf_t m,
8196 bif->bif_ifp->if_xname,
8204 struct bridge_iflist *bif, mbuf_t *data, struct mac_nat_record *mnr)
8227 mne = bridge_update_mac_nat_entry(sc, bif, AF_INET, &ip,
8233 bridge_mac_nat_udp_output(sc, bif, *data,
8277 bridge_mac_nat_icmpv6_output(struct bridge_softc *sc, struct bridge_iflist *bif,
8462 sc->sc_if_xname, bif->bif_ifp->if_xname, str,
8494 struct bridge_iflist *bif, mbuf_t *data, struct mac_nat_record *mnr)
8501 translate = (bif == sc->sc_mac_nat_bif) ? FALSE : TRUE;
8510 bridge_mac_nat_icmpv6_output(sc, bif, data,
8516 (void)bridge_update_mac_nat_entry(sc, bif, AF_INET6, &saddr,
8616 struct bridge_iflist *bif, mbuf_t *data, struct mac_nat_record *mnr)
8633 translate = bridge_mac_nat_arp_output(sc, bif, data, mnr);
8636 translate = bridge_mac_nat_ip_output(sc, bif, data, mnr);
8639 translate = bridge_mac_nat_ipv6_output(sc, bif, data, mnr);