/* * (C) 2012 by Pablo Neira Ayuso <pablo@netfilter.org> * (C) 2012 by Vyatta Inc. <http://www.vyatta.com> * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation (or any later at your option). */ #include <linux/types.h> #include <linux/netfilter.h> #include <linux/skbuff.h> #include <linux/vmalloc.h> #include <linux/stddef.h> #include <linux/err.h> #include <linux/percpu.h> #include <linux/kernel.h> #include <linux/netdevice.h> #include <linux/slab.h> #include <linux/export.h> #include <net/netfilter/nf_conntrack.h> #include <net/netfilter/nf_conntrack_core.h> #include <net/netfilter/nf_conntrack_extend.h> #include <net/netfilter/nf_conntrack_timeout.h> struct ctnl_timeout * (*nf_ct_timeout_find_get_hook)(struct net *net, const char *name) __read_mostly; EXPORT_SYMBOL_GPL(nf_ct_timeout_find_get_hook); void (*nf_ct_timeout_put_hook)(struct ctnl_timeout *timeout) __read_mostly; EXPORT_SYMBOL_GPL(nf_ct_timeout_put_hook); static struct nf_ct_ext_type timeout_extend __read_mostly = { .len = sizeof(struct nf_conn_timeout), .align = __alignof__(struct nf_conn_timeout), .id = NF_CT_EXT_TIMEOUT, };
int nf_conntrack_timeout_init(void) { int ret = nf_ct_extend_register(&timeout_extend); if (ret < 0) pr_err("nf_ct_timeout: Unable to register timeout extension.\n"); return ret; }Contributors
Person | Tokens | Prop | Commits | CommitProp |
Pablo Neira Ayuso | 26 | 86.67% | 1 | 50.00% |
Gao Feng | 4 | 13.33% | 1 | 50.00% |
Total | 30 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Pablo Neira Ayuso | 12 | 92.31% | 1 | 50.00% |
Gao Feng | 1 | 7.69% | 1 | 50.00% |
Total | 13 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Pablo Neira Ayuso | 157 | 96.91% | 2 | 66.67% |
Gao Feng | 5 | 3.09% | 1 | 33.33% |
Total | 162 | 100.00% | 3 | 100.00% |