)]}'
{
  "log": [
    {
      "commit": "008298231abbeb91bc7be9e8b078607b816d1a4a",
      "tree": "8cb0c17720086ef97c614b96241f06aa63ce8511",
      "parents": [
        "6ab33d51713d6d60c7677c0d020910a8cb37e513"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Thu Nov 20 20:14:53 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 20:14:53 2008 -0800"
      },
      "message": "netdev: add more functions to netdevice ops\n\nThis patch moves neigh_setup and hard_start_xmit into the network device ops\nstructure. For bisection, fix all the previously converted drivers as well.\nBonding driver took the biggest hit on this.\n\nAdded a prefetch of the hard_start_xmit in the fast path to try and reduce\nany impact this would have.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c02373bf2759dd210dc8c72c9c9b4a8f1c279cac",
      "tree": "7cf270d2d9fc6d31320b56ddee9b05d2abf1b727",
      "parents": [
        "ccad637b0c57de1825ffd34c311bf71487545ac2"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Wed Nov 19 21:46:18 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 19 22:42:37 2008 -0800"
      },
      "message": "netdev: convert loopback to net_device_ops\n\nFirst device to convert over is the loopback device.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "505d4f73dda9e20d59da05008f1f5eb432613e71",
      "tree": "a30032d6474ce1d8dea1853c1907f4c3bdd8a19c",
      "parents": [
        "5d6d480908300a0c0b3be8b58567dfcef62c83a5"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@maxwell.aristanetworks.com",
        "time": "Fri Nov 07 22:54:20 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 07 22:54:20 2008 -0800"
      },
      "message": "net: Guaranetee the proper ordering of the loopback device. v2\n\nI was recently hunting a bug that occurred in network namespace\ncleanup.  In looking at the code it became apparrent that we have\nand will continue to have cases where if we have anything going\non in a network namespace there will be assumptions that the\nloopback device is present.   Things like sending igmp unsubscribe\nmessages when we bring down network devices invokes the routing\ncode which assumes that at least the loopback driver is present.\n\nTherefore to avoid magic initcall ordering hackery that is hard\nto follow and hard to get right insert a call to register the\nloopback device directly from net_dev_init().    This guarantes\nthat the loopback device is the first device registered and\nthe last network device to go away.\n\nBut do it carefully so we register the loopback device after\nwe clear dev_boot_phase.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@maxwell.aristanetworks.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3d8160b1493bcadca74fbb635d79b3928b8999cf",
      "tree": "901a01cd2170f4eddaba38e05b17683acb9cc0de",
      "parents": [
        "167c6274c30d17c41742096d1a12c32bd3b7e366"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 07 22:52:14 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 07 22:52:14 2008 -0800"
      },
      "message": "Revert \"net: Guaranetee the proper ordering of the loopback device.\"\n\nThis reverts commit ae33bc40c0d96d02f51a996482ea7e41c5152695.\n"
    },
    {
      "commit": "ae33bc40c0d96d02f51a996482ea7e41c5152695",
      "tree": "ab250ee1d4eac70ac77a4f40ed303373c41d9213",
      "parents": [
        "d0c082cea6dfb9b674b4f6e1e84025662dbd24e8"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Nov 05 16:00:02 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 05 16:00:02 2008 -0800"
      },
      "message": "net: Guaranetee the proper ordering of the loopback device.\n\nI was recently hunting a bug that occurred in network namespace\ncleanup.  In looking at the code it became apparrent that we have\nand will continue to have cases where if we have anything going\non in a network namespace there will be assumptions that the\nloopback device is present.   Things like sending igmp unsubscribe\nmessages when we bring down network devices invokes the routing\ncode which assumes that at least the loopback driver is present.\n\nTherefore to avoid magic initcall ordering hackery that is hard\nto follow and hard to get right insert a call to register the\nloopback device directly from net_dev_init().    This guarantes\nthat the loopback device is the first device registered and\nthe last network device to go away.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "babcda74e9d96bb58fd9c6c5112dbdbff169e695",
      "tree": "fcbe5e70f1fff01ad49504171e964c387a5ad7f8",
      "parents": [
        "ab2910921064b657610a3b501358a305e13087ea"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 03 21:11:17 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 03 21:11:17 2008 -0800"
      },
      "message": "drivers/net: Kill now superfluous -\u003elast_rx stores.\n\nThe generic packet receive code takes care of setting\nnetdev-\u003elast_rx when necessary, for the sake of the\nbonding ARP monitor.\n\nDrivers need not do it any more.\n\nSome cases had to be skipped over because the drivers\nwere making use of the -\u003elast_rx value themselves.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3a8af722495469e9c550386b910c5b93c91cf107",
      "tree": "2378ed49af8922dd9b0fee6b94cf8f55644c5b49",
      "parents": [
        "e5e7ad44d05d3f8227a10a17761505fce2c08e38"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Oct 31 00:00:33 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Oct 31 00:00:33 2008 -0700"
      },
      "message": "net: Really remove all of LOOPBACK_TSO code.\n\nAs noticed by Saikiran Madugula, commit 7447ef63cf2dfdc444f4c72ae13f604350b2e25f\n(\"loopback: Remove rest of LOOPBACK_TSO code.\") got rid of\nemulate_large_send_offload() but didn\u0027t get rid of the call\nsite as well.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "04a0551c87363f100b04d28d7a15a632b70e18e7",
      "tree": "0e99521316fab64754104677c6fa6b6a63b3f922",
      "parents": [
        "6f85a124d819e1cf33b16d064a6a656fd448a735"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Aug 15 14:56:37 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 15 19:52:01 2008 -0700"
      },
      "message": "loopback: Drop obsolete ip_summed setting\n\nNow that the network stack can handle inbound packets with partial\nchecksums, we should no longer clobber the ip_summed field in the\nloopback driver.  This is because CHECKSUM_UNNECESSARY implies that\nthe checksum field is actually valid which is not true for loopback\npackets since it\u0027s only partial (and thus complemented).\n\nThis allows packets from lo to then be SNATed to an external source\nwhile still preserving the checksum\u0027s validity.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7447ef63cf2dfdc444f4c72ae13f604350b2e25f",
      "tree": "f329b96bbfb41f6e246d248ae7fca3beead7acc5",
      "parents": [
        "f22f8567cb0a530d8958d177e0f268783bd0d894"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 15 14:54:03 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 15 19:51:26 2008 -0700"
      },
      "message": "loopback: Remove rest of LOOPBACK_TSO code.\n\nIt hasn\u0027t been enabled for a long time and the generic GSO\nengine is better documentation of what is expected of a\ndevice implementing TSO.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f22f8567cb0a530d8958d177e0f268783bd0d894",
      "tree": "45232b989e5e645ef9f1c2483a2e8db60873e4b8",
      "parents": [
        "e4119a43187139736750bad5d694c6a839df045d"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Aug 15 14:52:08 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 15 19:51:25 2008 -0700"
      },
      "message": "loopback: Enable TSO\n\nThis patch enables TSO since the loopback device is naturally\ncapable of handling packets of any size.  This also means that\nwe won\u0027t enable GSO on lo which is good until GSO is fixed to\npreserve netfilter state as netfilter treats loopback packets\nin a special way.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e3c50d5d25ac09efd9acbe2b2a3e365466de84ed",
      "tree": "dc5bc3322f9e4829c2143fc4fc60532fd84ab9a1",
      "parents": [
        "6b0fb1261a4655613bed5dac0e935e733969e999"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 15 02:58:39 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 17 19:21:09 2008 -0700"
      },
      "message": "netdev: netdev_priv() can now be sane again.\n\nThe private area of a netdev is now at a fixed offset once more.\n\nUnfortunately, some assumptions that netdev_priv() \u003d\u003d netdev-\u003epriv\ncrept back into the tree.  In particular this happened in the\nloopback driver.  Make it use netdev-\u003eml_priv.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\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": "6a7657f56271bded0ddca1cb1e8772506a10c0a3",
      "tree": "81ee7414dbbf1bc9856b408c9bc49da4b5c5d32b",
      "parents": [
        "81103a52f26d8630aa0c1dcddccaebb04d7922a8"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Dec 12 11:00:04 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:57:25 2008 -0800"
      },
      "message": "[NET]: Remove unused define from loopback driver.\n\nThe LOOPBACK_OVERHEAD is not used in this file at all.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2d2c54e3d058a9be78c04f429fa5e090eb454daa",
      "tree": "d7c6269dc32c06d47608d3269bf352a462e69e99",
      "parents": [
        "9ca20ebc263260acfea35a1a4910203b7ce6bd5a"
      ],
      "author": {
        "name": "Emil Medve",
        "email": "Emilian.Medve@freescale.com",
        "time": "Thu Dec 27 08:17:22 2007 -0600"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sat Jan 12 17:41:04 2008 -0500"
      },
      "message": "Fixed a small typo in the loopback driver\n\nThis is probably a result of the changes from commit\n854d836 - [NET]: Dynamically allocate the loopback device, part 2\n\nSigned-off-by: Emil Medve \u003cEmilian.Medve@Freescale.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "022cbae611a37eda80d498f8f379794c8ac3be47",
      "tree": "c6fe8fe45748127c916d32ec97601c435065d5cb",
      "parents": [
        "ed160e839d2e1118529e58b04d52dba703ca629c"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Tue Nov 13 03:23:50 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 13 03:23:50 2007 -0800"
      },
      "message": "[NET]: Move unneeded data to initdata section.\n\nThis patch reverts Eric\u0027s commit 2b008b0a8e96b726c603c5e1a5a7a509b5f61e35\n\nIt diets .text \u0026 .data section of the kernel if CONFIG_NET_NS is not set.\nThis is safe after list operations cleanup.\n\nSigned-of-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2b008b0a8e96b726c603c5e1a5a7a509b5f61e35",
      "tree": "80d71a763d3e8365805203cf22093783e64e1bbc",
      "parents": [
        "72998d8c84247817c4b8b05b0256f29453e435f5"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Fri Oct 26 22:54:53 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Oct 26 22:54:53 2007 -0700"
      },
      "message": "[NET]: Marking struct pernet_operations __net_initdata was inappropriate\n\nIt is not safe to to place struct pernet_operations in a special section.\nWe need struct pernet_operations to last until we call unregister_pernet_subsys.\nWhich doesn\u0027t happen until module unload.\n\nSo marking struct pernet_operations is a disaster for modules in two ways.\n- We discard it before we call the exit method it points to.\n- Because I keep struct pernet_operations on a linked list discarding\n  it for compiled in code removes elements in the middle of a linked\n  list and does horrible things for linked insert.\n\nSo this looks safe assuming __exit_refok is not discarded\nfor modules.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9d6dda32c7570bbf189cf74fbc36338d0a94e999",
      "tree": "eac71d1bf5f7c07ebf4360fd9cd48d79cab402fd",
      "parents": [
        "4ae289444b968b4cefd776ada8da519ce10e56fa"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Mon Oct 15 12:55:33 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 15 12:55:33 2007 -0700"
      },
      "message": "[NETNS]: Don\u0027t panic on creating the namespace\u0027s loopback\n\nWhen the loopback device is failed to initialize inside the new \nnamespaces, panic() is called. Do not do it when the namespace \nin question is not the init_net.\n\nPlus cleanup the error path a bit.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4665079cbb2a3e17de82f2ab2940b9f97f37d65e",
      "tree": "8e51e9b9e6155eaeccf28783620a07b20a067d8d",
      "parents": [
        "d62a38d1ab350f787e4941e42a3d3e97971e38f5"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Mon Oct 08 20:38:39 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:54:58 2007 -0700"
      },
      "message": "[NETNS]: Move some code into __init section when CONFIG_NET_NS\u003dn\n\nWith the net namespaces many code leaved the __init section,\nthus making the kernel occupy more memory than it did before.\nSince we have a config option that prohibits the namespace\ncreation, the functions that initialize/finalize some netns\nstuff are simply not needed and can be freed after the boot.\n\nCurrently, this is almost not noticeable, since few calls\nare no longer in __init, but when the namespaces will be\nmerged it will be possible to free more code. I propose to\nuse the __net_init, __net_exit and __net_initdata \"attributes\"\nfor functions/variables that are not used if the CONFIG_NET_NS\nis not set to save more space in memory.\n\nThe exiting functions cannot just reside in the __exit section,\nas noticed by David, since the init section will have\nreferences on it and the compilation will fail due to modpost\nchecks. These references can exist, since the init namespace\nnever dies and the exit callbacks are never called. So I\nintroduce the __exit_refok attribute just like it is already\ndone with the __init_refok.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9e0db4b12c7deda532ad13d37a84ee41dd691066",
      "tree": "6701d28ea9e22be4a2b9ff2904f9d7a4a3d1fe52",
      "parents": [
        "fe242cfd3390b1c7d54d60f7ebb6a4054804cd41"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Sep 27 17:09:39 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:53:29 2007 -0700"
      },
      "message": "[NET]: Bring comments in loopback.c uptodate.\n\nA hint as to why it is safe to use per cpu variables,\nand note that we actually can have multiple instances\nof the loopback device now.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "070ac3a2651e3c1c4d277c5f1981517427c386a7",
      "tree": "364fa74ca42b34e61d3d219e79212083f1f59702",
      "parents": [
        "f4618d39a34dab316090263b42cd8799f31ce277"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Thu Sep 27 12:04:19 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:52:56 2007 -0700"
      },
      "message": "[NET]: Proper comment for loopback initialization order.\n\nLoopback device is special. It should be initialized at the very\nbeginning.  Initialization order has been changed by\nEric W. Biederman \u003cebiederm@xmission.com\u003e and this change is non-obvious\nand important enough to add proper comment.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3b04ddde02cf1b6f14f2697da5c20eca5715017f",
      "tree": "9da1341a5a399a507b5ea6bf5a3047506b8d8f8f",
      "parents": [
        "b95cce3576813ac3f86bafa6b5daaaaf7574b0fe"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Tue Oct 09 01:40:57 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:52:52 2007 -0700"
      },
      "message": "[NET]: Move hardware header operations out of netdevice.\n\nSince hardware header operations are part of the protocol class\nnot the device instance, make them into a separate object and\nsave memory.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4c94f8c0c9a82fad84bc5df453aff755cfed70b7",
      "tree": "558fdec7718f5b254408f5cf4772477e0efa0447",
      "parents": [
        "2774c7aba6c97a2535be3309a2209770953780b3"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Sep 26 22:11:56 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:52:49 2007 -0700"
      },
      "message": "[NET]: Remove no longer relevant comment in loopback driver.\n\nIt talks about __get_cpu_var() which the driver no longer\ndoes.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2774c7aba6c97a2535be3309a2209770953780b3",
      "tree": "9327c795707f6d723c6395c31e1c060e70b5e0db",
      "parents": [
        "0cc217e16cb8ca8ef2544363571fce94259900e0"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Sep 26 22:10:56 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:52:49 2007 -0700"
      },
      "message": "[NET]: Make the loopback device per network namespace.\n\nThis patch makes loopback_dev per network namespace.  Adding\ncode to create a different loopback device for each network\nnamespace and adding the code to free a loopback device\nwhen a network namespace exits.\n\nThis patch modifies all users the loopback_dev so they\naccess it as init_net.loopback_dev, keeping all of the\ncode compiling and working.  A later pass will be needed to\nupdate the users to use something other than the initial network\nnamespace.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5f6d88b9149d537f3db0798f7d312be632422e15",
      "tree": "8e85e14c152a5b6c7f61ef2176cb6ed53854e280",
      "parents": [
        "9dd776b6d7b0b85966b6ddd03e2b2aae59012ab1"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Sep 26 22:08:12 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:52:47 2007 -0700"
      },
      "message": "[NET]: Dynamically allocate the per cpu counters for the loopback device.\n\nThis patch add support for dynamically allocating the statistics counters\nfor the loopback device and adds appropriate device methods for allocating\nand freeing the loopback device.\n\nThis completes support for creating multiple instances of the loopback\ndevice,  in preparation for creating per network namespace instances.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "854d8363f37491c955b0edc60d37b62f3d71bb67",
      "tree": "fd8f1a2de2c60ca8abcac0b8117cdc5e293c2ac4",
      "parents": [
        "de3cb747ffac5f2a4a6bb156e7e2fd5229e688e5"
      ],
      "author": {
        "name": "Daniel Lezcano",
        "email": "dlezcano@fr.ibm.com",
        "time": "Tue Sep 25 19:18:04 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:52:15 2007 -0700"
      },
      "message": "[NET]: Dynamically allocate the loopback device, part 2.\n\nDoing this makes loopback.c a better example of how to do a\nsimple network device, and it removes the special case\nsingle static allocation of a struct net_device, hopefully\nmaking maintenance easier.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Daniel Lezcano \u003cdlezcano@fr.ibm.com\u003e\nAcked-By: Kirill Korotaev \u003cdev@sw.ru\u003e\nAcked-by: Benjamin Thery \u003cbenjamin.thery@bull.net\u003e\n"
    },
    {
      "commit": "de3cb747ffac5f2a4a6bb156e7e2fd5229e688e5",
      "tree": "fe79764b8093843934c9b9f82f573e7a92cef406",
      "parents": [
        "556829657397b9b05baec6691ead4e22ee8d1567"
      ],
      "author": {
        "name": "Daniel Lezcano",
        "email": "dlezcano@fr.ibm.com",
        "time": "Tue Sep 25 19:16:28 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:52:14 2007 -0700"
      },
      "message": "[NET]: Dynamically allocate the loopback device, part 1.\n\nThis patch replaces all occurences to the static variable\nloopback_dev to a pointer loopback_dev. That provides the\nmindless, trivial, uninteressting change part for the dynamic\nallocation for the loopback.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Daniel Lezcano \u003cdlezcano@fr.ibm.com\u003e\nAcked-By: Kirill Korotaev \u003cdev@sw.ru\u003e\nAcked-by: Benjamin Thery \u003cbenjamin.thery@bull.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "88d3aafdae5c5e1d2dd9489a5c8a24e29d335f2e",
      "tree": "272ce75c30a170420ac8bbfd679c3faed9f9d20a",
      "parents": [
        "09f75cd7bf13720738e6a196cc0107ce9a5bd5a0"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sat Sep 15 14:41:06 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:51:17 2007 -0700"
      },
      "message": "[ETHTOOL] Provide default behaviors for a few ethtool sub-ioctls\n\nFor the operations\n\tget-tx-csum\n\tget-sg\n\tget-tso\n\tget-ufo\nthe default ethtool_op_xxx behavior is fine for all drivers, so we\npermit op\u003d\u003dNULL to imply the default behavior.\n\nThis provides a more uniform behavior across all drivers, eliminating\nethtool(8) \"ioctl not supported\" errors on older drivers that had\nnot been updated for the latest sub-ioctls.\n\nThe ethtool_op_xxx() functions are left exported, in case anyone\nwishes to call them directly from a driver-private implementation --\na not-uncommon case.  Should an ethtool_op_xxx() helper remain unused\nfor a while, except by net/core/ethtool.c, we can un-export it at a\nlater date.\n\n[ Resolved conflicts with set/get value ethtool patch... -DaveM ]\n\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "abf07acbb9f122218095d0d221e0f949160ccc37",
      "tree": "eca70bc6a9c97fef39500bad0bca67efdf78402f",
      "parents": [
        "36ac3135f5e824942fada4efa3204066b4b40ab1"
      ],
      "author": {
        "name": "Daniel Lezcano",
        "email": "dlezcano@fr.ibm.com",
        "time": "Wed Sep 12 14:54:14 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:17 2007 -0700"
      },
      "message": "[NETNS]: Fix loopback network namespace initialization.\n\nThe core patchset of the network namespace sent by\nEric Biederman does not do dynamic loopback creation.\nSo there is no call to alloc_netdev_mq which fills the\nnetwork namespace field of the netdevice.\n\nThis patch assign the loopback to the init network namespace.\n\nSigned-off-by: Daniel Lezcano \u003cdlezcano@fr.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ce286d327341295f58d89864d746a524287cfdf9",
      "tree": "ee7241e7504333cc4cf647ede551248268f865c4",
      "parents": [
        "b267b179648e46ea8e2a44f7314a23eb6aee1d6c"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Sep 12 13:53:49 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:12 2007 -0700"
      },
      "message": "[NET]: Implement network device movement between namespaces\n\nThis patch introduces NETIF_F_NETNS_LOCAL a flag to indicate\na network device is local to a single network namespace and\nshould never be moved.  Useful for pseudo devices that we\nneed an instance in each network namespace (like the loopback\ndevice) and for any device we find that cannot handle multiple\nnetwork namespaces so we may trap them in the initial network\nnamespace.\n\nThis patch introduces the function dev_change_net_namespace\na function used to move a network device from one network\nnamespace to another.  To the network device nothing\nspecial appears to happen, to the components of the network\nstack it appears as if the network device was unregistered\nin the network namespace it is in, and a new device\nwas registered in the network namespace the device\nwas moved to.\n\nThis patch sets up a namespace device destructor that\nupon the exit of a network namespace moves all of the\nmovable network devices  to the initial network namespace\nso they are not lost.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "aeed9e82cd258b9699eaa6568efefba9cc6d5f01",
      "tree": "0a3cd08162e6c7b11a7fde452877571b48559620",
      "parents": [
        "7f988eab57bd22884bbc452fb04c6c18738666b3"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Jul 30 16:37:19 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jul 31 02:28:14 2007 -0700"
      },
      "message": "[NET] loopback: Panic if registration fails\n\nBecause IPv4 and IPv6 both depend on the presence of the loopback\ndevice to function, failure in registration the loopback device should\nbe fatal.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "33036807b32d5ed1f4fdfe2d5e6bab2bb260b9f7",
      "tree": "5f33e13e08849f94ef5d0529777fff73a72aea44",
      "parents": [
        "87a596e0b8bc344bd6bfebe83b56d11fb79ee23a"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Tue Apr 10 13:25:40 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:28:52 2007 -0700"
      },
      "message": "[NET]: loopback driver can use loopback_dev integrated net_device_stats\n\nRusty added a new \u0027stats\u0027 field to struct net_device.\n\nloopback driver can use it instead of declaring another struct\nnet_device_stats This saves some memory.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "27d7ff46a3498d3debc6ba68fb8014c702b81170",
      "tree": "b5a0c617cf8339524d3b1f1633e08eae7b94cf86",
      "parents": [
        "3dbad80ac7632f243b824d469301abb97ec634a1"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@ghostprotocols.net",
        "time": "Sat Mar 31 11:55:19 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:28:29 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce skb_copy_to_linear_data{_offset}\n\nTo clearly state the intent of copying to linear sk_buffs, _offset being a\noverly long variant but interesting for the sake of saving some bytes.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\n"
    },
    {
      "commit": "eddc9ec53be2ecdbf4efe0efd4a83052594f0ac0",
      "tree": "4a38ab4dbd9d61fdf5a5ea6ed61463e0b9e33ba7",
      "parents": [
        "e023dd643798c4f06c16466af90b4d250e4b8bd7"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Fri Apr 20 22:47:35 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:10 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce ip_hdr(), remove skb-\u003enh.iph\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d56f90a7c96da5187f0cdf07ee7434fe6aa78bbc",
      "tree": "3b9073cecfbb3b6a1e25ab2b5dd2a22a43aef238",
      "parents": [
        "bbe735e4247dba32568a305553b010081c8dea99"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Apr 10 20:50:43 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:24:59 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce skb_network_header()\n\nFor the places where we need a pointer to the network header, it is still legal\nto touch skb-\u003enh.raw directly if just adding to, subtracting from or setting it\nto another layer header.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c1d2bbe1cd6c7bbdc6d532cefebb66c7efb789ce",
      "tree": "03a715961ba576a11cbc0e91c5d465e4c4d95d82",
      "parents": [
        "57effc70a5be9f7804e9a99964eb7265367effca"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Apr 10 20:45:18 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:24:46 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce skb_reset_network_header(skb)\n\nFor the common, open coded \u0027skb-\u003enh.raw \u003d skb-\u003edata\u0027 operation, so that we can\nlater turn skb-\u003enh.raw into a offset, reducing the size of struct sk_buff in\n64bit land while possibly keeping it as a pointer on 32bit.\n\nThis one touches just the most simple case, next will handle the slightly more\n\"complex\" cases.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "48d49d0ccdaa9caff4636ef9c3410973d28131b5",
      "tree": "3bdf0729bf05e817d1bb9c3299906682414f8a76",
      "parents": [
        "f64955eb117ad62480b858fd69a11e6f9e74f60b"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Sat Mar 10 12:30:58 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:24:37 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce skb_set_mac_header()\n\nFor the cases where we want to set skb-\u003emac.raw to an offset from skb-\u003edata.\n\nSimple cases first, the memmove ones and specially pktgen will be left for later.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4c13eb6657fe9ef7b4dc8f1a405c902e9e5234e0",
      "tree": "d338fad7a61824d8c14c079c0be437ea4ad83f01",
      "parents": [
        "029720f15dcd3c6c16824177cfc486083b229411"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Wed Apr 25 17:40:23 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:24:30 2007 -0700"
      },
      "message": "[ETH]: Make eth_type_trans set skb-\u003edev like the other *_type_trans\n\nOne less thing for drivers writers to worry about.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "60903f2c6616939afd0335b49697beeb7219657e",
      "tree": "99825b33f85dbb00f649f9c6e863861a8368ef0e",
      "parents": [
        "ee74baa7d83e9e0c2fdaff8122ee9cefd06cddc5"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Tue Jan 02 00:35:48 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Jan 03 18:38:10 2007 -0800"
      },
      "message": "[NET] drivers/net/loopback.c: convert to module_init()\n\nThis patch converts drivers/net/loopback.c to using module_init().\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "58f539740b1ccfc5ef4e509ec2efe82621b546e3",
      "tree": "f0e24b555808ce919528a0c5950e188768e97f23",
      "parents": [
        "78d79423179c0efc7ec34b55d287e7be4ca07da6"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Fri Oct 20 00:32:41 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Oct 20 00:32:41 2006 -0700"
      },
      "message": "[NET]: Can use __get_cpu_var() instead of per_cpu() in loopback driver.\n\nAs BHs are off in loopback_xmit(), preemption cannot occurs, so we can\nuse __get_cpu_var() instead of per_cpu() (and avoid a\npreempt_enable()/preempt_disable() pair)\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5175c3786c244f8b689854db24c9e79b1c6a084f",
      "tree": "459975fe6a7b6dd5294b362397b185959b4ab96d",
      "parents": [
        "9ce8ade015a3f82dbdf856df7a685878dd1cc0e1"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Wed Oct 18 20:51:57 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 18 20:51:57 2006 -0700"
      },
      "message": "[NET]: reduce per cpu ram used for loopback stats\n\nWe dont need a full struct net_device_stats (currently 23 long : 184 bytes on \nx86_64) per possible CPU, but only two counters : bytes and packets\n\nWe save few CPU cycles too in loopback_xmit() not updating 4 fields, but 2. \n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7fa6b06689085a3e2237cf810f5e0c114e00a2da",
      "tree": "729eeef31a9ad44c0635f5e27b6c924767e17238",
      "parents": [
        "1b0fee7d68f234be6b270cda51d9fcb71bebd780"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@osdl.org",
        "time": "Wed Sep 27 20:33:34 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Sep 28 18:02:49 2006 -0700"
      },
      "message": "[NET] loopback: minor statistics optimization\n\nThe loopback device status structure is a singleton and doesn\u0027t\nneed to be allocated. Add ethtool_ops hooks to show checksum always on,\nand make ethtool_ops const.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@osdl.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7282d491ecaee9883233a0e27283c4c79486279a",
      "tree": "172ffa70716f5493db57976ceef7652120b3332f",
      "parents": [
        "76fd85937097a0c2ec8ab23bf21dc10992d1c398"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Sep 13 14:30:00 2006 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Sep 13 14:30:00 2006 -0400"
      },
      "message": "drivers/net: const-ify ethtool_ops declarations\n\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "6aa20a2235535605db6d6d2bd850298b2fe7f31e",
      "tree": "df0b855043407b831d57f2f2c271f8aab48444f4",
      "parents": [
        "7a291083225af6e22ffaa46b3d91cfc1a1ccaab4"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Sep 13 13:24:59 2006 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Sep 13 13:24:59 2006 -0400"
      },
      "message": "drivers/net: Trim trailing whitespace\n\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "89114afd435a486deb8583e89f490fc274444d18",
      "tree": "800e784ba59755f9f3c9926a6992e1d0f5b8eec7",
      "parents": [
        "9c6c6795eda34e4dc38ecac912a16b6314082beb"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sat Jul 08 13:34:32 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 08 13:34:32 2006 -0700"
      },
      "message": "[NET] gso: Add skb_is_gso\n\nThis patch adds the wrapper function skb_is_gso which can be used instead\nof directly testing skb_shinfo(skb)-\u003egso_size.  This makes things a little\nnicer and allows us to change the primary key for indicating whether an skb\nis GSO (if we ever want to do that).\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7967168cefdbc63bf332d6b1548eca7cd65ebbcc",
      "tree": "c45759149ae0acdc89d746e556a0ae278d11776d",
      "parents": [
        "d4828d85d188dc70ed172802e798d3978bb6e29e"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Jun 22 02:40:14 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Jun 23 02:07:29 2006 -0700"
      },
      "message": "[NET]: Merge TSO/UFO fields in sk_buff\n\nHaving separate fields in sk_buff for TSO/UFO (tso_size/ufo_size) is not\ngoing to scale if we add any more segmentation methods (e.g., DCCP).  So\nlet\u0027s merge them.\n\nThey were used to tell the protocol of a packet.  This function has been\nsubsumed by the new gso_type field.  This is essentially a set of netdev\nfeature bits (shifted by 16 bits) that are required to process a specific\nskb.  As such it\u0027s easy to tell whether a given device can process a GSO\nskb: you just have to and the gso_type field and the netdev\u0027s features\nfield.\n\nI\u0027ve made gso_type a conjunction.  The idea is that you have a base type\n(e.g., SKB_GSO_TCPV4) that can be modified further to support new features.\nFor example, if we add a hardware TSO type that supports ECN, they would\ndeclare NETIF_F_TSO | NETIF_F_TSO_ECN.  All TSO packets with CWR set would\nhave a gso_type of SKB_GSO_TCPV4 | SKB_GSO_TCPV4_ECN while all other TSO\npackets would be SKB_GSO_TCPV4.  This means that only the CWR packets need\nto be emulated in software.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0fed48463fb20c6bcabc5cf70e2de47b30507ee1",
      "tree": "2e5633d4afe21dc79d1f0284951a4ee71c2c843c",
      "parents": [
        "0a945022778f100115d0cb6234eb28fc1b15ccaf"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Tue Mar 28 01:56:37 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Mar 28 09:16:05 2006 -0800"
      },
      "message": "[PATCH] for_each_possible_cpu: loopback device.\n\nThis patch replaces for_each_cpu with for_each_possible_cpu.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "394e3902c55e667945f6f1c2bdbc59842cce70f7",
      "tree": "f4bca0bdc0c291fda6f6949265aacec0669b9084",
      "parents": [
        "63872f87a151413100678f110d1556026002809e"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Thu Mar 23 03:01:05 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Mar 23 07:38:17 2006 -0800"
      },
      "message": "[PATCH] more for_each_cpu() conversions\n\nWhen we stop allocating percpu memory for not-possible CPUs we must not touch\nthe percpu data for not-possible CPUs at all.  The correct way of doing this\nis to test cpu_possible() or to use for_each_cpu().\n\nThis patch is a kernel-wide sweep of all instances of NR_CPUS.  I found very\nfew instances of this bug, if any.  But the patch converts lots of open-coded\ntest to use the preferred helper macros.\n\nCc: Mikael Starvik \u003cstarvik@axis.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Kyle McMartin \u003ckyle@parisc-linux.org\u003e\nCc: Anton Blanchard \u003canton@samba.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: William Lee Irwin III \u003cwli@holomorphy.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: Christian Zankel \u003cchris@zankel.net\u003e\nCc: Philippe Elie \u003cphil.el@wanadoo.fr\u003e\nCc: Nathan Scott \u003cnathans@sgi.com\u003e\nCc: Jens Axboe \u003caxboe@suse.de\u003e\nCc: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a3bc068022b968a3042b48eb9a8e8b0418fb9cdd",
      "tree": "6bbc2806756924105802f4584157396fb98d282c",
      "parents": [
        "54cfb5aa0f4859bd38706eabe0118175780a542f",
        "91aa9fb573fcc50bc74d5ee64c7e9b36131f1804"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Thu Aug 18 22:14:39 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Thu Aug 18 22:14:39 2005 -0400"
      },
      "message": "Merge /spare/repo/linux-2.6/\n"
    },
    {
      "commit": "22783649568a28839c5a362f47da7819ecfcbb9f",
      "tree": "19065dd333e9e4dd456f08cb8426544b24ba479e",
      "parents": [
        "001dd250c1c68667a5c3b74979fa614e2edc9ceb"
      ],
      "author": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Thu Aug 18 14:05:18 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Aug 18 14:05:18 2005 -0700"
      },
      "message": "[NET]: Fix comment in loopback driver.\n\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0e920bfb0395fb16909fb98cb6e2782a1c6b73c7",
      "tree": "20f83aeaf19fd833f0a8aa36f8b9ce7bacb985da",
      "parents": [
        "18c16c696e8b2323a306af455c686df15c717206"
      ],
      "author": {
        "name": "Chuck Ebbert",
        "email": "76306.1226@compuserve.com",
        "time": "Sat Jul 02 21:28:23 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Sun Jul 31 01:06:11 2005 -0400"
      },
      "message": "[PATCH] loopback: whitespace cleanup\n\nWhitespace cleanup for loopback driver.  Hopefully it fixes the last few\nannoyances.\n\nSigned-off-by: Chuck Ebbert \u003c76306.1226@compuserve.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@pobox.com\u003e\n"
    },
    {
      "commit": "18c16c696e8b2323a306af455c686df15c717206",
      "tree": "a273c9fe65d970a10490b838f95e2d52e2193ed3",
      "parents": [
        "d2ae1d2ff9282ca061b6f5244eee4c28ee2b3ffa"
      ],
      "author": {
        "name": "Chuck Ebbert",
        "email": "76306.1226@compuserve.com",
        "time": "Sat Jul 02 21:28:22 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Sun Jul 31 01:06:10 2005 -0400"
      },
      "message": "[PATCH] loopback: optimize stats\n\nThis patch slightly optimizes the loopback driver\u0027s stats update.\n\nSaves two loads, one add and one increment per packet sent.\n\nSigned-off-by: Chuck Ebbert \u003c76306.1226@compuserve.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@pobox.com\u003e\n"
    },
    {
      "commit": "d2ae1d2ff9282ca061b6f5244eee4c28ee2b3ffa",
      "tree": "12bc14f038ed644faa6299912453f2784f755315",
      "parents": [
        "2f761478a2b436efa23659b4d5c826e53b11f91a"
      ],
      "author": {
        "name": "Chuck Ebbert",
        "email": "76306.1226@compuserve.com",
        "time": "Sat Jul 02 21:28:21 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Sun Jul 31 01:06:10 2005 -0400"
      },
      "message": "[PATCH] loopback: #ifdef the TSO code\n\nThis patch #ifdefs the TSO code in the loopback driver.\n\nSaves ~800 bytes of text on i386 and avoids a conditional in the fast path.\n\nSigned-off-by: Chuck Ebbert \u003c76306.1226@compuserve.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@pobox.com\u003e\n"
    },
    {
      "commit": "02c30a84e6298b6b20a56f0896ac80b47839e134",
      "tree": "031e9d68ad83c371af7ebeb6840f3ede52698663",
      "parents": [
        "125947f2ab8c45417feaa4a8800e89529ca4612f"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "juhl-lkml@dif.dk",
        "time": "Thu May 05 16:16:16 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu May 05 16:36:49 2005 -0700"
      },
      "message": "[PATCH] update Ross Biro bouncing email address\n\nRoss moved.  Remove the bad email address so people will find the correct\none in ./CREDITS.\n\nSigned-off-by: Jesper Juhl \u003cjuhl-lkml@dif.dk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
