Module Name:    src
Committed By:   thorpej
Date:           Thu Nov 16 05:13:14 UTC 2023

Modified Files:
        src/sys/dev/usb [thorpej-ifq]: if_umb.c if_upl.c
        src/sys/net [thorpej-ifq]: if.c if.h if_bridge.c if_gif.c
            if_ieee1394subr.c if_loop.c if_spppsubr.c if_vlan.c
        src/sys/net/lagg [thorpej-ifq]: if_laggproto.h

Log Message:
if_transmit_lock() and if_enqueue() are equivalent.  if_enqueue() is
a better name, so collapse everything down to that and garbage-collect
if_transmit_lock().


To generate a diff of this commit:
cvs rdiff -u -r1.25.8.1 -r1.25.8.2 src/sys/dev/usb/if_umb.c
cvs rdiff -u -r1.77.8.1 -r1.77.8.2 src/sys/dev/usb/if_upl.c
cvs rdiff -u -r1.529.2.1.2.3 -r1.529.2.1.2.4 src/sys/net/if.c
cvs rdiff -u -r1.305.2.1.2.4 -r1.305.2.1.2.5 src/sys/net/if.h
cvs rdiff -u -r1.189.6.1.2.1 -r1.189.6.1.2.2 src/sys/net/if_bridge.c
cvs rdiff -u -r1.157.8.1 -r1.157.8.2 src/sys/net/if_gif.c
cvs rdiff -u -r1.69.8.1 -r1.69.8.2 src/sys/net/if_ieee1394subr.c
cvs rdiff -u -r1.118.8.1 -r1.118.8.2 src/sys/net/if_loop.c
cvs rdiff -u -r1.267.4.2 -r1.267.4.3 src/sys/net/if_spppsubr.c
cvs rdiff -u -r1.171.2.1.2.1 -r1.171.2.1.2.2 src/sys/net/if_vlan.c
cvs rdiff -u -r1.18 -r1.18.8.1 src/sys/net/lagg/if_laggproto.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/dev/usb/if_umb.c
diff -u src/sys/dev/usb/if_umb.c:1.25.8.1 src/sys/dev/usb/if_umb.c:1.25.8.2
--- src/sys/dev/usb/if_umb.c:1.25.8.1	Thu Nov 16 04:30:21 2023
+++ src/sys/dev/usb/if_umb.c	Thu Nov 16 05:13:13 2023
@@ -1,4 +1,4 @@
-/*	$NetBSD: if_umb.c,v 1.25.8.1 2023/11/16 04:30:21 thorpej Exp $ */
+/*	$NetBSD: if_umb.c,v 1.25.8.2 2023/11/16 05:13:13 thorpej Exp $ */
 /*	$OpenBSD: if_umb.c,v 1.20 2018/09/10 17:00:45 gerhard Exp $ */
 
 /*
@@ -26,7 +26,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_umb.c,v 1.25.8.1 2023/11/16 04:30:21 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_umb.c,v 1.25.8.2 2023/11/16 05:13:13 thorpej Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_inet.h"
@@ -879,7 +879,7 @@ umb_output(struct ifnet *ifp, struct mbu
 	 * Queue message on interface, and start output if interface
 	 * not yet active.
 	 */
-	error = if_transmit_lock(ifp, m);
+	error = if_enqueue(ifp, m);
 
 	return error;
 }

