svn commit: r203470 - in projects/tcp_cc_head/sys: conf netinet
Lawrence Stewart
lstewart at FreeBSD.org
Thu Feb 4 03:19:32 UTC 2010
Author: lstewart
Date: Thu Feb 4 03:19:32 2010
New Revision: 203470
URL: http://svn.freebsd.org/changeset/base/203470
Log:
Helpers aren't and don't need to be TCP specific.
Added:
projects/tcp_cc_head/sys/netinet/helper.c
- copied, changed from r203416, projects/tcp_cc_head/sys/netinet/tcp_helper.c
projects/tcp_cc_head/sys/netinet/helper.h
- copied unchanged from r203416, projects/tcp_cc_head/sys/netinet/tcp_helper.h
projects/tcp_cc_head/sys/netinet/helper_module.h
- copied unchanged from r203416, projects/tcp_cc_head/sys/netinet/tcp_helper_module.h
Deleted:
projects/tcp_cc_head/sys/netinet/tcp_helper.c
projects/tcp_cc_head/sys/netinet/tcp_helper.h
projects/tcp_cc_head/sys/netinet/tcp_helper_module.h
Modified:
projects/tcp_cc_head/sys/conf/files
projects/tcp_cc_head/sys/netinet/ertt.c
projects/tcp_cc_head/sys/netinet/tcp_subr.c
Modified: projects/tcp_cc_head/sys/conf/files
==============================================================================
--- projects/tcp_cc_head/sys/conf/files Thu Feb 4 03:07:48 2010 (r203469)
+++ projects/tcp_cc_head/sys/conf/files Thu Feb 4 03:19:32 2010 (r203470)
@@ -2435,6 +2435,7 @@ netgraph/ng_vlan.c optional netgraph_vl
netinet/accf_data.c optional accept_filter_data inet
netinet/accf_dns.c optional accept_filter_dns inet
netinet/accf_http.c optional accept_filter_http inet
+netinet/helper.c optional inet
netinet/if_atm.c optional atm
netinet/if_ether.c optional inet ether
netinet/igmp.c optional inet
@@ -2485,7 +2486,6 @@ netinet/sctp_timer.c optional inet sctp
netinet/sctp_usrreq.c optional inet sctp
netinet/sctputil.c optional inet sctp
netinet/tcp_debug.c optional tcpdebug
-netinet/tcp_helper.c optional inet
netinet/tcp_hostcache.c optional inet
netinet/tcp_input.c optional inet
netinet/tcp_lro.c optional inet
Modified: projects/tcp_cc_head/sys/netinet/ertt.c
==============================================================================
--- projects/tcp_cc_head/sys/netinet/ertt.c Thu Feb 4 03:07:48 2010 (r203469)
+++ projects/tcp_cc_head/sys/netinet/ertt.c Thu Feb 4 03:19:32 2010 (r203470)
@@ -44,12 +44,12 @@ __FBSDID("$FreeBSD$");
#include <net/if.h>
#include <net/pfil.h>
+#include <netinet/helper.h>
+#include <netinet/helper_module.h>
#include <netinet/in.h>
#include <netinet/in_pcb.h>
#include <netinet/in_var.h>
#include <netinet/tcp_var.h>
-#include <netinet/tcp_helper.h>
-#include <netinet/tcp_helper_module.h>
struct ertt {
int test;
Copied and modified: projects/tcp_cc_head/sys/netinet/helper.c (from r203416, projects/tcp_cc_head/sys/netinet/tcp_helper.c)
==============================================================================
--- projects/tcp_cc_head/sys/netinet/tcp_helper.c Wed Feb 3 04:58:08 2010 (r203416, copy source)
+++ projects/tcp_cc_head/sys/netinet/helper.c Thu Feb 4 03:19:32 2010 (r203470)
@@ -38,8 +38,8 @@ __FBSDID("$FreeBSD$");
#include <sys/queue.h>
#include <sys/systm.h>
-#include <netinet/tcp_helper.h>
-#include <netinet/tcp_helper_module.h>
+#include <netinet/helper.h>
+#include <netinet/helper_module.h>
struct hlpr_head helpers = STAILQ_HEAD_INITIALIZER(helpers);
Copied: projects/tcp_cc_head/sys/netinet/helper.h (from r203416, projects/tcp_cc_head/sys/netinet/tcp_helper.h)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ projects/tcp_cc_head/sys/netinet/helper.h Thu Feb 4 03:19:32 2010 (r203470, copy of r203416, projects/tcp_cc_head/sys/netinet/tcp_helper.h)
@@ -0,0 +1,68 @@
+/*-
+ * Copyright (c) 2010 Lawrence Stewart <lstewart at freebsd.org>
+ * All rights reserved.
+ *
+ * This software was developed at the Centre for Advanced Internet
+ * Architectures, Swinburne University, by Lawrence Stewart,
+ * made possible in part by a grant from the FreeBSD Foundation.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * $FreeBSD$
+ */
+
+#ifndef _TCP_HELPER_H
+#define _TCP_HELPER_H
+
+
+struct helper {
+ /* Init global module state on kldload. */
+ int (*mod_init) (void);
+
+ /* Cleanup global module state on kldunload. */
+ int (*mod_destroy) (void);
+
+ int (*block_init) (uintptr_t *data);
+ int (*block_destroy) (uintptr_t *data);
+
+ uint16_t flags;
+
+ //STAILQ hooks; /* which hooks does this helper want to be called from */
+ //STAILQ struct helper_data;
+ int dynamic_id; /* ID assigned by system to this hlpr's data in the
+ dynamic array */
+
+
+ STAILQ_ENTRY(helper) entries;
+};
+
+/* Helper flags */
+#define HLPR_NEEDS_DATABLOCK 0x0001
+
+extern STAILQ_HEAD(hlpr_head, helper) helpers;
+
+int init_datablocks(uintptr_t **array_head, int *nblocks);
+int destroy_datablocks(uintptr_t **array_head, int nblocks);
+int register_helper(struct helper *h);
+int deregister_helper(struct helper *h);
+
+#endif /* _TCP_HELPER_H */
Copied: projects/tcp_cc_head/sys/netinet/helper_module.h (from r203416, projects/tcp_cc_head/sys/netinet/tcp_helper_module.h)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ projects/tcp_cc_head/sys/netinet/helper_module.h Thu Feb 4 03:19:32 2010 (r203470, copy of r203416, projects/tcp_cc_head/sys/netinet/tcp_helper_module.h)
@@ -0,0 +1,51 @@
+/*-
+ * Copyright (c) 2010 Lawrence Stewart <lstewart at freebsd.org>
+ * All rights reserved.
+ *
+ * This software was developed at the Centre for Advanced Internet
+ * Architectures, Swinburne University, by Lawrence Stewart,
+ * made possible in part by a grant from the FreeBSD Foundation.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * $FreeBSD$
+ */
+
+#ifndef _NETINET_TCP_HELPER_MODULE_H_
+#define _NETINET_TCP_HELPER_MODULE_H_
+
+#define DECLARE_HELPER(hlprname, hlpr_data) \
+ static moduledata_t hlpr_##hlprname = { \
+ #hlprname, \
+ hlpr_modevent, \
+ hlpr_data \
+ }; \
+ DECLARE_MODULE(hlprname, hlpr_##hlprname, SI_SUB_PROTO_IFATTACHDOMAIN, \
+ SI_ORDER_ANY)
+
+int hlpr_modevent(module_t mod, int type, void *data);
+
+MALLOC_DECLARE(M_HLPR);
+MALLOC_DEFINE(M_HLPR, "helper data", "Blah");
+
+
+#endif
Modified: projects/tcp_cc_head/sys/netinet/tcp_subr.c
==============================================================================
--- projects/tcp_cc_head/sys/netinet/tcp_subr.c Thu Feb 4 03:07:48 2010 (r203469)
+++ projects/tcp_cc_head/sys/netinet/tcp_subr.c Thu Feb 4 03:19:32 2010 (r203470)
@@ -66,6 +66,7 @@ __FBSDID("$FreeBSD$");
#include <net/vnet.h>
#include <netinet/cc.h>
+#include <netinet/helper.h>
#include <netinet/in.h>
#include <netinet/in_systm.h>
#include <netinet/ip.h>
@@ -85,7 +86,6 @@ __FBSDID("$FreeBSD$");
#endif
#include <netinet/ip_icmp.h>
#include <netinet/tcp_fsm.h>
-#include <netinet/tcp_helper.h>
#include <netinet/tcp_seq.h>
#include <netinet/tcp_timer.h>
#include <netinet/tcp_var.h>
More information about the svn-src-projects
mailing list