)]}'
{
  "log": [
    {
      "commit": "808f5114a9206fee855117d416440e1071ab375c",
      "tree": "cec3f04220909b77c0880029b63862553ad5161c",
      "parents": [
        "1cc523271ef0b6305c565a143e3d48f6fff826dd"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Mon Feb 22 07:57:18 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Feb 22 15:45:56 2010 -0800"
      },
      "message": "packet: convert socket list to RCU (v3)\n\nConvert AF_PACKET to use RCU, eliminating one more reader/writer lock.\n\nThere is no need for a real sk_del_node_init_rcu(), because sk_del_node_init\nis doing the equivalent thing to hlst_del_init_rcu already; but added\nsome comments to try and make that obvious.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7d720c3e4f0c4fc152a6bf17e24244a3c85412d2",
      "tree": "36e037187ce79acb211702bea22e99c625787757",
      "parents": [
        "2bb4646fce8d09916b351d1a62f98db7cec6fc41"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Feb 16 15:20:26 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 16 23:05:38 2010 -0800"
      },
      "message": "percpu: add __percpu sparse annotations to net\n\nAdd __percpu sparse annotations to net.\n\nThese annotations are to make sparse consider percpu variables to be\nin a different address space and warn if accessed without going\nthrough percpu accessors.  This patch doesn\u0027t affect normal builds.\n\nThe macro and type tricks around snmp stats make things a bit\ninteresting.  DEFINE/DECLARE_SNMP_STAT() macros mark the target field\nas __percpu and SNMP_UPD_PO_STATS() macro is updated accordingly.  All\nsnmp_mib_*() users which used to cast the argument to (void **) are\nupdated to cast it to (void __percpu **).\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Patrick McHardy \u003ckaber@trash.net\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nCc: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nCc: netdev@vger.kernel.org\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9ab99d5a43e9f283738fd9fd365539306d13eaac",
      "tree": "0214a63e3f4f7f4f187f0139e4a5d8abe453902b",
      "parents": [
        "76780373190d7e8ddfb6fed06aef068e2445c743",
        "b1109bf085c8dd69537b7876ea83f914dd1fe46a"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Feb 10 14:17:10 2010 +0100"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Feb 10 14:17:10 2010 +0100"
      },
      "message": "Merge branch \u0027master\u0027 of /repos/git/net-next-2.6\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "d696c7bdaa55e2208e56c6f98e6bc1599f34286d",
      "tree": "628782197c21b1e8611a41914865cdba586a1c65",
      "parents": [
        "14c7dbe043d01a83a30633ab6b109ba2ac61d9f7"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Feb 08 11:18:07 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Feb 08 11:18:07 2010 -0800"
      },
      "message": "netfilter: nf_conntrack: fix hash resizing with namespaces\n\nAs noticed by Jon Masters \u003cjonathan@jonmasters.org\u003e, the conntrack hash\nsize is global and not per namespace, but modifiable at runtime through\n/sys/module/nf_conntrack/hashsize. Changing the hash size will only\nresize the hash in the current namespace however, so other namespaces\nwill use an invalid hash size. This can cause crashes when enlarging\nthe hashsize, or false negative lookups when shrinking it.\n\nMove the hash size into the per-namespace data and only use the global\nhash size to initialize the per-namespace value when instanciating a\nnew namespace. Additionally restrict hash resizing to init_net for\nnow as other namespaces are not handled currently.\n\nCc: stable@kernel.org\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5b3501faa8741d50617ce4191c20061c6ef36cb3",
      "tree": "fd3ac41baea9db5d795144da48cef46aca3e01f6",
      "parents": [
        "9edd7ca0a3e3999c260642c92fa008892d82ca6e"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Feb 08 11:16:56 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Feb 08 11:16:56 2010 -0800"
      },
      "message": "netfilter: nf_conntrack: per netns nf_conntrack_cachep\n\nnf_conntrack_cachep is currently shared by all netns instances, but\nbecause of SLAB_DESTROY_BY_RCU special semantics, this is wrong.\n\nIf we use a shared slab cache, one object can instantly flight between\none hash table (netns ONE) to another one (netns TWO), and concurrent\nreader (doing a lookup in netns ONE, \u0027finding\u0027 an object of netns TWO)\ncan be fooled without notice, because no RCU grace period has to be\nobserved between object freeing and its reuse.\n\nWe dont have this problem with UDP/TCP slab caches because TCP/UDP\nhashtables are global to the machine (and each object has a pointer to\nits netns).\n\nIf we use per netns conntrack hash tables, we also *must* use per netns\nconntrack slab caches, to guarantee an object can not escape from one\nnamespace to another one.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\n[Patrick: added unique slab name allocation]\nCc: stable@kernel.org\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "d7c7544c3d5f59033d1bf3236bc7b289f5f26b75",
      "tree": "1a3c9e7b6c0c9158ddb73faa05b07697c3493cf1",
      "parents": [
        "a40ccc6868943e74ec12f26a266ce1d0373b2b32"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Sun Jan 24 22:47:53 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jan 24 22:47:53 2010 -0800"
      },
      "message": "netns xfrm: deal with dst entries in netns\n\nGC is non-existent in netns, so after you hit GC threshold, no new\ndst entries will be created until someone triggers cleanup in init_net.\n\nMake xfrm4_dst_ops and xfrm6_dst_ops per-netns.\nThis is not done in a generic way, because it woule waste\n(AF_MAX - 2) * sizeof(struct dst_ops) bytes per-netns.\n\nReorder GC threshold initialization so it\u0027d be done before registering\nXFRM policies.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e9d3897cc2205eec8b7afcc022e4730914b4f48c",
      "tree": "8b2ae261ee9c1e85d07c84d7d5012ef8299b967d",
      "parents": [
        "83fc81024bd8572f31db784f8c0079e999a4fa44"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon Jan 18 08:08:37 2010 +0100"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Jan 18 08:08:37 2010 +0100"
      },
      "message": "netfilter: netns: #ifdef -\u003eiptable_security, -\u003eip6table_security\n\n\u0027security\u0027 tables depend on SECURITY, so ifdef them.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "d79d792ef9f99cca463b6619a93e860d1c833a6e",
      "tree": "06d8a085701546be48ac104fd4f2413a6371180c",
      "parents": [
        "04dc7f6be3a7b308f8545bb45772c9fb75f71aca"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Dec 03 02:29:05 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 03 12:22:03 2009 -0800"
      },
      "message": "net: Allow xfrm_user_net_exit to batch efficiently.\n\nxfrm.nlsk is provided by the xfrm_user module and is access via rcu from\nother parts of the xfrm code.  Add xfrm.nlsk_stash a copy of xfrm.nlsk that\nwill never be set to NULL.  This allows the synchronize_net and\nnetlink_kernel_release to be deferred until a whole batch of xfrm.nlsk sockets\nhave been set to NULL.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "65c0cfafce9575319fb6f70080fbe226e5617e3b",
      "tree": "e1e0a276860f74ee0fe6747c8455a8ec0e7c2d03",
      "parents": [
        "671011720baa222b6de667cd688aed4dc8908924"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sun Nov 29 15:46:17 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 01 16:16:00 2009 -0800"
      },
      "message": "net: remove [un]register_pernet_gen_... and update the docs.\n\nNo that all of the callers have been updated to set fields in\nstruct pernet_operations, and simplified to let the network\nnamespace core handle the allocation and freeing of the storage\nfor them, remove the surpurpflous methods and update the docs\nto the new style.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "86393e52c3f1e2f6be18383f6ecdbcdc5727d545",
      "tree": "f5c688c0cb5292143478249f807c4b2372f69dfd",
      "parents": [
        "885a136c52a8871175477baf3903e1c38751b35a"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Sat Aug 29 01:34:49 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 01 17:40:31 2009 -0700"
      },
      "message": "netns: embed ip6_dst_ops directly\n\nstruct net::ipv6.ip6_dst_ops is separatedly dynamically allocated,\nbut there is no fundamental reason for it. Embed it directly into\nstruct netns_ipv6.\n\nFor that:\n* move struct dst_ops into separate header to fix circular dependencies\n\tI honestly tried not to, it\u0027s pretty impossible to do other way\n* drop dynamical allocation, allocate together with netns\n\nFor a change, remove struct dst_ops::dst_net, it\u0027s deducible\nby using container_of() given dst_ops pointer.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e04af024b2e74249990587e76ec98220028c01c3",
      "tree": "bef924e031c9253bbc132487a743207831e9279f",
      "parents": [
        "1490fd89474dab9c560d3cca1a4aefbdb89be247"
      ],
      "author": {
        "name": "Cyrill Gorcunov",
        "email": "gorcunov@openvz.org",
        "time": "Fri Jul 03 20:11:58 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 05 19:16:18 2009 -0700"
      },
      "message": "net, netns_xt: shrink netns_xt members\n\nIn case if kernel was compiled without ebtables support\nthere is no need to keep ebt_table pointers in netns_xt\nstructure.\n\nMake it config dependent.\n\nSigned-off-by: Cyrill Gorcunov \u003cgorcunov@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dd7669a92c6066b2b31bae7e04cd787092920883",
      "tree": "d06a9e18aec99c5a34a191cb3391e74ba8a8ec59",
      "parents": [
        "d219dce76c64f2c883dad0537fa09a56d5ff0a10"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Sat Jun 13 12:30:52 2009 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Sat Jun 13 12:30:52 2009 +0200"
      },
      "message": "netfilter: conntrack: optional reliable conntrack event delivery\n\nThis patch improves ctnetlink event reliability if one broadcast\nlistener has set the NETLINK_BROADCAST_ERROR socket option.\n\nThe logic is the following: if an event delivery fails, we keep\nthe undelivered events in the missed event cache. Once the next\npacket arrives, we add the new events (if any) to the missed\nevents in the cache and we try a new delivery, and so on. Thus,\nif ctnetlink fails to deliver an event, we try to deliver them\nonce we see a new packet. Therefore, we may lose state\ntransitions but the userspace process gets in sync at some point.\n\nAt worst case, if no events were delivered to userspace, we make\nsure that destroy events are successfully delivered. Basically,\nif ctnetlink fails to deliver the destroy event, we remove the\nconntrack entry from the hashes and we insert them in the dying\nlist, which contains inactive entries. Then, the conntrack timer\nis added with an extra grace timeout of random32() % 15 seconds\nto trigger the event again (this grace timeout is tunable via\n/proc). The use of a limited random timeout value allows\ndistributing the \"destroy\" resends, thus, avoiding accumulating\nlots \"destroy\" events at the same time. Event delivery may\nre-order but we can identify them by means of the tuple plus\nthe conntrack ID.\n\nThe maximum number of conntrack entries (active or inactive) is\nstill handled by nf_conntrack_max. Thus, we may start dropping\npackets at some point if we accumulate a lot of inactive conntrack\nentries that did not successfully report the destroy event to\nuserspace.\n\nDuring my stress tests consisting of setting a very small buffer\nof 2048 bytes for conntrackd and the NETLINK_BROADCAST_ERROR socket\nflag, and generating lots of very small connections, I noticed\nvery few destroy entries on the fly waiting to be resend.\n\nA simple way to test this patch consist of creating a lot of\nentries, set a very small Netlink buffer in conntrackd (+ a patch\nwhich is not in the git tree to set the BROADCAST_ERROR flag)\nand invoke `conntrack -F\u0027.\n\nFor expectations, no changes are introduced in this patch.\nCurrently, event delivery is only done for new expectations (no\nevents from expectation expiration, removal and confirmation).\nIn that case, they need a per-expectation event cache to implement\nthe same idea that is exposed in this patch.\n\nThis patch can be useful to provide reliable flow-accouting. We\nstill have to add a new conntrack extension to store the creation\nand destroy time.\n\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "a0891aa6a635f658f29bb061a00d6d3486941519",
      "tree": "40df3898f9f2e0892683c482d81deec4fd5a9257",
      "parents": [
        "65cb9fda32be613216f601a330b311c3bd7a8436"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Sat Jun 13 12:26:29 2009 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Sat Jun 13 12:26:29 2009 +0200"
      },
      "message": "netfilter: conntrack: move event caching to conntrack extension infrastructure\n\nThis patch reworks the per-cpu event caching to use the conntrack\nextension infrastructure.\n\nThe main drawback is that we consume more memory per conntrack\nif event delivery is enabled. This patch is required by the\nreliable event delivery that follows to this patch.\n\nBTW, this patch allows you to enable/disable event delivery via\n/proc/sys/net/netfilter/nf_conntrack_events in runtime, although\nyou can still disable event caching as compilation option.\n\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "ea781f197d6a835cbb93a0bf88ee1696296ed8aa",
      "tree": "820fe7df1199d8bb6c793e664e480ea56ecf612e",
      "parents": [
        "1f9352ae2253a97b07b34dcf16ffa3b4ca12c558"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Wed Mar 25 21:05:46 2009 +0100"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Mar 25 21:05:46 2009 +0100"
      },
      "message": "netfilter: nf_conntrack: use SLAB_DESTROY_BY_RCU and get rid of call_rcu()\n\nUse \"hlist_nulls\" infrastructure we added in 2.6.29 for RCUification of UDP \u0026 TCP.\n\nThis permits an easy conversion from call_rcu() based hash lists to a\nSLAB_DESTROY_BY_RCU one.\n\nAvoiding call_rcu() delay at nf_conn freeing time has numerous gains.\n\nFirst, it doesnt fill RCU queues (up to 10000 elements per cpu).\nThis reduces OOM possibility, if queued elements are not taken into account\nThis reduces latency problems when RCU queue size hits hilimit and triggers\nemergency mode.\n\n- It allows fast reuse of just freed elements, permitting better use of\nCPU cache.\n\n- We delete rcu_head from \"struct nf_conn\", shrinking size of this structure\nby 8 or 16 bytes.\n\nThis patch only takes care of \"struct nf_conn\".\ncall_rcu() is still used for less critical conntrack parts, that may\nbe converted later if necessary.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "6c5143dbcfe50ac722965dc7d096abbeeec8bb33",
      "tree": "b9a78f7a700ec6a82ed05cd46e65f7c9ba2cbf60",
      "parents": [
        "6f9374a9342e896c68df7cf7c0b039ab5cca994c"
      ],
      "author": {
        "name": "Benjamin Thery",
        "email": "benjamin.thery@bull.net",
        "time": "Thu Jan 22 04:56:21 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 22 13:57:40 2009 -0800"
      },
      "message": "netns: ipmr: declare reg_vif_num per-namespace\n\nPreliminary work to make IPv4 multicast routing netns-aware.\n\nDeclare variable \u0027reg_vif_num\u0027 per-namespace, move into struct netns_ipv4.\n\nAt the moment, this variable is only referenced in init_net.\n\nSigned-off-by: Benjamin Thery \u003cbenjamin.thery@bull.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6f9374a9342e896c68df7cf7c0b039ab5cca994c",
      "tree": "ba03b8e9e70b0ae5f581444afb9a9ae43e579091",
      "parents": [
        "1e8fb3b6a4ac6c5e486298d88289038456957545"
      ],
      "author": {
        "name": "Benjamin Thery",
        "email": "benjamin.thery@bull.net",
        "time": "Thu Jan 22 04:56:20 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 22 13:57:40 2009 -0800"
      },
      "message": "netns: ipmr: declare mroute_do_assert and mroute_do_pim per-namespace\n\nPreliminary work to make IPv4 multicast routing netns-aware.\n\nDeclare IPv multicast routing variables \u0027mroute_do_assert\u0027 and\n\u0027mroute_do_pim\u0027 per-namespace in struct netns_ipv4.\n\nAt the moment, these variables are only referenced in init_net.\n\nSigned-off-by: Benjamin Thery \u003cbenjamin.thery@bull.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1e8fb3b6a4ac6c5e486298d88289038456957545",
      "tree": "ff2c02ed95edcf510e553c15c8abd476cdc6d669",
      "parents": [
        "2bb8b26c3ea8bde1943dc5cd4dda2dc9f48fb281"
      ],
      "author": {
        "name": "Benjamin Thery",
        "email": "benjamin.thery@bull.net",
        "time": "Thu Jan 22 04:56:19 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 22 13:57:39 2009 -0800"
      },
      "message": "netns: ipmr: declare counter cache_resolve_queue_len per-namespace\n\nPreliminary work to make IPv4 multicast routing netns-aware.\n\nDeclare variable cache_resolve_queue_len per-namespace: move it into\nstruct netns_ipv4.\n\nThis variable counts the number of unresolved cache entries queued in the\nlist mfc_unres_queue. This list is kept global to all netns as the number\nof entries per namespace is limited to 10 (hardcoded in routine\nipmr_cache_unresolved).\nEntries belonging to different namespaces in mfc_unres_queue will be\nidentified by matching the mfc_net member introduced previously in\nstruct mfc_cache.\n\nKeeping this list global to all netns, also allows us to keep a single\ntimer (ipmr_expire_timer) to handle their expiration.\nIn some places cache_resolve_queue_len value was tested for arming\nor deleting the timer. These tests were equivalent to testing\nmfc_unres_queue value instead and are replaced in this patch.\n\nAt the moment, cache_resolve_queue_len is only referenced in init_net.\n\nSigned-off-by: Benjamin Thery \u003cbenjamin.thery@bull.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2bb8b26c3ea8bde1943dc5cd4dda2dc9f48fb281",
      "tree": "dacd8256827d6539ff79162cbf8fad2873835126",
      "parents": [
        "5c0a66f5f3c9c59e2c341400048e2cff768e67a9"
      ],
      "author": {
        "name": "Benjamin Thery",
        "email": "benjamin.thery@bull.net",
        "time": "Thu Jan 22 04:56:18 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 22 13:57:38 2009 -0800"
      },
      "message": "netns: ipmr: dynamically allocate mfc_cache_array\n\nPreliminary work to make IPv4 multicast routing netns-aware.\n\nDynamically allocate IPv4 multicast forwarding cache, mfc_cache_array,\nand move it to struct netns_ipv4.\n\nAt the moment, mfc_cache_array is only referenced in init_net.\n\nSigned-off-by: Benjamin Thery \u003cbenjamin.thery@bull.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cf958ae377ee2545ae70cf48d38e7eb4308c27ea",
      "tree": "f304ea66b789f4287968fcaa57831cd4fa8e2576",
      "parents": [
        "70a269e6c9c9b38b1a37dce068c59e9a912f8578"
      ],
      "author": {
        "name": "Benjamin Thery",
        "email": "benjamin.thery@bull.net",
        "time": "Thu Jan 22 04:56:16 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 22 13:57:34 2009 -0800"
      },
      "message": "netns: ipmr: dynamically allocate vif_table\n\nPreliminary work to make IPv6 multicast routing netns-aware.\n\nDynamically allocate interface table vif_table and move it to\nstruct netns_ipv4, and update MIF_EXISTS() macro.\n\nAt the moment, vif_table is only referenced in init_net.\n\nSigned-off-by: Benjamin Thery \u003cbenjamin.thery@bull.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "70a269e6c9c9b38b1a37dce068c59e9a912f8578",
      "tree": "f39e0615f1a2e6588f620969a1f0a05b616f0b0e",
      "parents": [
        "e35fac80ed0bb878f652cc0f70ca268656d275f7"
      ],
      "author": {
        "name": "Benjamin Thery",
        "email": "benjamin.thery@bull.net",
        "time": "Thu Jan 22 04:56:15 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 22 13:57:34 2009 -0800"
      },
      "message": "netns: ipmr: allocate mroute_socket per-namespace.\n\nPreliminary work to make IPv4 multicast routing netns-aware.\n\nMake IPv4 multicast routing mroute_socket per-namespace,\nmoves it into struct netns_ipv4.\n\nAt the moment, mroute_socket is only referenced in init_net.\n\nSigned-off-by: Benjamin Thery \u003cbenjamin.thery@bull.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "950d5704e5daa1f90bcd75b99163491e7b249169",
      "tree": "c46302160f4364dfc6e66c73c0c9910a9329810a",
      "parents": [
        "a21f3f997c73ced682129aedd372bb6b53041510"
      ],
      "author": {
        "name": "Benjamin Thery",
        "email": "benjamin.thery@bull.net",
        "time": "Wed Dec 10 16:29:24 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 10 16:29:24 2008 -0800"
      },
      "message": "netns: ip6mr: declare reg_vif_num per-namespace\n\nPreliminary work to make IPv6 multicast forwarding netns-aware.\n\nDeclare variable \u0027reg_vif_num\u0027 per-namespace, moves into struct netns_ipv6.\n\nAt the moment, this variable is only referenced in init_net.\n\nSigned-off-by: Benjamin Thery \u003cbenjamin.thery@bull.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a21f3f997c73ced682129aedd372bb6b53041510",
      "tree": "f236a2ef74036df4929f99350316096c6603a3ae",
      "parents": [
        "4045e57c19bee150370390545ee8a933b3f7a18d"
      ],
      "author": {
        "name": "Benjamin Thery",
        "email": "benjamin.thery@bull.net",
        "time": "Wed Dec 10 16:28:44 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 10 16:28:44 2008 -0800"
      },
      "message": "netns: ip6mr: declare mroute_do_assert and mroute_do_pim per-namespace\n\nPreliminary work to make IPv6 multicast forwarding netns-aware.\n\nDeclare IPv6 multicast forwarding variables \u0027mroute_do_assert\u0027 and\n\u0027mroute_do_pim\u0027 per-namespace in struct netns_ipv6.\n\nAt the moment, these variables are only referenced in init_net.\n\nSigned-off-by: Benjamin Thery \u003cbenjamin.thery@bull.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4045e57c19bee150370390545ee8a933b3f7a18d",
      "tree": "a4744efeed6819eff5acd9c13ca0fafe71df144d",
      "parents": [
        "4a6258a0e33d042e4c84d9dec25d45ddb40a70b3"
      ],
      "author": {
        "name": "Benjamin Thery",
        "email": "benjamin.thery@bull.net",
        "time": "Wed Dec 10 16:27:21 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 10 16:27:21 2008 -0800"
      },
      "message": "netns: ip6mr: declare counter cache_resolve_queue_len per-namespace\n\nPreliminary work to make IPv6 multicast forwarding netns-aware.\n\nDeclare variable cache_resolve_queue_len per-namespace: moves it into\nstruct netns_ipv6.\n\nThis variable counts the number of unresolved cache entries queued in the\nlist mfc_unres_queue. This list is kept global to all netns as the number\nof entries per namespace is limited to 10 (hardcoded in routine \nip6mr_cache_unresolved).\nEntries belonging to different namespaces in mfc_unres_queue will be\nidentified by matching the mfc_net member introduced previously in \nstruct mfc6_cache.\n\nKeeping this list global to all netns, also allows us to keep a single\ntimer (ipmr_expire_timer) to handle their expiration.\nIn some places cache_resolve_queue_len value was tested for arming \nor deleting the timer. These tests were equivalent to testing \nmfc_unres_queue value instead and are replaced in this patch.\n\nAt the moment, cache_resolve_queue_len is only referenced in init_net.\n\nSigned-off-by: Benjamin Thery \u003cbenjamin.thery@bull.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4a6258a0e33d042e4c84d9dec25d45ddb40a70b3",
      "tree": "5cc24a8d367593b039c32a0d1fa4a64730673542",
      "parents": [
        "58701ad41105638baa0b38ffe9ac5b10469c1fd3"
      ],
      "author": {
        "name": "Benjamin Thery",
        "email": "benjamin.thery@bull.net",
        "time": "Wed Dec 10 16:24:07 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 10 16:24:07 2008 -0800"
      },
      "message": "netns: ip6mr: dynamically allocate mfc6_cache_array\n\nPreliminary work to make IPv6 multicast forwarding netns-aware.\n\nDynamically allocates IPv6 multicast forwarding cache, mfc6_cache_array,\nand moves it to struct netns_ipv6. \n\nAt the moment, mfc6_cache_array is only referenced in init_net.\n\nReplace \u0027ARRAY_SIZE(mfc6_cache_array)\u0027 with mfc6_cache_array size: MFC6_LINES.\n\nSigned-off-by: Benjamin Thery \u003cbenjamin.thery@bull.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4e16880cb4225bfa68878ad5b2a9ded53657d054",
      "tree": "6a8c15e47fe33edede4c4bd79c05dabc5ca2f79c",
      "parents": [
        "bd91b8bf372911c1e4d66d6bb44fe409349a6791"
      ],
      "author": {
        "name": "Benjamin Thery",
        "email": "benjamin.thery@bull.net",
        "time": "Wed Dec 10 16:15:08 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 10 16:15:08 2008 -0800"
      },
      "message": "netns: ip6mr: dynamically allocates vif6_table\n\nPreliminary work to make IPv6 multicast forwarding netns-aware.\n\nDynamically allocates interface table vif6_table and moves it to \nstruct netns_ipv6, and updates MIF_EXISTS() macro. \n\nAt the moment, vif6_table is only referenced in init_net.\n\nSigned-off-by: Benjamin Thery \u003cbenjamin.thery@bull.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bd91b8bf372911c1e4d66d6bb44fe409349a6791",
      "tree": "18a79fc3c86ad833523562d7b73a9a557207b51b",
      "parents": [
        "5eaa65b240c5eb7bf2235eb9dd177c83e6e3832c"
      ],
      "author": {
        "name": "Benjamin Thery",
        "email": "benjamin.thery@bull.net",
        "time": "Wed Dec 10 16:07:08 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 10 16:07:08 2008 -0800"
      },
      "message": "netns: ip6mr: allocate mroute6_socket per-namespace.\n\nPreliminary work to make IPv6 multicast forwarding netns-aware.\n\nMake IPv6 multicast forwarding mroute6_socket per-namespace,\nmoves it into struct netns_ipv6.\n\nAt the moment, mroute6_socket is only referenced in init_net.\n\nSigned-off-by: Benjamin Thery \u003cbenjamin.thery@bull.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ed77a89c30fa03dcb234a84ddea710b3fb7b62da",
      "tree": "69f3e2c2bbf2fdd4f742e891441f01307d1d1f49",
      "parents": [
        "475ad8e2172d7f8b73af5532a8dad265b51339c2",
        "d6e8cc6cc7ac77b0f9118f78c453a2e834e62709"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 28 02:19:15 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 28 02:19:15 2008 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-next-2.6\n\nConflicts:\n\n\tnet/netfilter/nf_conntrack_netlink.c\n"
    },
    {
      "commit": "b27aeadb5948d400df83db4d29590fb9862ba49d",
      "tree": "f76cc43150164facbb890e4d5c619a99fe6ce303",
      "parents": [
        "c68cd1a01ba56995d85a4a62b195b2b3f6415c64"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Nov 25 18:00:48 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 18:00:48 2008 -0800"
      },
      "message": "netns xfrm: per-netns sysctls\n\nMake\n\tnet.core.xfrm_aevent_etime\n\tnet.core.xfrm_acq_expires\n\tnet.core.xfrm_aevent_rseqth\n\tnet.core.xfrm_larval_drop\n\nsysctls per-netns.\n\nFor that make net_core_path[] global, register it to prevent two\n/proc/net/core antries and change initcall position -- xfrm_init() is called\nfrom fs_initcall, so this one should be fs_initcall at least.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "59c9940ed0ef026673cac52f2eaed77af7d486da",
      "tree": "d7d4e38e693178f16000eaa5ae03f415f3197f7a",
      "parents": [
        "4fb236bac9fc7d51e2267866de6d4c30e549d2f8"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Nov 25 17:59:52 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 17:59:52 2008 -0800"
      },
      "message": "netns xfrm: per-netns MIBs\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a6483b790f8efcd8db190c1c0ff93f9d9efe919a",
      "tree": "e05ba1d3e7014409a69d878bf9f24c5eb93365e4",
      "parents": [
        "bd235e3cfff617ff91677da553714051866ba55f"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Nov 25 17:38:20 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 17:38:20 2008 -0800"
      },
      "message": "netns xfrm: per-netns NETLINK_XFRM socket\n\nStub senders to init_net\u0027s one temporarily.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "66caf628c3b634c57b14a1a104dcd57e4fab2e3b",
      "tree": "d5a967f7c22e55208bc536c540efb85f26b9b483",
      "parents": [
        "dc2caba7b321289e7d02e63d7216961ccecfa103"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Nov 25 17:28:57 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 17:28:57 2008 -0800"
      },
      "message": "netns xfrm: per-netns policy hash resizing work\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dc2caba7b321289e7d02e63d7216961ccecfa103",
      "tree": "639c3da4e2a2b35af3b4dfe980994ce7f9a27c0e",
      "parents": [
        "a35f6c5de32664d82c072a7e2c7d5c5234de4158"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Nov 25 17:24:15 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 17:24:15 2008 -0800"
      },
      "message": "netns xfrm: per-netns policy counts\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a35f6c5de32664d82c072a7e2c7d5c5234de4158",
      "tree": "4eae7591e4bacb4ce4700eae2399c5622f4f4ffa",
      "parents": [
        "8b18f8eaf9207d53ba3e69f2b98d7290f4dec227"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Nov 25 17:23:48 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 17:23:48 2008 -0800"
      },
      "message": "netns xfrm: per-netns xfrm_policy_bydst hash\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8b18f8eaf9207d53ba3e69f2b98d7290f4dec227",
      "tree": "b4f323ac9aa6f1956c3ad4398a2230fc7a01d3e4",
      "parents": [
        "8100bea7d619e8496ad8e545d1b41f536e076cd5"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Nov 25 17:23:26 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 17:23:26 2008 -0800"
      },
      "message": "netns xfrm: per-netns inexact policies\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8100bea7d619e8496ad8e545d1b41f536e076cd5",
      "tree": "f0f6163bcfec148cb32941bea908737486896bc0",
      "parents": [
        "93b851c1c93c7d5cd8d94cd3f3a268b2d5460e9e"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Nov 25 17:22:58 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 17:22:58 2008 -0800"
      },
      "message": "netns xfrm: per-netns xfrm_policy_byidx hashmask\n\nPer-netns hashes are independently resizeable.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "93b851c1c93c7d5cd8d94cd3f3a268b2d5460e9e",
      "tree": "b641247bb4ca596de9c19ef6a785256902fc17b3",
      "parents": [
        "adfcf0b27e87d16a6a8c364daa724653d4d8930b"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Nov 25 17:22:35 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 17:22:35 2008 -0800"
      },
      "message": "netns xfrm: per-netns xfrm_policy_byidx hash\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "adfcf0b27e87d16a6a8c364daa724653d4d8930b",
      "tree": "568da73362373cf293e94eceddbfc4bebe43d2bb",
      "parents": [
        "0331b1f383e1fa4049f8e75cafeea8f006171c64"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Nov 25 17:22:11 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 17:22:11 2008 -0800"
      },
      "message": "netns xfrm: per-netns policy list\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "50a30657fd7ee77a94a6bf0ad86eba7c37c3032e",
      "tree": "7eb9165881b9082588eb2c373e9ed2ebc013321e",
      "parents": [
        "c78371441c0d957f54c9f8a35b3ee5a378d14808"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Nov 25 17:21:01 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 17:21:01 2008 -0800"
      },
      "message": "netns xfrm: per-netns km_waitq\n\nDisallow spurious wakeups in __xfrm_lookup().\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c78371441c0d957f54c9f8a35b3ee5a378d14808",
      "tree": "660b55bc3d85aa04a72bbff6c7d357f82dc5494d",
      "parents": [
        "b8a0ae20b0eecd4b86a113d2abe2fa5a582b30a6"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Nov 25 17:20:36 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 17:20:36 2008 -0800"
      },
      "message": "netns xfrm: per-netns state GC work\n\nState GC is per-netns, and this is part of it.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b8a0ae20b0eecd4b86a113d2abe2fa5a582b30a6",
      "tree": "7425a504250c79c86c69293772a4a4271ed74237",
      "parents": [
        "630827338585022b851ec0a6335df8e436c900e4"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Nov 25 17:20:11 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 17:20:11 2008 -0800"
      },
      "message": "netns xfrm: per-netns state GC list\n\nkm_waitq is going to be made per-netns to disallow spurious wakeups\nin __xfrm_lookup().\n\nTo not wakeup after every garbage-collected xfrm_state (which potentially\ncan be from different netns) make state GC list per-netns.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "630827338585022b851ec0a6335df8e436c900e4",
      "tree": "d40fcd9a94157171f14b481e7571ae255c6aab8f",
      "parents": [
        "0bf7c5b019518d3fe9cb96b9c97bf44d251472c3"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Nov 25 17:19:07 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 17:19:07 2008 -0800"
      },
      "message": "netns xfrm: per-netns xfrm_hash_work\n\nAll of this is implicit passing which netns\u0027s hashes should be resized.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0bf7c5b019518d3fe9cb96b9c97bf44d251472c3",
      "tree": "9deba01a0f6a5e3bbe88f568be2d984e08254af3",
      "parents": [
        "529983ecabeae3d8e61c9e27079154b1b8544dcd"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Nov 25 17:18:39 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 17:18:39 2008 -0800"
      },
      "message": "netns xfrm: per-netns xfrm_state counts\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "529983ecabeae3d8e61c9e27079154b1b8544dcd",
      "tree": "eb440806ba098ed3abf629bcb57c53e5a61e7b17",
      "parents": [
        "b754a4fd8f58d245c9b5e92914cce09c4309cb67"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Nov 25 17:18:12 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 17:18:12 2008 -0800"
      },
      "message": "netns xfrm: per-netns xfrm_state_hmask\n\nSince hashtables are per-netns, they can be independently resized.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b754a4fd8f58d245c9b5e92914cce09c4309cb67",
      "tree": "b4b98f60c8be664723106a6ef91cdab669c29657",
      "parents": [
        "d320bbb306f2085892bc958781e8fcaf5d491589"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Nov 25 17:17:47 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 17:17:47 2008 -0800"
      },
      "message": "netns xfrm: per-netns xfrm_state_byspi hash\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d320bbb306f2085892bc958781e8fcaf5d491589",
      "tree": "b86290122569b7201be6df4632eeca4fd4483ef9",
      "parents": [
        "73d189dce486cd6693fa29169b1aac0872efbcea"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Nov 25 17:17:24 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 17:17:24 2008 -0800"
      },
      "message": "netns xfrm: per-netns xfrm_state_bysrc hash\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "73d189dce486cd6693fa29169b1aac0872efbcea",
      "tree": "1c82e87feef2d99d3644f98b66bc90006259d86e",
      "parents": [
        "9d4139c76905833afcb77fe8ccc17f302a0eb9ab"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Nov 25 17:16:58 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 17:16:58 2008 -0800"
      },
      "message": "netns xfrm: per-netns xfrm_state_bydst hash\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9d4139c76905833afcb77fe8ccc17f302a0eb9ab",
      "tree": "40cb6b05eeffd0478f6d767effaa5d346aa3df82",
      "parents": [
        "673c09be457bb23aa0eaaa79804cbb342210d195"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Nov 25 17:16:11 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 17:16:11 2008 -0800"
      },
      "message": "netns xfrm: per-netns xfrm_state_all list\n\nThis is done to get\na) simple \"something leaked\" check\nb) cover possible DoSes when other netns puts many, many xfrm_states\n   onto a list.\nc) not miss \"alien xfrm_state\" check in some of list iterators in future.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d62ddc21b674b5ac1466091ff3fbf7baa53bc92c",
      "tree": "13e57abe023b5258b168e7f9108015a78493e481",
      "parents": [
        "c95839693d2a6612af7f75ad877012eba2f69757"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Nov 25 17:14:31 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 17:14:31 2008 -0800"
      },
      "message": "netns xfrm: add netns boilerplate\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b71b30a626fd0e43c825a05036e7a2c3f377a563",
      "tree": "0e2f28638300c5ccb94e736461c77065815d069e",
      "parents": [
        "4aad10938d4e4e8364b664cd5420c3bfeb9b679b"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Nov 04 14:30:46 2008 +0100"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Nov 04 14:30:46 2008 +0100"
      },
      "message": "netfilter: netns ebtables: ebtable_nat in netns\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "4aad10938d4e4e8364b664cd5420c3bfeb9b679b",
      "tree": "1d0f8908c738ee385aa1c12de86876af54ca3e56",
      "parents": [
        "8157e6d16af86e4a8d31a035db7be02a8a171c26"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Nov 04 14:29:58 2008 +0100"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Nov 04 14:29:58 2008 +0100"
      },
      "message": "netfilter: netns ebtables: ebtable_filter in netns\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "8157e6d16af86e4a8d31a035db7be02a8a171c26",
      "tree": "0970115fc55f94c9d1da3a65be9986b0a816770a",
      "parents": [
        "dbcdf85a2e3d2aa584dafd10b5a1f42764e673e7"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Nov 04 14:29:03 2008 +0100"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Nov 04 14:29:03 2008 +0100"
      },
      "message": "netfilter: netns ebtables: ebtable_broute in netns\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "1080d709fb9d8cd4392f93476ee46a9d6ea05a5b",
      "tree": "b87a162b10d98f7d44657d7c9a98bbc7385159fd",
      "parents": [
        "1d63e726408dfdb3e10ed8f00c383b30ebb333d3"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Mon Oct 27 12:28:25 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 27 17:06:14 2008 -0700"
      },
      "message": "net: implement emergency route cache rebulds when gc_elasticity is exceeded\n\nThis is a patch to provide on demand route cache rebuilding.  Currently, our\nroute cache is rebulid periodically regardless of need.  This introduced\nunneeded periodic latency.  This patch offers a better approach.  Using code\nprovided by Eric Dumazet, we compute the standard deviation of the average hash\nbucket chain length while running rt_check_expire.  Should any given chain\nlength grow to larger that average plus 4 standard deviations, we trigger an\nemergency hash table rebuild for that net namespace.  This allows for the common\ncase in which chains are well behaved and do not grow unevenly to not incur any\nlatency at all, while those systems (which may be being maliciously attacked),\nonly rebuild when the attack is detected.  This patch take 2 other factors into\naccount:\n1) chains with multiple entries that differ by attributes that do not affect the\nhash value are only counted once, so as not to unduly bias system to rebuilding\nif features like QOS are heavily used\n2) if rebuilding crosses a certain threshold (which is adjustable via the added\nsysctl in this patch), route caching is disabled entirely for that net\nnamespace, since constant rebuilding is less efficient that no caching at all\n\nTested successfully by me.\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "10a03a42d140a029bcba531df2897839f3569871",
      "tree": "c404d9e491379e21e9930375c3197746ee5bf1de",
      "parents": [
        "041fb574c75a570a0796acd3ed83e4ce0ea920f4"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Oct 20 03:31:54 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 20 03:31:54 2008 -0700"
      },
      "message": "netfilter: netns: use NFPROTO_NUMPROTO instead of NUMPROTO for tables array\n\nThe netfilter families have been decoupled from regular protocol families.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9261e53701121f83eb9482347d68833e95315362",
      "tree": "9e3ba61bb72233eb544bc22ebd29a0dafa90a89e",
      "parents": [
        "087fe24033c4280a15b03cce41eaec844c92f8e5"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Wed Oct 08 10:36:03 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 08 11:16:45 2008 -0700"
      },
      "message": "ipv6: making ip and icmp statistics per/namespace\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0c4c9288ada0e6642d511ef872f10a4781a896ff",
      "tree": "ee0e22ad78f9a7454e4d8eca09f38414afa643ee",
      "parents": [
        "e099a173573ce1ba171092aee7bb3c72ea686e59"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Wed Oct 08 11:35:11 2008 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Oct 08 11:35:11 2008 +0200"
      },
      "message": "netfilter: netns nat: per-netns bysource hash\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "e099a173573ce1ba171092aee7bb3c72ea686e59",
      "tree": "e2ad85c122d022f400d2f6260a7e90c2481bd671",
      "parents": [
        "b8b8063e0d0835fb44c88d9fded2be31c9a1757e"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Wed Oct 08 11:35:10 2008 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Oct 08 11:35:10 2008 +0200"
      },
      "message": "netfilter: netns nat: per-netns NAT table\n\nSame story as with iptable_filter, iptables_raw tables.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "d716a4dfbbdf0d4731d596a96e5f4b0d892ac168",
      "tree": "6131d86efdcebf7da50ded77e437223df9f41f7c",
      "parents": [
        "c2a2c7e0cc39e7f9336cd67e8307a110bdba82f3"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Wed Oct 08 11:35:09 2008 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Oct 08 11:35:09 2008 +0200"
      },
      "message": "netfilter: netns nf_conntrack: per-netns conntrack accounting\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "c2a2c7e0cc39e7f9336cd67e8307a110bdba82f3",
      "tree": "7f9636ad72ab8f2309b2d5b3ca74f8c074ac807a",
      "parents": [
        "c04d05529a6e0bf97183a2caf76a0c7f07f5b78c"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Wed Oct 08 11:35:08 2008 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Oct 08 11:35:08 2008 +0200"
      },
      "message": "netfilter: netns nf_conntrack: per-netns net.netfilter.nf_conntrack_log_invalid sysctl\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "c04d05529a6e0bf97183a2caf76a0c7f07f5b78c",
      "tree": "9d4df449b3a294b150d1c77ac4a4767e27e4a5df",
      "parents": [
        "802507071b72ed5025747126099cbc6d1542f596"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Wed Oct 08 11:35:08 2008 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Oct 08 11:35:08 2008 +0200"
      },
      "message": "netfilter: netns nf_conntrack: per-netns net.netfilter.nf_conntrack_checksum sysctl\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "802507071b72ed5025747126099cbc6d1542f596",
      "tree": "4c572d665eb8da556cc9c42b363ee44450a1edaf",
      "parents": [
        "8e9df80180b73d4107bf8fbf28b1633c541d2770"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Wed Oct 08 11:35:08 2008 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Oct 08 11:35:08 2008 +0200"
      },
      "message": "netfilter: netns nf_conntrack: per-netns net.netfilter.nf_conntrack_count sysctl\n\nNote, sysctl table is always duplicated, this is simpler and less\nspecial-cased.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "0d55af8791bfb42e04cc456b348910582f230343",
      "tree": "619c5a6a46691ca90237d6ad239a4fb4391e61b9",
      "parents": [
        "6058fa6bb96a5b6145cba10c5171f09c2783ca69"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Wed Oct 08 11:35:07 2008 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Oct 08 11:35:07 2008 +0200"
      },
      "message": "netfilter: netns nf_conntrack: per-netns statistics\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "6058fa6bb96a5b6145cba10c5171f09c2783ca69",
      "tree": "634c499aa2ce0a76133d5543eaebcdc73a58f4da",
      "parents": [
        "a71996fccce4b2086a26036aa3c915365ca36926"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Wed Oct 08 11:35:07 2008 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Oct 08 11:35:07 2008 +0200"
      },
      "message": "netfilter: netns nf_conntrack: per-netns event cache\n\nHeh, last minute proof-reading of this patch made me think,\nthat this is actually unneeded, simply because \"ct\" pointers will be\ndifferent for different conntracks in different netns, just like they\nare different in one netns.\n\nNot so sure anymore.\n\n[Patrick: pointers will be different, flushing can only be done while\n inactive though and thus it needs to be per netns]\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "63c9a26264be108b52de087724673f8664570e34",
      "tree": "c18fe6b396ce660f982e441c5a305d40d2d3b3d4",
      "parents": [
        "9b03f38d0487f3908696242286d934c9b38f9d2a"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Wed Oct 08 11:35:04 2008 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Oct 08 11:35:04 2008 +0200"
      },
      "message": "netfilter: netns nf_conntrack: per-netns unconfirmed list\n\nWhat is confirmed connection in one netns can very well be unconfirmed\nin another one.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "9b03f38d0487f3908696242286d934c9b38f9d2a",
      "tree": "8f45ef997e2badfe7c534b6991f3a4816905e4d3",
      "parents": [
        "b21f89019399ff75d9c239010e38b840eb6e01e7"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Wed Oct 08 11:35:03 2008 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Oct 08 11:35:03 2008 +0200"
      },
      "message": "netfilter: netns nf_conntrack: per-netns expectations\n\nMake per-netns a) expectation hash and b) expectations count.\n\nExpectations always belongs to netns to which it\u0027s master conntrack belong.\nThis is natural and doesn\u0027t bloat expectation.\n\nProc files and leaf users are stubbed to init_net, this is temporary.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "400dad39d1c33fe797e47326d87a3f54d0ac5181",
      "tree": "f3bb7c9f75bd24161c2dd745f1b475f5a6165cae",
      "parents": [
        "49ac8713b6d064adf7474080fdccebd7cce76be0"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Wed Oct 08 11:35:03 2008 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Oct 08 11:35:03 2008 +0200"
      },
      "message": "netfilter: netns nf_conntrack: per-netns conntrack hash\n\n* make per-netns conntrack hash\n\n  Other solution is to add -\u003ect_net pointer to tuplehashes and still has one\n  hash, I tried that it\u0027s ugly and requires more code deep down in protocol\n  modules et al.\n\n* propagate netns pointer to where needed, e. g. to conntrack iterators.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "49ac8713b6d064adf7474080fdccebd7cce76be0",
      "tree": "d74b70b92fbf7741b715a7a1608a1ba5c20df386",
      "parents": [
        "5a1fb391d881905e89623d78858d05b248cbc86a"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Wed Oct 08 11:35:03 2008 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Oct 08 11:35:03 2008 +0200"
      },
      "message": "netfilter: netns nf_conntrack: per-netns conntrack count\n\nSysctls and proc files are stubbed to init_net\u0027s one. This is temporary.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "dfdb8d791877052bbb527d9688d94a064721d8f7",
      "tree": "1aba6921536f1d3244c8967033edefd2bbcf4812",
      "parents": [
        "e10aad9998e463df8e25ec749538faf3324dd31b"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Wed Oct 08 11:35:02 2008 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Oct 08 11:35:02 2008 +0200"
      },
      "message": "netfilter: netns nf_conntrack: add netns boilerplate\n\nOne comment: #ifdefs around #include is necessary to overcome amazing compile\nbreakages in NOTRACK-in-netns patch (see below).\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "be713a443ee019489890e93654557916fbf72612",
      "tree": "0ff5bacfd4b6f17ccc380ef01fcd6661959531b8",
      "parents": [
        "0c7ed677fb7013c8028045d409a48ac42151187a"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Tue Oct 07 14:50:06 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 07 14:50:06 2008 -0700"
      },
      "message": "netns: make uplitev6 mib per/namespace\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0c7ed677fb7013c8028045d409a48ac42151187a",
      "tree": "7449bac3fd2433b541da0d458cf0aecfb90451b8",
      "parents": [
        "e43291cb37406dae405d50332eaa1ba2264c8dce"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Tue Oct 07 14:49:36 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 07 14:49:36 2008 -0700"
      },
      "message": "netns: make udpv6 mib per/namespace\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "835bcc0497e18f54153ac9e32b598dd8ffb7aa66",
      "tree": "7d0e41088297d678597bc4a7e425a78b7c0a5076",
      "parents": [
        "4a7e56098f06d505f23f8d7c8d6762221065922a"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Tue Oct 07 14:45:55 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 07 14:45:55 2008 -0700"
      },
      "message": "netns: move /proc/net/dev_snmp6 to struct net\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "417f28bb340725544c36b35465444d2fd57232b8",
      "tree": "8a38097b4ea34a2877ecfdb95f37ad2864f5754d",
      "parents": [
        "888c848ed34bd5f8cb56567624c0d951ab35174e"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Tue Jul 22 14:33:45 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 22 14:33:45 2008 -0700"
      },
      "message": "netns: dont alloc ipv6 fib timer list\n\nFIB timer list is a trivial size structure, avoid indirection and just\nput it in existing ns.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "923c6586b0dc0a00df07a1608185437145a0c68b",
      "tree": "bbe3324b4ae8920a3a50e81e596c75db11cc9433",
      "parents": [
        "b60538a0d737609213e4b758881913498d3ff0b4"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Fri Jul 18 04:04:22 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 18 04:04:22 2008 -0700"
      },
      "message": "mib: put icmpmsg statistics on struct net\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b60538a0d737609213e4b758881913498d3ff0b4",
      "tree": "380b75c744b9eb13b56fe386b58ddc2106686372",
      "parents": [
        "386019d3514b3ed9de8d0b05b67e638a7048375b"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Fri Jul 18 04:04:02 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 18 04:04:02 2008 -0700"
      },
      "message": "mib: put icmp statistics on struct net\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "386019d3514b3ed9de8d0b05b67e638a7048375b",
      "tree": "6447cb5bfe73788abab98f4835b95af258bfeeff",
      "parents": [
        "2f275f91a438abd8eec5321798d66a4ffe6869fa"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Fri Jul 18 04:03:45 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 18 04:03:45 2008 -0700"
      },
      "message": "mib: put udplite statistics on struct net\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2f275f91a438abd8eec5321798d66a4ffe6869fa",
      "tree": "a14cc8f7112d2ba0dfe08e43577cab779b858ba6",
      "parents": [
        "61a7e26028b94805fd686a6dc9dbd9941f8f19b0"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Fri Jul 18 04:03:27 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 18 04:03:27 2008 -0700"
      },
      "message": "mib: put udp statistics on struct net\n\nSimilar to... ouch, I repeat myself.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "61a7e26028b94805fd686a6dc9dbd9941f8f19b0",
      "tree": "2253a6f827a68ea5a7041456c5bfcac0d8e24138",
      "parents": [
        "a20f5799ca7ceb24d63c74b6fdad4b0c0ee91f4f"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Fri Jul 18 04:03:08 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 18 04:03:08 2008 -0700"
      },
      "message": "mib: put net statistics on struct net\n\nSimilar to ip and tcp ones :)\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a20f5799ca7ceb24d63c74b6fdad4b0c0ee91f4f",
      "tree": "0262e4a674c611044d78c9f62f378473df0ce0f1",
      "parents": [
        "57ef42d59d1c1d79be59fc3c6380ae14234e38c3"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Fri Jul 18 04:02:42 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 18 04:02:42 2008 -0700"
      },
      "message": "mib: put ip statistics on struct net\n\nSimilar to tcp one.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "57ef42d59d1c1d79be59fc3c6380ae14234e38c3",
      "tree": "4ccc2166f6967ac1fb582715f7d7d5bb5c9205fc",
      "parents": [
        "9b4661bd6e5437508e0920608f3213c23212cd1b"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Fri Jul 18 04:02:08 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 18 04:02:08 2008 -0700"
      },
      "message": "mib: put tcp statistics on struct net\n\nProc temporary uses stats from init_net.\n\nBTW, TCP_XXX_STATS are beautiful (w/o do { } while (0) facing) again :)\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "852566f53ccdc9d1c149ffa28daa9778e13fa3da",
      "tree": "247d134429afd277775fdd9a4d491a702ccf4e90",
      "parents": [
        "a60f28fa934ccadbf526f4dab8d73079480002a4"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Fri Jul 18 04:01:24 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 18 04:01:24 2008 -0700"
      },
      "message": "mib: add netns/mib.h file\n\nThe only structure declared within is the netns_mib, which will\ncarry all our mibs within. I didn\u0027t put the mibs in the existing\nnetns_xxx structures to make it possible to mark this one as\nproperly aligned and get in a separate \"read-mostly\" cache-line.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e84f84f276473dcc673f360e8ff3203148bdf0e2",
      "tree": "c7ea9b10807acef5fb9c636d2b8b74204d32a37e",
      "parents": [
        "b00180defdeeac8e07e3dc02e53e7395d42bbd19"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Sat Jul 05 19:04:32 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 05 19:04:32 2008 -0700"
      },
      "message": "netns: place rt_genid into struct net\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9f5e97e53675caeda48e9988122a30470f4d309d",
      "tree": "bf236781b078866c1b2190784611815738bf3a81",
      "parents": [
        "39a23e75087ce815abbddbd565b9a2e567ac47da"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Sat Jul 05 19:02:59 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 05 19:02:59 2008 -0700"
      },
      "message": "netns: make rt_secret_rebuild timer per namespace\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "39a23e75087ce815abbddbd565b9a2e567ac47da",
      "tree": "456669014c97282b3055c89e8c99aaa4f412f96a",
      "parents": [
        "639e104facec20f64f2eb940851ae45e5f255e6b"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Sat Jul 05 19:02:33 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 05 19:02:33 2008 -0700"
      },
      "message": "netns: register net.ipv4.route.flush in each namespace\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0b4419162aa6c4204843f3a13b48d9ab821d3167",
      "tree": "1c475a8f59b7fce528eb97c6709b25145c110c33",
      "parents": [
        "33de014c63646f69f36f3673e3b4676f931dc878"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Mon Jun 16 17:14:11 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 16 17:14:11 2008 -0700"
      },
      "message": "netns: introduce the net_hash_mix \"salt\" for hashes\n\nThere are many possible ways to add this \"salt\", thus I made this\npatch to be the last in the series to change it if required.\n\nCurrently I propose to use the struct net pointer itself as this \nsalt, but since this pointer is most often cache-line aligned, shift \nthis right to eliminate the bits, that are most often zeroed.\n\nAfter this, simply add this mix to prepared hashfn-s.\n\nFor CONFIG_NET_NS\u003dn case this salt is 0 and no changes in hashfn\nappear.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "17e6e59f0a1d7188d783c15dc3ccebd95a0840cd",
      "tree": "aabe39d205166733003dcc22b95bc77714691de1",
      "parents": [
        "560ee653b67074b805f1b661988a72a0e58811a5"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Mon Jun 09 15:58:05 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 09 15:58:05 2008 -0700"
      },
      "message": "netfilter: ip6_tables: add ip6tables security table\n\nThis is a port of the IPv4 security table for IPv6.\n\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "560ee653b67074b805f1b661988a72a0e58811a5",
      "tree": "e480158d626854dde7421d87e76b1fa6443c457f",
      "parents": [
        "a258860e01b80e8f554a4ab1a6c95e6042eb8b73"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Mon Jun 09 15:57:24 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 09 15:57:24 2008 -0700"
      },
      "message": "netfilter: ip_tables: add iptables security table for mandatory access control rules\n\nThe following patch implements a new \"security\" table for iptables, so\nthat MAC (SELinux etc.) networking rules can be managed separately to\nstandard DAC rules.\n\nThis is to help with distro integration of the new secmark-based\nnetwork controls, per various previous discussions.\n\nThe need for a separate table arises from the fact that existing tools\nand usage of iptables will likely clash with centralized MAC policy\nmanagement.\n\nThe SECMARK and CONNSECMARK targets will still be valid in the mangle\ntable to prevent breakage of existing users.\n\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dec827d174d7f76c457238800183ca864a639365",
      "tree": "ca7c04e35eda9956afef94678a2a863c3e75e2ed",
      "parents": [
        "c93cf61fd1d5378134f9b06703f7078067542e00"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Tue Apr 15 00:36:08 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 15 00:36:08 2008 -0700"
      },
      "message": "[NETNS]: The generic per-net pointers.\n\nAdd the elastic array of void * pointer to the struct net.\nThe access rules are simple:\n\n 1. register the ops with register_pernet_gen_device to get\n    the id of your private pointer\n 2. call net_assign_generic() to put the private data on the\n    struct net (most preferably this should be done in the\n    -\u003einit callback of the ops registered)\n 3. do not store any private reference on the net_generic array;\n 4. do not change this pointer while the net is alive;\n 5. use the net_generic() to get the pointer.\n\nWhen adding a new pointer, I copy the old array, replace it\nwith a new one and schedule the old for kfree after an RCU\ngrace period.\n\nSince the net_generic explores the net-\u003egen array inside rcu\nread section and once set the net-\u003egen-\u003eptr[x] pointer never \nchanges, this grants us a safe access to generic pointers.\n\nQuoting Paul: \"... RCU is protecting -only- the net_generic \nstructure that net_generic() is traversing, and the [pointer]\nreturned by net_generic() is protected by a reference counter \nin the upper-level struct net.\"\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nAcked-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0204774191d3e7bc69e3ae6bbf328b635607505a",
      "tree": "b26ac01c17f2acc3feb6b92d36564d13609e9a1f",
      "parents": [
        "8231bd270df435f2d4d85b284dd9dbd48521dd84"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Sun Apr 13 22:32:25 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 13 22:32:25 2008 -0700"
      },
      "message": "[NETNS][DCCPV6]: Move the dccp_v6_ctl_sk on the struct net.\n\nAnd replace all its usage with init_net\u0027s socket.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nAcked-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7b1cffa8c90269dc3dc721d084d1e0d742d87c31",
      "tree": "790914a5574a2cf33a7ee3672629bf0a31f77b71",
      "parents": [
        "72a2d6138224298a576bcdc33d7d0004de604856"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Sun Apr 13 22:29:37 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 13 22:29:37 2008 -0700"
      },
      "message": "[NETNS][DCCPV4]: Move the dccp_v4_ctl_sk on the struct net.\n\nAnd replace all its usage with init_net\u0027s socket.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nAcked-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "67019cc9ee3f4868c8e5e493b2873c4722306019",
      "tree": "03daaf97bdcd834dca004f84673bf1f23b6cc52d",
      "parents": [
        "5f4472c5a640c9671ca5becaebdfd6e651482176"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Sun Apr 13 22:28:42 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 13 22:28:42 2008 -0700"
      },
      "message": "[NETNS]: Add an empty netns_dccp structure on struct net.\n\nAccording to the overall struct net design, it will be\nfilled with DCCP-related members.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nAcked-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "046ee902357adc046d041441956ec7eeb30c77c4",
      "tree": "7e230cfad9809751d4164f0946ea4e8b5d484c39",
      "parents": [
        "1ed8516f09e510e4595bc900ad9266c15aacfdd2"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Thu Apr 03 14:31:33 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 03 14:31:33 2008 -0700"
      },
      "message": "[NETNS]: Create tcp control socket in the each namespace.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "70ee115942be6ce52ff10e5e813fb4da82cdb25a",
      "tree": "aa3a22dfece765ead70df8f07974e398766b0104",
      "parents": [
        "c29a0bc4dfc4d833eb702b1929cec96a3eeb9f7a"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Mon Mar 31 19:42:16 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 31 19:42:16 2008 -0700"
      },
      "message": "[SOCK][NETNS]: Add the percpu prot_inuse counter in the struct net.\n\nSuch an accounting would cost us two more dereferences to get the\npercpu variable from the struct net, so I make sock_prot_inuse_get\nand _add calls work differently depending on CONFIG_NET_NS - without\nit old optimized routines are used.\n\nThe per-cpu counter for init_net is prepared in core_initcall, so\nthat even af_inet, that starts as fs_initcall, will already have the\ninit_net prepared.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8efa6e93cb2666dceafc4844057fdcb9aa324fb7",
      "tree": "3fbf8da25edf1b942411d89896400effd5a83419",
      "parents": [
        "3edf8fa5ccf10688a9280b5cbca8ed3947c42866"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Mon Mar 31 19:41:14 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 31 19:41:14 2008 -0700"
      },
      "message": "[NETNS]: Introduce a netns_core structure.\n\nThere\u0027s already some stuff on the struct net, that should better\nbe folded into netns_core structure. I\u0027m making the per-proto inuse \ncounter be per-net also, which is also a candidate for this, so \nintroduce this structure and populate it a bit.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "68528f09980a60c8df046d16336333cac4fc0c32",
      "tree": "88d2f93f5e6ea4a8c7539e3f9a28afc27f71a3d9",
      "parents": [
        "a24022e1887978decaa28fb11d1ddff63e31497f"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Mar 26 01:56:24 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 26 01:56:24 2008 -0700"
      },
      "message": "[NETNS][ICMP]: Make ctl tables for ICMP sysctls per-net.\n\nAdd some flesh to ipv4_sysctl_init_net and ipv4_sysctl_exit_net,\ni.e. copy the table, alter .data pointers and register it per-net.\n\nOther ipv4_table\u0027s sysctls are now global, but this is going to\nchange once sysctl permissions patches migrate from -mm tree to \nmainline in 2.6.26 merge window :)\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a24022e1887978decaa28fb11d1ddff63e31497f",
      "tree": "93164b35de5cafda8af0838ab7c00b63c6b26fd2",
      "parents": [
        "1577519d6b3777d2d3ba05871dd7ee40112c58ce"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Mar 26 01:55:37 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 26 01:55:37 2008 -0700"
      },
      "message": "[NETNS][ICMP]: Move ICMP sysctls on struct net.\n\nInitialization is moved to icmp_sk_init, all the places, that\nrefer to them use init_net for now.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b8ad0cbc58f703972e9e37c4e2a8081dd7e6a551",
      "tree": "f4f576d4be94ea792bf075260586ab25c6507716",
      "parents": [
        "e504799276e53045a9b597f24c1b456552482f63"
      ],
      "author": {
        "name": "Daniel Lezcano",
        "email": "dlezcano@fr.ibm.com",
        "time": "Fri Mar 07 11:16:55 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 07 11:16:55 2008 -0800"
      },
      "message": "[NETNS][IPV6] mcast - handle several network namespace\n\nThis patch make use of the network namespace information at the right\nplaces to handle the multicast for several network namespaces.  It\nmakes the socket control to be per namespace too.\n\nSigned-off-by: Daniel Lezcano \u003cdlezcano@fr.ibm.com\u003e\nSigned-off-by: Benjamin Thery \u003cbenjamin.thery@bull.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "93ec926b075d14bb7edcbc054e92199e9ad4ad1d",
      "tree": "7899be4a1f6e45199e80a324a9e9af8b582b5fb3",
      "parents": [
        "1762f7e88eb34f653b4a915be99a102e347dd45e"
      ],
      "author": {
        "name": "Daniel Lezcano",
        "email": "dlezcano@fr.ibm.com",
        "time": "Fri Mar 07 11:16:02 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 07 11:16:02 2008 -0800"
      },
      "message": "[NETNS][IPV6] tcp6 - make socket control per namespace\n\nInstead of having a tcp6_socket global to all the namespace, there is\ntcp6 socket control per namespace. That is consistent with which\nnamespace sent a RST and allows to pass the socket to the underlying\nfunction to retrieve the network namespace.\n\nSigned-off-by: Daniel Lezcano \u003cdlezcano@fr.ibm.com\u003e\nSigned-off-by: Benjamin Thery \u003cbenjamin.thery@bull.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1762f7e88eb34f653b4a915be99a102e347dd45e",
      "tree": "de80b8228d13ac997691317b047707e4c6f1a0ae",
      "parents": [
        "a18bc6959d9793c8352d2177b456d93868953874"
      ],
      "author": {
        "name": "Daniel Lezcano",
        "email": "dlezcano@fr.ibm.com",
        "time": "Fri Mar 07 11:15:34 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 07 11:15:34 2008 -0800"
      },
      "message": "[NETNS][IPV6] ndisc - make socket control per namespace\n\nMake ndisc socket control per namespace.\n\nSigned-off-by: Daniel Lezcano \u003cdlezcano@fr.ibm.com\u003e\nSigned-off-by: Benjamin Thery \u003cbenjamin.thery@bull.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6891a346c387bd0a64afa50f4522f5fe8ba879d8",
      "tree": "04f02aa5ea701d01baecb4ff34064d075ffe4d7a",
      "parents": [
        "f2fc6a54585a1be6669613a31fbaba2ecbadcd36"
      ],
      "author": {
        "name": "Benjamin Thery",
        "email": "benjamin.thery@bull.net",
        "time": "Tue Mar 04 13:49:47 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 04 13:49:47 2008 -0800"
      },
      "message": "[NETNS][IPV6] route6 - make garbage collection work with multiple network namespaces\n\nThis patch makes the necessary changes to make IPv6 dst_entry garbage\ncollection work with multiple network namespaces.\n\nIn ip6_dst_gc(), static local variables are now declared\nper-namespace.\n\nSigned-off-by: Benjamin Thery \u003cbenjamin.thery@bull.net\u003e\nSigned-off-by: Daniel Lezcano \u003cdlezcano@fr.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f2fc6a54585a1be6669613a31fbaba2ecbadcd36",
      "tree": "c9605859d6abd163ba73da7c29a278a503095c6f",
      "parents": [
        "9a7ec3a94d8da475fe81810aa55136a81556d445"
      ],
      "author": {
        "name": "Benjamin Thery",
        "email": "benjamin.thery@bull.net",
        "time": "Tue Mar 04 13:49:23 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 04 13:49:23 2008 -0800"
      },
      "message": "[NETNS][IPV6] route6 - move ip6_dst_ops inside the network namespace\n\nThe ip6_dst_ops is moved inside the network namespace structure.  All\nreferences to this structure are now relative to the initial network\nnamespace.\n\nSigned-off-by: Benjamin Thery \u003cbenjamin.thery@bull.net\u003e\nSigned-off-by: Daniel Lezcano \u003cdlezcano@fr.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8ed677896752fff056f6cf3d7ce462adc6c464f0",
      "tree": "8b0cc80f1d199760e484810b1abb9e3c95f64a05",
      "parents": [
        "bdb3289f739e94bcae8b51972ae844ec66c2f4df"
      ],
      "author": {
        "name": "Daniel Lezcano",
        "email": "dlezcano@fr.ibm.com",
        "time": "Tue Mar 04 13:48:30 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 04 13:48:30 2008 -0800"
      },
      "message": "[NETNS][IPV6] rt6_info - move rt6_info structure inside the namespace\n\nThe rt6_info structures are moved inside the network namespace\nstructure. All references to these structures are now relative to the\ninitial network namespace.\n\nSigned-off-by: Daniel Lezcano \u003cdlezcano@fr.ibm.com\u003e\nSigned-off-by: Benjamin Thery \u003cbenjamin.thery@bull.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    }
  ],
  "next": "c572872f89e46e38cdb35a43b81122bfb7ff43fc"
}
