Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/pgoyette-compat]: src/sys Add vectors for sctp_{add, delete}_ipaddr() so ...



details:   https://anonhg.NetBSD.org/src/rev/7baa71dba706
branches:  pgoyette-compat
changeset: 447533:7baa71dba706
user:      pgoyette <pgoyette%NetBSD.org@localhost>
date:      Tue Jan 15 04:10:34 2019 +0000

description:
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.

diffstat:

 sys/kern/compat_stub.c  |  11 ++++++++++-
 sys/net/rtsock.c        |  10 ++--------
 sys/net/rtsock_shared.c |  20 ++++++--------------
 sys/sys/compat_stub.h   |  23 +++++++++++++++++++----
 4 files changed, 37 insertions(+), 27 deletions(-)

diffs (155 lines):

diff -r 868f1a4f1ca1 -r 7baa71dba706 sys/kern/compat_stub.c
--- a/sys/kern/compat_stub.c    Tue Jan 15 03:44:06 2019 +0000
+++ b/sys/kern/compat_stub.c    Tue Jan 15 04:10:34 2019 +0000
@@ -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 @@
 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
  */
diff -r 868f1a4f1ca1 -r 7baa71dba706 sys/net/rtsock.c
--- a/sys/net/rtsock.c  Tue Jan 15 03:44:06 2019 +0000
+++ b/sys/net/rtsock.c  Tue Jan 15 04:10:34 2019 +0000
@@ -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 @@
 
 #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>
 
diff -r 868f1a4f1ca1 -r 7baa71dba706 sys/net/rtsock_shared.c
--- a/sys/net/rtsock_shared.c   Tue Jan 15 03:44:06 2019 +0000
+++ b/sys/net/rtsock_shared.c   Tue Jan 15 04:10:34 2019 +0000
@@ -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 @@
 
 #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 @@
        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)
diff -r 868f1a4f1ca1 -r 7baa71dba706 sys/sys/compat_stub.h
--- a/sys/sys/compat_stub.h     Tue Jan 15 03:44:06 2019 +0000
+++ b/sys/sys/compat_stub.h     Tue Jan 15 04:10:34 2019 +0000
@@ -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 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
  */
 



Home | Main Index | Thread Index | Old Index