git: 88e916bff035 - stable/13 - netgraph/ng_bridge: Document staleness in multithreaded operation
Lutz Donnerhacke
donner at FreeBSD.org
Mon Feb 22 08:38:01 UTC 2021
The branch stable/13 has been updated by donner:
URL: https://cgit.FreeBSD.org/src/commit/?id=88e916bff0357ffd0a4b8844cc03c79fcaa2022c
commit 88e916bff0357ffd0a4b8844cc03c79fcaa2022c
Author: Lutz Donnerhacke <donner at FreeBSD.org>
AuthorDate: 2021-02-09 11:32:46 +0000
Commit: Lutz Donnerhacke <donner at FreeBSD.org>
CommitDate: 2021-02-22 08:21:55 +0000
netgraph/ng_bridge: Document staleness in multithreaded operation
In the data path of ng_bridge(4), the only value of the host struct,
which needs to be modified, is the staleness, which is reset every
time a frame is received. It's save to leave the code as it is.
This patch is part of a series to make ng_bridge(4) multithreaded.
Reviewed by: kp
Differential Revision: https://reviews.freebsd.org/D28546
(cherry picked from commit 011b7317dbb5038a95b9b4fca050325a62f3991e)
---
sys/netgraph/ng_bridge.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/sys/netgraph/ng_bridge.c b/sys/netgraph/ng_bridge.c
index 316f9d4fab8c..b6f763dcb631 100644
--- a/sys/netgraph/ng_bridge.c
+++ b/sys/netgraph/ng_bridge.c
@@ -808,7 +808,10 @@ ng_bridge_rcvdata(hook_p hook, item_p item)
/* Look up packet's source Ethernet address in hashtable */
if ((host = ng_bridge_get(priv, eh->ether_shost)) != NULL) {
- /* Update time since last heard from this host */
+ /* Update time since last heard from this host.
+ * This is safe without locking, because it's
+ * the only operation during shared access.
+ */
host->staleness = 0;
/* Did host jump to a different link? */
More information about the dev-commits-src-all
mailing list