)]}'
{
  "log": [
    {
      "commit": "b14f243a42c7aa43de71f878641acd003f223022",
      "tree": "13d052f3d3eab915c26eadd9a1f6997aef168998",
      "parents": [
        "a399a8053164ec8bcb06fed52be9941a26ecde11"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@parallels.com",
        "time": "Wed Aug 08 21:52:28 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Aug 09 16:18:06 2012 -0700"
      },
      "message": "net: Dont use ifindices in hash fns\n\nEric noticed, that when there will be devices with equal indices, some\nhash functions that use them will become less effective as they could.\nFix this in advance by mixing the net_device address into the hash value\ninstead of the device index.\n\nThis is true for arp and ndisc hash fns. The netlabel, can and llc ones\nare also ifindex-based, but that three are init_net-only, thus will not\nbe affected.\n\nMany thanks to David and Eric for the hash32_ptr implementation!\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@parallels.com\u003e\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0bb4087cbec0ef74fd416789d6aad67957063057",
      "tree": "b5a9a178fb8af1e83e806a91950904273d9e9927",
      "parents": [
        "fa0afcd10951afad2022dda09777d2bf70cdab3d"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 20 16:00:53 2012 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 20 16:06:10 2012 -0700"
      },
      "message": "ipv4: Fix neigh lookup keying over loopback/point-to-point devices.\n\nWe were using a special key \"0\" for all loopback and point-to-point\ndevice neigh lookups under ipv4, but we wouldn\u0027t use that special\nkey for the neigh creation.\n\nSo basically we\u0027d make a new neigh at each and every lookup :-)\n\nThis special case to use only one neigh for these device types\nis of dubious value, so just remove it entirely.\n\nReported-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a263b3093641fb1ec377582c90986a7fd0625184",
      "tree": "691fdb4703bb88611272bf958d9de1a461f1492a",
      "parents": [
        "11604721a3c4bea60e2ddd9e4e30d741ecdba7b0"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 02 02:02:15 2012 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 05 01:02:12 2012 -0700"
      },
      "message": "ipv4: Make neigh lookups directly in output packet path.\n\nDo not use the dst cached neigh, we\u0027ll be getting rid of that.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "80703d265b7e8a801560d907b1bfe340e574dbca",
      "tree": "4259c2f99614735f5048ebc1f339a0ba20735d6d",
      "parents": [
        "4c5e40366a8879a3fda6a22a4b65c02ef20a08c4"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Feb 15 17:48:35 2012 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Feb 15 17:48:35 2012 -0500"
      },
      "message": "ipv4: Eliminate spurious argument to __ipv4_neigh_lookup\n\n\u0027tbl\u0027 is always arp_tbl, so specifying it is pointless.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2c2aba6c561ac425602f4a0be61422224cb87151",
      "tree": "30b5f2c40b823ca61e2e0930d5e98a89a83222bb",
      "parents": [
        "32288eb4d940b10e40c6d4178fe3a40d1437d2f8"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 28 15:06:58 2011 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 28 15:06:58 2011 -0500"
      },
      "message": "ipv6: Use universal hash for NDISC.\n\nIn order to perform a proper universal hash on a vector of integers,\nwe have to use different universal hashes on each vector element.\n\nWhich means we need 4 different hash randoms for ipv6.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d3aaeb38c40e5a6c08dd31a1b64da65c4352be36",
      "tree": "1c17b41d11edc7a7b3477a294cba440f2a14796c",
      "parents": [
        "69cce1d1404968f78b177a0314f5822d5afdbbfb"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 18 00:40:17 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 18 00:40:17 2011 -0700"
      },
      "message": "net: Add -\u003eneigh_lookup() operation to dst_ops\n\nIn the future dst entries will be neigh-less.  In that environment we\nneed to have an easy transition point for current users of\ndst-\u003eneighbour outside of the packet output fast path.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3769cffb1c48f64640ffab7ce3bffe867342c0f0",
      "tree": "8f6fcf2d822bf3a170a534e8540faa34fe9258ef",
      "parents": [
        "e5b1de1f5ebe0200e988e195fefb6c7396de6e20"
      ],
      "author": {
        "name": "David Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 11 22:44:24 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 13 01:12:28 2011 -0700"
      },
      "message": "ipv4: Inline neigh binding.\n\nGet rid of all of the useless and costly indirection\nby doing the neigh hash table lookup directly inside\nof the neighbour binding.\n\nRename from arp_bind_neighbour to rt_bind_neighbour.\n\nUse new helpers {__,}ipv4_neigh_lookup()\n\nIn rt_bind_neighbour() get rid of useless tests which\nare never true in the context this function is called,\nnamely dev is never NULL and the dst-\u003eneighbour is\nalways NULL.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f610b74b14d74a069f61583131e689550fd5bab3",
      "tree": "331ce90858ed17ed32b27ff9b283ced43566ea28",
      "parents": [
        "cd0893369ca85fd11bc517081b2d9079d2ef2f90"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 11 01:37:28 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 11 01:37:28 2011 -0700"
      },
      "message": "ipv4: Use universal hash for ARP.\n\nWe need to make sure the multiplier is odd.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "545ecdc3b3a2fe0b54a3053bf8bf85321bbca7da",
      "tree": "2ece08798301e13a05f2d8b05e4e743105903f05",
      "parents": [
        "bfe0d0298f2a67d94d58c39ea904a999aeeb7c3c"
      ],
      "author": {
        "name": "Maxim Levitsky",
        "email": "maximlevitsky@gmail.com",
        "time": "Sat Jan 08 13:57:12 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 10 16:10:37 2011 -0800"
      },
      "message": "arp: allow to invalidate specific ARP entries\n\nIPv4 over firewire needs to be able to remove ARP entries\nfrom the ARP cache that belong to nodes that are removed, because\nIPv4 over firewire uses ARP packets for private information\nabout nodes.\n\nThis information becomes invalid as soon as node drops\noff the bus and when it reconnects, its only possible\nto start talking to it after it responded to an ARP packet.\nBut ARP cache prevents such packets from being sent.\n\nSigned-off-by: Maxim Levitsky \u003cmaximlevitsky@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a64de47c091e4a337fa9763315cb6f2fbf0c583b",
      "tree": "e545dbaede640218956daf1bdd5d503986318861",
      "parents": [
        "bfa5ae63b823f4ffd3483a05f60a93a4a7b7d680"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Tue Sep 28 17:08:02 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 29 19:45:35 2010 -0700"
      },
      "message": "arp: remove unnecessary export of arp_broken_ops\n\narp_broken_ops is only used in arp.c\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "89d69d2b75a8f7e258f4b634cd985374cfd3202e",
      "tree": "2f01d6ae1844c92ef09160ad1966edee34ee2d8a",
      "parents": [
        "dcbfef820bdd1cdb412ccf234840e23edf67014f"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Tue Sep 01 11:13:19 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 01 17:40:57 2009 -0700"
      },
      "message": "net: make neigh_ops constant\n\nThese tables are never modified at runtime. Move to read-only\nsection.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "abfdf1c48907f78ad7d943b77ea180bf5504564f",
      "tree": "a86caaae9c3c70b7a07f2abb10e854d3153e8124",
      "parents": [
        "000e8a53540b75a885efeb00ec1f1cb3c8d0bead"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@computergmbh.de",
        "time": "Thu Jan 31 03:59:24 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 31 19:27:33 2008 -0800"
      },
      "message": "[NETFILTER]: ebtables: remove casts, use consts\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@computergmbh.de\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "04ce99c4839a86f4ef476f811cced8d1f11999e4",
      "tree": "73ce667cf789fad655fc6d9484808bdb8fbc40a7",
      "parents": [
        "7d1f8db40bf72ae8bdc62bbf479d5cdf9cb9f921"
      ],
      "author": {
        "name": "Rami Rosen",
        "email": "ramirose@gmail.com",
        "time": "Sun Dec 30 23:23:02 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:00:16 2008 -0800"
      },
      "message": "[IPV4]: Remove unused define in include/net/arp.h (HAVE_ARP_CREATE)\n\nSigned-off-by: Rami Rosen \u003cramirose@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "32e569b7277f13c4b27bb29c761189963e49ce7a",
      "tree": "63c1a7b0b44169644e7efdc4f351d6b8cb13cdd7",
      "parents": [
        "ea40b324d791d86a42b858d073007de4d133227e"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Sun Dec 16 13:30:39 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:58:09 2008 -0800"
      },
      "message": "[IPV4]: Pass the net pointer to the arp_req_set_proxy()\n\nThis one will need to set the IPV4_DEVCONF_ALL(PROXY_ARP), but\nthere\u0027s no ways to get the net right in place, so we have to\npull one from the inet_ioctl\u0027s struct sock.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "714e85be3557222bc25f69c252326207c900a7db",
      "tree": "cb59a6d0a94245dc8575507386af1be31dd7fad9",
      "parents": [
        "252e33467a3b016f20dd8df12269cef3b167f21e"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Nov 14 20:51:49 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:22:50 2006 -0800"
      },
      "message": "[IPV6]: Assorted trivial endianness annotations.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ed9bad06eec5ee7842851f9abeb406e9a73084e8",
      "tree": "b1bb4dd10f067bd42fc2a367080c612d4a6c34d8",
      "parents": [
        "bd6d610a14f2ed896b76dfb61fbdec829e44b8d3"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Sep 27 18:36:36 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Sep 28 18:02:14 2006 -0700"
      },
      "message": "[IPV4] net/ipv4/arp.c: trivial annotations\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6c97e72a162648eaf7c401cfc139493cefa6bed2",
      "tree": "c39ad40f44e0439cb7c30db3d394cb9c8496010c",
      "parents": [
        "f043ca43c1ae354346f72dc5826d820d5619f0b2"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Wed Apr 12 13:57:59 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Apr 14 15:00:20 2006 -0700"
      },
      "message": "[IPV4]: Possible cleanups.\n\nThis patch contains the following possible cleanups:\n- make the following needlessly global function static:\n  - arp.c: arp_rcv()\n- remove the following unused EXPORT_SYMBOL\u0027s:\n  - devinet.c: devinet_ioctl\n  - fib_frontend.c: ip_rt_ioctl\n  - inet_hashtables.c: inet_bind_bucket_create\n  - inet_hashtables.c: inet_bind_hash\n  - tcp_input.c: sysctl_tcp_abc\n  - tcp_ipv4.c: sysctl_tcp_tw_reuse\n  - tcp_output.c: sysctl_tcp_mtu_probing\n  - tcp_output.c: sysctl_tcp_base_mss\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n\n"
    },
    {
      "commit": "f2ccd8fa06c8e302116e71df372f5c1f83432e03",
      "tree": "6e933f4bdc8899009edb33642b908779f123fb4a",
      "parents": [
        "b6b99eb5409d75ae35390057cd28f3aedfbd4cf4"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 09 19:34:12 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:32:25 2005 -0700"
      },
      "message": "[NET]: Kill skb-\u003ereal_dev\n\nBonding just wants the device before the skb_bond()\ndecapsulation occurs, so simply pass that original\ndevice into packet_type-\u003efunc() as an argument.\n\nIt remains to be seen whether we can use this same\nexact thing to get rid of skb-\u003einput_dev as well.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\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"
    }
  ]
}
