git: 011b7317dbb5 - main - netgraph/ng_bridge: Document staleness in multithreaded operation

Lutz Donnerhacke donner at FreeBSD.org
Tue Feb 9 19:25:28 UTC 2021


The branch main has been updated by donner:

URL: https://cgit.FreeBSD.org/src/commit/?id=011b7317dbb5038a95b9b4fca050325a62f3991e

commit 011b7317dbb5038a95b9b4fca050325a62f3991e
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-09 19:09:05 +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
    MFC after:      2 weeks
    Differential Revision: https://reviews.freebsd.org/D28546
---
 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 6e3f993d591b..29ab2c715aa7 100644
--- a/sys/netgraph/ng_bridge.c
+++ b/sys/netgraph/ng_bridge.c
@@ -739,7 +739,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-main mailing list