Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 24 Jul 2020 20:10:28 +0000 (UTC)
From:      Kristof Provost <kp@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org
Subject:   svn commit: r363492 - stable/12/sys/net
Message-ID:  <202007242010.06OKASRt088293@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
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);
 }



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202007242010.06OKASRt088293>