Module Name:    src
Committed By:   ozaki-r
Date:           Fri Aug 28 06:23:42 UTC 2020

Modified Files:
        src/sys/net: if.h if_arcsubr.c if_ethersubr.c if_ieee1394subr.c

Log Message:
net: introduce IFQ_ENQUEUE_ISR to assemble packet queuing routines (NFCI)


To generate a diff of this commit:
cvs rdiff -u -r1.283 -r1.284 src/sys/net/if.h
cvs rdiff -u -r1.81 -r1.82 src/sys/net/if_arcsubr.c
cvs rdiff -u -r1.284 -r1.285 src/sys/net/if_ethersubr.c
cvs rdiff -u -r1.65 -r1.66 src/sys/net/if_ieee1394subr.c

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

Modified files:

Index: src/sys/net/if.h
diff -u src/sys/net/if.h:1.283 src/sys/net/if.h:1.284
--- src/sys/net/if.h:1.283	Tue May  5 08:05:03 2020
+++ src/sys/net/if.h	Fri Aug 28 06:23:42 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: if.h,v 1.283 2020/05/05 08:05:03 jdolecek Exp $	*/
+/*	$NetBSD: if.h,v 1.284 2020/08/28 06:23:42 ozaki-r Exp $	*/
 
 /*-
  * Copyright (c) 1999, 2000, 2001 The NetBSD Foundation, Inc.
@@ -1069,6 +1069,20 @@ do {									\
 #define	IFQ_INC_DROPS(ifq)		((ifq)->ifq_drops++)
 #define	IFQ_SET_MAXLEN(ifq, len)	((ifq)->ifq_maxlen = (len))
 
+#define	IFQ_ENQUEUE_ISR(ifq, m, isr)					\
+do {									\
+	IFQ_LOCK(inq);							\
+	if (IF_QFULL(inq)) {						\
+		IF_DROP(inq);						\
+		IFQ_UNLOCK(inq);					\
+		m_freem(m);						\
+	} else {							\
+		IF_ENQUEUE(inq, m);					\
+		IFQ_UNLOCK(inq);					\
+		schednetisr(isr);					\
+	}								\
+} while (/*CONSTCOND*/ 0)
+
 #include <sys/mallocvar.h>
 MALLOC_DECLARE(M_IFADDR);
 MALLOC_DECLARE(M_IFMADDR);

Index: src/sys/net/if_arcsubr.c
diff -u src/sys/net/if_arcsubr.c:1.81 src/sys/net/if_arcsubr.c:1.82
--- src/sys/net/if_arcsubr.c:1.81	Wed Jan 29 04:11:35 2020
+++ src/sys/net/if_arcsubr.c	Fri Aug 28 06:23:42 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: if_arcsubr.c,v 1.81 2020/01/29 04:11:35 thorpej Exp $	*/
+/*	$NetBSD: if_arcsubr.c,v 1.82 2020/08/28 06:23:42 ozaki-r Exp $	*/
 
 /*
  * Copyright (c) 1994, 1995 Ignatios Souvatzis
@@ -35,7 +35,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_arcsubr.c,v 1.81 2020/01/29 04:11:35 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_arcsubr.c,v 1.82 2020/08/28 06:23:42 ozaki-r Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_inet.h"
@@ -580,16 +580,7 @@ arc_input(struct ifnet *ifp, struct mbuf
 		return;
 	}
 
-	IFQ_LOCK(inq);
-	if (IF_QFULL(inq)) {
-		IF_DROP(inq);
-		IFQ_UNLOCK(inq);
-		m_freem(m);
-	} else {
-		IF_ENQUEUE(inq, m);
-		IFQ_UNLOCK(inq);
-		schednetisr(isr);
-	}
+	IFQ_ENQUEUE_ISR(inq, m, isr);
 }
 
 /*

Index: src/sys/net/if_ethersubr.c
diff -u src/sys/net/if_ethersubr.c:1.284 src/sys/net/if_ethersubr.c:1.285
--- src/sys/net/if_ethersubr.c:1.284	Thu Apr 30 03:29:55 2020
+++ src/sys/net/if_ethersubr.c	Fri Aug 28 06:23:42 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: if_ethersubr.c,v 1.284 2020/04/30 03:29:55 riastradh Exp $	*/
+/*	$NetBSD: if_ethersubr.c,v 1.285 2020/08/28 06:23:42 ozaki-r Exp $	*/
 
 /*
  * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
@@ -61,7 +61,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_ethersubr.c,v 1.284 2020/04/30 03:29:55 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_ethersubr.c,v 1.285 2020/08/28 06:23:42 ozaki-r Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_inet.h"
@@ -944,16 +944,7 @@ ether_input(struct ifnet *ifp, struct mb
 		return;
 	}
 
-	IFQ_LOCK(inq);
-	if (IF_QFULL(inq)) {
-		IF_DROP(inq);
-		IFQ_UNLOCK(inq);
-		m_freem(m);
-	} else {
-		IF_ENQUEUE(inq, m);
-		IFQ_UNLOCK(inq);
-		schednetisr(isr);
-	}
+	IFQ_ENQUEUE_ISR(inq, m, isr);
 }
 
 /*

Index: src/sys/net/if_ieee1394subr.c
diff -u src/sys/net/if_ieee1394subr.c:1.65 src/sys/net/if_ieee1394subr.c:1.66
--- src/sys/net/if_ieee1394subr.c:1.65	Sat Dec 22 14:28:56 2018
+++ src/sys/net/if_ieee1394subr.c	Fri Aug 28 06:23:42 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: if_ieee1394subr.c,v 1.65 2018/12/22 14:28:56 maxv Exp $	*/
+/*	$NetBSD: if_ieee1394subr.c,v 1.66 2020/08/28 06:23:42 ozaki-r 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.65 2018/12/22 14:28:56 maxv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_ieee1394subr.c,v 1.66 2020/08/28 06:23:42 ozaki-r Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_inet.h"
@@ -404,16 +404,7 @@ ieee1394_input(struct ifnet *ifp, struct
 		return;
 	}
 
-	IFQ_LOCK(inq);
-	if (IF_QFULL(inq)) {
-		IF_DROP(inq);
-		IFQ_UNLOCK(inq);
-		m_freem(m);
-	} else {
-		IF_ENQUEUE(inq, m);
-		IFQ_UNLOCK(inq);
-		schednetisr(isr);
-	}
+	IFQ_ENQUEUE_ISR(inq, m, isr);
 }
 
 static struct mbuf *

Reply via email to