git: 1c0b19f9966d - stable/12 - netgraph/ng_bridge: Document staleness in multithreaded operation

Lutz Donnerhacke donner at FreeBSD.org
Thu Feb 25 10:02:26 UTC 2021


The branch stable/12 has been updated by donner:

URL: https://cgit.FreeBSD.org/src/commit/?id=1c0b19f9966dd13db7202b44ca79d2170b4f7b8f

commit 1c0b19f9966dd13db7202b44ca79d2170b4f7b8f
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-25 10:02:06 +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 | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/sys/netgraph/ng_bridge.c b/sys/netgraph/ng_bridge.c
index 0b2b7f5ca6a3..3d1dc88af3c2 100644
--- a/sys/netgraph/ng_bridge.c
+++ b/sys/netgraph/ng_bridge.c
@@ -808,8 +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