)]}'
{
  "log": [
    {
      "commit": "f1673ca52c04f1b311abe03fd67cd4d650d19435",
      "tree": "1e84a0c5021dfb300ee667a123c229bcb2bcaab3",
      "parents": [
        "c749b01351d249a924d1dd061dd1431bd3ad0579"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Mon Oct 15 12:53:13 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 15 12:53:13 2007 -0700"
      },
      "message": "[INET]: kmalloc+memset -\u003e kzalloc in frag_alloc_queue\n\nkmalloc + memset -\u003e kzalloc in frag_alloc_queue\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "762cc40801ad757a34527d5e548816cf3b6fc606",
      "tree": "84bb263c67167db95120e44591f9ab8d11293f3f",
      "parents": [
        "4b6cb5d8e3f5707d7a2e55cf7b05f1ea8bfc7a6d"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Mon Oct 15 02:41:56 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Oct 15 12:26:43 2007 -0700"
      },
      "message": "[INET]: Consolidate the xxx_put\n\nThese ones use the generic data types too, so move\nthem in one place.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4b6cb5d8e3f5707d7a2e55cf7b05f1ea8bfc7a6d",
      "tree": "9db94b2ba84ed823305cd45c52f652760ea7809a",
      "parents": [
        "8e7999c44ee95e1e90ac91c83557a04e2948f160"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Mon Oct 15 02:41:09 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Oct 15 12:26:43 2007 -0700"
      },
      "message": "[INET]: Small cleanup for xxx_put after evictor consolidation\n\nAfter the evictor code is consolidated there is no need in\npassing the extra pointer to the xxx_put() functions.\n\nThe only place when it made sense was the evictor code itself.\n\nMaybe this change must got with the previous (or with the\nnext) patch, but I try to make them shorter as much as\npossible to simplify the review (but they are still large\nanyway), so this change goes in a separate patch.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8e7999c44ee95e1e90ac91c83557a04e2948f160",
      "tree": "4295add7b91114fd43eef37d70b664858776dd0d",
      "parents": [
        "1e4b82873af0f21002e37a81ef063d2e5410deb3"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Mon Oct 15 02:40:06 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Oct 15 12:26:42 2007 -0700"
      },
      "message": "[INET]: Consolidate the xxx_evictor\n\nThe evictors collect some statistics for ipv4 and ipv6,\nso make it return the number of evicted queues and account\nthem all at once in the caller.\n\nThe XXX_ADD_STATS_BH() macros are just for this case,\nbut maybe there are places in code, that can make use of\nthem as well.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1e4b82873af0f21002e37a81ef063d2e5410deb3",
      "tree": "9c4054c8393f03bae9565f98a109cc5721cf490f",
      "parents": [
        "321a3a99e4717b960e21c62fc6a140d21453df7f"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Mon Oct 15 02:39:14 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Oct 15 12:26:42 2007 -0700"
      },
      "message": "[INET]: Consolidate the xxx_frag_destroy\n\nTo make in possible we need to know the exact frag queue\nsize for inet_frags-\u003emem management and two callbacks:\n\n * to destoy the skb (optional, used in conntracks only)\n * to free the queue itself (mandatory, but later I plan to\n   move the allocation and the destruction of frag_queues\n   into the common place, so this callback will most likely\n   be optional too).\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "321a3a99e4717b960e21c62fc6a140d21453df7f",
      "tree": "118ae0f39bd2344b731670d601abf0bcbbf8faa7",
      "parents": [
        "277e650ddfc6944ef5f5466fd898b8da7f06cd82"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Mon Oct 15 02:38:08 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Oct 15 12:26:41 2007 -0700"
      },
      "message": "[INET]: Consolidate xxx_the secret_rebuild\n\nThis code works with the generic data types as well, so\nmove this into inet_fragment.c\n\nThis move makes it possible to hide the secret_timer\nmanagement and the secret_rebuild routine completely in\nthe inet_fragment.c\n\nIntroduce the -\u003ehashfn() callback in inet_frags() to get\nthe hashfun for a given inet_frag_queue() object.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "277e650ddfc6944ef5f5466fd898b8da7f06cd82",
      "tree": "39afdd22384c402e08287a3911455a2bbce721b1",
      "parents": [
        "04128f233f2b344f3438cde09723e9946463a573"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Mon Oct 15 02:37:18 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Oct 15 12:26:41 2007 -0700"
      },
      "message": "[INET]: Consolidate the xxx_frag_kill\n\nSince now all the xxx_frag_kill functions now work\nwith the generic inet_frag_queue data type, this can\nbe moved into a common place.\n\nThe xxx_unlink() code is moved as well.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "04128f233f2b344f3438cde09723e9946463a573",
      "tree": "04f4518ef51c74de4d318d7ea908b3215a6aa9c8",
      "parents": [
        "7eb95156d9dce2f59794264db336ce007d71638b"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Mon Oct 15 02:33:45 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Oct 15 12:26:40 2007 -0700"
      },
      "message": "[INET]: Collect common frag sysctl variables together\n\nSome sysctl variables are used to tune the frag queues\nmanagement and it will be useful to work with them in\na common way in the future, so move them into one\nstructure, moreover they are the same for all the frag\nmanagement codes.\n\nI don\u0027t place them in the existing inet_frags object,\nintroduced in the previous patch for two reasons:\n\n 1. to keep them in the __read_mostly section;\n 2. not to export the whole inet_frags objects outside.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7eb95156d9dce2f59794264db336ce007d71638b",
      "tree": "c283a095f1a9d530edb1a7058454ba30b4f7d028",
      "parents": [
        "5ab11c98d3a950faf6922b6166e5f8fc874590e7"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Mon Oct 15 02:31:52 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Oct 15 12:26:39 2007 -0700"
      },
      "message": "[INET]: Collect frag queues management objects together\n\nThere are some objects that are common in all the places\nwhich are used to keep track of frag queues, they are:\n\n * hash table\n * LRU list\n * rw lock\n * rnd number for hash function\n * the number of queues\n * the amount of memory occupied by queues\n * secret timer\n\nMove all this stuff into one structure (struct inet_frags)\nto make it possible use them uniformly in the future. Like\nwith the previous patch this mostly consists of hunks like\n\n-    write_lock(\u0026ipfrag_lock);\n+    write_lock(\u0026ip4_frags.lock);\n\nTo address the issue with exporting the number of queues and\nthe amount of memory occupied by queues outside the .c file\nthey are declared in, I introduce a couple of helpers.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5ab11c98d3a950faf6922b6166e5f8fc874590e7",
      "tree": "ef9ab897361f106309df37b6d4f2e95fdecdb240",
      "parents": [
        "114342f2d38439cb1a54f1f724fa38729b093c48"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Mon Oct 15 02:24:19 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Oct 15 12:26:38 2007 -0700"
      },
      "message": "[INET]: Move common fields from frag_queues in one place.\n\nIntroduce the struct inet_frag_queue in include/net/inet_frag.h\nfile and place there all the common fields from three structs:\n\n * struct ipq in ipv4/ip_fragment.c\n * struct nf_ct_frag6_queue in nf_conntrack_reasm.c\n * struct frag_queue in ipv6/reassembly.c\n\nAfter this, replace these fields on appropriate structures with\nthis structure instance and fix the users to use correct names\ni.e. hunks like\n\n-    atomic_dec(\u0026fq-\u003erefcnt);\n+    atomic_dec(\u0026fq-\u003eq.refcnt);\n\n(these occupy most of the patch)\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f885c5b08e76f920a4ed4dc63b8b19514272de7b",
      "tree": "0c4450c656c6b798fa935055eceb5429c11bd430",
      "parents": [
        "ad643a793bfb933e1b9e37ad4a5edf389ae160ea"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Mon Oct 15 02:10:32 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Oct 15 12:26:37 2007 -0700"
      },
      "message": "[TCP]: high_seq parameter removed (all callers use tp-\u003ehigh_seq)\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "861d04860725dc85944bf9fa815af338d9e56b43",
      "tree": "b05948c29127540ebace47c2f43e6d1744831735",
      "parents": [
        "a030847e9f0eed2a080f6114381c649a7aa43d25"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Oct 15 01:48:39 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Oct 15 12:26:35 2007 -0700"
      },
      "message": "[IPV4]: Uninline netfilter okfns\n\nNow that we don\u0027t pass double skb pointers to nf_hook_slow anymore, gcc\ncan generate tail calls for some of the netfilter hook okfn invocations,\nso there is no need to inline the functions anymore. This caused huge\ncode bloat since we ended up with one inlined version and one out-of-line\nversion since we pass the address to nf_hook_slow.\n\nBefore:\n   text    data     bss     dec     hex filename\n8997385 1016524  524652 10538561         a0ce41 vmlinux\n\nAfter:\n   text    data     bss     dec     hex filename\n8994009 1016524  524652 10535185         a0c111 vmlinux\n-------------------------------------------------------\n  -3376\n\nAll cases have been verified to generate tail-calls with and without\nnetfilter. The okfns in ipmr and xfrm4_input still remain inline because\ngcc can\u0027t generate tail-calls for them.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3db05fea51cdb162cfa8f69e9cfb9e228919d2a9",
      "tree": "0d0e4c18cdf2dcb7321035f6614628a2ddfb502d",
      "parents": [
        "2ca7b0ac022aa0158599178fe1056b1ba9ec8b97"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Oct 15 00:53:15 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Oct 15 12:26:29 2007 -0700"
      },
      "message": "[NETFILTER]: Replace sk_buff ** with sk_buff *\n\nWith all the users of the double pointers removed, this patch mops up by\nfinally replacing all occurances of sk_buff ** in the netfilter API by\nsk_buff *.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2ca7b0ac022aa0158599178fe1056b1ba9ec8b97",
      "tree": "6eece25447f0ec3b5d5f5533e49e10fde4d59f35",
      "parents": [
        "af1e1cf073e3d038b7aac417a20585ecdcab7de6"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sun Oct 14 00:39:55 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Oct 15 12:26:28 2007 -0700"
      },
      "message": "[NETFILTER]: Avoid skb_copy/pskb_copy/skb_realloc_headroom\n\nThis patch replaces unnecessary uses of skb_copy, pskb_copy and\nskb_realloc_headroom by functions such as skb_make_writable and\npskb_expand_head.\n\nThis allows us to remove the double pointers later.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "af1e1cf073e3d038b7aac417a20585ecdcab7de6",
      "tree": "2a9eaba23f721fd59160d77cbaaa643ad44f8f76",
      "parents": [
        "37d41879224108d6c24578ba6a3eeafce106ce84"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sun Oct 14 00:39:33 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Oct 15 12:26:28 2007 -0700"
      },
      "message": "[IPVS]: Replace local version of skb_make_writable\n\nThis patch removes the IPVS-specific version of skb_make_writable and\nreplaces it with the netfilter one.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "37d41879224108d6c24578ba6a3eeafce106ce84",
      "tree": "96eb40eb2be71feef1c675800662084be14b2e96",
      "parents": [
        "7b995651e373d6424f81db23f2ec503306dfd7f0"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sun Oct 14 00:39:18 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Oct 15 12:26:27 2007 -0700"
      },
      "message": "[NETFILTER]: Do not copy skb in skb_make_writable\n\nNow that all callers of netfilter can guarantee that the skb is not shared,\nwe no longer have to copy the skb in skb_make_writable.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "776c729e8d91b2740583a2169678f2d3f383458b",
      "tree": "16ad06616e8d04c127266bf323fb35fbed03b96d",
      "parents": [
        "1706d58763c36133d7fce6cc78b1444fd40db28c"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sun Oct 14 00:38:32 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Oct 15 12:26:25 2007 -0700"
      },
      "message": "[IPV4]: Change ip_defrag to return an integer\n\nNow that ip_frag always returns the packet given to it on input, we can\nchange it to return an integer indicating error instead.  This patch does\nthat and updates all its callers accordingly.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1706d58763c36133d7fce6cc78b1444fd40db28c",
      "tree": "e581d13cb65d85aecf795783ad0cc1e1452d84d2",
      "parents": [
        "e0053ec07e32ec94535c47b10af3377255f00836"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sun Oct 14 00:38:15 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Oct 15 12:26:25 2007 -0700"
      },
      "message": "[IPV4]: Make ip_defrag return the same packet\n\nThis patch is a bit of a hack.  However it is worth it if you consider that\nthis is the only reason why we have to carry around the struct sk_buff **\npointers in netfilter.\n\nIt makes ip_defrag always return the packet that was given to it on input.\nIt does this by cloning the packet and replacing its original contents with\nthe head fragment if necessary.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f53f4137baedc1be179880d35f390e20445428ba",
      "tree": "540a953ece44438080c756b6fc250ff1606a720e",
      "parents": [
        "9df7c98a0f7e0b7f4b547761ab64f39a13f20355"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Sun Oct 14 19:41:09 2007 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Oct 14 12:41:52 2007 -0700"
      },
      "message": "fix endianness bug in inet_lro\n\nall uses of and almost all assignments to lro_desc-\u003etcp_ack assume that it\u0027s\nnet-endian; one converts net-endian to host-endian and sticks it in\nlro_desc-\u003etcp_ack.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9df7c98a0f7e0b7f4b547761ab64f39a13f20355",
      "tree": "2c8d95eebc0b58c51a12082757207990664898e1",
      "parents": [
        "d9a19d200f00533b56fb109b6c538b6ea2961ab2"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Sun Oct 14 19:40:59 2007 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Oct 14 12:41:52 2007 -0700"
      },
      "message": "inet_lro: trivial endianness annotations\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b08d6cb22c777c8c91c16d8e3b8aafc93c98cbd9",
      "tree": "139b1f2636c42698bd7b0f0ccd61f0e1b8a826ab",
      "parents": [
        "f785a8e28b9d103c7473655743b6ac1bc3cd3a58"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Thu Oct 11 17:36:13 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 11 17:36:13 2007 -0700"
      },
      "message": "[TCP]: Limit processing lost_retrans loop to work-to-do cases\n\nThis addition of lost_retrans_low to tcp_sock might be\nunnecessary, it\u0027s not clear how often lost_retrans worker is\nexecuted when there wasn\u0027t work to do.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f785a8e28b9d103c7473655743b6ac1bc3cd3a58",
      "tree": "44f3b88cca49ffa696a7e082cdb89e2f30550c63",
      "parents": [
        "4cd829995b86e0359796780d43d2f210cb5cf021"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Thu Oct 11 17:35:41 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 11 17:35:41 2007 -0700"
      },
      "message": "[TCP]: Fix lost_retrans loop vs fastpath problems\n\nDetection implemented with lost_retrans must work also when\nfastpath is taken, yet most of the queue is skipped including\n(very likely) those retransmitted skb\u0027s we\u0027re interested in.\nThis problem appeared when the hints got added, which removed\na need to always walk over the whole write queue head.\nTherefore decicion for the lost_retrans worker loop entry must\nbe separated from the sacktag processing more than it was\nnecessary before.\n\nIt turns out to be problematic to optimize the worker loop\nvery heavily because ack_seqs of skb may have a number of\ndiscontinuity points. Maybe similar approach as currently is\nimplemented could be attempted but that\u0027s becoming more and\nmore complex because the trend is towards less skb walking\nin sacktag marker. Trying a simple work until all rexmitted\nskbs heve been processed approach.\n\nMaybe after(highest_sack_end_seq, tp-\u003ehigh_seq) checking is not\nsufficiently accurate and causes entry too often in no-work-to-do\ncases. Since that\u0027s not known, I\u0027ve separated solution to that\nfrom this patch.\n\nNoticed because of report against a related problem from TAKANO\nRyousei \u003ctakano@axe-inc.co.jp\u003e. He also provided a patch to\nthat part of the problem. This patch includes solution to it\n(though this patch has to use somewhat different placement).\nTAKANO\u0027s description and patch is available here:\n\n  http://marc.info/?l\u003dlinux-netdev\u0026m\u003d119149311913288\u0026w\u003d2\n\n...In short, TAKANO\u0027s problem is that end_seq the loop is using\nnot necessarily the largest SACK block\u0027s end_seq because the\ncurrent ACK may still have higher SACK blocks which are later\nby the loop.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4cd829995b86e0359796780d43d2f210cb5cf021",
      "tree": "4e4d40f11bd44c9ef0ae2d9a8e07a4e07bd691b0",
      "parents": [
        "d193594299064d386a2705928cd61ab2ca3d7cee"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Thu Oct 11 17:34:57 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 11 17:34:57 2007 -0700"
      },
      "message": "[TCP]: No need to re-count fackets_out/sacked_out at RTO\n\nBoth sacked_out and fackets_out are directly known from how\nparameter. Since fackets_out is accurate, there\u0027s no need for\nrecounting (sacked_out was previously unnecessarily counted\nin the loop anyway).\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d193594299064d386a2705928cd61ab2ca3d7cee",
      "tree": "c84b5bde72a9f64e5504a9d05e88c8a5b628854e",
      "parents": [
        "f6fb128d272eb7b0f1a8be78153a724545e28be8"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Thu Oct 11 17:34:25 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 11 17:34:25 2007 -0700"
      },
      "message": "[TCP]: Extract tcp_match_queue_to_sack from sacktag code\n\nThis is necessary for upcoming DSACK bugfix. Reduces sacktag\nlength which is not very sad thing at all... :-)\n\nNotice that there\u0027s a need to handle out-of-mem at caller\u0027s\nplace.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f6fb128d272eb7b0f1a8be78153a724545e28be8",
      "tree": "343b5d6d45af8a4aaf8edcf2fd7e46c7d99586c0",
      "parents": [
        "3eec0047d9bdd68fddef6539e77fee99ba2531f2"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Thu Oct 11 17:33:55 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 11 17:33:55 2007 -0700"
      },
      "message": "[TCP]: Kill almost unused variable pcount from sacktag\n\nIt\u0027s on the way for future cutting of that function.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3eec0047d9bdd68fddef6539e77fee99ba2531f2",
      "tree": "2cfb0d6737ffa136228d0b81c4e5b56a7d555280",
      "parents": [
        "16e906812f885cf16d95577dba260db6375ba571"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Thu Oct 11 17:33:11 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 11 17:33:11 2007 -0700"
      },
      "message": "[TCP]: Fix mark_head_lost to ignore R-bit when trying to mark L\n\nThis condition (plain R) can arise at least in recovery that\nis triggered after tcp_undo_loss. There isn\u0027t any reason why\nthey should not be marked as lost, not marking makes in_flight\nestimator to return too large values.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "16e906812f885cf16d95577dba260db6375ba571",
      "tree": "addc7dc23792f74d2b5105197e51aa88cbe6a0fb",
      "parents": [
        "4953f0fcc06a125f87874743d968c0e185c8b296"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Thu Oct 11 17:32:31 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 11 17:32:31 2007 -0700"
      },
      "message": "[TCP]: Add bytes_acked (ABC) clearing to FRTO too\n\nI was reading tcp_enter_loss while looking for Cedric\u0027s bug and\nnoticed bytes_acked adjustment is missing from FRTO side.\n\nSince bytes_acked will only be used in tcp_cong_avoid, I think\nit\u0027s safe to assume RTO would be spurious. During FRTO cwnd\nwill be not controlled by tcp_cong_avoid and if FRTO calls for\nconventional recovery, cwnd is adjusted and the result of wrong\nassumption is cleared from bytes_acked. If RTO was in fact\nspurious, we did normal ABC already and can continue without\nany additional adjustments.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "28f7b0360f46eeb9eeee63d03bb5484918a54837",
      "tree": "2d2fb593e5cc0a073596616e3588b3f964534f03",
      "parents": [
        "31910575a9de61e78065e93846e8e7a4894a18bf"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 21:32:39 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 21:32:39 2007 -0700"
      },
      "message": "[NETLINK]: fib_frontend build fixes\n\n1) fibnl needs to be declared outside of config ifdefs,\n   and also should not be explicitly initialized to NULL\n2) nl_fib_input() args are wrong for netlink_kernel_create()\n   input method\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cd40b7d3983c708aabe3d3008ec64ffce56d33b0",
      "tree": "0d6fe9cfd2f03fdeee126e317d4bfb145afc458d",
      "parents": [
        "aed815601f3f95281ab3a01f7e2cbe1bd54285a0"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Wed Oct 10 21:15:29 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 10 21:15:29 2007 -0700"
      },
      "message": "[NET]: make netlink user -\u003e kernel interface synchronious\n\nThis patch make processing netlink user -\u003e kernel messages synchronious.\nThis change was inspired by the talk with Alexey Kuznetsov about current\nnetlink messages processing. He says that he was badly wrong when introduced \nasynchronious user -\u003e kernel communication.\n\nThe call netlink_unicast is the only path to send message to the kernel\nnetlink socket. But, unfortunately, it is also used to send data to the\nuser.\n\nBefore this change the user message has been attached to the socket queue\nand sk-\u003esk_data_ready was called. The process has been blocked until all\npending messages were processed. The bad thing is that this processing\nmay occur in the arbitrary process context.\n\nThis patch changes nlk-\u003edata_ready callback to get 1 skb and force packet\nprocessing right in the netlink_unicast.\n\nKernel -\u003e user path in netlink_unicast remains untouched.\n\nEINTR processing for in netlink_run_queue was changed. It forces rtnl_lock\ndrop, but the process remains in the cycle until the message will be fully\nprocessed. So, there is no need to use this kludges now.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nAcked-by: Alexey Kuznetsov \u003ckuznet@ms2.inr.ac.ru\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "227b60f5102cda4e4ab792b526a59c8cb20cd9f8",
      "tree": "2c9e372601ba794894833b0618bc531a9f5d57c4",
      "parents": [
        "06393009000779b00a558fd2f280882cc7dc2008"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Wed Oct 10 17:30:46 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 10 17:30:46 2007 -0700"
      },
      "message": "[INET]: local port range robustness\n\nExpansion of original idea from Denis V. Lunev \u003cden@openvz.org\u003e\n\nAdd robustness and locking to the local_port_range sysctl.\n1. Enforce that low \u003c high when setting.\n2. Use seqlock to ensure atomic update.\n\nThe locking might seem like overkill, but there are\ncases where sysadmin might want to change value in the\nmiddle of a DoS attack.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "631a6698d09e57cadc069914d613899609a0ae83",
      "tree": "7e915991e7dea60077e2f160908820c90e34fb18",
      "parents": [
        "ceb1eec8291175686d0208e66595ff83bc0624e2"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Oct 10 15:46:21 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:55:56 2007 -0700"
      },
      "message": "[IPSEC]: Move IP protocol setting from transforms into xfrm4_input.c\n\nThis patch makes the IPv4 x-\u003etype-\u003einput functions return the next protocol\ninstead of setting it directly.  This is identical to how we do things in\nIPv6 and will help us merge common code on the input path.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ceb1eec8291175686d0208e66595ff83bc0624e2",
      "tree": "83a7fdc7d292f1dbb80f32563d9573810bfe6e42",
      "parents": [
        "87bdc48d304191313203df9b98d783e1ab5a55ab"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Oct 10 15:45:52 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:55:56 2007 -0700"
      },
      "message": "[IPSEC]: Move IP length/checksum setting out of transforms\n\nThis patch moves the setting of the IP length and checksum fields out of\nthe transforms and into the xfrmX_output functions.  This would help future\nefforts in merging the transforms themselves.\n\nIt also adds an optimisation to ipcomp due to the fact that the transport\noffset is guaranteed to be zero.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "87bdc48d304191313203df9b98d783e1ab5a55ab",
      "tree": "32f7bfb3a5fa7fe373f11e0ddadd95b6bcd9bd4f",
      "parents": [
        "37fedd3aab6517daec628764c5d66dd8761fbe5f"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Oct 10 15:45:25 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:55:55 2007 -0700"
      },
      "message": "[IPSEC]: Get rid of ipv6_{auth,esp,comp}_hdr\n\nThis patch removes the duplicate ipv6_{auth,esp,comp}_hdr structures since\nthey\u0027re identical to the IPv4 versions.  Duplicating them would only create\nproblems for ourselves later when we need to add things like extended\nsequence numbers.\n\nI\u0027ve also added transport header type conversion headers for these types\nwhich are now used by the transforms.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "37fedd3aab6517daec628764c5d66dd8761fbe5f",
      "tree": "12227aec3944168bff04173dccd580240f4496aa",
      "parents": [
        "7b277b1a5fb147cb828e5d8b9780cee60f31a9bf"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Oct 10 15:44:44 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:55:54 2007 -0700"
      },
      "message": "[IPSEC]: Use IPv6 calling convention as the convention for x-\u003emode-\u003eoutput\n\nThe IPv6 calling convention for x-\u003emode-\u003eoutput is more general and could\nhelp an eventual protocol-generic x-\u003etype-\u003eoutput implementation.  This\npatch adopts it for IPv4 as well and modifies the IPv4 type output functions\naccordingly.\n\nIt also rewrites the IPv6 mac/transport header calculation to be based off\nthe network header where practical.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7b277b1a5fb147cb828e5d8b9780cee60f31a9bf",
      "tree": "21af4818d7ba9d646a281517f476d81d4245cc30",
      "parents": [
        "bee0b40c0621396326d1c17b81833f59118a2d80"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Oct 10 15:44:06 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:55:54 2007 -0700"
      },
      "message": "[IPSEC]: Set skb-\u003edata to payload in x-\u003emode-\u003eoutput\n\nThis patch changes the calling convention so that on entry from\nx-\u003emode-\u003eoutput and before entry into x-\u003etype-\u003eoutput skb-\u003edata\nwill point to the payload instead of the IP header.\n\nThis is essentially a redistribution of skb_push/skb_pull calls\nwith the aim of minimising them on the common path of tunnel +\nESP.\n\nIt\u0027ll also let us use the same calling convention between IPv4\nand IPv6 with the next patch.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8bd170750400bfa5e14c3dd2e2d0f305e1ab0e57",
      "tree": "f8634014eb4a66bafdada8865df94713277b72c8",
      "parents": [
        "f24e3d658cf382f11a7aa7887fa99147bdc6fe0b"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Oct 10 15:41:41 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:55:53 2007 -0700"
      },
      "message": "[IPSEC] esp: Remove NAT-T checksum invalidation for BEET\n\nI pointed this out back when this patch was first proposed but it looks like\nit got lost along the way.\n\nThe checksum only needs to be ignored for NAT-T in transport mode where\nwe lose the original inner addresses due to NAT.  With BEET the inner\naddresses will be intact so the checksum remains valid.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1c1e87edb9aa38b9e1ae807a6d88fcfd350a55c0",
      "tree": "5021c683e1396ace6fd9d57daf09bb3a79c646d1",
      "parents": [
        "5265eeb2b036835021591173ac64e624baaff55c"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Wed Oct 10 02:45:32 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:55:51 2007 -0700"
      },
      "message": "[TCP]: Separate lost_retrans loop into own function\n\nFollows own function for each task principle, this is really\nsomewhat separate task being done in sacktag. Also reduces\nindentation.\n\nIn addition, added ack_seq local var to break some long\nlines \u0026 fixed coding style things.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e2da59133880976586b2d9d81d798222ecafa566",
      "tree": "03cb1c61318992437e3bc040b34fa437b957c662",
      "parents": [
        "cf7732e4cc14b56d593ff53352673e1fd5e3ba52"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Oct 10 02:29:58 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:55:34 2007 -0700"
      },
      "message": "[NETFILTER]: Make netfilter code use the seq_open_private\n\nJust switch to the consolidated calls.\n\nipt_recent() has to initialize the private, so use\nthe __seq_open_private() helper.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cf7732e4cc14b56d593ff53352673e1fd5e3ba52",
      "tree": "3479e278b72f9d535a58066bc2a26238806252ce",
      "parents": [
        "39699037a5c94d7cd1363dfe48a50c78c643fd9a"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Oct 10 02:29:29 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:55:33 2007 -0700"
      },
      "message": "[NET]: Make core networking code use seq_open_private\n\nThis concerns the ipv4 and ipv6 code mostly, but also the netlink\nand unix sockets.\n\nThe netlink code is an example of how to use the __seq_open_private()\ncall - it saves the net namespace on this private.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b7c6538cd84f8072fad43bfce530f5bf695edbba",
      "tree": "e0ba79ffe7b79355985a45de9961b17a0462764f",
      "parents": [
        "050f009e16f908932070313c1745d09dc69fd62b"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Tue Oct 09 13:33:35 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:55:03 2007 -0700"
      },
      "message": "[IPSEC]: Move state lock into x-\u003etype-\u003eoutput\n\nThis patch releases the lock on the state before calling x-\u003etype-\u003eoutput.\nIt also adds the lock to the spots where they\u0027re currently needed.\n\nMost of those places (all except mip6) are expected to disappear with\nasync crypto.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "007f0211a8872f32381f5d44becf8eb2f27f3c30",
      "tree": "9f6879726b6f016379368ebbde6ce3ec13faaa39",
      "parents": [
        "1ecafede835321ebdc396531245adc37d22366f7"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Tue Oct 09 13:25:59 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:55:00 2007 -0700"
      },
      "message": "[IPSEC]: Store IPv6 nh pointer in mac_header on output\n\nCurrent the x-\u003emode-\u003eoutput functions store the IPv6 nh pointer in the\nskb network header.  This is inconvenient because the network header then\nhas to be fixed up before the packet can leave the IPsec stack.  The mac\nheader field is unused on output so we can use that to store this instead.\n\nThis patch does that and removes the network header fix-up in xfrm_output.\n\nIt also uses ipv6_hdr where appropriate in the x-\u003etype-\u003eoutput functions.\n\nThere is also a minor clean-up in esp4 to make it use the same code as\nesp6 to help any subsequent effort to merge the two.\n\nLastly it kills two redundant skb_set_* statements in BEET that were\nsimply copied over from transport mode.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "436a0a402203d5a47d2edf7e4dde6c08a7257983",
      "tree": "b47e73326a2ff7dbf8ac3fbcb6c4acea5c06619d",
      "parents": [
        "83815dea47cf3e98ccbb6aecda08cba1ba91208f"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Oct 08 17:25:53 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:54:54 2007 -0700"
      },
      "message": "[IPSEC]: Move output replay code into xfrm_output\n\nThe replay counter is one of only two remaining things in the output code\nthat requires a lock on the xfrm state (the other being the crypto).  This\npatch moves it into the generic xfrm_output so we can remove the lock from\nthe transforms themselves.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "406ef77c893ebd882209be4e393d64b01fe72054",
      "tree": "815d753889769b355fba7e648abef7ad1422559e",
      "parents": [
        "bc31d3b2c7d7f2a03721a05cb3c9a3ce8b1e2e5a"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Oct 08 17:16:30 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:54:53 2007 -0700"
      },
      "message": "[IPSEC]: Move common output code to xfrm_output\n\nMost of the code in xfrm4_output_one and xfrm6_output_one are identical so\nthis patch moves them into a common xfrm_output function which will live\nin net/xfrm.\n\nIn fact this would seem to fix a bug as on IPv4 we never reset the network\nheader after a transform which may upset netfilter later on.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bc31d3b2c7d7f2a03721a05cb3c9a3ce8b1e2e5a",
      "tree": "4e72919c351590c8276534e797eae8260d20f28c",
      "parents": [
        "4b7137ff8fb49d7bf22dfa248baa0d02ace2c43d"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Oct 08 17:14:34 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:54:53 2007 -0700"
      },
      "message": "[IPSEC] ah: Remove keys from ah_data structure\n\nThe keys are only used during initialisation so we don\u0027t need to carry them\nin esp_data.  Since we don\u0027t have to allocate them again, there is no need\nto place a limit on the authentication key length anymore.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4b7137ff8fb49d7bf22dfa248baa0d02ace2c43d",
      "tree": "6a9571d7d5a3d43ec9cd8c661900fe78f89db6b6",
      "parents": [
        "f0703c80e5156406ad947cb67fe277725b48080f"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Oct 08 17:13:44 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:54:52 2007 -0700"
      },
      "message": "[IPSEC] esp: Remove keys from esp_data structure\n\nThe keys are only used during initialisation so we don\u0027t need to carry them\nin esp_data.  Since we don\u0027t have to allocate them again, there is no need\nto place a limit on the authentication key length anymore.\n\nThis patch also kills the unused auth.icv member.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cfcabdcc2d5a810208e5bb3974121b7ed60119aa",
      "tree": "1aed711eeecc5a303b57f1fc47e1b5746e8a72c2",
      "parents": [
        "de83c058af25aa97ed4864abab11e90e8dead6e2"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Tue Oct 09 01:59:42 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:54:48 2007 -0700"
      },
      "message": "[NET]: sparse warning fixes\n\nFix a bunch of sparse warnings. Mostly about 0 used as\nNULL pointer, and shadowed variable declarations.\nOne notable case was that hash size should have been unsigned.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "de83c058af25aa97ed4864abab11e90e8dead6e2",
      "tree": "2d6d87266a240b049052efa1ae75d4d8aee4f9a6",
      "parents": [
        "c79e3357166a2ca39fd7613b0eb7f493c1ac5e11"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Sun Oct 07 23:37:55 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:54:48 2007 -0700"
      },
      "message": "[TCP]: \"Annotate\" another fackets_out state reset\n\nThis should no longer be necessary because fackets_out is\naccurate. It indicates bugs elsewhere, thus report it.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "29d0a309d11bac9e57af914d0d6a35cde0080861",
      "tree": "a0625867361e0932e89f4bc35f2607aa732f96fa",
      "parents": [
        "182f6ed5188ccb46d1c54c3334943a54110d0118"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Sun Oct 07 23:36:41 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:54:47 2007 -0700"
      },
      "message": "[TCP]: Fix two off-by-one errors in fackets_out adjusting logic\n\n1) Passing wrong skb to tcp_adjust_fackets_out could corrupt\nfastpath_cnt_hint as tcp_skb_pcount(next_skb) is not included\nto it if hint points exactly to the next_skb (it\u0027s lagging\nbehind, see sacktag).\n\n2) When fastpath_skb_hint is put backwards to avoid dangling\nskb reference, the skb\u0027s pcount must also be removed from count\n(not included like above).\n\nReported by Cedric Le Goater \u003clegoater@free.fr\u003e\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3de96471bd7fb76406e975ef6387abe3a0698149",
      "tree": "e075e0ce74b97d906bdca160fe02b60e3cb9d907",
      "parents": [
        "0e835331e3111e5a92eb3a852405ea71ca8fff97"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Mon Oct 01 15:28:48 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:54:00 2007 -0700"
      },
      "message": "[TCP]: Wrap-safed reordering detection FRTO check\n\nIn case somebody has a suggestion about a better place for this\ncheck, which must guarantee execution \"early enough\" (i.e,\nbefore the wrap can occur), I\u0027m very open to them.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0e835331e3111e5a92eb3a852405ea71ca8fff97",
      "tree": "e7c1445866cf4ed306ffd39e1fd520f2b761566a",
      "parents": [
        "95eacd27e2a0924f1435654c06712cee6be099ad"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Mon Oct 01 15:28:17 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:53:59 2007 -0700"
      },
      "message": "[TCP]: Update comment of SACK block validator\n\nJust came across what RFC2018 states about generation of valid\nSACK blocks in case of reneging. Alter comment a bit to point\nout clearly.\n\nIMHO, there isn\u0027t any reason to change code because the\nvalidation is there for a purpose (counters will inform user\nabout decision TCP made if this case ever surfaces).\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "95eacd27e2a0924f1435654c06712cee6be099ad",
      "tree": "4e044b983176ed0a3141d733c6d9ff6d61e954e2",
      "parents": [
        "dc86967b54aaf64fb053cce83c05a4476d48583b"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Mon Oct 01 15:27:42 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:53:59 2007 -0700"
      },
      "message": "[TCP]: fix comments that got messed up during code move\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dc86967b54aaf64fb053cce83c05a4476d48583b",
      "tree": "a87709ce0ce71151e0c6de25304762b2f63c0e8b",
      "parents": [
        "8336793baf962163c9fab5a3f39614295fdbab27"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Mon Oct 01 15:27:19 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:53:58 2007 -0700"
      },
      "message": "[TCP]: No fackets_out/highest_sack tuning when SACK isn\u0027t enabled\n\nThis was found due to bug report from Cedric Le Goater though\nit turned this turned out to be unrelated bug.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f73e924cdd166360e8cc9a1b193008fdc9b3e3e2",
      "tree": "48fbf4b0f9101359e05fb53eabe194495f8214d1",
      "parents": [
        "5bf758539388fa9383afd539d052ae93229544b9"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Sep 28 14:39:55 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:53:35 2007 -0700"
      },
      "message": "[NETFILTER]: ctnetlink: use netlink policy\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fdf708322d4658daa6eb795d1a835b97efdb335e",
      "tree": "101258e5e2316c139106d7d69726b8370c1bc1a2",
      "parents": [
        "df6fb868d6118686805c2fa566e213a8f31c8e4f"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Sep 28 14:37:41 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:53:32 2007 -0700"
      },
      "message": "[NETFILTER]: nfnetlink: rename functions containing \u0027nfattr\u0027\n\nThere is no struct nfattr anymore, rename functions to \u0027nlattr\u0027.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "df6fb868d6118686805c2fa566e213a8f31c8e4f",
      "tree": "3a0d7d7e9c7d2d8c2d7a06b32e02702eecbfddf6",
      "parents": [
        "7c8d4cb4198d199e65a6ced8c81f71e3ac3f4cfc"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Sep 28 14:37:03 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:53:31 2007 -0700"
      },
      "message": "[NETFILTER]: nfnetlink: convert to generic netlink attribute functions\n\nGet rid of the duplicated rtnetlink macros and use the generic netlink\nattribute functions. The old duplicated stuff is moved to a new header\nfile that exists just for userspace.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3b04ddde02cf1b6f14f2697da5c20eca5715017f",
      "tree": "9da1341a5a399a507b5ea6bf5a3047506b8d8f8f",
      "parents": [
        "b95cce3576813ac3f86bafa6b5daaaaf7574b0fe"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Tue Oct 09 01:40:57 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:52:52 2007 -0700"
      },
      "message": "[NET]: Move hardware header operations out of netdevice.\n\nSince hardware header operations are part of the protocol class\nnot the device instance, make them into a separate object and\nsave memory.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b95cce3576813ac3f86bafa6b5daaaaf7574b0fe",
      "tree": "54da3f245ee145722623a8e0eaab5fc49ea78511",
      "parents": [
        "0c4e85813d0a94eeb8bf813397a4907bdd7bb610"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Wed Sep 26 22:13:38 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:52:51 2007 -0700"
      },
      "message": "[NET]: Wrap hard_header_parse\n\nWrap the hard_header_parse function to simplify next step of\nheader_ops conversion.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0c4e85813d0a94eeb8bf813397a4907bdd7bb610",
      "tree": "53ee948abc930bb1c5cd270c490f87fda5eb45b3",
      "parents": [
        "4c94f8c0c9a82fad84bc5df453aff755cfed70b7"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Tue Oct 09 01:36:32 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:52:50 2007 -0700"
      },
      "message": "[NET]: Wrap netdevice hardware header creation.\n\nAdd inline for common usage of hardware header creation, and\nfix bug in IPV6 mcast where the assumption about negative return is\nan errno. Negative return from hard_header means not enough space\nwas available,(ie -N bytes).\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2774c7aba6c97a2535be3309a2209770953780b3",
      "tree": "9327c795707f6d723c6395c31e1c060e70b5e0db",
      "parents": [
        "0cc217e16cb8ca8ef2544363571fce94259900e0"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Sep 26 22:10:56 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:52:49 2007 -0700"
      },
      "message": "[NET]: Make the loopback device per network namespace.\n\nThis patch makes loopback_dev per network namespace.  Adding\ncode to create a different loopback device for each network\nnamespace and adding the code to free a loopback device\nwhen a network namespace exits.\n\nThis patch modifies all users the loopback_dev so they\naccess it as init_net.loopback_dev, keeping all of the\ncode compiling and working.  A later pass will be needed to\nupdate the users to use something other than the initial network\nnamespace.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0cc217e16cb8ca8ef2544363571fce94259900e0",
      "tree": "05d7ef10fd9971fffa3f3870a4c3e66077bb1dc2",
      "parents": [
        "5967789dbc8aafdba5813fa8e8cfce3c90516f83"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Sep 26 22:10:06 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:52:48 2007 -0700"
      },
      "message": "[IPV4]: When possible test for IFF_LOOPBACK and not dev \u003d\u003d loopback_dev\n\nNow that multiple loopback devices are becoming possible it makes\nthe code a little cleaner and more maintainable to test if a deivice\nis th a loopback device by testing dev-\u003eflags \u0026 IFF_LOOPBACK instead\nof dev \u003d\u003d loopback_dev.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5967789dbc8aafdba5813fa8e8cfce3c90516f83",
      "tree": "0ea20278a6210297812cb8b3ed962e38d98ce3b8",
      "parents": [
        "5f6d88b9149d537f3db0798f7d312be632422e15"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Sep 26 22:09:25 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:52:48 2007 -0700"
      },
      "message": "[IPV4]: Remove unnecessary test for the loopback device from inetdev_destroy\n\nCurrently we never call unregister_netdev for the loopback device so\nit is impossible for us to reach inetdev_destroy with the loopback\ndevice.  So the test in inetdev_destroy is unnecessary.\n\nFurther when testing with my network namespace patches removing\nunregistering the loopback device and calling inetdev_destroy works\nfine so there appears to be no reason for avoiding unregistering the\nloopback device.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "912d8f0b1f17b7e851ebbfeb17a16de9f9c7cb88",
      "tree": "176cf4f23aaae9790d947579473da1f8d349a942",
      "parents": [
        "93e680202929802558f783fbd96c41697ae65472"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Tue Sep 25 22:47:31 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:52:39 2007 -0700"
      },
      "message": "[TCP] MIB: Count FRTO\u0027s successfully detected spurious RTOs\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "93e680202929802558f783fbd96c41697ae65472",
      "tree": "e1d94c916f4f8da5ba86dd2f855efc9b546839ef",
      "parents": [
        "a6963a6b3d2d3921b60f45e0cf18be26495d5ad1"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Tue Sep 25 22:46:50 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:52:38 2007 -0700"
      },
      "message": "[TCP]: Reordered ACK\u0027s (old) SACKs not included to discarded MIB\n\nIn case of ACK reordering, the SACK block might be valid in it\u0027s\ntime but is already obsoleted since we\u0027ve received another kind\nof confirmation about arrival of the segments through snd_una\nadvancement of an earlier packet.\n\nI didn\u0027t bother to build distinguishing of valid and invalid\nSACK blocks but simply made reordered SACK blocks that are too\nold always not counted regardless of their \"real\" validity which\ncould be determined by using the ack field of the reordered\npacket (won\u0027t be significant IMHO).\n\nDSACKs can very well be considered useful even in this situation,\nso won\u0027t do any of this for them.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a6963a6b3d2d3921b60f45e0cf18be26495d5ad1",
      "tree": "4eb7bb05c4173d87bc94926ac852fb95d8837c27",
      "parents": [
        "b0d045ca45a44d9f8bd66d0a10558b10c60f895a"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Tue Sep 25 22:44:14 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:52:38 2007 -0700"
      },
      "message": "[TCP]: Re-place highest_sack check to a more robust position\n\nI previously added checking to position that is rather poor as\nstate has already been adjusted quite a bit. Re-placing it above\nall state changes should be more robust though the return should\nnever ever get executed regardless of its place :-).\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "de3cb747ffac5f2a4a6bb156e7e2fd5229e688e5",
      "tree": "fe79764b8093843934c9b9f82f573e7a92cef406",
      "parents": [
        "556829657397b9b05baec6691ead4e22ee8d1567"
      ],
      "author": {
        "name": "Daniel Lezcano",
        "email": "dlezcano@fr.ibm.com",
        "time": "Tue Sep 25 19:16:28 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:52:14 2007 -0700"
      },
      "message": "[NET]: Dynamically allocate the loopback device, part 1.\n\nThis patch replaces all occurences to the static variable\nloopback_dev to a pointer loopback_dev. That provides the\nmindless, trivial, uninteressting change part for the dynamic\nallocation for the loopback.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Daniel Lezcano \u003cdlezcano@fr.ibm.com\u003e\nAcked-By: Kirill Korotaev \u003cdev@sw.ru\u003e\nAcked-by: Benjamin Thery \u003cbenjamin.thery@bull.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b76892051cf1c04d95872838e70146f65e3b9d75",
      "tree": "475050b8e41eb317144465b1e2b9255fbad188b4",
      "parents": [
        "c96fd3d461fa495400df24be3b3b66f0e0b152f9"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Thu Sep 20 11:37:19 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:52:12 2007 -0700"
      },
      "message": "[TCP]: Avoid clearing sacktag hint in trivial situations\n\nThere\u0027s no reason to clear the sacktag skb hint when small part\nof the rexmit queue changes. Account changes (if any) instead when\nfragmenting/collapsing. RTO/FRTO do not touch SACKED_ACKED bits so\nno need to discard SACK tag hint at all.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c96fd3d461fa495400df24be3b3b66f0e0b152f9",
      "tree": "b1fd9564bc0fefd634ff0043b29da98c409da30e",
      "parents": [
        "cd99889c616afe1e8addcf28da505600c04f065a"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Thu Sep 20 11:36:37 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:52:12 2007 -0700"
      },
      "message": "[TCP]: Enable SACK enhanced FRTO (RFC4138) by default\n\nMost of the description that follows comes from my mail to\nnetdev (some editing done):\n\nMain obstacle to FRTO use is its deployment as it has to be on\nthe sender side where as wireless link is often the receiver\u0027s\naccess link. Take initiative on behalf of unlucky receivers and\nenable it by default in future Linux TCP senders. Also IETF\nseems to interested in advancing FRTO from experimental [1].\n\nHow does FRTO help?\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nFRTO detects spurious RTOs and avoids a number of unnecessary\nretransmissions and a couple of other problems that can arise\ndue to incorrect guess made at RTO (i.e., that segments were\nlost when they actually got delayed which is likely to occur\ne.g. in wireless environments with link-layer retransmission).\nThough FRTO cannot prevent the first (potentially unnecessary)\nretransmission at RTO, I suspect that it won\u0027t cost that much\neven if you have to pay for each bit (won\u0027t be that high\npercentage out of all packets after all :-)). However, usually\nwhen you have a spurious RTO, not only the first segment\nunnecessarily retransmitted but the *whole window*. It goes like\nthis: all cumulative ACKs got delayed due to in-order delivery,\nthen TCP will actually send 1.5*original cwnd worth of data in\nthe RTO\u0027s slow-start when the delayed ACKs arrive (basically the\noriginal cwnd worth of it unnecessarily). In case one is\ninterested in minimizing unnecessary retransmissions e.g. due to\ncost, those rexmissions must never see daylight. Besides, in the\nworst case the generated burst overloads the bottleneck buffers\nwhich is likely to significantly delay the further progress of\nthe flow. In case of ll rexmissions, ACK compression often\noccurs at the same time making the burst very \"sharp edged\" (in\nthat case TCP often loses most of the segments above high_seq\n\u003d\u003e very bad performance too). When FRTO is enabled, those\nunnecessary retransmissions are fully avoided except for the\nfirst segment and the cwnd behavior after detected spurious RTO\nis determined by the response (one can tune that by sysctl).\n\nBasic version (non-SACK enhanced one), FRTO can fail to detect\nspurious RTO as spurious and falls back to conservative\nbehavior. ACK lossage is much less significant than reordering,\nusually the FRTO can detect spurious RTO if at least 2\ncumulative ACKs from original window are preserved (excluding\nthe ACK that advances to high_seq). With SACK-enhanced version,\nthe detection is quite robust.\n\nFRTO should remove the need to set a high lower bound for the\nRTO estimator due to delay spikes that occur relatively common\nin some environments (esp. in wireless/cellular ones).\n\n[1] http://www1.ietf.org/mail-archive/web/tcpm/current/msg02862.html\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "009a2e3e4ec395a290b9e4c7c9ff99296fd6b7d8",
      "tree": "65aba1ad44fb5519a0a043b7a97d76242b4d663f",
      "parents": [
        "7c46a03e67d11d917d6c3dbf501b465b2ca97a6f"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Thu Sep 20 11:34:38 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:52:11 2007 -0700"
      },
      "message": "[TCP] FRTO: Improve interoperability with other undo_marker users\n\nBasically this change enables it, previously other undo_marker\nusers were left with nothing. Reverse undo_marker logic\ncompletely to get it set right in CA_Loss. On the other hand,\nwhen spurious RTO is detected, clear it. Clearing might be too\nheavy for some scenarios but seems safe enough starting point\nfor now and shouldn\u0027t have much effect except in majority of\ncases (if in any).\n\nBy adding a new FLAG_ we avoid looping through write_queue when\nRTO occurs.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7c46a03e67d11d917d6c3dbf501b465b2ca97a6f",
      "tree": "57c719d14349406bd654b78007876da6d4e48eec",
      "parents": [
        "13fcf850cc20373db4dd8a5c9f349583ab3817c4"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Thu Sep 20 11:33:43 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:52:10 2007 -0700"
      },
      "message": "[TCP]: Cleanup tcp_tso_acked and tcp_clean_rtx_queue\n\nImplements following cleanups:\n- Comment re-placement (CodingStyle)\n- tcp_tso_acked() local (wrapper-like) variable removal\n  (readability)\n- __-types removed (IMHO they make local variables jumpy looking\n  and just was space)\n- acked -\u003e flag (naming conventions elsewhere in TCP code)\n- linebreak adjustments (readability)\n- nested if()s combined (reduced indentation)\n- clarifying newlines added\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "13fcf850cc20373db4dd8a5c9f349583ab3817c4",
      "tree": "a3ef44d94215babe1362c267f84e04ecffeb3dbb",
      "parents": [
        "5af4ec236f7c98f3671fb26731457a172d85e0e6"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Tue Oct 09 01:28:45 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:52:09 2007 -0700"
      },
      "message": "[TCP]: Move accounting from tso_acked to clean_rtx_queue\n\nThe accounting code is pretty much the same, so it\u0027s a shame\nwe do it in two places.\n\nI\u0027m not too sure if added fully_acked check in MTU probing is\nreally what we want perhaps the added end_seq could be used in\nthe after() comparison.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5af4ec236f7c98f3671fb26731457a172d85e0e6",
      "tree": "04219129f5db8662c4a876e0f686e7a56fb4459c",
      "parents": [
        "91fed7a15c9222af29a653ecb0ee72cff178fdd8"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Thu Sep 20 11:30:48 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:52:09 2007 -0700"
      },
      "message": "[TCP]: clear_all_retrans_hints prefixed by tcp_\n\nIn addition, fix its function comment spacing.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\n"
    },
    {
      "commit": "91fed7a15c9222af29a653ecb0ee72cff178fdd8",
      "tree": "53c72bd6c1bf3216e46565761bc34ea066f5b995",
      "parents": [
        "0dde7b5404a3d52dcd9ce66d46197f6c3ca97dda"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Tue Oct 09 01:24:15 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:52:08 2007 -0700"
      },
      "message": "[TCP]: Make fackets_out accurate\n\nSubstraction for fackets_out is unconditional when snd_una\nadvances, thus there\u0027s no need to do it inside the loop. Just\nmake sure correct bounds are honored.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0dde7b5404a3d52dcd9ce66d46197f6c3ca97dda",
      "tree": "e2f6baf2552d5b844763d09d7430010183be80d6",
      "parents": [
        "1a09404a2338163f181d170c7abdc2242b6c6f03"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Thu Sep 20 11:28:05 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:52:08 2007 -0700"
      },
      "message": "[TCP]: Maintain highest_sack accurately to the highest skb\n\nIn general, it should not be necessary to call tcp_fragment for\nalready SACKed skbs, but it\u0027s better to be safe than sorry. And\nindeed, it can be called from sacktag when a DSACK arrives or\nsome ACK (with SACK) reordering occurs (sacktag could be made\nto avoid the call in the latter case though I\u0027m not sure if it\u0027s\nworth of the trouble and added complexity to cover such marginal\ncase).\n\nThe collapse case has return for SACKED_ACKED case earlier, so\njust WARN_ON if internal inconsistency is detected for some\nreason.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5ee3afba88f5a79d0bff07ddd87af45919259f91",
      "tree": "b0117be47ea4f84abf56996f39792362c15909d7",
      "parents": [
        "768f3591e2b1cc309fd6f10d6579b216026d7817"
      ],
      "author": {
        "name": "Rick Jones",
        "email": "rick.jones2@hp.com",
        "time": "Tue Sep 18 13:26:31 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:51:35 2007 -0700"
      },
      "message": "[TCP]: Return useful listenq info in tcp_info and INET_DIAG_INFO.\n\nReturn some useful information such as the maximum listen backlog and\nthe current listen backlog in the tcp_info structure and\nINET_DIAG_INFO.\n\nSigned-off-by: Rick Jones \u003crick.jones2@hp.com\u003e\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "96793b482540f3a26e2188eaf75cb56b7829d3e3",
      "tree": "3dfc2871b69cc358ed55dc2adc3bfeef47382cb3",
      "parents": [
        "14878f75abd5bf1d38becb405801cd491ee215dc"
      ],
      "author": {
        "name": "David L Stevens",
        "email": "dlstevens@us.ibm.com",
        "time": "Mon Sep 17 09:57:33 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:51:28 2007 -0700"
      },
      "message": "[IPV4]: Add ICMPMsgStats MIB (RFC 4293)\n\nBackground: RFC 4293 deprecates existing individual, named ICMP\ntype counters to be replaced with the ICMPMsgStatsTable. This table\nincludes entries for both IPv4 and IPv6, and requires counting of all\nICMP types, whether or not the machine implements the type.\n\nThese patches \"remove\" (but not really) the existing counters, and\nreplace them with the ICMPMsgStats tables for v4 and v6.\nIt includes the named counters in the /proc places they were, but gets the\nvalues for them from the new tables. It also counts packets generated\nfrom raw socket output (e.g., OutEchoes, MLD queries, RA\u0027s from\nradvd, etc).\n\nChanges:\n1) create icmpmsg_statistics mib\n2) create icmpv6msg_statistics mib\n3) modify existing counters to use these\n4) modify /proc/net/snmp to add \"IcmpMsg\" with all ICMP types\n        listed by number for easy SNMP parsing\n5) modify /proc/net/snmp printing for \"Icmp\" to get the named data\n        from new counters.\n\nSigned-off-by: David L Stevens \u003cdlstevens@us.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c40f6fff401f693f627d3d44ef7663b993943517",
      "tree": "7f562348e35f53b654eb0d805137df2e434faa3a",
      "parents": [
        "26ff5ddc5ab11e37ab3db469f24324e0ef1d6f63"
      ],
      "author": {
        "name": "Denis Cheng",
        "email": "crquan@gmail.com",
        "time": "Sun Sep 16 16:39:25 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:51:26 2007 -0700"
      },
      "message": "[IPV4] af_inet.c: use ARRAY_SIZE macro from kernel.h instead\n\nSigned-off-by: Denis Cheng \u003ccrquan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0cfad07555312468296ea3bbbcdf99038f58678b",
      "tree": "a95c432bcafaf22e965dcaf27bfd4a61723d1d64",
      "parents": [
        "007e3936bdaaa012483c9fe06ca71c272458c710"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sun Sep 16 16:24:44 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:51:24 2007 -0700"
      },
      "message": "[NETLINK]: Avoid pointer in netlink_run_queue\n\nI was looking at Patrick\u0027s fix to inet_diag and it occured\nto me that we\u0027re using a pointer argument to return values\nunnecessarily in netlink_run_queue.  Changing it to return\nthe value will allow the compiler to generate better code\nsince the value won\u0027t have to be memory-backed.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "76c72d4f44ec5fb7f88eda8a0d3aa30922c891d1",
      "tree": "0c773487ff11d098a70fddbc631f153260614bdb",
      "parents": [
        "056925ab3145713e5e83cf8e05ae6fb2f4ace41e"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Sun Sep 16 15:44:27 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:51:22 2007 -0700"
      },
      "message": "[IPV4/IPV6/DECNET]: Small cleanup for fib rules.\n\nThis patch slightly cleanups FIB rules framework. rules_list as a pointer\non struct fib_rules_ops is useless. It is always assigned with a static\nper/subsystem list in IPv4, IPv6 and DecNet.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nAcked-by: Alexey Kuznetsov \u003ckuznet@ms2.inr.ac.ru\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "63d804eade298208037045ab6728c933f2b6c27d",
      "tree": "570c9b4a19abea4f9a12907368b59a50a4a16913",
      "parents": [
        "88d3aafdae5c5e1d2dd9489a5c8a24e29d335f2e"
      ],
      "author": {
        "name": "Paul Moore",
        "email": "paul.moore@hp.com",
        "time": "Sat Sep 15 21:45:13 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:51:17 2007 -0700"
      },
      "message": "[CIPSO]: remove duplicated code in the cipso_v4_*_getattr() functions\n\nThe bulk of the CIPSO option parsing/processing in the cipso_v4_sock_getattr()\nand cipso_v4_skb_getattr() functions are identical, the only real difference\nbeing where the functions obtain the CIPSO option itself.  This patch creates\na new function, cipso_v4_getattr(), which contains the common CIPSO option\nparsing/processing code and modifies the existing functions to call this new\nhelper function.\n\nSigned-off-by: Paul Moore \u003cpaul.moore@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "10d024c1b2fd58af8362670d7d6e5ae52fc33353",
      "tree": "dbfb03c539986e2c1270385eb0083aaf0dfca8ab",
      "parents": [
        "596c5c97431eab8465739c169401ea611127b9ad"
      ],
      "author": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Mon Sep 17 13:11:17 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:51:13 2007 -0700"
      },
      "message": "[NET]: Nuke SET_MODULE_OWNER macro.\n\nIt\u0027s been a useless no-op for long enough in 2.6 so I figured it\u0027s time to\nremove it.  The number of people that could object because they\u0027re\nmaintaining unified 2.4 and 2.6 drivers is probably rather small.\n\n[ Handled drivers added by netdev tree and some missed IRDA cases... -DaveM ]\n\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "39c90ece7565f5c47110c2fa77409d7a9478bd5b",
      "tree": "220bf734ed470024901226675550501d45192f0e",
      "parents": [
        "dac24ab396fc92985060d5cb3c467d2d0ffc0c20"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Sat Sep 15 10:55:54 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:25 2007 -0700"
      },
      "message": "[IPV4]: Convert rt_check_expire() from softirq processing to workqueue.\n\nOn loaded/big hosts, rt_check_expire() if of litle use, because it\ngenerally breaks out of its main loop because of a jiffies change.\n\nIt can take a long time (read : timer invocations) to actually\nscan the whole hash table, freeing unused entries.\n\nConverting it to use a workqueue instead of softirq is a nice\nmove because we can allow rt_check_expire() to do the scan\nit is supposed to do, without hogging the CPU.\n\nThis has an impact on the average number of entries in cache,\nreducing ram usage. Cache is more responsive to parameter\nchanges (/proc/sys/net/ipv4/route/gc_timeout and\n/proc/sys/net/ipv4/route/gc_interval)\n\nNote: Maybe the default value of gc_interval (60 seconds)\nis too high, since this means we actually need 5 (300/60)\ninvocations to scan the whole table.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8f4c1f9b049df3be11090f1c2c4738700302acae",
      "tree": "51271d32096e4419173072d120176b4428e52a11",
      "parents": [
        "9d5010db7ecfd6ec00119d3b185c4c0cd3265167"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Wed Sep 12 14:44:36 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:16 2007 -0700"
      },
      "message": "[NETLINK]: Introduce nested and byteorder flag to netlink attribute\n\nThis change allows the generic attribute interface to be used within\nthe netfilter subsystem where this flag was initially introduced.\n\nThe byte-order flag is yet unused, it\u0027s intended use is to\nallow automatic byte order convertions for all atomic types.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "881d966b48b035ab3f3aeaae0f3d3f9b584f45b2",
      "tree": "c579d59a4107cbbe9e2b85939bc0d496b815c887",
      "parents": [
        "b4b510290b056b86611757ce1175a230f1080f53"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Sep 17 11:56:21 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:10 2007 -0700"
      },
      "message": "[NET]: Make the device list and device lookups per namespace.\n\nThis patch makes most of the generic device layer network\nnamespace safe.  This patch makes dev_base_head a\nnetwork namespace variable, and then it picks up\na few associated variables.  The functions:\ndev_getbyhwaddr\ndev_getfirsthwbytype\ndev_get_by_flags\ndev_get_by_name\n__dev_get_by_name\ndev_get_by_index\n__dev_get_by_index\ndev_ioctl\ndev_ethtool\ndev_load\nwireless_process_ioctl\n\nwere modified to take a network namespace argument, and\ndeal with it.\n\nvlan_ioctl_set and brioctl_set were modified so their\nhooks will receive a network namespace argument.\n\nSo basically anthing in the core of the network stack that was\naffected to by the change of dev_base was modified to handle\nmultiple network namespaces.  The rest of the network stack was\nsimply modified to explicitly use \u0026init_net the initial network\nnamespace.  This can be fixed when those components of the network\nstack are modified to handle multiple network namespaces.\n\nFor now the ifindex generator is left global.\n\nFundametally ifindex numbers are per namespace, or else\nwe will have corner case problems with migration when\nwe get that far.\n\nAt the same time there are assumptions in the network stack\nthat the ifindex of a network device won\u0027t change.  Making\nthe ifindex number global seems a good compromise until\nthe network stack can cope with ifindex changes when\nyou change namespaces, and the like.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b4b510290b056b86611757ce1175a230f1080f53",
      "tree": "7bd1d45855ac7457be6d50338c60751f19e436d9",
      "parents": [
        "e9dc86534051b78e41e5b746cccc291b57a3a311"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Sep 12 13:05:38 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:09 2007 -0700"
      },
      "message": "[NET]: Support multiple network namespaces with netlink\n\nEach netlink socket will live in exactly one network namespace,\nthis includes the controlling kernel sockets.\n\nThis patch updates all of the existing netlink protocols\nto only support the initial network namespace.  Request\nby clients in other namespaces will get -ECONREFUSED.\nAs they would if the kernel did not have the support for\nthat netlink protocol compiled in.\n\nAs each netlink protocol is updated to be multiple network\nnamespace safe it can register multiple kernel sockets\nto acquire a presence in the rest of the network namespaces.\n\nThe implementation in af_netlink is a simple filter implementation\nat hash table insertion and hash table look up time.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e9dc86534051b78e41e5b746cccc291b57a3a311",
      "tree": "1cd4a1dde4c51b6311749428a22cc8a8f5436825",
      "parents": [
        "e730c15519d09ea528b4d2f1103681fa5937c0e6"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Sep 12 13:02:17 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:09 2007 -0700"
      },
      "message": "[NET]: Make device event notification network namespace safe\n\nEvery user of the network device notifiers is either a protocol\nstack or a pseudo device.  If a protocol stack that does not have\nsupport for multiple network namespaces receives an event for a\ndevice that is not in the initial network namespace it quite possibly\ncan get confused and do the wrong thing.\n\nTo avoid problems until all of the protocol stacks are converted\nthis patch modifies all netdev event handlers to ignore events on\ndevices that are not in the initial network namespace.\n\nAs the rest of the code is made network namespace aware these\nchecks can be removed.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e730c15519d09ea528b4d2f1103681fa5937c0e6",
      "tree": "c117294523f4d004fb1d740610b6403e5744cdfc",
      "parents": [
        "6d34b1c27a72d5d1c73c567b2f6b1fde316e0eae"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Sep 17 11:53:39 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:08 2007 -0700"
      },
      "message": "[NET]: Make packet reception network namespace safe\n\nThis patch modifies every packet receive function\nregistered with dev_add_pack() to drop packets if they\nare not from the initial network namespace.\n\nThis should ensure that the various network stacks do\nnot receive packets in a anything but the initial network\nnamespace until the code has been converted and is ready\nfor them.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1b8d7ae42d02e483ad94035cca851e4f7fbecb40",
      "tree": "81f8cc0ee49ef99cc67dfed3dc7b7ecb510abf8b",
      "parents": [
        "457c4cbc5a3dde259d2a1f15d5f9785290397267"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Oct 08 23:24:22 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:07 2007 -0700"
      },
      "message": "[NET]: Make socket creation namespace safe.\n\nThis patch passes in the namespace a new socket should be created in\nand has the socket code do the appropriate reference counting.  By\nvirtue of this all socket create methods are touched.  In addition\nthe socket create methods are modified so that they will fail if\nyou attempt to create a socket in a non-default network namespace.\n\nFailing if we attempt to create a socket outside of the default\nnetwork namespace ensures that as we incrementally make the network stack\nnetwork namespace aware we will not export functionality that someone\nhas not audited and made certain is network namespace safe.\nAllowing us to partially enable network namespaces before all of the\nexotic protocols are supported.\n\nAny protocol layers I have missed will fail to compile because I now\npass an extra parameter into the socket creation code.\n\n[ Integrated AF_IUCV build fixes from Andrew Morton... -DaveM ]\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "457c4cbc5a3dde259d2a1f15d5f9785290397267",
      "tree": "a2ceee88780cbce27433b9a4434b3e9251efd81a",
      "parents": [
        "07feaebfcc10cd35e745c7073667935246494bee"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Sep 12 12:01:34 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:06 2007 -0700"
      },
      "message": "[NET]: Make /proc/net per network namespace\n\nThis patch makes /proc/net per network namespace.  It modifies the global\nvariables proc_net and proc_net_stat to be per network namespace.\nThe proc_net file helpers are modified to take a network namespace argument,\nand all of their callers are fixed to pass \u0026init_net for that argument.\nThis ensures that all of the /proc/net files are only visible and\nusable in the initial network namespace until the code behind them\nhas been updated to be handle multiple network namespaces.\n\nMaking /proc/net per namespace is necessary as at least some files\nin /proc/net depend upon the set of network devices which is per\nnetwork namespace, and even more files in /proc/net have contents\nthat are relevant to a single network namespace.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "172589ccdde41b59861c92c4a971b95514ef24e3",
      "tree": "ae775e6db4cb85aad1c74b6d93ba359f9dfe88ea",
      "parents": [
        "c45248c70125cc374fdf264659643276c72801bf"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Tue Aug 28 15:50:33 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:37 2007 -0700"
      },
      "message": "[NET]: DIV_ROUND_UP cleanup (part two)\n\nHopefully captured all single statement cases under net/. I\u0027m\nnot too sure if there is some policy about #includes that are\n\"guaranteed\" (ie., in the current tree) to be available through\nsome other #included header, so I just added linux/kernel.h to\neach changed file that didn\u0027t #include it previously.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3b26a9a655ee73a87071a9f6a1fdd5311e31d7c9",
      "tree": "c59ebe35c750e21ed7a3b10707fc4d9da1ca41c3",
      "parents": [
        "1e5dc146173251e7baad9a1f7586d5a009b6d9f9"
      ],
      "author": {
        "name": "Masahide NAKAMURA",
        "email": "nakam@linux-ipv6.org",
        "time": "Fri Aug 24 23:33:01 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:33 2007 -0700"
      },
      "message": "[IPV4] IPSEC: Omit redirect for tunnelled packet.\n\nIPv4 IPsec tunnel gateway incorrectly sends redirect to\nsender if it is onlink host when network device the IPsec tunnelled\npacket is arrived is the same as the one the decapsulated packet\nis sent.\n\nWith this patch, it omits to send the redirect when the forwarding\nskbuff carries secpath, since such skbuff should be assumed as\na decapsulated packet from IPsec tunnel by own.\n\nRequest for comments:\nAlternatively we\u0027d have another way to change net/ipv4/route.c\n(__mkroute_input) to use RTCF_DOREDIRECT flag unless skbuff\nhas no secpath. It is better than this patch at performance\npoint of view because IPv4 redirect judgement is done at\nrouting slow-path. However, it should be taken care of resource\nchanges between SAD(XFRM states) and routing table. In other words,\nWhen IPv4 SAD is changed does the related routing entry go to its\nslow-path? If not, it is reasonable to apply this patch.\n\nSigned-off-by: Masahide NAKAMURA \u003cnakam@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "32c1da70810017a98aa6c431a5494a302b6b9a30",
      "tree": "8583fe356829dd0265c673798262453d4bc36869",
      "parents": [
        "356f89e12e301376f26795643f3b5931c81c9cd5"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Fri Aug 24 23:09:41 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:31 2007 -0700"
      },
      "message": "[UDP]: Randomize port selection.\n\nThis patch causes UDP port allocation to be randomized like TCP.\nThe earlier code would always choose same port (ie first empty list).\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "356f89e12e301376f26795643f3b5931c81c9cd5",
      "tree": "e9e180c3d39ea97e28e5b81e1ca26b32b1ff6e66",
      "parents": [
        "18f02545a9a16c9a89778b91a162ad16d510bb32"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Fri Aug 24 23:00:31 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:30 2007 -0700"
      },
      "message": "[NET] Cleanup: DIV_ROUND_UP\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "18f02545a9a16c9a89778b91a162ad16d510bb32",
      "tree": "2b1c67a8168b695630d26216b7dd3be17179ca5c",
      "parents": [
        "5b3c98821a8753239aefc1c217409aa3e5c90787"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Fri Aug 24 22:55:52 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:30 2007 -0700"
      },
      "message": "[TCP] MIB: Add counters for discarded SACK blocks\n\nIn DSACK case, some events are not extraordinary, such as packet\nduplication generated DSACK. They can arrive easily below\nsnd_una when undo_marker is not set (TCP being in CA_Open),\ncounting such DSACKs amoung SACK discards will likely just\nmislead if they occur in some scenario when there are other\nproblems as well. Similarly, excessively delayed packets could\ncause \"normal\" DSACKs. Therefore, separate counters are\nallocated for DSACK events.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5b3c98821a8753239aefc1c217409aa3e5c90787",
      "tree": "39d4d2bc47ad533cd084a900fa94542ef1b6e8bf",
      "parents": [
        "6728e7dc3e577241f36921c720cfb4eb8f5aed1a"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Fri Aug 24 22:54:44 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:29 2007 -0700"
      },
      "message": "[TCP]: Discard fuzzy SACK blocks\n\nSACK processing code has been a sort of russian roulette as no\nvalidation of SACK blocks is previously attempted. Besides, it\nis not very clear what all kinds of broken SACK blocks really\nmean (e.g., one that has start and end sequence numbers\nreversed). So now close the roulette once and for all.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6728e7dc3e577241f36921c720cfb4eb8f5aed1a",
      "tree": "5918fe156766d3495898ba2e37b825275f1785fb",
      "parents": [
        "6ff03ac355cc6c10f7b1f44dd466d41213acebca"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Fri Aug 24 22:53:26 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:28 2007 -0700"
      },
      "message": "[TCP]: Rename tcp_ack_packets_out -\u003e tcp_rearm_rto\n\nOnly thing that tiny function does is rearming the RTO (if\nnecessary), name it accordingly.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6ff03ac355cc6c10f7b1f44dd466d41213acebca",
      "tree": "9057f7839df5bc65ea73148eee4148114f6f45c9",
      "parents": [
        "e9144bd8da80f3136b23c615609798e371e885ac"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Fri Aug 24 22:44:06 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:28 2007 -0700"
      },
      "message": "[TCP]: tcp_packets_out_inc to tcp_output.c (no callers elsewhere)\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e9144bd8da80f3136b23c615609798e371e885ac",
      "tree": "4ca84a95f2dd7f2e4d49bc8f1868bdfee3deea82",
      "parents": [
        "522400623e240ad134cb4101b1fddc3245d2a7ed"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Fri Aug 24 22:43:14 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:27 2007 -0700"
      },
      "message": "[TCP]: Remove unnecessary wrapper tcp_packets_out_dec\n\nMakes caller side more obvious, there\u0027s no need to have\na wrapper for this oneliner!\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ab66b4a7a3969077f6e2a18a0d2d849d3b84a337",
      "tree": "03418252b556fa94eb0daad2d8fc2a59ad79ce78",
      "parents": [
        "0680191642c27c81c9be4557d9c6aa3487c15f69"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Fri Aug 10 15:22:58 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:01 2007 -0700"
      },
      "message": "[IPV4] fib_trie: macro cleanup\n\nThis patch converts the messy macro for MASK_PFX to inline function\nand expands TKEY_GET_MASK in the one place it is used.\n\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0680191642c27c81c9be4557d9c6aa3487c15f69",
      "tree": "f855b0f46b006be011cc720c343e3484c4b63825",
      "parents": [
        "13dae426318aae073028a4b3bd493104a991e800"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Fri Aug 10 15:22:13 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:01 2007 -0700"
      },
      "message": "[IPV4] fib_trie: cleanup\n\nTry this out:\n     * replace macro\u0027s with inlines\n     * get rid of places doing multiple evaluations of NODE_PARENT\n\n[akpm@linux-foundation.org: rcu_dereference wants an lval]\n\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e60402d0a909ca2e6e2fbdf9ed004ef0fae36d33",
      "tree": "b40a00b801cf44f81bebd7dadddb19c0086b145c",
      "parents": [
        "b9c4595bc4947faa236a849324fe3492e388d949"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Thu Aug 09 15:14:46 2007 +0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:00 2007 -0700"
      },
      "message": "[TCP]: Move sack_ok access to obviously named funcs \u0026 cleanup\n\nPreviously code had IsReno/IsFack defined as macros that were\nlocal to tcp_input.c though sack_ok field has user elsewhere too\nfor the same purpose. This changes them to static inlines as\npreferred according the current coding style and unifies the\naccess to sack_ok across multiple files. Magic bitops of sack_ok\nfor FACK and DSACK are also abstracted to functions with\nappropriate names.\n\nNote:\n- One sack_ok \u003d 1 remains but that\u0027s self explanary, i.e., it\n  enables sack\n- Couple of !IsReno cases are changed to tcp_is_sack\n- There were no users for IsDSack \u003d\u003e I dropped it\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    }
  ],
  "next": "1b6d427bb7eb69e6dc4f194a5b0f4a382a16ff82"
}