Index: src/sys/dev/usb/if_upl.c
diff -u src/sys/dev/usb/if_upl.c:1.77.8.1 src/sys/dev/usb/if_upl.c:1.77.8.2
--- src/sys/dev/usb/if_upl.c:1.77.8.1	Thu Nov 16 04:30:21 2023
+++ src/sys/dev/usb/if_upl.c	Thu Nov 16 05:13:13 2023
@@ -1,4 +1,4 @@
-/*	$NetBSD: if_upl.c,v 1.77.8.1 2023/11/16 04:30:21 thorpej Exp $	*/
+/*	$NetBSD: if_upl.c,v 1.77.8.2 2023/11/16 05:13:13 thorpej Exp $	*/
 
 /*
  * Copyright (c) 2000 The NetBSD Foundation, Inc.
@@ -35,7 +35,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_upl.c,v 1.77.8.1 2023/11/16 04:30:21 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_upl.c,v 1.77.8.2 2023/11/16 05:13:13 thorpej Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_inet.h"
@@ -276,7 +276,7 @@ upl_output(struct ifnet *ifp, struct mbu
 	 * Queue message on interface, and start output if interface
 	 * not yet active.
 	 */
-	return if_transmit_lock(ifp, m);
+	return if_enqueue(ifp, m);
 }
 
 static void

Index: src/sys/net/if.c
diff -u src/sys/net/if.c:1.529.2.1.2.3 src/sys/net/if.c:1.529.2.1.2.4
--- src/sys/net/if.c:1.529.2.1.2.3	Wed Nov 15 02:19:00 2023
+++ src/sys/net/if.c	Thu Nov 16 05:13:13 2023
@@ -1,4 +1,4 @@
-/*	$NetBSD: if.c,v 1.529.2.1.2.3 2023/11/15 02:19:00 thorpej Exp $	*/
+/*	$NetBSD: if.c,v 1.529.2.1.2.4 2023/11/16 05:13:13 thorpej Exp $	*/
 
 /*-
  * Copyright (c) 1999, 2000, 2001, 2008, 2023 The NetBSD Foundation, Inc.
@@ -90,7 +90,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if.c,v 1.529.2.1.2.3 2023/11/15 02:19:00 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if.c,v 1.529.2.1.2.4 2023/11/16 05:13:13 thorpej Exp $");
 
 #if defined(_KERNEL_OPT)
 #include "opt_inet.h"
@@ -3796,31 +3796,6 @@ out:
 	return error;
 }
 
-int
-if_transmit_lock(struct ifnet *ifp, struct mbuf *m)
-{
-	int error;
-
-	kmsan_check_mbuf(m);
-
-#ifdef ALTQ
-	KERNEL_LOCK(1, NULL);
-	if (ALTQ_IS_ENABLED(&ifp->if_snd)) {
-		error = if_transmit(ifp, m);
-		KERNEL_UNLOCK_ONE(NULL);
-	} else {
-		KERNEL_UNLOCK_ONE(NULL);
-		error = (*ifp->if_transmit)(ifp, m);
-		/* mbuf is already freed */
-	}
-#else /* !ALTQ */
-	error = (*ifp->if_transmit)(ifp, m);
-	/* mbuf is already freed */
-#endif /* !ALTQ */
-
-	return error;
-}
-
 /*
  * ifq_init --
  *
@@ -4426,17 +4401,6 @@ ifq_classify_packet(struct ifqueue * con
 #endif /* ALTQ */
 }
 
-/*
- * Queue message on interface, and start output if interface
- * not yet active.
- */
-int
-if_enqueue(struct ifnet *ifp, struct mbuf *m)
-{
-
-	return if_transmit_lock(ifp, m);
-}
-
 #ifdef ALTQ
 static void
 ifq_lock2(struct ifqueue * const ifq0, struct ifqueue * const ifq1)
