Author: kp
Date: Fri Jul 24 20:10:27 2020
New Revision: 363492
URL: https://svnweb.freebsd.org/changeset/base/363492

Log:
  bridge: Enter epoch for bridge_transmit()
  
  Just like the change done for bridge_input()/bridge_output() in r363430
  we must enter epoch ourselves, because its coverage is not as wide as in
  head.
  
  This is a direct commit to stable/12.
  
  PR:           248046

Modified:
  stable/12/sys/net/if_bridge.c

Modified: stable/12/sys/net/if_bridge.c
==============================================================================
--- stable/12/sys/net/if_bridge.c       Fri Jul 24 20:09:52 2020        
(r363491)
+++ stable/12/sys/net/if_bridge.c       Fri Jul 24 20:10:27 2020        
(r363492)
@@ -2189,11 +2189,14 @@ sendunicast:
 static int
 bridge_transmit(struct ifnet *ifp, struct mbuf *m)
 {
+       struct epoch_tracker et;
        struct bridge_softc *sc;
        struct ether_header *eh;
        struct ifnet *dst_if;
        int error = 0;
 
+       NET_EPOCH_ENTER_ET(et);
+
        sc = ifp->if_softc;
 
        ETHER_BPF_MTAP(ifp, m);
@@ -2205,6 +2208,8 @@ bridge_transmit(struct ifnet *ifp, struct mbuf *m)
                error = bridge_enqueue(sc, dst_if, m);
        } else
                bridge_broadcast(sc, ifp, m, 0);
+
+       NET_EPOCH_EXIT_ET(et);
 
        return (error);
 }
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to