Module Name: src
Committed By: pgoyette
Date: Tue Jan 15 04:10:35 UTC 2019
Modified Files:
src/sys/kern [pgoyette-compat]: compat_stub.c
src/sys/net [pgoyette-compat]: rtsock.c rtsock_shared.c
src/sys/sys [pgoyette-compat]: compat_stub.h
Log Message:
Add vectors for sctp_{add,delete}_ipaddr() so we can check them
in rtsock.c rather than depending on the SCTP kernel compile
option. This is similar to what was done previously with NTP.
To generate a diff of this commit:
cvs rdiff -u -r1.1.2.35 -r1.1.2.36 src/sys/kern/compat_stub.c
cvs rdiff -u -r1.238.2.20 -r1.238.2.21 src/sys/net/rtsock.c
cvs rdiff -u -r1.1.2.2 -r1.1.2.3 src/sys/net/rtsock_shared.c
cvs rdiff -u -r1.1.2.48 -r1.1.2.49 src/sys/sys/compat_stub.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/kern/compat_stub.c
diff -u src/sys/kern/compat_stub.c:1.1.2.35 src/sys/kern/compat_stub.c:1.1.2.36
--- src/sys/kern/compat_stub.c:1.1.2.35 Sun Jan 13 23:32:21 2019
+++ src/sys/kern/compat_stub.c Tue Jan 15 04:10:34 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: compat_stub.c,v 1.1.2.35 2019/01/13 23:32:21 pgoyette Exp $ */
+/* $NetBSD: compat_stub.c,v 1.1.2.36 2019/01/15 04:10:34 pgoyette Exp $ */
/*-
* Copyright (c) 2018 The NetBSD Foundation, Inc.
@@ -59,6 +59,15 @@ int (*vec_ntp_timestatus)(void) = NULL;
void (*vec_ntp_adjtime1)(struct timex *) = NULL;
#endif
+#ifdef SCTP
+void (*vec_sctp_add_ip_address)(struct ifaddr *) = sctp_add_ip_address;
+void (*vec_sctp_delete_ip_address)(struct ifaddr *) = sctp_delete_ip_address;
+else
+void (*vec_sctp_add_ip_address)(struct ifaddr *) = NULL;
+void (*vec_sctp_delete_ip_address)(struct ifaddr *) = NULL;
+#endif
+
+
/*
* usb device_info compatability
*/
Index: src/sys/net/rtsock.c
diff -u src/sys/net/rtsock.c:1.238.2.20 src/sys/net/rtsock.c:1.238.2.21
--- src/sys/net/rtsock.c:1.238.2.20 Tue Jan 15 03:40:35 2019
+++ src/sys/net/rtsock.c Tue Jan 15 04:10:34 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: rtsock.c,v 1.238.2.20 2019/01/15 03:40:35 pgoyette Exp $ */
+/* $NetBSD: rtsock.c,v 1.238.2.21 2019/01/15 04:10:34 pgoyette Exp $ */
/*
* Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
@@ -61,13 +61,12 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: rtsock.c,v 1.238.2.20 2019/01/15 03:40:35 pgoyette Exp $");
+__KERNEL_RCSID(0, "$NetBSD: rtsock.c,v 1.238.2.21 2019/01/15 04:10:34 pgoyette Exp $");
#ifdef _KERNEL_OPT
#include "opt_inet.h"
#include "opt_mpls.h"
#include "opt_compat_netbsd.h"
-#include "opt_sctp.h"
#include "opt_net_mpsafe.h"
#endif
@@ -96,11 +95,6 @@ __KERNEL_RCSID(0, "$NetBSD: rtsock.c,v 1
#include <netmpls/mpls.h>
-#ifdef SCTP
-extern void sctp_add_ip_address(struct ifaddr *);
-extern void sctp_delete_ip_address(struct ifaddr *);
-#endif
-
#include <compat/net/if.h>
#include <compat/net/route.h>
Index: src/sys/net/rtsock_shared.c
diff -u src/sys/net/rtsock_shared.c:1.1.2.2 src/sys/net/rtsock_shared.c:1.1.2.3
--- src/sys/net/rtsock_shared.c:1.1.2.2 Tue Jan 15 03:40:35 2019
+++ src/sys/net/rtsock_shared.c Tue Jan 15 04:10:34 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: rtsock_shared.c,v 1.1.2.2 2019/01/15 03:40:35 pgoyette Exp $ */
+/* $NetBSD: rtsock_shared.c,v 1.1.2.3 2019/01/15 04:10:34 pgoyette Exp $ */
/*
* Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
@@ -61,13 +61,12 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: rtsock_shared.c,v 1.1.2.2 2019/01/15 03:40:35 pgoyette Exp $");
+__KERNEL_RCSID(0, "$NetBSD: rtsock_shared.c,v 1.1.2.3 2019/01/15 04:10:34 pgoyette Exp $");
#ifdef _KERNEL_OPT
#include "opt_inet.h"
#include "opt_mpls.h"
#include "opt_compat_netbsd.h"
-#include "opt_sctp.h"
#include "opt_net_mpsafe.h"
#endif
@@ -96,11 +95,6 @@ __KERNEL_RCSID(0, "$NetBSD: rtsock_share
#include <netmpls/mpls.h>
-#ifdef SCTP
-extern void sctp_add_ip_address(struct ifaddr *);
-extern void sctp_delete_ip_address(struct ifaddr *);
-#endif
-
#include <compat/net/if.h>
#include <compat/net/route.h>
@@ -1427,13 +1421,11 @@ COMPATNAME(rt_newaddrmsg)(int cmd, struc
KASSERT(ifa != NULL);
KASSERT(ifa->ifa_addr != NULL);
ifp = ifa->ifa_ifp;
-#ifdef SCTP
- if (cmd == RTM_ADD) {
- sctp_add_ip_address(ifa);
- } else if (cmd == RTM_DELETE) {
- sctp_delete_ip_address(ifa);
+ if (cmd == RTM_ADD && vec_sctp_add_ip_address != NULL) {
+ (*vec_sctp_add_ip_address)(ifa);
+ } else if (cmd == RTM_DELETE && vec_sctp_delete_ip_address != NULL) {
+ (*vec_sctp_delete_ip_address)(ifa);
}
-#endif
COMPATCALL(rt_newaddrmsg, (cmd, ifa, error, rt));
if (COMPATNAME(route_info).ri_cb.any_count == 0)
Index: src/sys/sys/compat_stub.h
diff -u src/sys/sys/compat_stub.h:1.1.2.48 src/sys/sys/compat_stub.h:1.1.2.49
--- src/sys/sys/compat_stub.h:1.1.2.48 Mon Jan 14 13:34:28 2019
+++ src/sys/sys/compat_stub.h Tue Jan 15 04:10:35 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: compat_stub.h,v 1.1.2.48 2019/01/14 13:34:28 pgoyette Exp $ */
+/* $NetBSD: compat_stub.h,v 1.1.2.49 2019/01/15 04:10:35 pgoyette Exp $ */
/*-
* Copyright (c) 2018 The NetBSD Foundation, Inc.
@@ -49,12 +49,27 @@ extern int (*vec_ntp_timestatus)(void);
extern void (*vec_ntp_adjtime1)(struct timex *);
/*
-MODULE_HOOK(ntp_gettime_hook, (struct ntptimeval *));
-MODULE_HOOK(ntp_timestatus_hook, (void);
-MODULE_HOOK(ntp_adjtime1_hook, (struct timex *));
+MODULE_HOOK(ntp_gettime_hook, int, (struct ntptimeval *));
+MODULE_HOOK(ntp_timestatus_hook, int, (void);
+MODULE_HOOK(ntp_adjtime1_hook, int, (struct timex *));
*/
/*
+ * Routine hooks for SCTP code - used by rtsock
+ *
+ * MP-hooks not needed since the NTP code is not modular
+ */
+struct ifaddr;
+extern void (*vec_sctp_add_ip_address)(struct ifaddr *);
+extern void (*vec_sctp_delete_ip_address)(struct ifaddr *);
+
+/*
+MODULE_HOOK(sctp_add_ip_address, int, struct ifaddr *);
+MODULE_HOOK(sctp_delete_ip_address, int, struct ifaddr *);
+*/
+
+
+/*
* usb devinfo compatability
*/