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