Module Name: src
Committed By: maxv
Date: Fri Sep 14 05:09:51 UTC 2018
Modified Files:
src/sys/dist/pf/net: if_pfsync.c if_pfsync.h
src/sys/netinet: dccp_usrreq.c dccp_var.h igmp.c igmp_var.h in_proto.c
ip_carp.c ip_carp.h ip_encap.c ip_encap.h ip_icmp.c ip_icmp.h
ip_mroute.c ip_var.h pim_var.h raw_ip.c sctp_input.c sctp_var.h
tcp_input.c tcp_var.h udp_usrreq.c udp_var.h
src/sys/netipsec: ipsec.h ipsec_input.c
src/sys/sys: protosw.h
Log Message:
Use non-variadic function pointer in protosw::pr_input.
To generate a diff of this commit:
cvs rdiff -u -r1.17 -r1.18 src/sys/dist/pf/net/if_pfsync.c
cvs rdiff -u -r1.3 -r1.4 src/sys/dist/pf/net/if_pfsync.h
cvs rdiff -u -r1.19 -r1.20 src/sys/netinet/dccp_usrreq.c
cvs rdiff -u -r1.4 -r1.5 src/sys/netinet/dccp_var.h
cvs rdiff -u -r1.68 -r1.69 src/sys/netinet/igmp.c
cvs rdiff -u -r1.24 -r1.25 src/sys/netinet/igmp_var.h \
src/sys/netinet/ip_encap.h
cvs rdiff -u -r1.129 -r1.130 src/sys/netinet/in_proto.c
cvs rdiff -u -r1.99 -r1.100 src/sys/netinet/ip_carp.c
cvs rdiff -u -r1.9 -r1.10 src/sys/netinet/ip_carp.h
cvs rdiff -u -r1.69 -r1.70 src/sys/netinet/ip_encap.c
cvs rdiff -u -r1.173 -r1.174 src/sys/netinet/ip_icmp.c
cvs rdiff -u -r1.39 -r1.40 src/sys/netinet/ip_icmp.h
cvs rdiff -u -r1.162 -r1.163 src/sys/netinet/ip_mroute.c
cvs rdiff -u -r1.126 -r1.127 src/sys/netinet/ip_var.h
cvs rdiff -u -r1.3 -r1.4 src/sys/netinet/pim_var.h
cvs rdiff -u -r1.177 -r1.178 src/sys/netinet/raw_ip.c
cvs rdiff -u -r1.10 -r1.11 src/sys/netinet/sctp_input.c
cvs rdiff -u -r1.2 -r1.3 src/sys/netinet/sctp_var.h
cvs rdiff -u -r1.411 -r1.412 src/sys/netinet/tcp_input.c
cvs rdiff -u -r1.188 -r1.189 src/sys/netinet/tcp_var.h
cvs rdiff -u -r1.255 -r1.256 src/sys/netinet/udp_usrreq.c
cvs rdiff -u -r1.44 -r1.45 src/sys/netinet/udp_var.h
cvs rdiff -u -r1.82 -r1.83 src/sys/netipsec/ipsec.h
cvs rdiff -u -r1.70 -r1.71 src/sys/netipsec/ipsec_input.c
cvs rdiff -u -r1.68 -r1.69 src/sys/sys/protosw.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/dist/pf/net/if_pfsync.c
diff -u src/sys/dist/pf/net/if_pfsync.c:1.17 src/sys/dist/pf/net/if_pfsync.c:1.18
--- src/sys/dist/pf/net/if_pfsync.c:1.17 Wed Jun 27 03:31:44 2018
+++ src/sys/dist/pf/net/if_pfsync.c Fri Sep 14 05:09:51 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: if_pfsync.c,v 1.17 2018/06/27 03:31:44 msaitoh Exp $ */
+/* $NetBSD: if_pfsync.c,v 1.18 2018/09/14 05:09:51 maxv Exp $ */
/* $OpenBSD: if_pfsync.c,v 1.83 2007/06/26 14:44:12 mcbride Exp $ */
/*
@@ -28,7 +28,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_pfsync.c,v 1.17 2018/06/27 03:31:44 msaitoh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_pfsync.c,v 1.18 2018/09/14 05:09:51 maxv Exp $");
#ifdef _KERNEL_OPT
#include "opt_inet.h"
@@ -348,7 +348,7 @@ pfsync_insert_net_state(struct pfsync_st
}
void
-pfsync_input(struct mbuf *m, ...)
+pfsync_input(struct mbuf *m, int off, int proto)
{
struct ip *ip = mtod(m, struct ip *);
struct pfsync_header *ph;
Index: src/sys/dist/pf/net/if_pfsync.h
diff -u src/sys/dist/pf/net/if_pfsync.h:1.3 src/sys/dist/pf/net/if_pfsync.h:1.4
--- src/sys/dist/pf/net/if_pfsync.h:1.3 Mon Sep 14 10:36:49 2009
+++ src/sys/dist/pf/net/if_pfsync.h Fri Sep 14 05:09:51 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: if_pfsync.h,v 1.3 2009/09/14 10:36:49 degroote Exp $ */
+/* $NetBSD: if_pfsync.h,v 1.4 2018/09/14 05:09:51 maxv Exp $ */
/* $OpenBSD: if_pfsync.h,v 1.31 2007/05/31 04:11:42 mcbride Exp $ */
/*
@@ -253,7 +253,7 @@ struct pfsyncreq {
} while (0)
#ifdef _KERNEL
-void pfsync_input(struct mbuf *, ...);
+void pfsync_input(struct mbuf *, int, int);
int pfsync_clear_states(u_int32_t, char *);
int pfsync_pack_state(u_int8_t, struct pf_state *, int);
#define pfsync_insert_state(st) do { \
Index: src/sys/netinet/dccp_usrreq.c
diff -u src/sys/netinet/dccp_usrreq.c:1.19 src/sys/netinet/dccp_usrreq.c:1.20
--- src/sys/netinet/dccp_usrreq.c:1.19 Fri May 18 18:58:51 2018
+++ src/sys/netinet/dccp_usrreq.c Fri Sep 14 05:09:51 2018
@@ -1,5 +1,5 @@
/* $KAME: dccp_usrreq.c,v 1.67 2005/11/03 16:05:04 nishida Exp $ */
-/* $NetBSD: dccp_usrreq.c,v 1.19 2018/05/18 18:58:51 maxv Exp $ */
+/* $NetBSD: dccp_usrreq.c,v 1.20 2018/09/14 05:09:51 maxv Exp $ */
/*
* Copyright (c) 2003 Joacim H�ggmark, Magnus Erixzon, Nils-Erik Mattsson
@@ -67,7 +67,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: dccp_usrreq.c,v 1.19 2018/05/18 18:58:51 maxv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: dccp_usrreq.c,v 1.20 2018/09/14 05:09:51 maxv Exp $");
#ifdef _KERNEL_OPT
#include "opt_inet.h"
@@ -181,7 +181,7 @@ dccp_init(void)
}
void
-dccp_input(struct mbuf *m, ...)
+dccp_input(struct mbuf *m, int off, int proto)
{
int iphlen;
struct ip *ip = NULL;
@@ -210,12 +210,7 @@ dccp_input(struct mbuf *m, ...)
struct ip6_hdr *ip6 = NULL;
#endif
- int off;
- va_list ap;
-
- va_start(ap, m);
- iphlen = off = va_arg(ap, int);
- va_end(ap);
+ iphlen = off;
DCCP_DEBUG((LOG_INFO, "Got DCCP packet!\n"));
Index: src/sys/netinet/dccp_var.h
diff -u src/sys/netinet/dccp_var.h:1.4 src/sys/netinet/dccp_var.h:1.5
--- src/sys/netinet/dccp_var.h:1.4 Wed Aug 22 01:05:24 2018
+++ src/sys/netinet/dccp_var.h Fri Sep 14 05:09:51 2018
@@ -1,5 +1,5 @@
/* $KAME: dccp_var.h,v 1.29 2005/11/03 14:59:28 nishida Exp $ */
-/* $NetBSD: dccp_var.h,v 1.4 2018/08/22 01:05:24 msaitoh Exp $ */
+/* $NetBSD: dccp_var.h,v 1.5 2018/09/14 05:09:51 maxv Exp $ */
/*
* Copyright (c) 2003 Joacim H�ggmark, Magnus Erixzon, Nils-Erik Mattsson
@@ -287,7 +287,7 @@ extern struct inpcbtable dccpbtable;
/* These four functions are called from inetsw (in_proto.c) */
void dccp_init(void);
void dccp_log(int, const char *, ...);
-void dccp_input(struct mbuf *, ...);
+void dccp_input(struct mbuf *, int, int);
void* dccp_ctlinput(int, const struct sockaddr *, void *);
int dccp_ctloutput(int , struct socket *, struct sockopt *);
int dccp_sysctl(int *, u_int, void *, size_t *, void *, size_t);
Index: src/sys/netinet/igmp.c
diff -u src/sys/netinet/igmp.c:1.68 src/sys/netinet/igmp.c:1.69
--- src/sys/netinet/igmp.c:1.68 Thu Jun 21 10:37:50 2018
+++ src/sys/netinet/igmp.c Fri Sep 14 05:09:51 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: igmp.c,v 1.68 2018/06/21 10:37:50 knakahara Exp $ */
+/* $NetBSD: igmp.c,v 1.69 2018/09/14 05:09:51 maxv Exp $ */
/*
* Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
@@ -40,7 +40,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: igmp.c,v 1.68 2018/06/21 10:37:50 knakahara Exp $");
+__KERNEL_RCSID(0, "$NetBSD: igmp.c,v 1.69 2018/09/14 05:09:51 maxv Exp $");
#ifdef _KERNEL_OPT
#include "opt_mrouting.h"
@@ -182,7 +182,7 @@ igmp_init(void)
}
void
-igmp_input(struct mbuf *m, ...)
+igmp_input(struct mbuf *m, int off, int proto)
{
ifnet_t *ifp;
struct ip *ip = mtod(m, struct ip *);
@@ -190,14 +190,10 @@ igmp_input(struct mbuf *m, ...)
u_int minlen, timer;
struct in_multi *inm;
struct in_ifaddr *ia;
- int proto, ip_len, iphlen;
- va_list ap;
+ int ip_len, iphlen;
struct psref psref;
- va_start(ap, m);
- iphlen = va_arg(ap, int);
- proto = va_arg(ap, int);
- va_end(ap);
+ iphlen = off;
IGMP_STATINC(IGMP_STAT_RCV_TOTAL);
Index: src/sys/netinet/igmp_var.h
diff -u src/sys/netinet/igmp_var.h:1.24 src/sys/netinet/igmp_var.h:1.25
--- src/sys/netinet/igmp_var.h:1.24 Thu May 29 23:02:48 2014
+++ src/sys/netinet/igmp_var.h Fri Sep 14 05:09:51 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: igmp_var.h,v 1.24 2014/05/29 23:02:48 rmind Exp $ */
+/* $NetBSD: igmp_var.h,v 1.25 2018/09/14 05:09:51 maxv Exp $ */
/*
* Copyright (c) 1992, 1993
@@ -112,7 +112,7 @@
#endif
void igmp_init(void);
-void igmp_input(struct mbuf *, ...);
+void igmp_input(struct mbuf *, int, int);
int igmp_joingroup(struct in_multi *);
void igmp_leavegroup(struct in_multi *);
void igmp_fasttimo(void);
Index: src/sys/netinet/ip_encap.h
diff -u src/sys/netinet/ip_encap.h:1.24 src/sys/netinet/ip_encap.h:1.25
--- src/sys/netinet/ip_encap.h:1.24 Wed Feb 28 10:30:20 2018
+++ src/sys/netinet/ip_encap.h Fri Sep 14 05:09:51 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: ip_encap.h,v 1.24 2018/02/28 10:30:20 maxv Exp $ */
+/* $NetBSD: ip_encap.h,v 1.25 2018/09/14 05:09:51 maxv Exp $ */
/* $KAME: ip_encap.h,v 1.7 2000/03/25 07:23:37 sumikawa Exp $ */
/*
@@ -100,7 +100,7 @@ struct ip_pack6 {
void encapinit(void);
void encap_init(void);
-void encap4_input(struct mbuf *, ...);
+void encap4_input(struct mbuf *, int, int);
int encap6_input(struct mbuf **, int *, int);
const struct encaptab *encap_attach(int, int, const struct sockaddr *,
const struct sockaddr *, const struct sockaddr *,
Index: src/sys/netinet/in_proto.c
diff -u src/sys/netinet/in_proto.c:1.129 src/sys/netinet/in_proto.c:1.130
--- src/sys/netinet/in_proto.c:1.129 Tue Aug 14 14:49:14 2018
+++ src/sys/netinet/in_proto.c Fri Sep 14 05:09:51 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: in_proto.c,v 1.129 2018/08/14 14:49:14 maxv Exp $ */
+/* $NetBSD: in_proto.c,v 1.130 2018/09/14 05:09:51 maxv Exp $ */
/*
* Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
@@ -61,7 +61,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: in_proto.c,v 1.129 2018/08/14 14:49:14 maxv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: in_proto.c,v 1.130 2018/09/14 05:09:51 maxv Exp $");
#ifdef _KERNEL_OPT
#include "opt_mrouting.h"
@@ -216,18 +216,11 @@ PR_WRAP_INPUT(pim_input)
* the ipsec shared library. We need a wrapper anyway.
*/
static void
-ipsec4_common_input_wrapper(struct mbuf *m, ...)
+ipsec4_common_input_wrapper(struct mbuf *m, int off, int proto)
{
if (ipsec_enabled) {
- int off, nxt;
- va_list args;
- /* XXX just passing args to ipsec4_common_input doesn't work */
- va_start(args, m);
- off = va_arg(args, int);
- nxt = va_arg(args, int);
- va_end(args);
- ipsec4_common_input(m, off, nxt);
+ ipsec4_common_input(m, off, proto);
} else {
m_freem(m);
}
Index: src/sys/netinet/ip_carp.c
diff -u src/sys/netinet/ip_carp.c:1.99 src/sys/netinet/ip_carp.c:1.100
--- src/sys/netinet/ip_carp.c:1.99 Tue Jun 26 06:48:03 2018
+++ src/sys/netinet/ip_carp.c Fri Sep 14 05:09:51 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: ip_carp.c,v 1.99 2018/06/26 06:48:03 msaitoh Exp $ */
+/* $NetBSD: ip_carp.c,v 1.100 2018/09/14 05:09:51 maxv Exp $ */
/* $OpenBSD: ip_carp.c,v 1.113 2005/11/04 08:11:54 mcbride Exp $ */
/*
@@ -33,7 +33,7 @@
#endif
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ip_carp.c,v 1.99 2018/06/26 06:48:03 msaitoh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ip_carp.c,v 1.100 2018/09/14 05:09:51 maxv Exp $");
/*
* TODO:
@@ -569,7 +569,7 @@ _carp_proto_input(struct mbuf *m, int hl
}
void
-carp_proto_input(struct mbuf *m, ...)
+carp_proto_input(struct mbuf *m, int off, int proto)
{
wqinput_input(carp_wqinput, m, 0, 0);
Index: src/sys/netinet/ip_carp.h
diff -u src/sys/netinet/ip_carp.h:1.9 src/sys/netinet/ip_carp.h:1.10
--- src/sys/netinet/ip_carp.h:1.9 Wed Aug 22 01:05:24 2018
+++ src/sys/netinet/ip_carp.h Fri Sep 14 05:09:51 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: ip_carp.h,v 1.9 2018/08/22 01:05:24 msaitoh Exp $ */
+/* $NetBSD: ip_carp.h,v 1.10 2018/09/14 05:09:51 maxv Exp $ */
/* $OpenBSD: ip_carp.h,v 1.18 2005/04/20 23:00:41 mpf Exp $ */
/*
@@ -146,7 +146,7 @@ struct carpreq {
#ifdef _KERNEL
void carp_init(void);
void carp_ifdetach(struct ifnet *);
-void carp_proto_input(struct mbuf *, ...);
+void carp_proto_input(struct mbuf *, int, int);
void carp_carpdev_state(void *);
int carp6_proto_input(struct mbuf **, int *, int);
int carp_iamatch(struct in_ifaddr *, u_char *,
Index: src/sys/netinet/ip_encap.c
diff -u src/sys/netinet/ip_encap.c:1.69 src/sys/netinet/ip_encap.c:1.70
--- src/sys/netinet/ip_encap.c:1.69 Thu Jun 21 10:37:50 2018
+++ src/sys/netinet/ip_encap.c Fri Sep 14 05:09:51 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: ip_encap.c,v 1.69 2018/06/21 10:37:50 knakahara Exp $ */
+/* $NetBSD: ip_encap.c,v 1.70 2018/09/14 05:09:51 maxv Exp $ */
/* $KAME: ip_encap.c,v 1.73 2001/10/02 08:30:58 itojun Exp $ */
/*
@@ -68,7 +68,7 @@
#define USE_RADIX
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ip_encap.c,v 1.69 2018/06/21 10:37:50 knakahara Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ip_encap.c,v 1.70 2018/09/14 05:09:51 maxv Exp $");
#ifdef _KERNEL_OPT
#include "opt_mrouting.h"
@@ -342,19 +342,12 @@ encap4_lookup(struct mbuf *m, int off, i
}
void
-encap4_input(struct mbuf *m, ...)
+encap4_input(struct mbuf *m, int off, int proto)
{
- int off, proto;
- va_list ap;
const struct encapsw *esw;
struct encaptab *match;
struct psref match_psref;
- va_start(ap, m);
- off = va_arg(ap, int);
- proto = va_arg(ap, int);
- va_end(ap);
-
match = encap4_lookup(m, off, proto, INBOUND, &match_psref);
if (match) {
/* found a match, "match" has the best one */
Index: src/sys/netinet/ip_icmp.c
diff -u src/sys/netinet/ip_icmp.c:1.173 src/sys/netinet/ip_icmp.c:1.174
--- src/sys/netinet/ip_icmp.c:1.173 Mon Sep 3 16:29:36 2018
+++ src/sys/netinet/ip_icmp.c Fri Sep 14 05:09:51 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: ip_icmp.c,v 1.173 2018/09/03 16:29:36 riastradh Exp $ */
+/* $NetBSD: ip_icmp.c,v 1.174 2018/09/14 05:09:51 maxv Exp $ */
/*
* Copyright (c) 1998, 2000 The NetBSD Foundation, Inc.
@@ -94,7 +94,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ip_icmp.c,v 1.173 2018/09/03 16:29:36 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ip_icmp.c,v 1.174 2018/09/14 05:09:51 maxv Exp $");
#ifdef _KERNEL_OPT
#include "opt_ipsec.h"
@@ -693,17 +693,9 @@ freeit:
}
void
-icmp_input(struct mbuf *m, ...)
+icmp_input(struct mbuf *m, int off, int proto)
{
- int hlen, proto;
- va_list ap;
-
- va_start(ap, m);
- hlen = va_arg(ap, int);
- proto = va_arg(ap, int);
- va_end(ap);
-
- wqinput_input(icmp_wqinput, m, hlen, proto);
+ wqinput_input(icmp_wqinput, m, off, proto);
}
/*
Index: src/sys/netinet/ip_icmp.h
diff -u src/sys/netinet/ip_icmp.h:1.39 src/sys/netinet/ip_icmp.h:1.40
--- src/sys/netinet/ip_icmp.h:1.39 Thu Feb 8 10:42:12 2018
+++ src/sys/netinet/ip_icmp.h Fri Sep 14 05:09:51 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: ip_icmp.h,v 1.39 2018/02/08 10:42:12 maxv Exp $ */
+/* $NetBSD: ip_icmp.h,v 1.40 2018/09/14 05:09:51 maxv Exp $ */
/*
* Copyright (c) 1982, 1986, 1993
@@ -292,7 +292,7 @@ static const char *icmp_code_photuris[]
#ifdef _KERNEL
void icmp_error(struct mbuf *, int, int, n_long, int);
void icmp_mtudisc(struct icmp *, struct in_addr);
-void icmp_input(struct mbuf *, ...);
+void icmp_input(struct mbuf *, int, int);
void icmp_init(void);
void icmp_reflect(struct mbuf *);
Index: src/sys/netinet/ip_mroute.c
diff -u src/sys/netinet/ip_mroute.c:1.162 src/sys/netinet/ip_mroute.c:1.163
--- src/sys/netinet/ip_mroute.c:1.162 Wed Jul 11 12:48:42 2018
+++ src/sys/netinet/ip_mroute.c Fri Sep 14 05:09:51 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: ip_mroute.c,v 1.162 2018/07/11 12:48:42 martin Exp $ */
+/* $NetBSD: ip_mroute.c,v 1.163 2018/09/14 05:09:51 maxv Exp $ */
/*
* Copyright (c) 1992, 1993
@@ -93,7 +93,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ip_mroute.c,v 1.162 2018/07/11 12:48:42 martin Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ip_mroute.c,v 1.163 2018/09/14 05:09:51 maxv Exp $");
#ifdef _KERNEL_OPT
#include "opt_inet.h"
@@ -2919,22 +2919,16 @@ pim_register_send_rp(struct ip *ip, stru
* is passed to if_simloop().
*/
void
-pim_input(struct mbuf *m, ...)
+pim_input(struct mbuf *m, int off, int proto)
{
struct ip *ip = mtod(m, struct ip *);
struct pim *pim;
int minlen;
int datalen;
int ip_tos;
- int proto;
int iphlen;
- va_list ap;
-
- va_start(ap, m);
- iphlen = va_arg(ap, int);
- proto = va_arg(ap, int);
- va_end(ap);
+ iphlen = off;
datalen = ntohs(ip->ip_len) - iphlen;
/* Keep statistics */
Index: src/sys/netinet/ip_var.h
diff -u src/sys/netinet/ip_var.h:1.126 src/sys/netinet/ip_var.h:1.127
--- src/sys/netinet/ip_var.h:1.126 Tue Jul 10 15:46:58 2018
+++ src/sys/netinet/ip_var.h Fri Sep 14 05:09:51 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: ip_var.h,v 1.126 2018/07/10 15:46:58 maxv Exp $ */
+/* $NetBSD: ip_var.h,v 1.127 2018/09/14 05:09:51 maxv Exp $ */
/*
* Copyright (c) 1982, 1986, 1993
@@ -224,7 +224,7 @@ void ip_statinc(u_int);
void * rip_ctlinput(int, const struct sockaddr *, void *);
int rip_ctloutput(int, struct socket *, struct sockopt *);
void rip_init(void);
-void rip_input(struct mbuf *, ...);
+void rip_input(struct mbuf *, int, int);
int rip_output(struct mbuf *, struct inpcb *, struct mbuf *, struct lwp *);
int rip_usrreq(struct socket *,
int, struct mbuf *, struct mbuf *, struct mbuf *, struct lwp *);
Index: src/sys/netinet/pim_var.h
diff -u src/sys/netinet/pim_var.h:1.3 src/sys/netinet/pim_var.h:1.4
--- src/sys/netinet/pim_var.h:1.3 Wed Aug 22 01:05:24 2018
+++ src/sys/netinet/pim_var.h Fri Sep 14 05:09:51 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: pim_var.h,v 1.3 2018/08/22 01:05:24 msaitoh Exp $ */
+/* $NetBSD: pim_var.h,v 1.4 2018/09/14 05:09:51 maxv Exp $ */
/*
* Copyright (c) 1998-2000
@@ -69,7 +69,7 @@ struct pimstat {
#ifdef _KERNEL
extern struct pimstat pimstat;
-void pim_input(struct mbuf *, ...);
+void pim_input(struct mbuf *, int, int);
#endif
#endif /* !_NETINET_PIM_VAR_H_ */
Index: src/sys/netinet/raw_ip.c
diff -u src/sys/netinet/raw_ip.c:1.177 src/sys/netinet/raw_ip.c:1.178
--- src/sys/netinet/raw_ip.c:1.177 Fri May 11 14:07:58 2018
+++ src/sys/netinet/raw_ip.c Fri Sep 14 05:09:51 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: raw_ip.c,v 1.177 2018/05/11 14:07:58 maxv Exp $ */
+/* $NetBSD: raw_ip.c,v 1.178 2018/09/14 05:09:51 maxv Exp $ */
/*
* Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
@@ -65,7 +65,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: raw_ip.c,v 1.177 2018/05/11 14:07:58 maxv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: raw_ip.c,v 1.178 2018/09/14 05:09:51 maxv Exp $");
#ifdef _KERNEL_OPT
#include "opt_inet.h"
@@ -162,21 +162,15 @@ rip_sbappendaddr(struct inpcb *last, str
* mbuf chain.
*/
void
-rip_input(struct mbuf *m, ...)
+rip_input(struct mbuf *m, int off, int proto)
{
- int hlen, proto;
struct ip *ip = mtod(m, struct ip *);
struct inpcb_hdr *inph;
struct inpcb *inp;
struct inpcb *last = NULL;
struct mbuf *n;
struct sockaddr_in ripsrc;
- va_list ap;
-
- va_start(ap, m);
- (void)va_arg(ap, int); /* ignore value, advance ap */
- proto = va_arg(ap, int);
- va_end(ap);
+ int hlen;
sockaddr_in_init(&ripsrc, &ip->ip_src, 0);
Index: src/sys/netinet/sctp_input.c
diff -u src/sys/netinet/sctp_input.c:1.10 src/sys/netinet/sctp_input.c:1.11
--- src/sys/netinet/sctp_input.c:1.10 Mon Sep 3 16:29:36 2018
+++ src/sys/netinet/sctp_input.c Fri Sep 14 05:09:51 2018
@@ -1,5 +1,5 @@
/* $KAME: sctp_input.c,v 1.28 2005/04/21 18:36:21 nishida Exp $ */
-/* $NetBSD: sctp_input.c,v 1.10 2018/09/03 16:29:36 riastradh Exp $ */
+/* $NetBSD: sctp_input.c,v 1.11 2018/09/14 05:09:51 maxv Exp $ */
/*
* Copyright (C) 2002, 2003, 2004 Cisco Systems Inc,
@@ -31,7 +31,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: sctp_input.c,v 1.10 2018/09/03 16:29:36 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: sctp_input.c,v 1.11 2018/09/14 05:09:51 maxv Exp $");
#ifdef _KERNEL_OPT
#include "opt_ipsec.h"
@@ -4049,7 +4049,7 @@ sctp_saveopt(struct sctp_inpcb *inp, str
extern int sctp_no_csum_on_loopback;
void
-sctp_input(struct mbuf *m, ...)
+sctp_input(struct mbuf *m, int off, int proto)
{
int iphlen;
u_int8_t ecn_bits;
@@ -4069,12 +4069,7 @@ sctp_input(struct mbuf *m, ...)
int refcount_up = 0;
int length, mlen, offset;
- int off;
- va_list ap;
-
- va_start(ap, m);
- iphlen = off = va_arg(ap, int);
- va_end(ap);
+ iphlen = off;
net = NULL;
sctp_pegs[SCTP_INPKTS]++;
Index: src/sys/netinet/sctp_var.h
diff -u src/sys/netinet/sctp_var.h:1.2 src/sys/netinet/sctp_var.h:1.3
--- src/sys/netinet/sctp_var.h:1.2 Wed Aug 22 01:05:24 2018
+++ src/sys/netinet/sctp_var.h Fri Sep 14 05:09:51 2018
@@ -1,5 +1,5 @@
/* $KAME: sctp_var.h,v 1.24 2005/03/06 16:04:19 itojun Exp $ */
-/* $NetBSD: sctp_var.h,v 1.2 2018/08/22 01:05:24 msaitoh Exp $ */
+/* $NetBSD: sctp_var.h,v 1.3 2018/09/14 05:09:51 maxv Exp $ */
/*
* Copyright (c) 2001, 2002, 2003, 2004 Cisco Systems, Inc.
@@ -144,7 +144,7 @@ struct sctphdr;
void* sctp_ctlinput(int, const struct sockaddr *, void *);
int sctp_ctloutput(int, struct socket *, struct sockopt *);
-void sctp_input(struct mbuf *, ... );
+void sctp_input(struct mbuf *, int, int);
void sctp_drain(void);
void sctp_init(void);
int sctp_shutdown(struct socket *);
Index: src/sys/netinet/tcp_input.c
diff -u src/sys/netinet/tcp_input.c:1.411 src/sys/netinet/tcp_input.c:1.412
--- src/sys/netinet/tcp_input.c:1.411 Fri Sep 14 04:29:46 2018
+++ src/sys/netinet/tcp_input.c Fri Sep 14 05:09:51 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: tcp_input.c,v 1.411 2018/09/14 04:29:46 maxv Exp $ */
+/* $NetBSD: tcp_input.c,v 1.412 2018/09/14 05:09:51 maxv Exp $ */
/*
* Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
@@ -148,7 +148,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: tcp_input.c,v 1.411 2018/09/14 04:29:46 maxv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: tcp_input.c,v 1.412 2018/09/14 05:09:51 maxv Exp $");
#ifdef _KERNEL_OPT
#include "opt_inet.h"
@@ -1172,7 +1172,7 @@ drop:
* TCP input routine, follows pages 65-76 of RFC 793 very closely.
*/
void
-tcp_input(struct mbuf *m, ...)
+tcp_input(struct mbuf *m, int off, int proto)
{
struct tcphdr *th;
struct ip *ip;
@@ -1183,7 +1183,7 @@ tcp_input(struct mbuf *m, ...)
#endif
u_int8_t *optp = NULL;
int optlen = 0;
- int len, tlen, off, hdroptlen = 0;
+ int len, tlen, hdroptlen = 0;
struct tcpcb *tp = NULL;
int tiflags;
struct socket *so = NULL;
@@ -1195,7 +1195,6 @@ tcp_input(struct mbuf *m, ...)
u_long tiwin;
struct tcp_opt_info opti;
int thlen, iphlen;
- va_list ap;
int af; /* af on the wire */
struct mbuf *tcp_saveti = NULL;
uint32_t ts_rtt;
@@ -1206,10 +1205,6 @@ tcp_input(struct mbuf *m, ...)
vestige.valid = 0;
MCLAIM(m, &tcp_rx_mowner);
- va_start(ap, m);
- off = va_arg(ap, int);
- (void)va_arg(ap, int); /* ignore value, advance ap */
- va_end(ap);
TCP_STATINC(TCP_STAT_RCVTOTAL);
Index: src/sys/netinet/tcp_var.h
diff -u src/sys/netinet/tcp_var.h:1.188 src/sys/netinet/tcp_var.h:1.189
--- src/sys/netinet/tcp_var.h:1.188 Mon Sep 3 16:29:36 2018
+++ src/sys/netinet/tcp_var.h Fri Sep 14 05:09:51 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: tcp_var.h,v 1.188 2018/09/03 16:29:36 riastradh Exp $ */
+/* $NetBSD: tcp_var.h,v 1.189 2018/09/14 05:09:51 maxv Exp $ */
/*
* Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
@@ -876,7 +876,7 @@ void tcp_init_common(unsigned);
#ifdef INET6
int tcp6_input(struct mbuf **, int *, int);
#endif
-void tcp_input(struct mbuf *, ...);
+void tcp_input(struct mbuf *, int, int);
u_int tcp_hdrsz(struct tcpcb *);
u_long tcp_mss_to_advertise(const struct ifnet *, int);
void tcp_mss_from_peer(struct tcpcb *, int);
Index: src/sys/netinet/udp_usrreq.c
diff -u src/sys/netinet/udp_usrreq.c:1.255 src/sys/netinet/udp_usrreq.c:1.256
--- src/sys/netinet/udp_usrreq.c:1.255 Sun Jul 15 05:16:45 2018
+++ src/sys/netinet/udp_usrreq.c Fri Sep 14 05:09:51 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: udp_usrreq.c,v 1.255 2018/07/15 05:16:45 maxv Exp $ */
+/* $NetBSD: udp_usrreq.c,v 1.256 2018/09/14 05:09:51 maxv Exp $ */
/*
* Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
@@ -66,7 +66,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: udp_usrreq.c,v 1.255 2018/07/15 05:16:45 maxv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: udp_usrreq.c,v 1.256 2018/09/14 05:09:51 maxv Exp $");
#ifdef _KERNEL_OPT
#include "opt_inet.h"
@@ -308,22 +308,16 @@ badcsum:
}
void
-udp_input(struct mbuf *m, ...)
+udp_input(struct mbuf *m, int off, int proto)
{
- va_list ap;
struct sockaddr_in src, dst;
struct ip *ip;
struct udphdr *uh;
- int iphlen;
+ int iphlen = off;
int len;
int n;
u_int16_t ip_len;
- va_start(ap, m);
- iphlen = va_arg(ap, int);
- (void)va_arg(ap, int); /* ignore value, advance ap */
- va_end(ap);
-
MCLAIM(m, &udp_rx_mowner);
UDP_STATINC(UDP_STAT_IPACKETS);
Index: src/sys/netinet/udp_var.h
diff -u src/sys/netinet/udp_var.h:1.44 src/sys/netinet/udp_var.h:1.45
--- src/sys/netinet/udp_var.h:1.44 Wed Aug 22 01:05:24 2018
+++ src/sys/netinet/udp_var.h Fri Sep 14 05:09:51 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: udp_var.h,v 1.44 2018/08/22 01:05:24 msaitoh Exp $ */
+/* $NetBSD: udp_var.h,v 1.45 2018/09/14 05:09:51 maxv Exp $ */
/*
* Copyright (c) 1982, 1986, 1989, 1993
@@ -85,7 +85,7 @@ void *udp_ctlinput(int, const struct soc
int udp_ctloutput(int, struct socket *, struct sockopt *);
void udp_init(void);
void udp_init_common(void);
-void udp_input(struct mbuf *, ...);
+void udp_input(struct mbuf *, int, int);
int udp_output(struct mbuf *, struct inpcb *, struct mbuf *, struct lwp *);
int udp_input_checksum(int af, struct mbuf *, const struct udphdr *, int, int);
void udp_statinc(u_int);
Index: src/sys/netipsec/ipsec.h
diff -u src/sys/netipsec/ipsec.h:1.82 src/sys/netipsec/ipsec.h:1.83
--- src/sys/netipsec/ipsec.h:1.82 Mon May 14 17:34:26 2018
+++ src/sys/netipsec/ipsec.h Fri Sep 14 05:09:51 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: ipsec.h,v 1.82 2018/05/14 17:34:26 maxv Exp $ */
+/* $NetBSD: ipsec.h,v 1.83 2018/09/14 05:09:51 maxv Exp $ */
/* $FreeBSD: ipsec.h,v 1.2.4.2 2004/02/14 22:23:23 bms Exp $ */
/* $KAME: ipsec.h,v 1.53 2001/11/20 08:32:38 itojun Exp $ */
@@ -291,7 +291,7 @@ void *ah4_ctlinput(int, const struct soc
void ipsec_output_init(void);
struct m_tag;
-void ipsec4_common_input(struct mbuf *m, ...);
+void ipsec4_common_input(struct mbuf *m, int, int);
int ipsec4_common_input_cb(struct mbuf *, struct secasvar *, int, int);
int ipsec4_process_packet(struct mbuf *, const struct ipsecrequest *, u_long *);
int ipsec_process_done(struct mbuf *, const struct ipsecrequest *,
Index: src/sys/netipsec/ipsec_input.c
diff -u src/sys/netipsec/ipsec_input.c:1.70 src/sys/netipsec/ipsec_input.c:1.71
--- src/sys/netipsec/ipsec_input.c:1.70 Fri May 18 19:02:49 2018
+++ src/sys/netipsec/ipsec_input.c Fri Sep 14 05:09:51 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: ipsec_input.c,v 1.70 2018/05/18 19:02:49 maxv Exp $ */
+/* $NetBSD: ipsec_input.c,v 1.71 2018/09/14 05:09:51 maxv Exp $ */
/* $FreeBSD: ipsec_input.c,v 1.2.4.2 2003/03/28 20:32:53 sam Exp $ */
/* $OpenBSD: ipsec_input.c,v 1.63 2003/02/20 18:35:43 deraadt Exp $ */
@@ -39,7 +39,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ipsec_input.c,v 1.70 2018/05/18 19:02:49 maxv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ipsec_input.c,v 1.71 2018/09/14 05:09:51 maxv Exp $");
/*
* IPsec input processing.
@@ -295,18 +295,10 @@ ipsec_common_input(struct mbuf *m, int s
* Common input handler for IPv4 AH, ESP, and IPCOMP.
*/
void
-ipsec4_common_input(struct mbuf *m, ...)
+ipsec4_common_input(struct mbuf *m, int off, int proto)
{
- va_list ap;
- int off, nxt;
-
- va_start(ap, m);
- off = va_arg(ap, int);
- nxt = va_arg(ap, int);
- va_end(ap);
-
(void)ipsec_common_input(m, off, offsetof(struct ip, ip_p),
- AF_INET, nxt);
+ AF_INET, proto);
}
/*
Index: src/sys/sys/protosw.h
diff -u src/sys/sys/protosw.h:1.68 src/sys/sys/protosw.h:1.69
--- src/sys/sys/protosw.h:1.68 Wed Oct 4 02:25:07 2017
+++ src/sys/sys/protosw.h Fri Sep 14 05:09:51 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: protosw.h,v 1.68 2017/10/04 02:25:07 ozaki-r Exp $ */
+/* $NetBSD: protosw.h,v 1.69 2018/09/14 05:09:51 maxv Exp $ */
/*-
* Copyright (c) 1982, 1986, 1993
@@ -76,7 +76,7 @@ struct protosw {
/* protocol-protocol hooks */
void (*pr_input) /* input to protocol (from below) */
- (struct mbuf *, ...);
+ (struct mbuf *, int, int);
void *(*pr_ctlinput) /* control input (from below) */
(int, const struct sockaddr *, void *);
int (*pr_ctloutput) /* control output (from above) */
@@ -498,17 +498,10 @@ name##_wrapper(int a, const struct socka
#define PR_WRAP_INPUT(name) \
static void \
-name##_wrapper(struct mbuf *m, ...) \
+name##_wrapper(struct mbuf *m, int off, int proto) \
{ \
- va_list args; \
- int off, nxt; \
- /* XXX just passing args doesn't work on rump kernels */\
- va_start(args, m); \
- off = va_arg(args, int); \
- nxt = va_arg(args, int); \
- va_end(args); \
mutex_enter(softnet_lock); \
- name(m, off, nxt); \
+ name(m, off, proto); \
mutex_exit(softnet_lock); \
}