)]}'
{
  "log": [
    {
      "commit": "0f23174aa8c1aa7a2a6050a72a60d290ef9ee578",
      "tree": "530ed36b528ff6f08034788cef32e0e0756d3bcc",
      "parents": [
        "f201a8a4511a4c9953189924df3c880207194b41"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Dec 29 12:23:42 2008 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Dec 29 22:44:47 2008 -0800"
      },
      "message": "cpumask: prepare for iterators to only go to nr_cpu_ids/nr_cpumask_bits: net\n\nIn future all cpumask ops will only be valid (in general) for bit\nnumbers \u003c nr_cpu_ids.  So use that instead of NR_CPUS in iterators\nand other comparisons.\n\nThis is always safe: no cpu number can be \u003e\u003d nr_cpu_ids, and\nnr_cpu_ids is initialized to NR_CPUS at boot.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "52479b623d3d41df84c499325b6a8c7915413032",
      "tree": "196f303f296b53dc89a05954d9c03226a9b4158b",
      "parents": [
        "cdcbca7c1f1946758cfacb69bc1c7eeaccb11e2d"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Nov 25 17:35:18 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 17:35:18 2008 -0800"
      },
      "message": "netns xfrm: lookup in netns\n\nPass netns to xfrm_lookup()/__xfrm_lookup(). For that pass netns\nto flow_cache_lookup() and resolver callback.\n\nTake it from socket or netdevice. Stub DECnet to init_net.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6bb3ce25d05f2990c8a19adaf427531430267c1f",
      "tree": "38c19e4776b36163b9d100258139d58287475f6b",
      "parents": [
        "9b739ba5e66c96938fbc07a4dbd9da5b81eac56f"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Nov 11 17:25:22 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 11 17:25:22 2008 -0800"
      },
      "message": "net: remove struct dst_entry::entry_size\n\nUnused after kmem_cache_zalloc() conversion.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6d9f239a1edb31d6133230f478fd1dc2da338ec5",
      "tree": "305fa0da95a49db4e342f3f3042f8be0968b03ce",
      "parents": [
        "6cf3f41e6c08bca6641a695449791c38a25f35ff"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon Nov 03 18:21:05 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 03 18:21:05 2008 -0800"
      },
      "message": "net: \u0027\u0026\u0027 redux\n\nI want to compile out proc_* and sysctl_* handlers totally and\nstub them to NULL depending on config options, however usage of \u0026\nwill prevent this, since taking adress of NULL pointer will break\ncompilation.\n\nSo, drop \u0026 in front of every -\u003eproc_handler and every -\u003estrategy\nhandler, it was never needed in fact.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "673d57e72398edfedc93fb50ff58048077c9d587",
      "tree": "4c6a83072ac64ef63ad73574c3e1c0a683524163",
      "parents": [
        "cffee385d7f367e80b288abf4261256477f7760e"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Fri Oct 31 00:53:57 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Oct 31 00:53:57 2008 -0700"
      },
      "message": "net: replace NIPQUAD() in net/ipv4/ net/ipv6/\n\nUsing NIPQUAD() with NIPQUAD_FMT, %d.%d.%d.%d or %u.%u.%u.%u\ncan be replaced with %pI4\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "93adcc80f3288f1827baf6f821af818f6eeef7f9",
      "tree": "d53faa5267421764ebe8f1d5e83e6eb5bb7ddea6",
      "parents": [
        "def8b4faff5ca349beafbbfeb2c51f3602a6ef3a"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Oct 28 13:25:09 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 28 13:25:09 2008 -0700"
      },
      "message": "net: don\u0027t use INIT_RCU_HEAD\n\ncall_rcu() will unconditionally rewrite RCU head anyway.\nApplies to \n\tstruct neigh_parms\n\tstruct neigh_table\n\tstruct net\n\tstruct cipso_v4_doi\n\tstruct in_ifaddr\n\tstruct in_device\n\trt-\u003eu.dst\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nAcked-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "def8b4faff5ca349beafbbfeb2c51f3602a6ef3a",
      "tree": "a90fbb0b6ae2a49c507465801f31df77bc5ebf9d",
      "parents": [
        "b057efd4d226fcc3a92b0dc6d8ea8e8185ecb260"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Oct 28 13:24:06 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 28 13:24:06 2008 -0700"
      },
      "message": "net: reduce structures when XFRM\u003dn\n\nifdef out\n* struct sk_buff::sp\t\t(pointer)\n* struct dst_entry::xfrm\t(pointer)\n* struct sock::sk_policy\t(2 pointers)\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1080d709fb9d8cd4392f93476ee46a9d6ea05a5b",
      "tree": "b87a162b10d98f7d44657d7c9a98bbc7385159fd",
      "parents": [
        "1d63e726408dfdb3e10ed8f00c383b30ebb333d3"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Mon Oct 27 12:28:25 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 27 17:06:14 2008 -0700"
      },
      "message": "net: implement emergency route cache rebulds when gc_elasticity is exceeded\n\nThis is a patch to provide on demand route cache rebuilding.  Currently, our\nroute cache is rebulid periodically regardless of need.  This introduced\nunneeded periodic latency.  This patch offers a better approach.  Using code\nprovided by Eric Dumazet, we compute the standard deviation of the average hash\nbucket chain length while running rt_check_expire.  Should any given chain\nlength grow to larger that average plus 4 standard deviations, we trigger an\nemergency hash table rebuild for that net namespace.  This allows for the common\ncase in which chains are well behaved and do not grow unevenly to not incur any\nlatency at all, while those systems (which may be being maliciously attacked),\nonly rebuild when the attack is detected.  This patch take 2 other factors into\naccount:\n1) chains with multiple entries that differ by attributes that do not affect the\nhash value are only counted once, so as not to unduly bias system to rebuilding\nif features like QOS are heavily used\n2) if rebuilding crosses a certain threshold (which is adjustable via the added\nsysctl in this patch), route caching is disabled entirely for that net\nnamespace, since constant rebuilding is less efficient that no caching at all\n\nTested successfully by me.\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b225ee5bed70254a100896c473e6dd8c2be45c18",
      "tree": "2f044d5898d15edcff858f624618c788d5b58760",
      "parents": [
        "2e532d68a2b3e2aa6b19731501222069735c741c",
        "95a5afca4a8d2e1cb77e1d4bc6ff9f718dc32f7a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 17 08:58:52 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 17 08:58:52 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:\n  net: Remove CONFIG_KMOD from net/ (towards removing CONFIG_KMOD entirely)\n  ipv4: Add a missing rcu_assign_pointer() in routing cache.\n  [netdrvr] ibmtr: PCMCIA IBMTR is ok on 64bit\n  xen-netfront: Avoid unaligned accesses to IP header\n  lmc: copy_*_user under spinlock\n  [netdrvr] myri10ge, ixgbe: remove broken select INTEL_IOATDMA\n"
    },
    {
      "commit": "00269b54edbf25f3bb0dccb558ae23a6fc77ed86",
      "tree": "63eb993fc8c463c5f6d023961b61b9dbaccd82cc",
      "parents": [
        "dc976c09da4e13b2b3fda23cca9d0682d1de7213"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Thu Oct 16 14:18:29 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 16 14:18:29 2008 -0700"
      },
      "message": "ipv4: Add a missing rcu_assign_pointer() in routing cache.\n\nrt_intern_hash() is doing an update of a RCU guarded hash chain\nwithout using rcu_assign_pointer() or equivalent barrier.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f221e726bf4e082a05dcd573379ac859bfba7126",
      "tree": "a05f674caac693dc9aec7e46dd06115389f7ece3",
      "parents": [
        "f40cbaa5b0a4719489e6e7947351c99a159aca30"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Wed Oct 15 22:04:23 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 16 11:21:47 2008 -0700"
      },
      "message": "sysctl: simplify -\u003estrategy\n\nname and nlen parameters passed to -\u003estrategy hook are unused, remove\nthem.  In general -\u003estrategy hook should know what it\u0027s doing, and don\u0027t\ndo something tricky for which, say, pointer to original userspace array\nmay be needed (name).\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e [ networking bits ]\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a210d01ae3ee006b59e54e772a7f212486e0f021",
      "tree": "ceea5f8de75e70b13641f340e3b13a125a52567a",
      "parents": [
        "4edd87ad5cad8e159e0db3ce3131b3d97219c9cd"
      ],
      "author": {
        "name": "Julian Anastasov",
        "email": "ja@ssi.bg",
        "time": "Wed Oct 01 07:28:28 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 01 07:28:28 2008 -0700"
      },
      "message": "ipv4: Loosen source address check on IPv4 output\n\nip_route_output() contains a check to make sure that no flows with\nnon-local source IP addresses are routed. This obviously makes using\nsuch addresses impossible.\n\nThis patch introduces a flowi flag which makes omitting this check\npossible. The new flag provides a way of handling transparent and\nnon-transparent connections differently.\n\nSigned-off-by: Julian Anastasov \u003cja@ssi.bg\u003e\nSigned-off-by: KOVACS Krisztian \u003chidden@sch.bme.hu\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b171e19ed08c8ba832e5325fadf1be493f56665d",
      "tree": "017208f9fcc4ef2cc3fe5cc3f262d2455eda9f61",
      "parents": [
        "143b11c03cd42f2284efe5128afc057d8fc86c78",
        "7c19a3d280297d43ef5ff7c6b205dc208a16d3d1"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 29 23:06:00 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 29 23:06:00 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\n\tnet/mac80211/mlme.c\n"
    },
    {
      "commit": "a627266570605a98c5fda5b8234d9e92015e4d14",
      "tree": "5af86658a09241d08694558f976e93d29e526762",
      "parents": [
        "6be547a61d6220199826070cda792297c3d15994"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Thu Aug 28 01:11:25 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Aug 28 01:11:25 2008 -0700"
      },
      "message": "ip: speedup /proc/net/rt_cache handling\n\nWhen scanning route cache hash table, we can avoid taking locks for\nempty buckets.  Both /proc/net/rt_cache and NETLINK RTM_GETROUTE\ninterface are taken into account.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d994af0d50efc96b2077978fe9f066992639d525",
      "tree": "5f69b70980175e386815da3ac35d08ed27e8a7a0",
      "parents": [
        "7982d5e1b350acb96aa156916c44c25ef87bb809"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Wed Aug 27 02:35:18 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 27 02:35:18 2008 -0700"
      },
      "message": "ipv4: mode 0555 in ipv4_skeleton\n\nvpnc on today\u0027s kernel says Cannot open \"/proc/sys/net/ipv4/route/flush\":\nd--------- 0 root root 0 2008-08-26 11:32 /proc/sys/net/ipv4/route\nd--------- 0 root root 0 2008-08-26 19:16 /proc/sys/net/ipv4/neigh\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nAcked-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2f4520d35d89ca6c5cd129c38e3b11f0283b7d1b",
      "tree": "06038a77e1c4f81a7f349a0c49c6a61061b65922",
      "parents": [
        "30c2235cbc477d4629983d440cdc4f496fec9246"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 25 15:17:44 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 25 15:17:44 2008 -0700"
      },
      "message": "ipv4: sysctl fixes\n\nnet.ipv4.neigh should be a part of skeleton to avoid ordering problems\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c6153b5b77650879d78dec76414213c76dd8d574",
      "tree": "05f4d13104c1dd6dd7c0f04d3815aededec323b8",
      "parents": [
        "323c048836f73a11ded6f9743feda21c00465cb0"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Aug 15 13:44:31 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 15 13:44:31 2008 -0700"
      },
      "message": "ipv4: Disable route secret interval on zero interval\n\nLet me first state that disabling the route cache hash rebuild\nshould not be done without extensive analysis on the risk profile\nand careful deliberation.\n\nHowever, there are times when this can be done safely or for\ntesting.  For example, when you have mechanisms for ensuring\nthat offending parties do not exist in your network.\n\nThis patch lets the user disable the rebuild if the interval is\nset to zero.  This also incidentally fixes a divide-by-zero error\nwith name-spaces.\n\nIn addition, this patch makes the effect of an interval change\nimmediate rather than it taking effect at the next rebuild as\nis currently the case.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "11d46123bfea068a48483f00518d301f452647fb",
      "tree": "d4c1e82e26e1f8dd3ac79e51826af246432fd74a",
      "parents": [
        "abf5cdb89d09ca981db10e1a85fd8531440165f2"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 06 18:30:43 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 06 18:30:43 2008 -0700"
      },
      "message": "ipv4: Fix over-ifdeffing of ip_static_sysctl_init.\n\nNoticed by Paulius Zaleckas.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6d273f8d011c351c9603c1dbfeae2c7458edd30d",
      "tree": "1f57a87061f07f69a5c580540133e601ced33f96",
      "parents": [
        "0967d61ea0d8e8a7826bd8949cd93dd1e829ac55"
      ],
      "author": {
        "name": "Rami Rosen",
        "email": "ramirose@gmail.com",
        "time": "Wed Aug 06 02:33:49 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 06 02:33:49 2008 -0700"
      },
      "message": "ipv4: replace dst_metric() with dst_mtu() in net/ipv4/route.c.\n\nThis patch replaces dst_metric() with dst_mtu() in net/ipv4/route.c.\n\nSigned-off-by: Rami Rosen \u003cramirose@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9a5467fd600669cda488771dac3e951034fe2b08",
      "tree": "20c3c73ff3571e525193aca20d3602161b4e90be",
      "parents": [
        "676056132425ac425d7215cdaa8bd25582e07966",
        "00b1304c4ca81dd893973cc620b87a5c3ff3f660"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 01 11:35:16 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 01 11:35:16 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (46 commits)\n  tcp: MD5: Fix IPv6 signatures\n  skbuff: add missing kernel-doc for do_not_encrypt\n  net/ipv4/route.c: fix build error\n  tcp: MD5: Fix MD5 signatures on certain ACK packets\n  ipv6: Fix ip6_xmit to send fragments if ipfragok is true\n  ipvs: Move userspace definitions to include/linux/ip_vs.h\n  netdev: Fix lockdep warnings in multiqueue configurations.\n  netfilter: xt_hashlimit: fix race between htable_destroy and htable_gc\n  netfilter: ipt_recent: fix race between recent_mt_destroy and proc manipulations\n  netfilter: nf_conntrack_tcp: decrease timeouts while data in unacknowledged\n  irda: replace __FUNCTION__ with __func__\n  nsc-ircc: default to dongle type 9 on IBM hardware\n  bluetooth: add quirks for a few hci_usb devices\n  hysdn: remove the packed attribute from PofTimStamp_tag\n  isdn: use the common ascii hex helpers\n  tg3: adapt tg3 to use reworked PCI PM code\n  atm: fix direct casts of pointers to u32 in the InterPhase driver\n  atm: fix const assignment/discard warnings in the ATM networking driver\n  net: use the common ascii hex helpers\n  random32: seeding improvement\n  ...\n"
    },
    {
      "commit": "a1bc6eb4b499ae67ada9a01660010580b6569403",
      "tree": "95bcb20bd9ca30a82343e49d59e1e7c470bb057e",
      "parents": [
        "f418b006079ce537daf9436215f1d2a47e451602"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jul 30 06:32:52 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Aug 01 11:25:22 2008 -0400"
      },
      "message": "[PATCH] ipv4_static_sysctl_init() should be under CONFIG_SYSCTL\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "8a9204db665365354b349ed5b0bc054f0433a2a4",
      "tree": "e5ecc6efda8fc3f0d6b0c38319bdfd86edf4c62f",
      "parents": [
        "90b7e1120bb43ffaabb88d28f80a0c2e13167b15"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 31 20:51:22 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 31 20:51:22 2008 -0700"
      },
      "message": "net/ipv4/route.c: fix build error\n\nfix:\n\nnet/ipv4/route.c: In function \u0027ip_static_sysctl_init\u0027:\nnet/ipv4/route.c:3225: error: \u0027ipv4_route_path\u0027 undeclared (first use in this function)\nnet/ipv4/route.c:3225: error: (Each undeclared identifier is reported only once\nnet/ipv4/route.c:3225: error: for each function it appears in.)\nnet/ipv4/route.c:3225: error: \u0027ipv4_route_table\u0027 undeclared (first use in this function)\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "eeb61f719c00c626115852bbc91189dc3011a844",
      "tree": "b52cddf222ee55082c0aeee5627049aa0d12afa4",
      "parents": [
        "bfbcf034798b2ca45338cee5049b5694b7ddc865"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ZenIV.linux.org.uk",
        "time": "Sun Jul 27 08:59:33 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 27 09:45:34 2008 -0700"
      },
      "message": "missing bits of net-namespace / sysctl\n\nPiss-poor sysctl registration API strikes again, film at 11...\n\nWhat we really need is _pathname_ required to be present in already\nregistered table, so that kernel could warn about bad order.  That\u0027s the\nnext target for sysctl stuff (and generally saner and more explicit\norder of initialization of ipv[46] internals wouldn\u0027t hurt either).\n\nFor the time being, here are full fixups required by ..._rotable()\nstuff; we make per-net sysctl sets descendents of \"ro\" one and make sure\nthat sufficient skeleton is there before we start registering per-net\nsysctls.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6c3b8fc618905d7599dcc514c99ce4293d476f39",
      "tree": "f04de514889f8c7783a5f64645a0dad3b0140305",
      "parents": [
        "6c64825bf40ecc1b01610762ca736b18c8a9db92"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Sat Jul 26 17:51:06 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 26 17:51:06 2008 -0700"
      },
      "message": "netns: fix ip_rt_frag_needed rt_is_expired\n\nRunning recent kernels, and using a particular vpn gateway, I\u0027ve been\nhaving to edit my mails down to get them accepted by the smtp server.\n\nGit bisect led to commit e84f84f276473dcc673f360e8ff3203148bdf0e2 -\nnetns: place rt_genid into struct net.  The conversion from a !\u003d test\nto rt_is_expired() put one negative too many: and now my mail works.\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nAcked-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7c73a6faffae0bfae70639113aecf06af666e714",
      "tree": "3d7910c4674b673b061f3168b140454b1950c346",
      "parents": [
        "5e38e270444f2629de7a706b5a9ca1b333d14517"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Jul 16 20:20:11 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 16 20:20:11 2008 -0700"
      },
      "message": "mib: add net to IP_INC_STATS_BH\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "81c684d12ddc05bba4953e36e9cdd5939dde344b",
      "tree": "397ffc2a3e00f07d1cdda8707cf36bf3ca43268a",
      "parents": [
        "2c693610fe923764fe41b846fb86938a2010da6e"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Tue Jul 08 03:05:28 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 08 03:05:28 2008 -0700"
      },
      "message": "ipv4: remove flush_mutex from ipv4_sysctl_rtcache_flush\n\nIt is possible to avoid locking at all in ipv4_sysctl_rtcache_flush by\ndefining local ctl_table on the stack.\n\nThe patch is based on the suggestion from Eric W. Biederman.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "32cb5b4e035e3d7b52f1e9de87920645a00e5234",
      "tree": "54c26b95e4083e9ed6bb4593a2f940829779979b",
      "parents": [
        "e84f84f276473dcc673f360e8ff3203148bdf0e2"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Sat Jul 05 19:06:12 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 05 19:06:12 2008 -0700"
      },
      "message": "netns: selective flush of rt_cache\n\ndst cache is marked as expired on the per/namespace basis by previous\npath. Right now we have to implement selective cache shrinking. This\nprocedure has been ported from older OpenVz codebase.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e84f84f276473dcc673f360e8ff3203148bdf0e2",
      "tree": "c7ea9b10807acef5fb9c636d2b8b74204d32a37e",
      "parents": [
        "b00180defdeeac8e07e3dc02e53e7395d42bbd19"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Sat Jul 05 19:04:32 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 05 19:04:32 2008 -0700"
      },
      "message": "netns: place rt_genid into struct net\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b00180defdeeac8e07e3dc02e53e7395d42bbd19",
      "tree": "3e3343c81ae0a09b8baa9e2d3b42c9c73d16ad6d",
      "parents": [
        "86c657f6b5bbf2f3ec2213eca528998134a9b344"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Sat Jul 05 19:04:09 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 05 19:04:09 2008 -0700"
      },
      "message": "ipv4: pass current value of rt_genid into rt_hash\n\nBasically, there is no difference to atomic_read internally or pass it as\na parameter as rt_hash is inline.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "86c657f6b5bbf2f3ec2213eca528998134a9b344",
      "tree": "652124ea77cae97d15c376d28efddbaa21def25d",
      "parents": [
        "9f5e97e53675caeda48e9988122a30470f4d309d"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Sat Jul 05 19:03:31 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 05 19:03:31 2008 -0700"
      },
      "message": "netns: add struct net parameter to rt_cache_invalidate\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9f5e97e53675caeda48e9988122a30470f4d309d",
      "tree": "bf236781b078866c1b2190784611815738bf3a81",
      "parents": [
        "39a23e75087ce815abbddbd565b9a2e567ac47da"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Sat Jul 05 19:02:59 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 05 19:02:59 2008 -0700"
      },
      "message": "netns: make rt_secret_rebuild timer per namespace\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "39a23e75087ce815abbddbd565b9a2e567ac47da",
      "tree": "456669014c97282b3055c89e8c99aaa4f412f96a",
      "parents": [
        "639e104facec20f64f2eb940851ae45e5f255e6b"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Sat Jul 05 19:02:33 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 05 19:02:33 2008 -0700"
      },
      "message": "netns: register net.ipv4.route.flush in each namespace\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "639e104facec20f64f2eb940851ae45e5f255e6b",
      "tree": "54e035641e7640b1b1d49fd2fc94d503540274c5",
      "parents": [
        "ae299fc051aa68ca6ef1807c37bb92d9b6ff817c"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Sat Jul 05 19:02:06 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 05 19:02:06 2008 -0700"
      },
      "message": "ipv4: remove static flush_delay variable\n\nflush delay is used as an external storage for net.ipv4.route.flush sysctl\nentry. It is write-only.\n\nThe ctl_table-\u003edata for this entry is used once. Fix this case to point\nto the stack to remove global variable. Do this to avoid additional\nvariable on struct net in the next patch.\n\nPossible race (as it was before) accessing this local variable is removed\nusing flush_mutex.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "76e6ebfb40a2455c18234dcb0f9df37533215461",
      "tree": "f3b435e8b27a297f330fc7d497a0ef44022e7239",
      "parents": [
        "f43798c27684ab925adde7d8acc34c78c6e50df8"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Sat Jul 05 19:00:44 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 05 19:00:44 2008 -0700"
      },
      "message": "netns: add namespace parameter to rt_cache_flush\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0b040829952d84bf2a62526f0e24b624e0699447",
      "tree": "b2e836e7e64343f19b949e50099bbe2ea554ec30",
      "parents": [
        "573bf470e693f73a6ac437b17a64a10902ba54bf"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Tue Jun 10 22:46:50 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 11 21:00:38 2008 -0700"
      },
      "message": "net: remove CVS keywords\n\nThis patch removes CVS keywords that weren\u0027t updated for a long time\nfrom comments.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "51b77cae0d5aa8e1546fca855dcfe48ddfadfa9c",
      "tree": "5d6824e94b09784b6b41f39ca08e11844bc73c7b",
      "parents": [
        "7557af25155a82ac2dad73eec6b0166868bf8ea2"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Tue Jun 03 16:36:01 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 03 16:36:01 2008 -0700"
      },
      "message": "route: Mark unused route cache flags as such.\n\nAlso removes an obsolete check for the unused flag RTCF_MASQ.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1ac06e0306d0192a7a4d9ea1c9e06d355ce7e7d3",
      "tree": "610968ecaa89b3b9144db508dc2bd650afadce74",
      "parents": [
        "6f704992d3658aadff9e506c7fd80957fce33c5f"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Tue May 20 14:32:14 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 20 14:32:14 2008 -0700"
      },
      "message": "ipsec: Use the correct ip_local_out function\n\nBecause the IPsec output function xfrm_output_resume does its\nown dst_output call it should always call __ip_local_output\ninstead of ip_local_output as the latter may invoke dst_output\ndirectly.  Otherwise the return values from nf_hook and dst_output\nmay clash as they both use the value 1 but for different purposes.\n\nWhen that clash occurs this can cause a packet to be used after\nit has been freed which usually leads to a crash.  Because the\noffending value is only returned from dst_output with qdiscs\nsuch as HTB, this bug is normally not visible.\n\nThanks to Marco Berizzi for his perseverance in tracking this\ndown.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5ffc02a158997b1eb91ade8d02bcf521ff79a218",
      "tree": "80f9082f9a35c974236b20053ae4946523311ea3",
      "parents": [
        "0bbeafd0118fc3ae54990064760c889d41dc21d6"
      ],
      "author": {
        "name": "Satoru SATOH",
        "email": "satoru.satoh@gmail.com",
        "time": "Sun May 04 22:14:42 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 04 22:14:42 2008 -0700"
      },
      "message": "ip: Use inline function dst_metric() instead of direct access to dst-\u003emetric[]\n\nThere are functions to refer to the value of dst-\u003emetric[THE_METRIC-1]\ndirectly without use of a inline function \"dst_metric\" defined in\nnet/dst.h.\n\nThe following patch changes them to use the inline function\nconsistently.\n\nSigned-off-by: Satoru SATOH \u003csatoru.satoh@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0bbeafd0118fc3ae54990064760c889d41dc21d6",
      "tree": "f0df25cd51f7cfcf8b2ee5922ac2faded84d4f2c",
      "parents": [
        "1e0ba0060ffcee2e766ec3159196235b1a2a0ff3"
      ],
      "author": {
        "name": "Satoru SATOH",
        "email": "satoru.satoh@gmail.com",
        "time": "Sun May 04 22:12:43 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 04 22:12:43 2008 -0700"
      },
      "message": "ip: Make use of the inline function dst_metric_locked()\n\nSigned-off-by: Satoru SATOH \u003csatoru.satoh@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0010e46577a27c1d915034637f6c2fa57a9a091c",
      "tree": "dc13ec8dbbf980b53c8d1049dbf8944806cca0d2",
      "parents": [
        "980c478ddbb720948967b028ddbb4179a025bc2c"
      ],
      "author": {
        "name": "Timo Teras",
        "email": "timo.teras@iki.fi",
        "time": "Tue Apr 29 03:32:25 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 29 03:32:25 2008 -0700"
      },
      "message": "ipv4: Update MTU to all related cache entries in ip_rt_frag_needed()\n\nAdd struct net_device parameter to ip_rt_frag_needed() and update MTU to\ncache entries where ifindex is specified. This is similar to what is\nalready done in ip_rt_redirect().\n\nSigned-off-by: Timo Teras \u003ctimo.teras@iki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5e659e4cb0eedacdc1f621a61e400a4611ddef8a",
      "tree": "fa3c8743010dd640c48584a6fa8a910d27350c01",
      "parents": [
        "3d36696024499aef19dbf24a781e91a24fbbe4af"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Apr 24 01:02:16 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 24 01:02:16 2008 -0700"
      },
      "message": "[NET]: Fix heavy stack usage in seq_file output routines.\n\nPlan C: we can follow the Al Viro\u0027s proposal about %n like in this patch.\nThe same applies to udp, fib (the /proc/net/route file), rt_cache and \nsctp debug. This is minus ~150-200 bytes for each.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a7d632b6b4ad1c92746ed409e41f9dc571ec04e2",
      "tree": "90e6aa51a9df50aa4a437749e89356ab15a0ff5f",
      "parents": [
        "334f8b2afd9652e20f67ddee4fec483ed860425b"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Mon Apr 14 04:09:00 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 14 04:09:00 2008 -0700"
      },
      "message": "[IPV4]: Use NIPQUAD_FMT to format ipv4 addresses.\n\nAnd use %u to format port.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c0b8c32b1c96afc9b32b717927330025cc1c501e",
      "tree": "34997f5e86aa375746ecbe4f2c8899b4fa774a5e",
      "parents": [
        "996b1dbadcbcafb899f022303e01d46ab87920eb"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Thu Apr 10 04:00:28 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 10 04:00:28 2008 -0700"
      },
      "message": "IPV4: use xor rather than multiple ands for route compare\n\nThe comparison in ip_route_input is a hot path, by recoding the C\n\"and\" as bit operations, fewer conditional branches get generated\nso the code should be faster. Maybe someday Gcc will be smart\nenough to do this?\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nAcked-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2fa7527ba1d38175d1e42f7cb72bae5de3d55cc7",
      "tree": "48de882ae62ab51871142e2d6477e5d94fc1908a",
      "parents": [
        "1294fc4a4868d7e83ff749597fbf4e9d5f4d1aa0"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Thu Apr 10 01:55:27 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 10 01:55:27 2008 -0700"
      },
      "message": "IPV4: route rekey timer can be deferrable\n\nNo urgency on the rehash interval timer, so mark it as deferrable.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1294fc4a4868d7e83ff749597fbf4e9d5f4d1aa0",
      "tree": "164465f16a896a40c04ed8398498809bb7d1e918",
      "parents": [
        "5969f71d57928511b9cd8744aaf1ed9bc5e88ea2"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Thu Apr 10 01:54:01 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 10 01:54:01 2008 -0700"
      },
      "message": "IPV4: route use jhash3\n\nSince route hash is a triple, use jhash_3words rather doing the mixing\ndirectly. This should be as fast and give better distribution.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5969f71d57928511b9cd8744aaf1ed9bc5e88ea2",
      "tree": "044508aedecc2fef77e6b3b3a2ddc932e881728e",
      "parents": [
        "43db6d65e0ef943a361cb91f8baa49132009227b"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Thu Apr 10 01:52:09 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 10 01:52:09 2008 -0700"
      },
      "message": "IPV4: route inline changes\n\nDon\u0027t mark functions that are large as inline, let compiler decide.\nAlso, use inline rather than __inline__.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "878628fbf2589eb24357e42027d5f54b1dafd3c8",
      "tree": "30c109d8f337b3910e3b5364877c3c521dd700b5",
      "parents": [
        "57da52c1e62c6c13875e97de6c69d3156f8416da"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Wed Mar 26 03:57:35 2008 +0900"
      },
      "committer": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Wed Mar 26 04:40:00 2008 +0900"
      },
      "message": "[NET] NETNS: Omit namespace comparision without CONFIG_NET_NS.\n\nIntroduce an inline net_eq() to compare two namespaces.\nWithout CONFIG_NET_NS, since no namespace other than \u0026init_net\nexists, it is always 1.\n\nWe do not need to convert 1) inline vs inline and\n2) inline vs \u0026init_net comparisons.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\n"
    },
    {
      "commit": "1218854afa6f659be90b748cf1bc7badee954a35",
      "tree": "78b83e3941fa7e5a03c04e2e4f6ddb1a08ea38a0",
      "parents": [
        "3b1e0a655f8eba44ab1ee2a1068d169ccfb853b9"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Wed Mar 26 02:36:06 2008 +0900"
      },
      "committer": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Wed Mar 26 04:39:56 2008 +0900"
      },
      "message": "[NET] NETNS: Omit seq_net_private-\u003enet without CONFIG_NET_NS.\n\nWithout CONFIG_NET_NS, no namespace other than \u0026init_net exists,\nno need to store net in seq_net_private.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\n"
    },
    {
      "commit": "3b1e0a655f8eba44ab1ee2a1068d169ccfb853b9",
      "tree": "09edb35f32ebcfb1b4dad904425128a110ef16ee",
      "parents": [
        "c346dca10840a874240c78efe3f39acf4312a1f2"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Wed Mar 26 02:26:21 2008 +0900"
      },
      "committer": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Wed Mar 26 04:39:55 2008 +0900"
      },
      "message": "[NET] NETNS: Omit sock-\u003esk_net without CONFIG_NET_NS.\n\nIntroduce per-sock inlines: sock_net(), sock_net_set()\nand per-inet_timewait_sock inlines: twsk_net(), twsk_net_set().\nWithout CONFIG_NET_NS, no namespace other than \u0026init_net exists.\nLet\u0027s explicitly define them to help compiler optimizations.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\n"
    },
    {
      "commit": "c346dca10840a874240c78efe3f39acf4312a1f2",
      "tree": "c04cff20124eba5cc337cc5ec260ad2513eeb065",
      "parents": [
        "7cbca67c073263c179f605bdbbdc565ab29d801d"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Tue Mar 25 21:47:49 2008 +0900"
      },
      "committer": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Wed Mar 26 04:39:53 2008 +0900"
      },
      "message": "[NET] NETNS: Omit net_device-\u003end_net without CONFIG_NET_NS.\n\nIntroduce per-net_device inlines: dev_net(), dev_net_set().\nWithout CONFIG_NET_NS, no namespace other than \u0026init_net exists.\nLet\u0027s explicitly define them to help compiler optimizations.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\n"
    },
    {
      "commit": "817bc4db7794d6dc6594265ddea88d2b839cf2f8",
      "tree": "280b5e41521845a8af39095cc561c571b56e28af",
      "parents": [
        "ce259990785595420ace616faece09255bad1163"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Sat Mar 22 17:43:59 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 22 17:43:59 2008 -0700"
      },
      "message": "[IPV4] route: use read_mostly\n\nThe route table parameters are set based on system memory and sysctl\nvalues that almost never change. Also the genid only changes every\n10 minutes.\n\nRTprint is defined by never used.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ce259990785595420ace616faece09255bad1163",
      "tree": "f57699a3adb3c9087d272029080812e53f2a39ee",
      "parents": [
        "0098b7273e968fb9989a6e1e4e4c024cd081fe0d"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Sat Mar 22 17:42:37 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 22 17:42:37 2008 -0700"
      },
      "message": "[IPV4]: sk parameter is unused in ipv4_dst_blackhole.\n\nJust remove it.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ee6b967301b4aa5d4a4b61e2f682f086266db9fb",
      "tree": "197c2430f87733dc80d00d1971f1be2a0e562358",
      "parents": [
        "a05c44f6d5fb6cd29da04f96bf5ffaa05f545ac5"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Wed Mar 05 18:30:47 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 05 18:30:47 2008 -0800"
      },
      "message": "[IPV4]: Add \u0027rtable\u0027 field in struct sk_buff to alias \u0027dst\u0027 and avoid casts\n\n(Anonymous) unions can help us to avoid ugly casts.\n\nA common cast it the (struct rtable *)skb-\u003edst one.\n\nDefining an union like  :\nunion {\n     struct dst_entry *dst;\n     struct rtable *rtable;\n};\npermits to use skb-\u003ertable in place.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1937504dd156573a1883f10a5a167f3f78c6cb4a",
      "tree": "9c1c61190885f8c32d9fcf826a6d2a541e8f540a",
      "parents": [
        "e5b13cb10de209f924fdf9478214bcf7e4008d6d"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Thu Feb 28 20:52:04 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 28 20:52:04 2008 -0800"
      },
      "message": "[NETNS]: Enable all routing manipulation via netlink inside namespace.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "73b3871165e45ea6d57775c6bfb1a1760ad6e36b",
      "tree": "1e3d8e162e360a3c120dfbf73c62144acc9f994a",
      "parents": [
        "a75e936f2f1ba8428f70b204f3ddd3a7ff17d281"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Thu Feb 28 20:51:18 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 28 20:51:18 2008 -0800"
      },
      "message": "[NETNS]: Register /proc/net/rt_cache for each namespace.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a75e936f2f1ba8428f70b204f3ddd3a7ff17d281",
      "tree": "96ec0b9caec0bfe9b1cfd8a1300d21ec2f3766f4",
      "parents": [
        "642d6318119af60ac019524bd4edcfbd19d9d211"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Thu Feb 28 20:50:55 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 28 20:50:55 2008 -0800"
      },
      "message": "[NETNS]: Process /proc/net/rt_cache inside a namespace.\n\nShow routing cache for a particular namespace only.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "642d6318119af60ac019524bd4edcfbd19d9d211",
      "tree": "7de60bd02fd71902133ce6920afeed496d897782",
      "parents": [
        "317805b8f875ca1bd43d594c0a210e24fab7d177"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Thu Feb 28 20:50:33 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 28 20:50:33 2008 -0800"
      },
      "message": "[IPV4]: rt_cache_get_next should take rt_genid into account.\n\nIn the other case /proc/net/rt_cache will look inconsistent in respect to\ngenid.\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": "317805b8f875ca1bd43d594c0a210e24fab7d177",
      "tree": "c3ec5090088b2aa546546f0285ecc830fe64ce63",
      "parents": [
        "9de8f76d200342f1e9495861c2c9ce87a6bc26d0"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Thu Feb 28 20:50:06 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 28 20:50:06 2008 -0800"
      },
      "message": "[NETNS]: Process ip_rt_redirect in the correct namespace.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "770207208e4374f013f6f49233d5c8c8df505e03",
      "tree": "542a5b947a56f0f8375c88f19e5f60a9a5cd78a8",
      "parents": [
        "4436f4cbfac15acea139863e322ed2f9efb118d3"
      ],
      "author": {
        "name": "Wang Chen",
        "email": "wangchen@cn.fujitsu.com",
        "time": "Thu Feb 28 14:14:25 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 28 14:14:25 2008 -0800"
      },
      "message": "[IPV4]: Use proc_create() to setup -\u003eproc_fops first\n\nUse proc_create() to make sure that -\u003eproc_fops be setup before gluing\nPDE to main tree.\n\nSigned-off-by: Wang Chen \u003cwangchen@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4136cd523eb0c0bd53173e16fd7406d31d05824f",
      "tree": "8a6b73d066e88eff6736e32863fdad4501717d6c",
      "parents": [
        "5da621f1c514b8a39c6f7112becb97262ae76900"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Feb 07 17:58:20 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 07 17:58:20 2008 -0800"
      },
      "message": "[IPV4]: route: fix crash ip_route_input\n\nip_route_me_harder() may call ip_route_input() with skbs that don\u0027t\nhave skb-\u003edev set for skbs rerouted in LOCAL_OUT and TCP resets\ngenerated by the REJECT target, resulting in a crash when dereferencing\nskb-\u003edev-\u003end_net. Since ip_route_input() has an input device argument,\nit seems correct to use that one anyway.\n\nBug introduced in b5921910a1 (Routing cache virtualization).\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "29e75252da20f3ab9e132c68c9aed156b87beae6",
      "tree": "affd152c959eede937b50f6054a303a388a88545",
      "parents": [
        "174ce0483198b9dffd712fdd7d53635954fddffe"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Thu Jan 31 17:05:09 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 31 19:28:27 2008 -0800"
      },
      "message": "[IPV4] route cache: Introduce rt_genid for smooth cache invalidation\n\nCurrent ip route cache implementation is not suited to large caches.\n\nWe can consume a lot of CPU when cache must be invalidated, since we\ncurrently need to evict all cache entries, and this eviction is\nsometimes asynchronous. min_delay \u0026 max_delay can somewhat control this\nasynchronism behavior, but whole thing is a kludge, regularly triggering\ninfamous soft lockup messages. When entries are still in use, this also\nconsumes a lot of ram, filling dst_garbage.list.\n\nA better scheme is to use a generation identifier on each entry,\nso that cache invalidation can be performed by changing the table\nidentifier, without having to scan all entries.\nNo more delayed flushing, no more stalling when secret_interval expires.\n\nInvalidated entries will then be freed at GC time (controled by\nip_rt_gc_timeout or stress), or when an invalidated entry is found\nin a chain when an insert is done.\nThus we keep a normal equilibrium.\n\nThis patch :\n- renames rt_hash_rnd to rt_genid (and makes it an atomic_t)\n- Adds a new rt_genid field to \u0027struct rtable\u0027 (filling a hole on 64bit)\n- Checks entry-\u003ert_genid at appropriate places :\n"
    },
    {
      "commit": "e242297055f906e8e225fb95a8edbc88e9052634",
      "tree": "d0fb2d3ba0273bd621681b8de7621ee9b73baf44",
      "parents": [
        "ad1984e844fb6edaa8b9984be23669f4e19168be"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Wed Jan 30 20:07:45 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 31 19:27:23 2008 -0800"
      },
      "message": "[NET]: should explicitely initialize atomic_t field in struct dst_ops\n\nAll but one struct dst_ops static initializations miss explicit\ninitialization of entries field.\n\nAs this field is atomic_t, we should use ATOMIC_INIT(0), and not\nrely on atomic_t implementation.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b5921910a1de4ba82add59154976c3dc7352c8c2",
      "tree": "c1de2c3734219548c2883777597247caa5450dc5",
      "parents": [
        "eee80592c3c1f7381c04913d9d3eb6e3c3c87628"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Tue Jan 22 23:50:25 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:11:13 2008 -0800"
      },
      "message": "[NETNS]: Routing cache virtualization.\n\nBasically, this piece looks relatively easy. Namespace is already\navailable on the dst entry via device and the device is safe to\ndereferrence. Compare it with one of a searcher and skip entry if\nappropriate.\n\nThe only exception is ip_rt_frag_needed. So, add namespace parameter to it.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f206351a50ea86250fabea96b9af8d8f8fc02603",
      "tree": "014148d8b45db1995d98374ec3b30e635f243197",
      "parents": [
        "f1b050bf7a88910f9f00c9c8989c1bf5a67dd140"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Tue Jan 22 22:07:34 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:11:07 2008 -0800"
      },
      "message": "[NETNS]: Add namespace parameter to ip_route_output_key.\n\nNeeded to propagate it down to the ip_route_output_flow.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f1b050bf7a88910f9f00c9c8989c1bf5a67dd140",
      "tree": "37e8dce4268cb657a75e5074a38db48264f1e42f",
      "parents": [
        "611c183ebcb5af384df3a4ddb391034a1b6ac255"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Tue Jan 22 22:07:10 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:11:06 2008 -0800"
      },
      "message": "[NETNS]: Add namespace parameter to ip_route_output_flow.\n\nNeeded to propagate it down to the __ip_route_output_key.\n\nSigned_off_by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "611c183ebcb5af384df3a4ddb391034a1b6ac255",
      "tree": "368ec261285af31fcf5a4f61651f01017e6d2692",
      "parents": [
        "b40afd0e5c568aba79a4ae2a963cd2af1f09490d"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Tue Jan 22 22:06:48 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:11:05 2008 -0800"
      },
      "message": "[NETNS]: Add namespace parameter to __ip_route_output_key.\n\nThis is only required to propagate it down to the\nip_route_output_slow.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b40afd0e5c568aba79a4ae2a963cd2af1f09490d",
      "tree": "581ff80976c89de63419ce79e2c8a66ee4cde8db",
      "parents": [
        "1ab352768fc73838b062776ca5d1add3876a019f"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Tue Jan 22 22:06:19 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:11:05 2008 -0800"
      },
      "message": "[NETNS]: Add namespace parameter to ip_route_output_slow.\n\nThis function needs a net namespace to lookup devices, fib tables,\netc. in, so pass it there.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1ab352768fc73838b062776ca5d1add3876a019f",
      "tree": "b30bd7744e30e90b6db01b71a5c8b86140538255",
      "parents": [
        "010278ec4cdf404aefc0bbd5e7406674fec95286"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Tue Jan 22 22:04:30 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:11:04 2008 -0800"
      },
      "message": "[NETNS]: Add namespace parameter to ip_dev_find.\n\nin_dev_find() need a namespace to pass it to fib_get_table(), so add\nan argument.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "010278ec4cdf404aefc0bbd5e7406674fec95286",
      "tree": "11bd9546231f92214289c2db4bd8f2bc94153d27",
      "parents": [
        "64c2d5382954ccf6054424653f4c7f4f04c1ff21"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Tue Jan 22 22:04:04 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:11:03 2008 -0800"
      },
      "message": "[NETNS]: Add netns parameter to fib_select_default.\n\nCurrently fib_select_default calls fib_get_table() with the\ninit_net. Prepare it to provide a correct namespace to lookup default\nroute.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ecfdc8c5424079393a9b05e8a5aaf5c6873029f6",
      "tree": "e15ed74491e1bcfbfe5cee1d7964e5c334663ea2",
      "parents": [
        "84a885f44961c17a91cae9a9c03e4b3dae5d8d94"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Mon Jan 21 17:35:06 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:10:23 2008 -0800"
      },
      "message": "[NETNS]: Pass correct namespace in ip_rt_get_source.\n\nip_rt_get_source is the infamous place for which dst_ifdown kludges\nhave been implemented. This means that rt-\u003eu.dst.dev can be safely\ndereferrenced obtain nd_net.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "84a885f44961c17a91cae9a9c03e4b3dae5d8d94",
      "tree": "008cdba1ea0e14fdb2b95a74ad8e7998e37c49ae",
      "parents": [
        "86167a377f1c4fb40742302ae7682dd574abde86"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Mon Jan 21 17:34:35 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:10:22 2008 -0800"
      },
      "message": "[NETNS]: Pass correct namespace in ip_route_input_slow.\n\nThe packet on the input path always has a referrence to an input\nnetwork device it is passed from. Extract network namespace from it.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "da0e28cb68a7e22b47c6ae1a5b12cb538c13c69f",
      "tree": "ac5bc308d4532f7cd271ee58c9bba5decf9699bd",
      "parents": [
        "ba93ef746560df597b19bbcee04ce7ed70ebc700"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Mon Jan 21 17:31:55 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:10:19 2008 -0800"
      },
      "message": "[NETNS]: Add netns parameter to fib_lookup.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1e637c74b0f84eaca02b914c0b8c6f67276e9697",
      "tree": "18e42bbac80529c36ac3e6a8e5b68538e0db10df",
      "parents": [
        "96750162b5f7350ec7ba7cf747a6623858d65dd2"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@computergmbh.de",
        "time": "Mon Jan 21 03:18:08 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:08:44 2008 -0800"
      },
      "message": "[IPV4]: Enable use of 240/4 address space.\n\nThis short patch modifies the IPv4 networking to enable use of the\n240.0.0.0/4 (aka \"class-E\") address space as propsed in the internet\ndraft draft-fuller-240space-00.txt.\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@computergmbh.de\u003e\nAcked-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "569d36452ee26c08523cc9f658901c5188640853",
      "tree": "f296ea41b92f655031f9345d3febd8319e5a06ee",
      "parents": [
        "a6501e080c318f8d4467679d17807f42b3a33cd5"
      ],
      "author": {
        "name": "Daniel Lezcano",
        "email": "dlezcano@fr.ibm.com",
        "time": "Fri Jan 18 03:56:57 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:02:46 2008 -0800"
      },
      "message": "[NETNS][DST] dst: pass the dst_ops as parameter to the gc functions\n\nThe garbage collection function receive the dst_ops structure as\nparameter. This is useful for the next incoming patchset because it\nwill need the dst_ops (there will be several instances) and the\nnetwork namespace pointer (contained in the dst_ops).\n\nThe protocols which do not take care of the namespaces will not be\nimpacted by this change (expect for the function signature), they do\njust ignore the parameter.\n\nSigned-off-by: Daniel Lezcano \u003cdlezcano@fr.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6b175b26c1048d331508940ad3516ead1998084f",
      "tree": "810b0a18cee4d87c573274fdfd4a59fc624cfed2",
      "parents": [
        "8ad4942cd5bdad4143f7aa1d1bd4f7b2526c19c5"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Jan 10 03:25:28 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:01:27 2008 -0800"
      },
      "message": "[NETNS]: Add netns parameter to inet_(dev_)add_type.\n\nThe patch extends the inet_addr_type and inet_dev_addr_type with the\nnetwork namespace pointer. That allows to access the different tables\nrelatively to the network namespace.\n\nThe modification of the signature function is reported in all the\ncallers of the inet_addr_type using the pointer to the well known\ninit_net.\n\nAcked-by: Benjamin Thery \u003cbenjamin.thery@bull.net\u003e\nAcked-by: Daniel Lezcano \u003cdlezcano@fr.ibm.com\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cb7928a528264a69b29b6001b490b64607ed0557",
      "tree": "250a296f668275eb628e6dd1f83c221f0afae422",
      "parents": [
        "f0b5a0dcf125ce43855961ef4f965a91112bea23"
      ],
      "author": {
        "name": "Rami Rosen",
        "email": "ramirose@gmail.com",
        "time": "Wed Jan 09 00:18:24 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:01:07 2008 -0800"
      },
      "message": "[IPV4]: Remove unsupported DNAT (RTCF_NAT and RTCF_NAT) in IPV4\n\n- The DNAT (Destination NAT) is not implemented in IPV4.\n\n- This patch remove the code which checks these flags\nin net/ipv4/arp.c and net/ipv4/route.c.\n\nThe RTCF_NAT and RTCF_NAT should stay in the header (linux/in_route.h)\nbecause they are used in DECnet.\n\nSigned-off-by: Rami Rosen \u003cramirose@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b790cedd24a7f7d1639072b3faf35f1f56cb38ea",
      "tree": "b39d755577be2cc822b5340ba5e4d77a45a6b4a7",
      "parents": [
        "9cb5734e5b9b26097c7fa28a9c6426a204cc15e3"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Fri Dec 21 01:49:07 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:59:57 2008 -0800"
      },
      "message": "[INET]: Avoid an integer divide in rt_garbage_collect()\n\nSince \u0027goal\u0027 is a signed int, compiler may emit an integer divide\nto compute goal/2.\n\nUsing a right shift is OK here and less expensive.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f97c1e0c6ebdb606c97b6cb5e837c6110ac5a961",
      "tree": "2af3da0114614a127099f9ab2ef706f676faa376",
      "parents": [
        "21cf2253ebcf070bc307e0b56d696a2519c75cb4"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Sun Dec 16 13:45:43 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:58:15 2008 -0800"
      },
      "message": "[IPV4] net/ipv4: Use ipv4_is_\u003ctype\u003e\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "586f12115264b767ea6a48ce081ca25a39c1e3dd",
      "tree": "48bb41f07d4dc2a1e0d9f9d71286594d3b9800fa",
      "parents": [
        "9355bbd685bf705a7f7bd6470b92ca0562c7a661"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Sun Dec 16 13:32:48 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:58:12 2008 -0800"
      },
      "message": "[IPV4]: Switch users of ipv4_devconf(_all) to use the pernet one\n\nThese are scattered over the code, but almost all the\n\"critical\" places already have the proper struct net\nat hand except for snmp proc showing function and routing\nrtnl handler.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bb72845e699d3c84e5f861b51db686107a51dea5",
      "tree": "a4a84343cbcc96e86c83954dc82f2a5ee0ce787d",
      "parents": [
        "7233b9f33e72ca477034ff5cf901c89efba3a5bc"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Dec 12 18:48:58 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:57:42 2008 -0800"
      },
      "message": "[IPSEC]: Make callers of xfrm_lookup to use XFRM_LOOKUP_WAIT\n\nThis patch converts all callers of xfrm_lookup that used an\nexplicit value of 1 to indiciate blocking to use the new flag\nXFRM_LOOKUP_WAIT.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5a3e55d68ec5baac578bf32ba67607088c763657",
      "tree": "9e8f9dfae66c8a85735122ece8a9c85cdb5c31c4",
      "parents": [
        "b84a2189c4e1835c51fd6b974a0497be9bc4ba87"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Fri Dec 07 00:38:10 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:56:44 2008 -0800"
      },
      "message": "[NET]: Multiple namespaces in the all dst_ifdown routines.\n\nMove dst entries to a namespace loopback to catch refcounting leaks.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1ff1cc202e9a7dbd9f54d1bce5adb44283497185",
      "tree": "f96bc57c92bd111931a26abf95f0c0828a0d17de",
      "parents": [
        "107f163428b846d7cef68cb6f436788bb2f6c2e1"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Dec 05 21:15:05 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:56:36 2008 -0800"
      },
      "message": "[IPV4] ROUTE: Convert rt_hash_lock_init() macro into function\n\nThere\u0027s no need in having this function exist in a form\nof macro. Properly formatted function looks much better.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "107f163428b846d7cef68cb6f436788bb2f6c2e1",
      "tree": "d5cc806a1f71471b8dbe67a4a107ed840f757ad2",
      "parents": [
        "78c686e9faff05f1194e892d5b1273ce24021ff6"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Dec 05 21:14:28 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:56:36 2008 -0800"
      },
      "message": "[IPV4] ROUTE: Clean up proc files creation.\n\nThe rt_cache, stats/rt_cache and rt_acct(optional) files\ncreation looks a bit messy. Clean this out and join them\nto other proc-related functions under the proper ifdef.\n\nThe struct net * argument in a new function will help net\nnamespaces patches look nicer.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "78c686e9faff05f1194e892d5b1273ce24021ff6",
      "tree": "4ac7916385f7f88657bafd1cf30abbdfc00457b7",
      "parents": [
        "f4d900a2cae94256f56be7769734100c7054bf00"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Dec 05 21:13:48 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:56:35 2008 -0800"
      },
      "message": "[IPV4] ROUTE: Collect proc-related functions together\n\nThe net/ipv4/route.c file declares some entries for proc\nto dump some routing info. The reading functions are\nscattered over this file - collect them together.\n\nBesides, remove a useless IP_RT_ACCT_CPU macro.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "beb659bd8c9f2ccc8195779383f71088f936bf6e",
      "tree": "0d07cc0a6e4525720537d08e7f905245f016136a",
      "parents": [
        "42a73808ed4f30b739eb52bcbb33a02fe62ceef5"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Mon Nov 19 22:43:37 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:54:33 2008 -0800"
      },
      "message": "[PATCH] IPV4 : Move ip route cache flush (secret_rebuild) from softirq to workqueue\n\nEvery 600 seconds (ip_rt_secret_interval), a softirq flush of the\nwhole ip route cache is triggered. On loaded machines, this can starve\nsoftirq for many seconds and can eventually crash.\n\nThis patch moves this flush to a workqueue context, using the worker\nwe intoduced in commit 39c90ece7565f5c47110c2fa77409d7a9478bd5b (IPV4:\nConvert rt_check_expire() from softirq processing to workqueue.)\n\nAlso, immediate flushes (echo 0 \u003e/proc/sys/net/ipv4/route/flush) are\nusing rt_do_flush() helper function, wich take attention to\nrescheduling.\n\nNext step will be to handle delayed flushes\n(\"echo -1 \u003e/proc/sys/net/ipv4/route/flush\" or \"ip route flush cache\")\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "97c53cacf00d1f5aa04adabfebcc806ca8b22b10",
      "tree": "6b7223df312aa27a5017c4d7c4d1e500a33ed8d8",
      "parents": [
        "b854272b3c732316676e9128f7b9e6f1e1ff88b0"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Mon Nov 19 22:26:51 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:54:25 2008 -0800"
      },
      "message": "[NET]: Make rtnetlink infrastructure network namespace aware (v3)\n\nAfter this patch none of the netlink callback support anything\nexcept the initial network namespace but the rtnetlink infrastructure\nnow handles multiple network namespaces.\n\nChanges from v2:\n- IPv6 addrlabel processing\n\nChanges from v1:\n- no need for special rtnl_unlock handling\n- fixed IPv6 ndisc\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b854272b3c732316676e9128f7b9e6f1e1ff88b0",
      "tree": "c90c74b9ec068453881f1173da4c57d6bb00a7d9",
      "parents": [
        "ad5d20a63940fcfb40af76ba06148f36d5d0b433"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Sat Dec 01 00:21:31 2007 +1100"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:54:24 2008 -0800"
      },
      "message": "[NET]: Modify all rtnetlink methods to only work in the initial namespace (v2)\n\nBefore I can enable rtnetlink to work in all network namespaces I need\nto be certain that something won\u0027t break.  So this patch deliberately\ndisables all of the rtnletlink methods in everything except the\ninitial network namespace.  After the methods have been audited this\nextra check can be disabled.\n\nChanges from v1:\n- added IPv6 addrlabel protection\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "8dbde28d9711475adfe0e9c88505e38743cdc2a7",
      "tree": "0f41aade985a5626ece9c2007fde14c1ced2a065",
      "parents": [
        "68f8353b480e5f2e136c38a511abdbb88eaa8ce2"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Fri Nov 16 03:32:10 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:54:08 2008 -0800"
      },
      "message": "[NET]: NET_CLS_ROUTE : convert ip_rt_acct to per_cpu variables\n\nip_rt_acct needs 4096 bytes per cpu to perform some accounting.\nIt is actually allocated as a single huge array [4096*NR_CPUS]\n(rounded up to a power of two)\n\nConverting it to a per cpu variable is wanted to :\n - Save space on machines were num_possible_cpus() \u003c NR_CPUS\n - Better NUMA placement (each cpu gets memory on its node)\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "862b82c6f960cc61274d370aa78ce1112f92a83e",
      "tree": "51e252e1525dd7d02a695d428890a4c37fae2442",
      "parents": [
        "ef76bc23ef2acf20c8f7f841a542d8ab74c827c6"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Tue Nov 13 21:43:11 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:53:48 2008 -0800"
      },
      "message": "[IPSEC]: Merge most of the output path\n\nAs part of the work on asynchrnous cryptographic operations, we need\nto be able to resume from the spot where they occur.  As such, it\nhelps if we isolate them to one spot.\n\nThis patch moves most of the remaining family-specific processing into\nthe common output code.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "352e512c32b634768303a43768245a0363cebbe7",
      "tree": "97509ac130ecbe2084808271ccc459918a9d5fc1",
      "parents": [
        "b4ce92775c2e7ff9cf79cca4e0a19c8c5fd6287b"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Tue Nov 13 21:34:06 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:53:37 2008 -0800"
      },
      "message": "[NET]: Eliminate duplicate copies of dst_discard\n\nWe have a number of copies of dst_discard scattered around the place\nwhich all do the same thing, namely free a packet on the input or\noutput paths.\n\nThis patch deletes all of them except dst_discard and points all the\nusers to it.\n\nThe only non-trivial bit is decnet where it returns an error.\nHowever, conceptually this is identical to the blackhole functions\nused in IPv4 and IPv6 which do not return errors.  So they should\neither all return errors or all return zero.  For now I\u0027ve stuck with\nthe majority and picked zero as the return value.\n\nIt doesn\u0027t really matter in practice since few if any driver would\nreact differently depending on a zero return value or NET_RX_DROP.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b24b8a247ff65c01b252025926fe564209fae4fc",
      "tree": "8a9e0ea1e24b4733d8b9433d41877659505e9da4",
      "parents": [
        "a92aa318b4b369091fd80433c80e62838db8bc1c"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Jan 23 21:20:07 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:53:35 2008 -0800"
      },
      "message": "[NET]: Convert init_timer into setup_timer\n\nMany-many code in the kernel initialized the timer-\u003efunction\nand  timer-\u003edata together with calling init_timer(timer). There\nis already a helper for this. Use it for networking code.\n\nThe patch is HUGE, but makes the code 130 lines shorter\n(98 insertions(+), 228 deletions(-)).\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nAcked-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0bcceadceb0907094ba4e40bf9a7cd9b080f13fb",
      "tree": "6cec2343354c5a22107eb53da276ab744519033a",
      "parents": [
        "9cd40029423701c376391da59d2c6469672b4bed"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Thu Jan 10 03:55:57 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 10 03:55:57 2008 -0800"
      },
      "message": "[IPV4] ROUTE: fix rcu_dereference() uses in /proc/net/rt_cache\n\nIn rt_cache_get_next(), no need to guard seq-\u003eprivate by a\nrcu_dereference() since seq is private to the thread running this\nfunction. Reading seq.private once (as guaranted bu rcu_dereference())\nor several time if compiler really is dumb enough wont change the\nresult.\n\nBut we miss real spots where rcu_dereference() are needed, both in\nrt_cache_get_first() and rt_cache_get_next()\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d8c9283089287341c85a0a69de32c2287a990e71",
      "tree": "e504124cb4825357eed1665d988c3295b4649030",
      "parents": [
        "2b2b2e35b71e5be8bc06cc0ff38df15dfedda19b"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Mon Jan 07 21:52:14 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 08 23:30:16 2008 -0800"
      },
      "message": "[IPV4] ROUTE: ip_rt_dump() is unecessary slow\n\nI noticed \"ip route list cache x.y.z.t\" can be *very* slow.\n\nWhile strace-ing -T it I also noticed that first part of route cache\nis fetched quite fast :\n\nrecvmsg(3, {msg_name(12)\u003d{sa_family\u003dAF_NETLINK, pid\u003d0, groups\u003d00000000}, msg_iov(1)\u003d[{\"p\\0\\0\\0\\30\\0\\2\\0\\254i\\202\nGXm\\0\\0\\2  \\0\\376\\0\\0\\2\\0\\2\\0\"..., 16384}], msg_controllen\u003d0, msg_flags\u003d0}, 0) \u003d 3772 \u003c0.000047\u003e\nrecvmsg(3, {msg_name(12)\u003d{sa_family\u003dAF_NETLINK, pid\u003d0, groups\u003d00000000}, msg_iov(1)\u003d[{\"\\234\\0\\0\\0\\30\\0\\2\\0\\254i\\\n202GXm\\0\\0\\2  \\0\\376\\0\\0\\1\\0\\2\"..., 16384}], msg_controllen\u003d0, msg_flags\u003d0}, 0) \u003d 3736 \u003c0.000042\u003e\nrecvmsg(3, {msg_name(12)\u003d{sa_family\u003dAF_NETLINK, pid\u003d0, groups\u003d00000000}, msg_iov(1)\u003d[{\"\\204\\0\\0\\0\\30\\0\\2\\0\\254i\\\n202GXm\\0\\0\\2  \\0\\376\\0\\0\\1\\0\\2\"..., 16384}], msg_controllen\u003d0, msg_flags\u003d0}, 0) \u003d 3740 \u003c0.000055\u003e\nrecvmsg(3, {msg_name(12)\u003d{sa_family\u003dAF_NETLINK, pid\u003d0, groups\u003d00000000}, msg_iov(1)\u003d[{\"\\234\\0\\0\\0\\30\\0\\2\\0\\254i\\\n202GXm\\0\\0\\2  \\0\\376\\0\\0\\1\\0\\2\"..., 16384}], msg_controllen\u003d0, msg_flags\u003d0}, 0) \u003d 3712 \u003c0.000043\u003e\nrecvmsg(3, {msg_name(12)\u003d{sa_family\u003dAF_NETLINK, pid\u003d0, groups\u003d00000000}, msg_iov(1)\u003d[{\"\\204\\0\\0\\0\\30\\0\\2\\0\\254i\\\n202GXm\\0\\0\\2  \\0\\376\\0\\0\\1\\0\\2\"..., 16384}], msg_controllen\u003d0, msg_flags\u003d0}, 0) \u003d 3732 \u003c0.000053\u003e\nrecvmsg(3, {msg_name(12)\u003d{sa_family\u003dAF_NETLINK, pid\u003d0, groups\u003d00000000}, msg_iov(1)\u003d[{\"p\\0\\0\\0\\30\\0\\2\\0\\254i\\202\nGXm\\0\\0\\2  \\0\\376\\0\\0\\2\\0\\2\\0\"..., 16384}], msg_controllen\u003d0, msg_flags\u003d0}, 0) \u003d 3708 \u003c0.000052\u003e\nrecvmsg(3, {msg_name(12)\u003d{sa_family\u003dAF_NETLINK, pid\u003d0, groups\u003d00000000}, msg_iov(1)\u003d[{\"p\\0\\0\\0\\30\\0\\2\\0\\254i\\202\nGXm\\0\\0\\2  \\0\\376\\0\\0\\2\\0\\2\\0\"..., 16384}], msg_controllen\u003d0, msg_flags\u003d0}, 0) \u003d 3680 \u003c0.000041\u003e\n\nwhile the part at the end of the table is more expensive:\n\nrecvmsg(3, {msg_name(12)\u003d{sa_family\u003dAF_NETLINK, pid\u003d0, groups\u003d00000000}, msg_iov(1)\u003d[{\"\\204\\0\\0\\0\\30\\0\\2\\0\\254i\\202GXm\\0\\0\\2  \\0\\376\\0\\0\\1\\0\\2\"..., 16384}], msg_controllen\u003d0, msg_flags\u003d0}, 0) \u003d 3656 \u003c0.003857\u003e\nrecvmsg(3, {msg_name(12)\u003d{sa_family\u003dAF_NETLINK, pid\u003d0, groups\u003d00000000}, msg_iov(1)\u003d[{\"\\204\\0\\0\\0\\30\\0\\2\\0\\254i\\202GXm\\0\\0\\2  \\0\\376\\0\\0\\1\\0\\2\"..., 16384}], msg_controllen\u003d0, msg_flags\u003d0}, 0) \u003d 3772 \u003c0.003891\u003e\nrecvmsg(3, {msg_name(12)\u003d{sa_family\u003dAF_NETLINK, pid\u003d0, groups\u003d00000000}, msg_iov(1)\u003d[{\"p\\0\\0\\0\\30\\0\\2\\0\\254i\\202GXm\\0\\0\\2  \\0\\376\\0\\0\\2\\0\\2\\0\"..., 16384}], msg_controllen\u003d0, msg_flags\u003d0}, 0) \u003d 3712 \u003c0.003765\u003e\nrecvmsg(3, {msg_name(12)\u003d{sa_family\u003dAF_NETLINK, pid\u003d0, groups\u003d00000000}, msg_iov(1)\u003d[{\"p\\0\\0\\0\\30\\0\\2\\0\\254i\\202GXm\\0\\0\\2  \\0\\376\\0\\0\\2\\0\\2\\0\"..., 16384}], msg_controllen\u003d0, msg_flags\u003d0}, 0) \u003d 3700 \u003c0.003879\u003e\nrecvmsg(3, {msg_name(12)\u003d{sa_family\u003dAF_NETLINK, pid\u003d0, groups\u003d00000000}, msg_iov(1)\u003d[{\"p\\0\\0\\0\\30\\0\\2\\0\\254i\\202GXm\\0\\0\\2  \\0\\376\\0\\0\\2\\0\\2\\0\"..., 16384}], msg_controllen\u003d0, msg_flags\u003d0}, 0) \u003d 3676 \u003c0.003797\u003e\nrecvmsg(3, {msg_name(12)\u003d{sa_family\u003dAF_NETLINK, pid\u003d0, groups\u003d00000000}, msg_iov(1)\u003d[{\"p\\0\\0\\0\\30\\0\\2\\0\\254i\\202GXm\\0\\0\\2  \\0\\376\\0\\0\\2\\0\\2\\0\"..., 16384}], msg_controllen\u003d0, msg_flags\u003d0}, 0) \u003d 3724 \u003c0.003856\u003e\nrecvmsg(3, {msg_name(12)\u003d{sa_family\u003dAF_NETLINK, pid\u003d0, groups\u003d00000000}, msg_iov(1)\u003d[{\"\\234\\0\\0\\0\\30\\0\\2\\0\\254i\\202GXm\\0\\0\\2  \\0\\376\\0\\0\\1\\0\\2\"..., 16384}], msg_controllen\u003d0, msg_flags\u003d0}, 0) \u003d 3736 \u003c0.003848\u003e\n\nThe following patch corrects this performance/latency problem,\nremoving quadratic behavior.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "56c99d0415e8b778c200f115b198c126243ec351",
      "tree": "0e8c15e26681fbcaf5127c8238950c2c5c58a6ac",
      "parents": [
        "7f53878dc2618bf7c01e2135bd271ac01bd85dc9"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Thu Dec 06 02:19:07 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Dec 07 01:07:38 2007 -0800"
      },
      "message": "[IPV4]: Remove prototype of ip_rt_advice\n\nip_rt_advice has been gone, so no need to keep prototype and debug message.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7f53878dc2618bf7c01e2135bd271ac01bd85dc9",
      "tree": "9a0f0d7dcb2aba668f423b2f5392ab5ec290ec8f",
      "parents": [
        "ca46f9c834913fc5d5c196d70673375cdaba6b56"
      ],
      "author": {
        "name": "Mitsuru Chinen",
        "email": "mitch@linux.vnet.ibm.com",
        "time": "Fri Dec 07 01:07:24 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 07 01:07:24 2007 -0800"
      },
      "message": "[IPv4]: Reply net unreachable ICMP message\n\nIPv4 stack doesn\u0027t reply any ICMP destination unreachable message\nwith net unreachable code when IP detagrams are being discarded\nbecause of no route could be found in the forwarding path.\nIncidentally, IPv6 stack replies such ICMPv6 message in the similar\nsituation.\n\nSigned-off-by: Mitsuru Chinen \u003cmitch@linux.vnet.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "483b23ffa3a5f44767038b0a676d757e0668437e",
      "tree": "0d3e90fba6499af90077e01ba3c4da48a7c9b1d8",
      "parents": [
        "b242e891c218162cfbae064b1a9136cdbed5ee53"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Fri Nov 16 02:29:24 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sun Nov 18 18:47:38 2007 -0800"
      },
      "message": "[NET]: Corrects a bug in ip_rt_acct_read()\n\nIt seems that stats of cpu 0 are counted twice, since\nfor_each_possible_cpu() is looping on all possible cpus, including 0\n\nBefore percpu conversion of ip_rt_acct, we should also remove the\nassumption that CPU 0 is online (or even possible)\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d90bf5a976793edfa88d3bb2393f0231eb8ce1e5",
      "tree": "c664096ffb1f34413ef57e906b38a255bf57edd0",
      "parents": [
        "66ba886254edbbd9442d30f1eef6f6fb0145027d"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Wed Nov 14 16:14:05 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 14 16:14:05 2007 -0800"
      },
      "message": "[NET]: rt_check_expire() can take a long time, add a cond_resched()\n\nOn commit 39c90ece7565f5c47110c2fa77409d7a9478bd5b:\n\n\t[IPV4]: Convert rt_check_expire() from softirq processing to workqueue.\n\nwe converted rt_check_expire() from softirq to workqueue, allowing the\nfunction to perform all work it was supposed to do.\n\nWhen the IP route cache is big, rt_check_expire() can take a long time\nto run.  (default settings : 20% of the hash table is scanned at each\ninvocation)\n\nAdding cond_resched() helps giving cpu to higher priority tasks if\nnecessary.\n\nUsing a \"if (need_resched())\" test before calling \"cond_resched();\" is\nnecessary to avoid spending too much time doing the resched check.\n(My tests gave a time reduction from 88 ms to 25 ms per\nrt_check_expire() run on my i686 test machine)\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "03f49f345749abc08bc84b835433c94eea6e972b",
      "tree": "8fad6fef152adaa473e2ab3a824cb04fe98b3bf1",
      "parents": [
        "b1667609cd9a98ce32559e06f36fca54c775a51f"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Sat Nov 10 21:28:34 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Nov 10 21:28:34 2007 -0800"
      },
      "message": "[NET]: Make helper to get dst entry and \"use\" it\n\nThere are many places that get the dst entry, increase the\n__use counter and set the \"lastuse\" time stamp.\n\nMake a helper for this.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b1667609cd9a98ce32559e06f36fca54c775a51f",
      "tree": "4e3c5aa7add5c67434f3123723be0aff5fb6f9c2",
      "parents": [
        "fbd52eb2bd17bd3468974aa2fdce140f0cd32fc7"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Sat Nov 10 21:26:41 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Nov 10 21:26:41 2007 -0800"
      },
      "message": "[IPV4]: Remove bugus goto-s from ip_route_input_slow\n\nBoth places look like\n\n        if (err \u003d\u003d XXX) \n               goto yyy;\n   done:\n\nwhile both yyy targets look like\n\n        err \u003d XXX;\n        goto done;\n\nso this is ok to remove the above if-s.\n\nyyy labels are used in other places and are not removed.\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"
    }
  ],
  "next": "cfcabdcc2d5a810208e5bb3974121b7ed60119aa"
}