@@ -4453,6 +4417,35 @@ ifq_lock2(struct ifqueue * const ifq0, s
 #endif /* ALTQ */
 
 /*
+ * Queue message on interface, and start output if interface
+ * not yet active.
+ */
+int
+if_enqueue(struct ifnet *ifp, struct mbuf *m)
+{
+	int error;
+
+	kmsan_check_mbuf(m);
+
+#ifdef ALTQ
+	KERNEL_LOCK(1, NULL);
+	if (ALTQ_IS_ENABLED(&ifp->if_snd)) {
+		error = if_transmit(ifp, m);
+		KERNEL_UNLOCK_ONE(NULL);
+	} else {
+		KERNEL_UNLOCK_ONE(NULL);
+		error = (*ifp->if_transmit)(ifp, m);
+		/* mbuf is already freed */
+	}
+#else /* !ALTQ */
+	error = (*ifp->if_transmit)(ifp, m);
+	/* mbuf is already freed */
+#endif /* !ALTQ */
+
+	return error;
+}
+
+/*
  * Queue message on interface, possibly using a second fast queue
  *
  * N.B. Unlike ifq_enqueue(), this does *not* start transmission on

Index: src/sys/net/if.h
diff -u src/sys/net/if.h:1.305.2.1.2.4 src/sys/net/if.h:1.305.2.1.2.5
--- src/sys/net/if.h:1.305.2.1.2.4	Thu Nov 16 04:30:22 2023
+++ src/sys/net/if.h	Thu Nov 16 05:13:13 2023
@@ -1,4 +1,4 @@
-/*	$NetBSD: if.h,v 1.305.2.1.2.4 2023/11/16 04:30:22 thorpej Exp $	*/
+/*	$NetBSD: if.h,v 1.305.2.1.2.5 2023/11/16 05:13:13 thorpej Exp $	*/
 
 /*-
  * Copyright (c) 1999, 2000, 2001, 2023 The NetBSD Foundation, Inc.
@@ -1338,8 +1338,6 @@ void	p2p_rtrequest(int, struct rtentry *
 void	if_clone_attach(struct if_clone *);
 void	if_clone_detach(struct if_clone *);
 
-int	if_transmit_lock(struct ifnet *, struct mbuf *);
-
 int	if_enqueue(struct ifnet *, struct mbuf *);
 int	if_enqueue2(struct ifnet *, struct ifqueue *, struct mbuf *);
 

Index: src/sys/net/if_bridge.c
diff -u src/sys/net/if_bridge.c:1.189.6.1.2.1 src/sys/net/if_bridge.c:1.189.6.1.2.2
--- src/sys/net/if_bridge.c:1.189.6.1.2.1	Thu Nov 16 05:02:23 2023
+++ src/sys/net/if_bridge.c	Thu Nov 16 05:13:13 2023
@@ -1,4 +1,4 @@
-/*	$NetBSD: if_bridge.c,v 1.189.6.1.2.1 2023/11/16 05:02:23 thorpej Exp $	*/
+/*	$NetBSD: if_bridge.c,v 1.189.6.1.2.2 2023/11/16 05:13:13 thorpej Exp $	*/
 
 /*
  * Copyright 2001 Wasabi Systems, Inc.
@@ -80,7 +80,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_bridge.c,v 1.189.6.1.2.1 2023/11/16 05:02:23 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_bridge.c,v 1.189.6.1.2.2 2023/11/16 05:13:13 thorpej Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_inet.h"
@@ -1515,7 +1515,7 @@ bridge_enqueue(struct bridge_softc *sc, 
 	len = m->m_pkthdr.len;
 	mflags = m->m_flags;
 
-	error = if_transmit_lock(dst_ifp, m);
+	error = if_enqueue(dst_ifp, m);
 	if (error) {
 		/* mbuf is already freed */
 		if_statinc(&sc->sc_if, if_oerrors);

Index: src/sys/net/if_gif.c
diff -u src/sys/net/if_gif.c:1.157.8.1 src/sys/net/if_gif.c:1.157.8.2
--- src/sys/net/if_gif.c:1.157.8.1	Thu Nov 16 04:30:22 2023
+++ src/sys/net/if_gif.c	Thu Nov 16 05:13:13 2023
@@ -1,4 +1,4 @@
-/*	$NetBSD: if_gif.c,v 1.157.8.1 2023/11/16 04:30:22 thorpej Exp $	*/
+/*	$NetBSD: if_gif.c,v 1.157.8.2 2023/11/16 05:13:13 thorpej Exp $	*/
 /*	$KAME: if_gif.c,v 1.76 2001/08/20 02:01:02 kjc Exp $	*/
 
 /*
@@ -31,7 +31,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_gif.c,v 1.157.8.1 2023/11/16 04:30:22 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_gif.c,v 1.157.8.2 2023/11/16 05:13:13 thorpej Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_inet.h"
@@ -572,7 +572,7 @@ gif_output(struct ifnet *ifp, struct mbu
 	m->m_pkthdr.csum_flags = 0;
 	m->m_pkthdr.csum_data = 0;
 
-	error = if_transmit_lock(ifp, m);
+	error = if_enqueue(ifp, m);
 
 end:
 	if (var != NULL)

Index: src/sys/net/if_ieee1394subr.c
diff -u src/sys/net/if_ieee1394subr.c:1.69.8.1 src/sys/net/if_ieee1394subr.c:1.69.8.2
--- src/sys/net/if_ieee1394subr.c:1.69.8.1	Thu Nov 16 04:30:22 2023
+++ src/sys/net/if_ieee1394subr.c	Thu Nov 16 05:13:13 2023
@@ -1,4 +1,4 @@
-/*	$NetBSD: if_ieee1394subr.c,v 1.69.8.1 2023/11/16 04:30:22 thorpej Exp $	*/
+/*	$NetBSD: if_ieee1394subr.c,v 1.69.8.2 2023/11/16 05:13:13 thorpej Exp $	*/
 
 /*
  * Copyright (c) 2000 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_ieee1394subr.c,v 1.69.8.1 2023/11/16 04:30:22 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_ieee1394subr.c,v 1.69.8.2 2023/11/16 05:13:13 thorpej Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_inet.h"
@@ -230,7 +230,7 @@ ieee1394_output(struct ifnet *ifp, struc
 	while ((m = m0) != NULL) {
 		m0 = m->m_nextpkt;
 
-		error = if_transmit_lock(ifp, m);
+		error = if_enqueue(ifp, m);
 		if (error) {
 			/* mbuf is already freed */
 			goto bad;

Index: src/sys/net/if_loop.c
diff -u src/sys/net/if_loop.c:1.118.8.1 src/sys/net/if_loop.c:1.118.8.2
--- src/sys/net/if_loop.c:1.118.8.1	Thu Nov 16 04:30:22 2023
+++ src/sys/net/if_loop.c	Thu Nov 16 05:13:13 2023
@@ -1,4 +1,4 @@
-/*	$NetBSD: if_loop.c,v 1.118.8.1 2023/11/16 04:30:22 thorpej Exp $	*/
+/*	$NetBSD: if_loop.c,v 1.118.8.2 2023/11/16 05:13:13 thorpej Exp $	*/
 
 /*
  * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
@@ -65,7 +65,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_loop.c,v 1.118.8.1 2023/11/16 04:30:22 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_loop.c,v 1.118.8.2 2023/11/16 05:13:13 thorpej Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_inet.h"
@@ -289,7 +289,7 @@ looutput(struct ifnet *ifp, struct mbuf 
 		}
 		*(mtod(m, uint32_t *)) = dst->sa_family;
 
-		error = if_transmit_lock(ifp, m);
+		error = if_enqueue(ifp, m);
 		goto out;
 	}
 #endif /* ALTQ */

Index: src/sys/net/if_spppsubr.c
diff -u src/sys/net/if_spppsubr.c:1.267.4.2 src/sys/net/if_spppsubr.c:1.267.4.3
--- src/sys/net/if_spppsubr.c:1.267.4.2	Thu Nov 16 04:30:22 2023
+++ src/sys/net/if_spppsubr.c	Thu Nov 16 05:13:13 2023
@@ -1,4 +1,4 @@
-/*	$NetBSD: if_spppsubr.c,v 1.267.4.2 2023/11/16 04:30:22 thorpej Exp $	 */
+/*	$NetBSD: if_spppsubr.c,v 1.267.4.3 2023/11/16 05:13:13 thorpej Exp $	 */
 
 /*
  * Synchronous PPP/Cisco link level subroutines.
@@ -41,7 +41,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_spppsubr.c,v 1.267.4.2 2023/11/16 04:30:22 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_spppsubr.c,v 1.267.4.3 2023/11/16 05:13:13 thorpej Exp $");
 
 #if defined(_KERNEL_OPT)
 #include "opt_inet.h"
@@ -1018,7 +1018,7 @@ sppp_output(struct ifnet *ifp, struct mb
 	pktlen = m->m_pkthdr.len;
 #ifdef SPPPSUBR_MPSAFE
 	SPPP_UNLOCK(sp);
-	error = if_transmit_lock(ifp, m);
+	error = if_enqueue(ifp, m);
 	SPPP_LOCK(sp, RW_READER);
 	if (error == 0)
 		if_statadd(ifp, if_obytes, pktlen + sp->pp_framebytes);

Index: src/sys/net/if_vlan.c
diff -u src/sys/net/if_vlan.c:1.171.2.1.2.1 src/sys/net/if_vlan.c:1.171.2.1.2.2
--- src/sys/net/if_vlan.c:1.171.2.1.2.1	Thu Nov 16 05:02:23 2023
+++ src/sys/net/if_vlan.c	Thu Nov 16 05:13:13 2023
@@ -1,4 +1,4 @@
-/*	$NetBSD: if_vlan.c,v 1.171.2.1.2.1 2023/11/16 05:02:23 thorpej Exp $	*/
+/*	$NetBSD: if_vlan.c,v 1.171.2.1.2.2 2023/11/16 05:13:13 thorpej Exp $	*/
 
 /*
  * Copyright (c) 2000, 2001 The NetBSD Foundation, Inc.
@@ -78,7 +78,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_vlan.c,v 1.171.2.1.2.1 2023/11/16 05:02:23 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_vlan.c,v 1.171.2.1.2.2 2023/11/16 05:13:13 thorpej Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_inet.h"
@@ -1318,7 +1318,7 @@ vlan_start(struct ifnet *ifp)
 			continue;
 		}
 
-		error = if_transmit_lock(p, m);
+		error = if_enqueue(p, m);
 		if (error) {
 			/* mbuf is already freed */
 			if_statinc(ifp, if_oerrors);
@@ -1416,7 +1416,7 @@ vlan_transmit(struct ifnet *ifp, struct 
 		goto out;
 	}
 
-	error = if_transmit_lock(p, m);
+	error = if_enqueue(p, m);
 	net_stat_ref_t nsr = IF_STAT_GETREF(ifp);
 	if (error) {
 		/* mbuf is already freed */

Index: src/sys/net/lagg/if_laggproto.h
diff -u src/sys/net/lagg/if_laggproto.h:1.18 src/sys/net/lagg/if_laggproto.h:1.18.8.1
--- src/sys/net/lagg/if_laggproto.h:1.18	Sun Jun 26 17:55:24 2022
+++ src/sys/net/lagg/if_laggproto.h	Thu Nov 16 05:13:14 2023
@@ -1,4 +1,4 @@
-/*	$NetBSD: if_laggproto.h,v 1.18 2022/06/26 17:55:24 riastradh Exp $	*/
+/*	$NetBSD: if_laggproto.h,v 1.18.8.1 2023/11/16 05:13:14 thorpej Exp $	*/
 
 /*
  * Copyright (c) 2021 Internet Initiative Japan Inc.
@@ -245,7 +245,7 @@ static inline int
 lagg_port_xmit(struct lagg_port *lp, struct mbuf *m)
 {
 
-	return if_transmit_lock(lp->lp_ifp, m);
+	return if_enqueue(lp->lp_ifp, m);
 }
 
 static inline bool

Reply via email to