summaryrefslogtreecommitdiff
path: root/libdde_linux26/contrib/include/net/netns
diff options
context:
space:
mode:
Diffstat (limited to 'libdde_linux26/contrib/include/net/netns')
-rw-r--r--libdde_linux26/contrib/include/net/netns/.svn/all-wcprops77
-rw-r--r--libdde_linux26/contrib/include/net/netns/.svn/entries436
-rw-r--r--libdde_linux26/contrib/include/net/netns/.svn/format1
-rw-r--r--libdde_linux26/contrib/include/net/netns/.svn/text-base/conntrack.h.svn-base30
-rw-r--r--libdde_linux26/contrib/include/net/netns/.svn/text-base/core.h.svn-base16
-rw-r--r--libdde_linux26/contrib/include/net/netns/.svn/text-base/dccp.h.svn-base11
-rw-r--r--libdde_linux26/contrib/include/net/netns/.svn/text-base/generic.h.svn-base49
-rw-r--r--libdde_linux26/contrib/include/net/netns/.svn/text-base/hash.h.svn-base21
-rw-r--r--libdde_linux26/contrib/include/net/netns/.svn/text-base/ipv4.h.svn-base58
-rw-r--r--libdde_linux26/contrib/include/net/netns/.svn/text-base/ipv6.h.svn-base71
-rw-r--r--libdde_linux26/contrib/include/net/netns/.svn/text-base/mib.h.svn-base28
-rw-r--r--libdde_linux26/contrib/include/net/netns/.svn/text-base/packet.h.svn-base15
-rw-r--r--libdde_linux26/contrib/include/net/netns/.svn/text-base/unix.h.svn-base13
-rw-r--r--libdde_linux26/contrib/include/net/netns/.svn/text-base/x_tables.h.svn-base15
-rw-r--r--libdde_linux26/contrib/include/net/netns/.svn/text-base/xfrm.h.svn-base56
-rw-r--r--libdde_linux26/contrib/include/net/netns/conntrack.h30
-rw-r--r--libdde_linux26/contrib/include/net/netns/core.h16
-rw-r--r--libdde_linux26/contrib/include/net/netns/dccp.h11
-rw-r--r--libdde_linux26/contrib/include/net/netns/generic.h49
-rw-r--r--libdde_linux26/contrib/include/net/netns/hash.h21
-rw-r--r--libdde_linux26/contrib/include/net/netns/ipv4.h58
-rw-r--r--libdde_linux26/contrib/include/net/netns/ipv6.h71
-rw-r--r--libdde_linux26/contrib/include/net/netns/mib.h28
-rw-r--r--libdde_linux26/contrib/include/net/netns/packet.h15
-rw-r--r--libdde_linux26/contrib/include/net/netns/unix.h13
-rw-r--r--libdde_linux26/contrib/include/net/netns/x_tables.h15
-rw-r--r--libdde_linux26/contrib/include/net/netns/xfrm.h56
27 files changed, 1280 insertions, 0 deletions
diff --git a/libdde_linux26/contrib/include/net/netns/.svn/all-wcprops b/libdde_linux26/contrib/include/net/netns/.svn/all-wcprops
new file mode 100644
index 00000000..0eba3382
--- /dev/null
+++ b/libdde_linux26/contrib/include/net/netns/.svn/all-wcprops
@@ -0,0 +1,77 @@
+K 25
+svn:wc:ra_dav:version-url
+V 76
+/repos/tudos/!svn/ver/455/trunk/l4/pkg/dde/linux26/contrib/include/net/netns
+END
+dccp.h
+K 25
+svn:wc:ra_dav:version-url
+V 83
+/repos/tudos/!svn/ver/455/trunk/l4/pkg/dde/linux26/contrib/include/net/netns/dccp.h
+END
+generic.h
+K 25
+svn:wc:ra_dav:version-url
+V 86
+/repos/tudos/!svn/ver/455/trunk/l4/pkg/dde/linux26/contrib/include/net/netns/generic.h
+END
+xfrm.h
+K 25
+svn:wc:ra_dav:version-url
+V 83
+/repos/tudos/!svn/ver/455/trunk/l4/pkg/dde/linux26/contrib/include/net/netns/xfrm.h
+END
+x_tables.h
+K 25
+svn:wc:ra_dav:version-url
+V 87
+/repos/tudos/!svn/ver/455/trunk/l4/pkg/dde/linux26/contrib/include/net/netns/x_tables.h
+END
+conntrack.h
+K 25
+svn:wc:ra_dav:version-url
+V 88
+/repos/tudos/!svn/ver/455/trunk/l4/pkg/dde/linux26/contrib/include/net/netns/conntrack.h
+END
+ipv4.h
+K 25
+svn:wc:ra_dav:version-url
+V 83
+/repos/tudos/!svn/ver/455/trunk/l4/pkg/dde/linux26/contrib/include/net/netns/ipv4.h
+END
+hash.h
+K 25
+svn:wc:ra_dav:version-url
+V 83
+/repos/tudos/!svn/ver/455/trunk/l4/pkg/dde/linux26/contrib/include/net/netns/hash.h
+END
+unix.h
+K 25
+svn:wc:ra_dav:version-url
+V 83
+/repos/tudos/!svn/ver/455/trunk/l4/pkg/dde/linux26/contrib/include/net/netns/unix.h
+END
+ipv6.h
+K 25
+svn:wc:ra_dav:version-url
+V 83
+/repos/tudos/!svn/ver/455/trunk/l4/pkg/dde/linux26/contrib/include/net/netns/ipv6.h
+END
+mib.h
+K 25
+svn:wc:ra_dav:version-url
+V 82
+/repos/tudos/!svn/ver/455/trunk/l4/pkg/dde/linux26/contrib/include/net/netns/mib.h
+END
+packet.h
+K 25
+svn:wc:ra_dav:version-url
+V 85
+/repos/tudos/!svn/ver/455/trunk/l4/pkg/dde/linux26/contrib/include/net/netns/packet.h
+END
+core.h
+K 25
+svn:wc:ra_dav:version-url
+V 83
+/repos/tudos/!svn/ver/455/trunk/l4/pkg/dde/linux26/contrib/include/net/netns/core.h
+END
diff --git a/libdde_linux26/contrib/include/net/netns/.svn/entries b/libdde_linux26/contrib/include/net/netns/.svn/entries
new file mode 100644
index 00000000..718149d3
--- /dev/null
+++ b/libdde_linux26/contrib/include/net/netns/.svn/entries
@@ -0,0 +1,436 @@
+9
+
+dir
+465
+http://svn.tudos.org/repos/tudos/trunk/l4/pkg/dde/linux26/contrib/include/net/netns
+http://svn.tudos.org/repos/tudos
+
+
+
+2009-05-20T14:32:55.606606Z
+455
+l4check
+
+
+svn:special svn:externals svn:needs-lock
+
+
+
+
+
+
+
+
+
+
+
+a704ac0b-3a55-4d43-a2a9-7be6f07c34fb
+
+dccp.h
+file
+
+
+
+
+2009-11-15T17:14:53.000000Z
+4b476457c1c8f7ec2fc2b27ef6c6215a
+2009-05-20T14:32:55.606606Z
+455
+l4check
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+146
+
+generic.h
+file
+
+
+
+
+2009-11-15T17:14:53.000000Z
+34acc97ef6a65030492829e3ad76d692
+2009-05-20T14:32:55.606606Z
+455
+l4check
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+1201
+
+xfrm.h
+file
+
+
+
+
+2009-11-15T17:14:53.000000Z
+f40de35da22da3af59f5d7f31596eff3
+2009-05-20T14:32:55.606606Z
+455
+l4check
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+1411
+
+x_tables.h
+file
+
+
+
+
+2009-11-15T17:14:53.000000Z
+8f6b8e08b66b91470003e98abda479d3
+2009-05-20T14:32:55.606606Z
+455
+l4check
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+296
+
+conntrack.h
+file
+
+
+
+
+2009-11-15T17:14:53.000000Z
+59cfdef77b4bfb3856ac43ddd7968125
+2009-05-20T14:32:55.606606Z
+455
+l4check
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+701
+
+ipv4.h
+file
+
+
+
+
+2009-11-15T17:14:53.000000Z
+8ee4cfa591c4f5b7e2f73dbd798417fe
+2009-05-20T14:32:55.606606Z
+455
+l4check
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+1344
+
+hash.h
+file
+
+
+
+
+2009-11-15T17:14:53.000000Z
+8ee8f1688369e4e8f0932d959f81e78d
+2009-05-20T14:32:55.606606Z
+455
+l4check
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+336
+
+unix.h
+file
+
+
+
+
+2009-11-15T17:14:53.000000Z
+bfac798859f40b7d14893b19fbc22e12
+2009-05-20T14:32:55.606606Z
+455
+l4check
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+224
+
+ipv6.h
+file
+
+
+
+
+2009-11-15T17:14:53.000000Z
+e661127676b5f426661d1262171a5fee
+2009-05-20T14:32:55.606606Z
+455
+l4check
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+1772
+
+mib.h
+file
+
+
+
+
+2009-11-15T17:14:53.000000Z
+f6b9d5bf053d1311d5dad4bc839a446a
+2009-05-20T14:32:55.606606Z
+455
+l4check
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+961
+
+packet.h
+file
+
+
+
+
+2009-11-15T17:14:53.000000Z
+315c56277f4098d442ea993d85ada076
+2009-05-20T14:32:55.606606Z
+455
+l4check
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+252
+
+core.h
+file
+
+
+
+
+2009-11-15T17:14:53.000000Z
+4b7a1c653f60b8640ac60b8cc40dc9d3
+2009-05-20T14:32:55.606606Z
+455
+l4check
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+237
+
diff --git a/libdde_linux26/contrib/include/net/netns/.svn/format b/libdde_linux26/contrib/include/net/netns/.svn/format
new file mode 100644
index 00000000..ec635144
--- /dev/null
+++ b/libdde_linux26/contrib/include/net/netns/.svn/format
@@ -0,0 +1 @@
+9
diff --git a/libdde_linux26/contrib/include/net/netns/.svn/text-base/conntrack.h.svn-base b/libdde_linux26/contrib/include/net/netns/.svn/text-base/conntrack.h.svn-base
new file mode 100644
index 00000000..f4498a62
--- /dev/null
+++ b/libdde_linux26/contrib/include/net/netns/.svn/text-base/conntrack.h.svn-base
@@ -0,0 +1,30 @@
+#ifndef __NETNS_CONNTRACK_H
+#define __NETNS_CONNTRACK_H
+
+#include <linux/list.h>
+#include <asm/atomic.h>
+
+struct ctl_table_header;
+struct nf_conntrack_ecache;
+
+struct netns_ct {
+ atomic_t count;
+ unsigned int expect_count;
+ struct hlist_head *hash;
+ struct hlist_head *expect_hash;
+ struct hlist_head unconfirmed;
+ struct ip_conntrack_stat *stat;
+#ifdef CONFIG_NF_CONNTRACK_EVENTS
+ struct nf_conntrack_ecache *ecache;
+#endif
+ int sysctl_acct;
+ int sysctl_checksum;
+ unsigned int sysctl_log_invalid; /* Log invalid packets */
+#ifdef CONFIG_SYSCTL
+ struct ctl_table_header *sysctl_header;
+ struct ctl_table_header *acct_sysctl_header;
+#endif
+ int hash_vmalloc;
+ int expect_vmalloc;
+};
+#endif
diff --git a/libdde_linux26/contrib/include/net/netns/.svn/text-base/core.h.svn-base b/libdde_linux26/contrib/include/net/netns/.svn/text-base/core.h.svn-base
new file mode 100644
index 00000000..24d4be76
--- /dev/null
+++ b/libdde_linux26/contrib/include/net/netns/.svn/text-base/core.h.svn-base
@@ -0,0 +1,16 @@
+#ifndef __NETNS_CORE_H__
+#define __NETNS_CORE_H__
+
+struct ctl_table_header;
+struct prot_inuse;
+
+struct netns_core {
+ /* core sysctls */
+ struct ctl_table_header *sysctl_hdr;
+
+ int sysctl_somaxconn;
+
+ struct prot_inuse *inuse;
+};
+
+#endif
diff --git a/libdde_linux26/contrib/include/net/netns/.svn/text-base/dccp.h.svn-base b/libdde_linux26/contrib/include/net/netns/.svn/text-base/dccp.h.svn-base
new file mode 100644
index 00000000..98d2a7ce
--- /dev/null
+++ b/libdde_linux26/contrib/include/net/netns/.svn/text-base/dccp.h.svn-base
@@ -0,0 +1,11 @@
+#ifndef __NETNS_DCCP_H__
+#define __NETNS_DCCP_H__
+
+struct sock;
+
+struct netns_dccp {
+ struct sock *v4_ctl_sk;
+ struct sock *v6_ctl_sk;
+};
+
+#endif
diff --git a/libdde_linux26/contrib/include/net/netns/.svn/text-base/generic.h.svn-base b/libdde_linux26/contrib/include/net/netns/.svn/text-base/generic.h.svn-base
new file mode 100644
index 00000000..0c04fd2a
--- /dev/null
+++ b/libdde_linux26/contrib/include/net/netns/.svn/text-base/generic.h.svn-base
@@ -0,0 +1,49 @@
+/*
+ * generic net pointers
+ */
+
+#ifndef __NET_GENERIC_H__
+#define __NET_GENERIC_H__
+
+#include <linux/rcupdate.h>
+
+/*
+ * Generic net pointers are to be used by modules to put some private
+ * stuff on the struct net without explicit struct net modification
+ *
+ * The rules are simple:
+ * 1. register the ops with register_pernet_gen_device to get the id
+ * of your private pointer;
+ * 2. call net_assign_generic() to put the private data on the struct
+ * net (most preferably this should be done in the ->init callback
+ * of the ops registered);
+ * 3. do not change this pointer while the net is alive;
+ * 4. do not try to have any private reference on the net_generic object.
+ *
+ * After accomplishing all of the above, the private pointer can be
+ * accessed with the net_generic() call.
+ */
+
+struct net_generic {
+ unsigned int len;
+ struct rcu_head rcu;
+
+ void *ptr[0];
+};
+
+static inline void *net_generic(struct net *net, int id)
+{
+ struct net_generic *ng;
+ void *ptr;
+
+ rcu_read_lock();
+ ng = rcu_dereference(net->gen);
+ BUG_ON(id == 0 || id > ng->len);
+ ptr = ng->ptr[id - 1];
+ rcu_read_unlock();
+
+ return ptr;
+}
+
+extern int net_assign_generic(struct net *net, int id, void *data);
+#endif
diff --git a/libdde_linux26/contrib/include/net/netns/.svn/text-base/hash.h.svn-base b/libdde_linux26/contrib/include/net/netns/.svn/text-base/hash.h.svn-base
new file mode 100644
index 00000000..548d78f2
--- /dev/null
+++ b/libdde_linux26/contrib/include/net/netns/.svn/text-base/hash.h.svn-base
@@ -0,0 +1,21 @@
+#ifndef __NET_NS_HASH_H__
+#define __NET_NS_HASH_H__
+
+#include <asm/cache.h>
+
+struct net;
+
+static inline unsigned net_hash_mix(struct net *net)
+{
+#ifdef CONFIG_NET_NS
+ /*
+ * shift this right to eliminate bits, that are
+ * always zeroed
+ */
+
+ return (unsigned)(((unsigned long)net) >> L1_CACHE_SHIFT);
+#else
+ return 0;
+#endif
+}
+#endif
diff --git a/libdde_linux26/contrib/include/net/netns/.svn/text-base/ipv4.h.svn-base b/libdde_linux26/contrib/include/net/netns/.svn/text-base/ipv4.h.svn-base
new file mode 100644
index 00000000..977f482d
--- /dev/null
+++ b/libdde_linux26/contrib/include/net/netns/.svn/text-base/ipv4.h.svn-base
@@ -0,0 +1,58 @@
+/*
+ * ipv4 in net namespaces
+ */
+
+#ifndef __NETNS_IPV4_H__
+#define __NETNS_IPV4_H__
+
+#include <net/inet_frag.h>
+
+struct ctl_table_header;
+struct ipv4_devconf;
+struct fib_rules_ops;
+struct hlist_head;
+struct sock;
+
+struct netns_ipv4 {
+#ifdef CONFIG_SYSCTL
+ struct ctl_table_header *forw_hdr;
+ struct ctl_table_header *frags_hdr;
+ struct ctl_table_header *ipv4_hdr;
+ struct ctl_table_header *route_hdr;
+#endif
+ struct ipv4_devconf *devconf_all;
+ struct ipv4_devconf *devconf_dflt;
+#ifdef CONFIG_IP_MULTIPLE_TABLES
+ struct fib_rules_ops *rules_ops;
+#endif
+ struct hlist_head *fib_table_hash;
+ struct sock *fibnl;
+
+ struct sock **icmp_sk;
+ struct sock *tcp_sock;
+
+ struct netns_frags frags;
+#ifdef CONFIG_NETFILTER
+ struct xt_table *iptable_filter;
+ struct xt_table *iptable_mangle;
+ struct xt_table *iptable_raw;
+ struct xt_table *arptable_filter;
+ struct xt_table *iptable_security;
+ struct xt_table *nat_table;
+ struct hlist_head *nat_bysource;
+ int nat_vmalloced;
+#endif
+
+ int sysctl_icmp_echo_ignore_all;
+ int sysctl_icmp_echo_ignore_broadcasts;
+ int sysctl_icmp_ignore_bogus_error_responses;
+ int sysctl_icmp_ratelimit;
+ int sysctl_icmp_ratemask;
+ int sysctl_icmp_errors_use_inbound_ifaddr;
+ int sysctl_rt_cache_rebuild_count;
+ int current_rt_cache_rebuild_count;
+
+ struct timer_list rt_secret_timer;
+ atomic_t rt_genid;
+};
+#endif
diff --git a/libdde_linux26/contrib/include/net/netns/.svn/text-base/ipv6.h.svn-base b/libdde_linux26/contrib/include/net/netns/.svn/text-base/ipv6.h.svn-base
new file mode 100644
index 00000000..afab4e4c
--- /dev/null
+++ b/libdde_linux26/contrib/include/net/netns/.svn/text-base/ipv6.h.svn-base
@@ -0,0 +1,71 @@
+/*
+ * ipv6 in net namespaces
+ */
+
+#include <net/inet_frag.h>
+
+#ifndef __NETNS_IPV6_H__
+#define __NETNS_IPV6_H__
+
+struct ctl_table_header;
+
+struct netns_sysctl_ipv6 {
+#ifdef CONFIG_SYSCTL
+ struct ctl_table_header *table;
+ struct ctl_table_header *frags_hdr;
+#endif
+ int bindv6only;
+ int flush_delay;
+ int ip6_rt_max_size;
+ int ip6_rt_gc_min_interval;
+ int ip6_rt_gc_timeout;
+ int ip6_rt_gc_interval;
+ int ip6_rt_gc_elasticity;
+ int ip6_rt_mtu_expires;
+ int ip6_rt_min_advmss;
+ int icmpv6_time;
+};
+
+struct netns_ipv6 {
+ struct netns_sysctl_ipv6 sysctl;
+ struct ipv6_devconf *devconf_all;
+ struct ipv6_devconf *devconf_dflt;
+ struct netns_frags frags;
+#ifdef CONFIG_NETFILTER
+ struct xt_table *ip6table_filter;
+ struct xt_table *ip6table_mangle;
+ struct xt_table *ip6table_raw;
+ struct xt_table *ip6table_security;
+#endif
+ struct rt6_info *ip6_null_entry;
+ struct rt6_statistics *rt6_stats;
+ struct timer_list ip6_fib_timer;
+ struct hlist_head *fib_table_hash;
+ struct fib6_table *fib6_main_tbl;
+ struct dst_ops *ip6_dst_ops;
+ unsigned int ip6_rt_gc_expire;
+ unsigned long ip6_rt_last_gc;
+#ifdef CONFIG_IPV6_MULTIPLE_TABLES
+ struct rt6_info *ip6_prohibit_entry;
+ struct rt6_info *ip6_blk_hole_entry;
+ struct fib6_table *fib6_local_tbl;
+ struct fib_rules_ops *fib6_rules_ops;
+#endif
+ struct sock **icmp_sk;
+ struct sock *ndisc_sk;
+ struct sock *tcp_sk;
+ struct sock *igmp_sk;
+#ifdef CONFIG_IPV6_MROUTE
+ struct sock *mroute6_sk;
+ struct mfc6_cache **mfc6_cache_array;
+ struct mif_device *vif6_table;
+ int maxvif;
+ atomic_t cache_resolve_queue_len;
+ int mroute_do_assert;
+ int mroute_do_pim;
+#ifdef CONFIG_IPV6_PIMSM_V2
+ int mroute_reg_vif_num;
+#endif
+#endif
+};
+#endif
diff --git a/libdde_linux26/contrib/include/net/netns/.svn/text-base/mib.h.svn-base b/libdde_linux26/contrib/include/net/netns/.svn/text-base/mib.h.svn-base
new file mode 100644
index 00000000..0b44112e
--- /dev/null
+++ b/libdde_linux26/contrib/include/net/netns/.svn/text-base/mib.h.svn-base
@@ -0,0 +1,28 @@
+#ifndef __NETNS_MIB_H__
+#define __NETNS_MIB_H__
+
+#include <net/snmp.h>
+
+struct netns_mib {
+ DEFINE_SNMP_STAT(struct tcp_mib, tcp_statistics);
+ DEFINE_SNMP_STAT(struct ipstats_mib, ip_statistics);
+ DEFINE_SNMP_STAT(struct linux_mib, net_statistics);
+ DEFINE_SNMP_STAT(struct udp_mib, udp_statistics);
+ DEFINE_SNMP_STAT(struct udp_mib, udplite_statistics);
+ DEFINE_SNMP_STAT(struct icmp_mib, icmp_statistics);
+ DEFINE_SNMP_STAT(struct icmpmsg_mib, icmpmsg_statistics);
+
+#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)
+ struct proc_dir_entry *proc_net_devsnmp6;
+ DEFINE_SNMP_STAT(struct udp_mib, udp_stats_in6);
+ DEFINE_SNMP_STAT(struct udp_mib, udplite_stats_in6);
+ DEFINE_SNMP_STAT(struct ipstats_mib, ipv6_statistics);
+ DEFINE_SNMP_STAT(struct icmpv6_mib, icmpv6_statistics);
+ DEFINE_SNMP_STAT(struct icmpv6msg_mib, icmpv6msg_statistics);
+#endif
+#ifdef CONFIG_XFRM_STATISTICS
+ DEFINE_SNMP_STAT(struct linux_xfrm_mib, xfrm_statistics);
+#endif
+};
+
+#endif
diff --git a/libdde_linux26/contrib/include/net/netns/.svn/text-base/packet.h.svn-base b/libdde_linux26/contrib/include/net/netns/.svn/text-base/packet.h.svn-base
new file mode 100644
index 00000000..637daf69
--- /dev/null
+++ b/libdde_linux26/contrib/include/net/netns/.svn/text-base/packet.h.svn-base
@@ -0,0 +1,15 @@
+/*
+ * Packet network namespace
+ */
+#ifndef __NETNS_PACKET_H__
+#define __NETNS_PACKET_H__
+
+#include <linux/list.h>
+#include <linux/spinlock.h>
+
+struct netns_packet {
+ rwlock_t sklist_lock;
+ struct hlist_head sklist;
+};
+
+#endif /* __NETNS_PACKET_H__ */
diff --git a/libdde_linux26/contrib/include/net/netns/.svn/text-base/unix.h.svn-base b/libdde_linux26/contrib/include/net/netns/.svn/text-base/unix.h.svn-base
new file mode 100644
index 00000000..284649d4
--- /dev/null
+++ b/libdde_linux26/contrib/include/net/netns/.svn/text-base/unix.h.svn-base
@@ -0,0 +1,13 @@
+/*
+ * Unix network namespace
+ */
+#ifndef __NETNS_UNIX_H__
+#define __NETNS_UNIX_H__
+
+struct ctl_table_header;
+struct netns_unix {
+ int sysctl_max_dgram_qlen;
+ struct ctl_table_header *ctl;
+};
+
+#endif /* __NETNS_UNIX_H__ */
diff --git a/libdde_linux26/contrib/include/net/netns/.svn/text-base/x_tables.h.svn-base b/libdde_linux26/contrib/include/net/netns/.svn/text-base/x_tables.h.svn-base
new file mode 100644
index 00000000..9554a644
--- /dev/null
+++ b/libdde_linux26/contrib/include/net/netns/.svn/text-base/x_tables.h.svn-base
@@ -0,0 +1,15 @@
+#ifndef __NETNS_X_TABLES_H
+#define __NETNS_X_TABLES_H
+
+#include <linux/list.h>
+#include <linux/netfilter.h>
+
+struct ebt_table;
+
+struct netns_xt {
+ struct list_head tables[NFPROTO_NUMPROTO];
+ struct ebt_table *broute_table;
+ struct ebt_table *frame_filter;
+ struct ebt_table *frame_nat;
+};
+#endif
diff --git a/libdde_linux26/contrib/include/net/netns/.svn/text-base/xfrm.h.svn-base b/libdde_linux26/contrib/include/net/netns/.svn/text-base/xfrm.h.svn-base
new file mode 100644
index 00000000..1ba91274
--- /dev/null
+++ b/libdde_linux26/contrib/include/net/netns/.svn/text-base/xfrm.h.svn-base
@@ -0,0 +1,56 @@
+#ifndef __NETNS_XFRM_H
+#define __NETNS_XFRM_H
+
+#include <linux/list.h>
+#include <linux/wait.h>
+#include <linux/workqueue.h>
+#include <linux/xfrm.h>
+
+struct ctl_table_header;
+
+struct xfrm_policy_hash {
+ struct hlist_head *table;
+ unsigned int hmask;
+};
+
+struct netns_xfrm {
+ struct list_head state_all;
+ /*
+ * Hash table to find appropriate SA towards given target (endpoint of
+ * tunnel or destination of transport mode) allowed by selector.
+ *
+ * Main use is finding SA after policy selected tunnel or transport
+ * mode. Also, it can be used by ah/esp icmp error handler to find
+ * offending SA.
+ */
+ struct hlist_head *state_bydst;
+ struct hlist_head *state_bysrc;
+ struct hlist_head *state_byspi;
+ unsigned int state_hmask;
+ unsigned int state_num;
+ struct work_struct state_hash_work;
+ struct hlist_head state_gc_list;
+ struct work_struct state_gc_work;
+
+ wait_queue_head_t km_waitq;
+
+ struct list_head policy_all;
+ struct hlist_head *policy_byidx;
+ unsigned int policy_idx_hmask;
+ struct hlist_head policy_inexact[XFRM_POLICY_MAX * 2];
+ struct xfrm_policy_hash policy_bydst[XFRM_POLICY_MAX * 2];
+ unsigned int policy_count[XFRM_POLICY_MAX * 2];
+ struct work_struct policy_hash_work;
+
+ struct sock *nlsk;
+
+ u32 sysctl_aevent_etime;
+ u32 sysctl_aevent_rseqth;
+ int sysctl_larval_drop;
+ u32 sysctl_acq_expires;
+#ifdef CONFIG_SYSCTL
+ struct ctl_table_header *sysctl_hdr;
+#endif
+};
+
+#endif
diff --git a/libdde_linux26/contrib/include/net/netns/conntrack.h b/libdde_linux26/contrib/include/net/netns/conntrack.h
new file mode 100644
index 00000000..f4498a62
--- /dev/null
+++ b/libdde_linux26/contrib/include/net/netns/conntrack.h
@@ -0,0 +1,30 @@
+#ifndef __NETNS_CONNTRACK_H
+#define __NETNS_CONNTRACK_H
+
+#include <linux/list.h>
+#include <asm/atomic.h>
+
+struct ctl_table_header;
+struct nf_conntrack_ecache;
+
+struct netns_ct {
+ atomic_t count;
+ unsigned int expect_count;
+ struct hlist_head *hash;
+ struct hlist_head *expect_hash;
+ struct hlist_head unconfirmed;
+ struct ip_conntrack_stat *stat;
+#ifdef CONFIG_NF_CONNTRACK_EVENTS
+ struct nf_conntrack_ecache *ecache;
+#endif
+ int sysctl_acct;
+ int sysctl_checksum;
+ unsigned int sysctl_log_invalid; /* Log invalid packets */
+#ifdef CONFIG_SYSCTL
+ struct ctl_table_header *sysctl_header;
+ struct ctl_table_header *acct_sysctl_header;
+#endif
+ int hash_vmalloc;
+ int expect_vmalloc;
+};
+#endif
diff --git a/libdde_linux26/contrib/include/net/netns/core.h b/libdde_linux26/contrib/include/net/netns/core.h
new file mode 100644
index 00000000..24d4be76
--- /dev/null
+++ b/libdde_linux26/contrib/include/net/netns/core.h
@@ -0,0 +1,16 @@
+#ifndef __NETNS_CORE_H__
+#define __NETNS_CORE_H__
+
+struct ctl_table_header;
+struct prot_inuse;
+
+struct netns_core {
+ /* core sysctls */
+ struct ctl_table_header *sysctl_hdr;
+
+ int sysctl_somaxconn;
+
+ struct prot_inuse *inuse;
+};
+
+#endif
diff --git a/libdde_linux26/contrib/include/net/netns/dccp.h b/libdde_linux26/contrib/include/net/netns/dccp.h
new file mode 100644
index 00000000..98d2a7ce
--- /dev/null
+++ b/libdde_linux26/contrib/include/net/netns/dccp.h
@@ -0,0 +1,11 @@
+#ifndef __NETNS_DCCP_H__
+#define __NETNS_DCCP_H__
+
+struct sock;
+
+struct netns_dccp {
+ struct sock *v4_ctl_sk;
+ struct sock *v6_ctl_sk;
+};
+
+#endif
diff --git a/libdde_linux26/contrib/include/net/netns/generic.h b/libdde_linux26/contrib/include/net/netns/generic.h
new file mode 100644
index 00000000..0c04fd2a
--- /dev/null
+++ b/libdde_linux26/contrib/include/net/netns/generic.h
@@ -0,0 +1,49 @@
+/*
+ * generic net pointers
+ */
+
+#ifndef __NET_GENERIC_H__
+#define __NET_GENERIC_H__
+
+#include <linux/rcupdate.h>
+
+/*
+ * Generic net pointers are to be used by modules to put some private
+ * stuff on the struct net without explicit struct net modification
+ *
+ * The rules are simple:
+ * 1. register the ops with register_pernet_gen_device to get the id
+ * of your private pointer;
+ * 2. call net_assign_generic() to put the private data on the struct
+ * net (most preferably this should be done in the ->init callback
+ * of the ops registered);
+ * 3. do not change this pointer while the net is alive;
+ * 4. do not try to have any private reference on the net_generic object.
+ *
+ * After accomplishing all of the above, the private pointer can be
+ * accessed with the net_generic() call.
+ */
+
+struct net_generic {
+ unsigned int len;
+ struct rcu_head rcu;
+
+ void *ptr[0];
+};
+
+static inline void *net_generic(struct net *net, int id)
+{
+ struct net_generic *ng;
+ void *ptr;
+
+ rcu_read_lock();
+ ng = rcu_dereference(net->gen);
+ BUG_ON(id == 0 || id > ng->len);
+ ptr = ng->ptr[id - 1];
+ rcu_read_unlock();
+
+ return ptr;
+}
+
+extern int net_assign_generic(struct net *net, int id, void *data);
+#endif
diff --git a/libdde_linux26/contrib/include/net/netns/hash.h b/libdde_linux26/contrib/include/net/netns/hash.h
new file mode 100644
index 00000000..548d78f2
--- /dev/null
+++ b/libdde_linux26/contrib/include/net/netns/hash.h
@@ -0,0 +1,21 @@
+#ifndef __NET_NS_HASH_H__
+#define __NET_NS_HASH_H__
+
+#include <asm/cache.h>
+
+struct net;
+
+static inline unsigned net_hash_mix(struct net *net)
+{
+#ifdef CONFIG_NET_NS
+ /*
+ * shift this right to eliminate bits, that are
+ * always zeroed
+ */
+
+ return (unsigned)(((unsigned long)net) >> L1_CACHE_SHIFT);
+#else
+ return 0;
+#endif
+}
+#endif
diff --git a/libdde_linux26/contrib/include/net/netns/ipv4.h b/libdde_linux26/contrib/include/net/netns/ipv4.h
new file mode 100644
index 00000000..977f482d
--- /dev/null
+++ b/libdde_linux26/contrib/include/net/netns/ipv4.h
@@ -0,0 +1,58 @@
+/*
+ * ipv4 in net namespaces
+ */
+
+#ifndef __NETNS_IPV4_H__
+#define __NETNS_IPV4_H__
+
+#include <net/inet_frag.h>
+
+struct ctl_table_header;
+struct ipv4_devconf;
+struct fib_rules_ops;
+struct hlist_head;
+struct sock;
+
+struct netns_ipv4 {
+#ifdef CONFIG_SYSCTL
+ struct ctl_table_header *forw_hdr;
+ struct ctl_table_header *frags_hdr;
+ struct ctl_table_header *ipv4_hdr;
+ struct ctl_table_header *route_hdr;
+#endif
+ struct ipv4_devconf *devconf_all;
+ struct ipv4_devconf *devconf_dflt;
+#ifdef CONFIG_IP_MULTIPLE_TABLES
+ struct fib_rules_ops *rules_ops;
+#endif
+ struct hlist_head *fib_table_hash;
+ struct sock *fibnl;
+
+ struct sock **icmp_sk;
+ struct sock *tcp_sock;
+
+ struct netns_frags frags;
+#ifdef CONFIG_NETFILTER
+ struct xt_table *iptable_filter;
+ struct xt_table *iptable_mangle;
+ struct xt_table *iptable_raw;
+ struct xt_table *arptable_filter;
+ struct xt_table *iptable_security;
+ struct xt_table *nat_table;
+ struct hlist_head *nat_bysource;
+ int nat_vmalloced;
+#endif
+
+ int sysctl_icmp_echo_ignore_all;
+ int sysctl_icmp_echo_ignore_broadcasts;
+ int sysctl_icmp_ignore_bogus_error_responses;
+ int sysctl_icmp_ratelimit;
+ int sysctl_icmp_ratemask;
+ int sysctl_icmp_errors_use_inbound_ifaddr;
+ int sysctl_rt_cache_rebuild_count;
+ int current_rt_cache_rebuild_count;
+
+ struct timer_list rt_secret_timer;
+ atomic_t rt_genid;
+};
+#endif
diff --git a/libdde_linux26/contrib/include/net/netns/ipv6.h b/libdde_linux26/contrib/include/net/netns/ipv6.h
new file mode 100644
index 00000000..afab4e4c
--- /dev/null
+++ b/libdde_linux26/contrib/include/net/netns/ipv6.h
@@ -0,0 +1,71 @@
+/*
+ * ipv6 in net namespaces
+ */
+
+#include <net/inet_frag.h>
+
+#ifndef __NETNS_IPV6_H__
+#define __NETNS_IPV6_H__
+
+struct ctl_table_header;
+
+struct netns_sysctl_ipv6 {
+#ifdef CONFIG_SYSCTL
+ struct ctl_table_header *table;
+ struct ctl_table_header *frags_hdr;
+#endif
+ int bindv6only;
+ int flush_delay;
+ int ip6_rt_max_size;
+ int ip6_rt_gc_min_interval;
+ int ip6_rt_gc_timeout;
+ int ip6_rt_gc_interval;
+ int ip6_rt_gc_elasticity;
+ int ip6_rt_mtu_expires;
+ int ip6_rt_min_advmss;
+ int icmpv6_time;
+};
+
+struct netns_ipv6 {
+ struct netns_sysctl_ipv6 sysctl;
+ struct ipv6_devconf *devconf_all;
+ struct ipv6_devconf *devconf_dflt;
+ struct netns_frags frags;
+#ifdef CONFIG_NETFILTER
+ struct xt_table *ip6table_filter;
+ struct xt_table *ip6table_mangle;
+ struct xt_table *ip6table_raw;
+ struct xt_table *ip6table_security;
+#endif
+ struct rt6_info *ip6_null_entry;
+ struct rt6_statistics *rt6_stats;
+ struct timer_list ip6_fib_timer;
+ struct hlist_head *fib_table_hash;
+ struct fib6_table *fib6_main_tbl;
+ struct dst_ops *ip6_dst_ops;
+ unsigned int ip6_rt_gc_expire;
+ unsigned long ip6_rt_last_gc;
+#ifdef CONFIG_IPV6_MULTIPLE_TABLES
+ struct rt6_info *ip6_prohibit_entry;
+ struct rt6_info *ip6_blk_hole_entry;
+ struct fib6_table *fib6_local_tbl;
+ struct fib_rules_ops *fib6_rules_ops;
+#endif
+ struct sock **icmp_sk;
+ struct sock *ndisc_sk;
+ struct sock *tcp_sk;
+ struct sock *igmp_sk;
+#ifdef CONFIG_IPV6_MROUTE
+ struct sock *mroute6_sk;
+ struct mfc6_cache **mfc6_cache_array;
+ struct mif_device *vif6_table;
+ int maxvif;
+ atomic_t cache_resolve_queue_len;
+ int mroute_do_assert;
+ int mroute_do_pim;
+#ifdef CONFIG_IPV6_PIMSM_V2
+ int mroute_reg_vif_num;
+#endif
+#endif
+};
+#endif
diff --git a/libdde_linux26/contrib/include/net/netns/mib.h b/libdde_linux26/contrib/include/net/netns/mib.h
new file mode 100644
index 00000000..0b44112e
--- /dev/null
+++ b/libdde_linux26/contrib/include/net/netns/mib.h
@@ -0,0 +1,28 @@
+#ifndef __NETNS_MIB_H__
+#define __NETNS_MIB_H__
+
+#include <net/snmp.h>
+
+struct netns_mib {
+ DEFINE_SNMP_STAT(struct tcp_mib, tcp_statistics);
+ DEFINE_SNMP_STAT(struct ipstats_mib, ip_statistics);
+ DEFINE_SNMP_STAT(struct linux_mib, net_statistics);
+ DEFINE_SNMP_STAT(struct udp_mib, udp_statistics);
+ DEFINE_SNMP_STAT(struct udp_mib, udplite_statistics);
+ DEFINE_SNMP_STAT(struct icmp_mib, icmp_statistics);
+ DEFINE_SNMP_STAT(struct icmpmsg_mib, icmpmsg_statistics);
+
+#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)
+ struct proc_dir_entry *proc_net_devsnmp6;
+ DEFINE_SNMP_STAT(struct udp_mib, udp_stats_in6);
+ DEFINE_SNMP_STAT(struct udp_mib, udplite_stats_in6);
+ DEFINE_SNMP_STAT(struct ipstats_mib, ipv6_statistics);
+ DEFINE_SNMP_STAT(struct icmpv6_mib, icmpv6_statistics);
+ DEFINE_SNMP_STAT(struct icmpv6msg_mib, icmpv6msg_statistics);
+#endif
+#ifdef CONFIG_XFRM_STATISTICS
+ DEFINE_SNMP_STAT(struct linux_xfrm_mib, xfrm_statistics);
+#endif
+};
+
+#endif
diff --git a/libdde_linux26/contrib/include/net/netns/packet.h b/libdde_linux26/contrib/include/net/netns/packet.h
new file mode 100644
index 00000000..637daf69
--- /dev/null
+++ b/libdde_linux26/contrib/include/net/netns/packet.h
@@ -0,0 +1,15 @@
+/*
+ * Packet network namespace
+ */
+#ifndef __NETNS_PACKET_H__
+#define __NETNS_PACKET_H__
+
+#include <linux/list.h>
+#include <linux/spinlock.h>
+
+struct netns_packet {
+ rwlock_t sklist_lock;
+ struct hlist_head sklist;
+};
+
+#endif /* __NETNS_PACKET_H__ */
diff --git a/libdde_linux26/contrib/include/net/netns/unix.h b/libdde_linux26/contrib/include/net/netns/unix.h
new file mode 100644
index 00000000..284649d4
--- /dev/null
+++ b/libdde_linux26/contrib/include/net/netns/unix.h
@@ -0,0 +1,13 @@
+/*
+ * Unix network namespace
+ */
+#ifndef __NETNS_UNIX_H__
+#define __NETNS_UNIX_H__
+
+struct ctl_table_header;
+struct netns_unix {
+ int sysctl_max_dgram_qlen;
+ struct ctl_table_header *ctl;
+};
+
+#endif /* __NETNS_UNIX_H__ */
diff --git a/libdde_linux26/contrib/include/net/netns/x_tables.h b/libdde_linux26/contrib/include/net/netns/x_tables.h
new file mode 100644
index 00000000..9554a644
--- /dev/null
+++ b/libdde_linux26/contrib/include/net/netns/x_tables.h
@@ -0,0 +1,15 @@
+#ifndef __NETNS_X_TABLES_H
+#define __NETNS_X_TABLES_H
+
+#include <linux/list.h>
+#include <linux/netfilter.h>
+
+struct ebt_table;
+
+struct netns_xt {
+ struct list_head tables[NFPROTO_NUMPROTO];
+ struct ebt_table *broute_table;
+ struct ebt_table *frame_filter;
+ struct ebt_table *frame_nat;
+};
+#endif
diff --git a/libdde_linux26/contrib/include/net/netns/xfrm.h b/libdde_linux26/contrib/include/net/netns/xfrm.h
new file mode 100644
index 00000000..1ba91274
--- /dev/null
+++ b/libdde_linux26/contrib/include/net/netns/xfrm.h
@@ -0,0 +1,56 @@
+#ifndef __NETNS_XFRM_H
+#define __NETNS_XFRM_H
+
+#include <linux/list.h>
+#include <linux/wait.h>
+#include <linux/workqueue.h>
+#include <linux/xfrm.h>
+
+struct ctl_table_header;
+
+struct xfrm_policy_hash {
+ struct hlist_head *table;
+ unsigned int hmask;
+};
+
+struct netns_xfrm {
+ struct list_head state_all;
+ /*
+ * Hash table to find appropriate SA towards given target (endpoint of
+ * tunnel or destination of transport mode) allowed by selector.
+ *
+ * Main use is finding SA after policy selected tunnel or transport
+ * mode. Also, it can be used by ah/esp icmp error handler to find
+ * offending SA.
+ */
+ struct hlist_head *state_bydst;
+ struct hlist_head *state_bysrc;
+ struct hlist_head *state_byspi;
+ unsigned int state_hmask;
+ unsigned int state_num;
+ struct work_struct state_hash_work;
+ struct hlist_head state_gc_list;
+ struct work_struct state_gc_work;
+
+ wait_queue_head_t km_waitq;
+
+ struct list_head policy_all;
+ struct hlist_head *policy_byidx;
+ unsigned int policy_idx_hmask;
+ struct hlist_head policy_inexact[XFRM_POLICY_MAX * 2];
+ struct xfrm_policy_hash policy_bydst[XFRM_POLICY_MAX * 2];
+ unsigned int policy_count[XFRM_POLICY_MAX * 2];
+ struct work_struct policy_hash_work;
+
+ struct sock *nlsk;
+
+ u32 sysctl_aevent_etime;
+ u32 sysctl_aevent_rseqth;
+ int sysctl_larval_drop;
+ u32 sysctl_acq_expires;
+#ifdef CONFIG_SYSCTL
+ struct ctl_table_header *sysctl_hdr;
+#endif
+};
+
+#endif