)]}'
{
  "log": [
    {
      "commit": "9a6d276e85aa3d8f308fc5e8de6892daeb60ae5f",
      "tree": "f61e1ad988a037745794fb23004d5bf2f247800f",
      "parents": [
        "ed88098e25d77bef3b2ad8c9d8e2ebf454d9ccbf"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Wed Jul 16 20:50:49 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 16 20:50:49 2008 -0700"
      },
      "message": "core: add stat to track unresolved discards in neighbor cache\n\nin __neigh_event_send, if we have a neighbour entry which is in\nNUD_INCOMPLETE state, we enqueue any outbound frames to that neighbour\nto the neighbours arp_queue, which is default capped to a length of 3\nskbs.  If that queue exceeds its set length, it will drop an skb on\nthe queue to enqueue the newly arrived skb.  This results in a drop\nfor which we have no statistics incremented.  This patch adds an\nunresolved_discards stat to /proc/net/stat/ndisc_cache to track these\nlost frames.\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8e8e43843ba3ced0c657cbc0fdb10644ec60f772",
      "tree": "e64954326ced9c365c52c256f01b5f9fb1bcae66",
      "parents": [
        "ed85f2c3b2b72bd20f617ac749f5c22be8d0f66e",
        "50fd4407b8bfbde7c1a0bfe4f24de7df37164342"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 27 18:48:56 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 27 18:48:56 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\n\tdrivers/net/usb/rndis_host.c\n\tdrivers/net/wireless/b43/dma.c\n\tnet/ipv6/ndisc.c\n"
    },
    {
      "commit": "57da52c1e62c6c13875e97de6c69d3156f8416da",
      "tree": "d29d201367194b64bde3dc38559b66c6bbd92503",
      "parents": [
        "1218854afa6f659be90b748cf1bc7badee954a35"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Wed Mar 26 03:49:59 2008 +0900"
      },
      "committer": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Wed Mar 26 04:39:58 2008 +0900"
      },
      "message": "[NET] NETNS: Omit neigh_parms-\u003enet and pneigh_entry-\u003enet without CONFIG_NET_NS.\n\nIntroduce neigh_parms/pneigh_entry inlines: neigh_parms_net(), pneigh_net().\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": "fa86d322d89995fef1bfb5cc768b89d8c22ea0d9",
      "tree": "e657b8adc9ccd2e13b2e2276fab4733a273ded09",
      "parents": [
        "8f3ea33a5078a09eba12bfe57424507809367756"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Mon Mar 24 14:48:59 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 24 14:48:59 2008 -0700"
      },
      "message": "[NEIGH]: Fix race between pneigh deletion and ipv6\u0027s ndisc_recv_ns (v3).\n\nProxy neighbors do not have any reference counting, so any caller\nof pneigh_lookup (unless it\u0027s a netlink triggered add/del routine)\nshould _not_ perform any actions on the found proxy entry. \n\nThere\u0027s one exception from this rule - the ipv6\u0027s ndisc_recv_ns() \nuses found entry to check the flags for NTF_ROUTER.\n\nThis creates a race between the ndisc and pneigh_delete - after \nthe pneigh is returned to the caller, the nd_tbl.lock is dropped \nand the deleting procedure may proceed.\n\nOne of the fixes would be to add a reference counting, but this\nproblem exists for ndisc only. Besides such a patch would be too \nbig for -rc4.\n\nSo I propose to introduce a __pneigh_lookup() which is supposed\nto be called with the lock held and use it in ndisc code to check\nthe flags on alive pneigh entry.\n\n\nChanges from v2:\nAs David noticed, Exported the __pneigh_lookup() to ipv6 module. \nThe checkpatch generates a warning on it, since the EXPORT_SYMBOL \ndoes not follow the symbol itself, but in this file all the \nexports come at the end, so I decided no to break this harmony.\n\nChanges from v1:\nFixed comments from YOSHIFUJI - indentation of prototype in header\nand the pndisc_check_router() name - and a compilation fix, pointed\nby Daniel - the is_routed was (falsely) considered as uninitialized\nby gcc.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8082c37cdc31fb0ed178d9d706bf7568ada0edd9",
      "tree": "c17ec16dba86b96e53bfe23bd84114a7f963a7da",
      "parents": [
        "0e7b8dcd16eb91b9cd8ecc07c4094512f20d7e3c"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Tue Mar 04 14:55:03 2008 +0900"
      },
      "committer": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Tue Mar 04 15:18:23 2008 +0900"
      },
      "message": "[NET] NEIGHBOUR: Remove unpopular neigh_is_connected().\n\nneigh_is_connected() is not popular at all, and the only user\ndrivers/net/cxgb3/l2t.c:t3_l2t_update() also have raw (expanded) expression.\nLet\u0027s expand it and remove the inline function.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\n"
    },
    {
      "commit": "06f0511df1b3b32fc8e0840514d4b207150f1fa7",
      "tree": "437fddbd668d611d4249d48fa806c36c05889767",
      "parents": [
        "14db4133d59e2c1bed122bf87393e2ded05e42dc"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Thu Jan 24 00:30:58 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:02:11 2008 -0800"
      },
      "message": "[ARP]: neigh_parms_put(destroy) are essentially local to core/neighbour.c.\n\nMake them static.\n\n[ Moved the inline before, instead of after, call sites. -DaveM ]\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "39971554d3469b48154f34257ad4a35081b7ee40",
      "tree": "c58af51601f8197d87894a916c8592a8c5555175",
      "parents": [
        "9993e7d313e80bdc005d09c7def91903e0068f07"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Jan 10 22:37:16 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:01:43 2008 -0800"
      },
      "message": "[NEIGH]: Add a comment describing what a NUD stands for.\n\nWhen I studied the neighbor code I puzzled over what the NUD can mean\nfor quite a long time.\n\nFinally I asked Alexey and he said that this was smth like \"neighbor\nunreachability detection\".\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4250846146c04ac6f17bf92619ddfef6db2cf34f",
      "tree": "4fb27a2735e521f34ae4f2d20b39936db1b632e7",
      "parents": [
        "ae22120ad846399f6aa19c5b32f8d4c7bd068fd1"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Thu Jan 10 03:53:12 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:01:37 2008 -0800"
      },
      "message": "[NEIGH]: Make /proc/net/arp opening consistent with seq_net_open semantics\n\nseq_open_net requires that first field of the seq-\u003eprivate data to be\nstruct seq_net_private. In reality this is a single pointer to a\nstruct net for now. The patch makes code consistent.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f624357959001c9156ee7a475283fc6041f78e0e",
      "tree": "d0dcc8337a5e5b5d257e69f71d41e656c6683f25",
      "parents": [
        "04ce99c4839a86f4ef476f811cced8d1f11999e4"
      ],
      "author": {
        "name": "Rami Rosen",
        "email": "ramirose@gmail.com",
        "time": "Sun Dec 30 23:25:31 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:00:17 2008 -0800"
      },
      "message": "[NEIGH]: Remove unused method from include/net/neighbour.h\n\nSigned-off-by: Rami Rosen \u003cramirose@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "426b5303eb435d98b9bee37a807be386bc2b3320",
      "tree": "86f7bd945101d9ac51afb22a210d22b8ff956a4e",
      "parents": [
        "e1af9f270b69a3ad1dcbabb404dd1f40a96f43f5"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Jan 24 00:13:18 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:00:03 2008 -0800"
      },
      "message": "[NETNS]: Modify the neighbour table code so it handles multiple network namespaces\n\nI\u0027m actually surprised at how much was involved.  At first glance it\nappears that the neighbour table data structures are already split by\nnetwork device so all that should be needed is to modify the user\ninterface commands to filter the set of neighbours by the network\nnamespace of their devices.\n\nHowever a couple things turned up while I was reading through the\ncode.  The proxy neighbour table allows entries with no network\ndevice, and the neighbour parms are per network device (except for the\ndefaults) so they now need a per network namespace default.\n\nSo I updated the two structures (which surprised me) with their very\nown network namespace parameter.  Updated the relevant lookup and\ndestroy routines with a network namespace parameter and modified the\ncode that interacts with users to filter out neighbour table entries\nfor devices of other namespaces.\n\nI\u0027m a little concerned that we can modify and display the global table\nconfiguration and from all network namespaces.  But this appears good\nenough for now.\n\nI keep thinking modifying the neighbour table to have per network\nnamespace instances of each table type would should be cleaner.  The\nhash table is already dynamically sized so there are it is not a\nlimiter.  The default parameter would be straight forward to take care\nof.  However when I look at the how the network table is built and\nused I still find some assumptions that there is only a single\nneighbour table for each type of table in the kernel.  The netlink\noperations, neigh_seq_start, the non-core network users that call\nneigh_lookup.  So while it might be doable it would require more\nrefactoring than my current approach of just doing a little extra\nfiltering in the code.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Daniel Lezcano \u003cdlezcano@fr.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c8822a4e00442e65d42d50db8e529d75c2025630",
      "tree": "127ce686af9e562e997d75ecabb6c7acca4c0b12",
      "parents": [
        "340d17fc9d577c93678850e46963e9b19b92db7e"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Thu Mar 22 11:50:06 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:27:06 2007 -0700"
      },
      "message": "[NEIGH]: Use rtnl registration interface\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ecbb416939da77c0d107409976499724baddce7b",
      "tree": "313f786f9f4d5fec3f016c292dea1705924fa9b6",
      "parents": [
        "e1701c68c1d1aeb3213d7016593ea9a1d4309417"
      ],
      "author": {
        "name": "Alexey Kuznetsov",
        "email": "kuznet@ms2.inr.ac.ru",
        "time": "Sat Mar 24 12:52:16 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sun Mar 25 18:48:01 2007 -0700"
      },
      "message": "[NET]: Fix neighbour destructor handling.\n\n-\u003eneigh_destructor() is killed (not used), replaced with\n-\u003eneigh_cleanup(), which is called when neighbor entry goes to dead\nstate. At this point everything is still valid: neigh-\u003edev,\nneigh-\u003eparms etc.\n\nThe device should guarantee that dead neighbor entries (neigh-\u003edead !\u003d\n0) do not get private part initialized, otherwise nobody will cleanup\nit.\n\nI think this is enough for ipoib which is the only user of this thing.\nInitialization private part of neighbor entries happens in ipib\nstart_xmit routine, which is not reached when device is down.  But it\nwould be better to add explicit test for neigh-\u003edead in any case.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3644f0cee77494190452de132e82245107939284",
      "tree": "7aeb1dd32c68e372cc2aaa9d26703dd238b48a53",
      "parents": [
        "eb991b39385c7b04923d701764a34694ec54b53d"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@osdl.org",
        "time": "Thu Dec 07 15:08:17 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Dec 08 17:19:20 2006 -0800"
      },
      "message": "[NET]: Convert hh_lock to seqlock.\n\nThe hard header cache is in the main output path, so using\nseqlock instead of reader/writer lock should reduce overhead.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@osdl.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e18b890bb0881bbab6f4f1a6cd20d9c60d66b003",
      "tree": "4828be07e1c24781c264b42c5a75bcd968223c3f",
      "parents": [
        "441e143e95f5aa1e04026cb0aa71c801ba53982f"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed Dec 06 20:33:20 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:25 2006 -0800"
      },
      "message": "[PATCH] slab: remove kmem_cache_t\n\nReplace all uses of kmem_cache_t with struct kmem_cache.\n\nThe patch was generated using the following script:\n\n\t#!/bin/sh\n\t#\n\t# Replace one string by another in all the kernel sources.\n\t#\n\n\tset -e\n\n\tfor file in `find * -name \"*.c\" -o -name \"*.h\"|xargs grep -l $1`; do\n\t\tquilt add $file\n\t\tsed -e \"1,\\$s/$1/$2/g\" $file \u003e/tmp/$$\n\t\tmv /tmp/$$ $file\n\t\tquilt refresh\n\tdone\n\nThe script was run like this\n\n\tsh replace kmem_cache_t \"struct kmem_cache\"\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "62dd93181aaa1d5a501a9cebcb254f44b8a48af7",
      "tree": "b19cc7f630d3fecccc338f1c5a75000a4485565a",
      "parents": [
        "5f3e6e9e19f50a6910aec2dbd479187aabba04b7"
      ],
      "author": {
        "name": "Ville Nuorvala",
        "email": "vnuorval@tcs.hut.fi",
        "time": "Fri Sep 22 14:43:19 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Sep 22 15:20:24 2006 -0700"
      },
      "message": "[IPV6] NDISC: Set per-entry is_router flag in Proxy NA.\n\nWe have sent NA with router flag from the node-wide forwarding\nconfiguration.  This is not appropriate for proxy NA, and it should be\nset according to each proxy entry\u0027s configuration.\n\nThis is used by Mobile IPv6 home agent to support physical home link\nin acting as a proxy router for mobile node which is not a router,\nfor example.\n\nBased on MIPL2 kernel patch.\n\nSigned-off-by: Ville Nuorvala \u003cvnuorval@tcs.hut.fi\u003e\nSigned-off-by: Masahide NAKAMURA \u003cnakam@linux-ipv6.org\u003e\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\n"
    },
    {
      "commit": "d924424aaed116b362c6d0e667d912b77e655085",
      "tree": "3e0471efbc0e5bdba5daee4238eb3996aaafb5d7",
      "parents": [
        "1e38bb3a38d08129d08c904b10ea3ba08e22d297"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@osdl.org",
        "time": "Thu Aug 10 23:03:23 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Sep 22 14:54:23 2006 -0700"
      },
      "message": "[NEIGHBOUR]: Use ALIGN() macro.\n\nRather than opencoding the mask, it looks better to use ALIGN()\nmacro from kernel.h.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@osdl.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9067c722cf6930adf1df2d169de9094dd90b0c33",
      "tree": "eb2133038cbd85bbf55b5acd2d5297f03357e45b",
      "parents": [
        "8b8aec508302d4e63fd88f47894805115277f70f"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Mon Aug 07 17:57:44 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Sep 22 14:54:01 2006 -0700"
      },
      "message": "[NEIGH]: Move netlink neighbour bits to linux/neighbour.h\n\nMoves netlink neighbour bits to linux/neighbour.h. Also\nmoves bits to be exported to userspace from net/neighbour.h\nto linux/neighbour.h and removes __KERNEL__ guards, userspace\nis not supposed to be using it.\n\nrtnetlink_rcv_msg() is not longer required to parse attributes\nfor the neighbour layer, remove dependency on obsolete and\nbuggy rta_buf.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bd89efc532fe41f867f848144cc8b42054ddf6f9",
      "tree": "fcf90049cb5a15bf6689cdbc6038c3fe22079009",
      "parents": [
        "ef34814426862c41c061520d4ac833be5914b5ba"
      ],
      "author": {
        "name": "Simon Kelley",
        "email": "simon@thekelleys.org.uk",
        "time": "Fri May 12 14:56:08 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 12 14:56:08 2006 -0700"
      },
      "message": "[NEIGH]: Fix IP-over-ATM and ARP interaction.\n\nThe classical IP over ATM code maintains its own IPv4 \u003c-\u003e \u003cATM stuff\u003e\nARP table, using the standard neighbour-table code. The\nneigh_table_init function adds this neighbour table to a linked list\nof all neighbor tables which is used by the functions neigh_delete()\nneigh_add() and neightbl_set(), all called by the netlink code.\n\nOnce the ATM neighbour table is added to the list, there are two\ntables with family \u003d\u003d AF_INET there, and ARP entries sent via netlink\ngo into the first table with matching family. This is indeterminate\nand often wrong.\n\nTo see the bug, on a kernel with CLIP enabled, create a standard IPv4\nARP entry by pinging an unused address on a local subnet. Then attempt\nto complete that entry by doing\n\nip neigh replace \u003cip address\u003e lladdr \u003csome mac address\u003e nud reachable\n\nLooking at the ARP tables by using \n\nip neigh show\n\nwill reveal two ARP entries for the same address. One of these can be\nfound in /proc/net/arp, and the other in /proc/net/atm/arp.\n\nThis patch adds a new function, neigh_table_init_no_netlink() which\ndoes everything the neigh_table_init() does, except add the table to\nthe netlink all-arp-tables chain. In addition neigh_table_init() has a\ncheck that all tables on the chain have a distinct address family.\nThe init call in clip.c is changed to call\nneigh_table_init_no_netlink().\n\nSince ATM ARP tables are rather more complicated than can currently be\nhandled by the available rtattrs in the netlink protocol, no\nfunctionality is lost by this patch, and non-ATM ARP manipulation via\nnetlink is rescued. A more complete solution would involve a rtattr\nfor ATM ARP entries and some way for the netlink code to give\nneigh_add and friends more information than just address family with\nwhich to find the correct ARP table.\n\n[ I\u0027ve changed the assertion checking in neigh_table_init() to not\n  use BUG_ON() while holding neigh_tbl_lock.  Instead we remember that\n  we found an existing tbl with the same family, and after dropping\n  the lock we\u0027ll give a diagnostic kernel log message and a stack dump.\n  -DaveM ]\n\nSigned-off-by: Simon Kelley \u003csimon@thekelleys.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c5ecd62c25400a3c6856e009f84257d5bd03f03b",
      "tree": "a0aeb88552772396bba986cce176028348ec041f",
      "parents": [
        "53dcb0e38c1786aa82ada4641b4607be315b610a"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@mellanox.co.il",
        "time": "Mon Mar 20 22:25:41 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 20 22:25:41 2006 -0800"
      },
      "message": "[NET]: Move destructor from neigh-\u003eops to neigh_params\n\nstruct neigh_ops currently has a destructor field, which no in-kernel\ndrivers outside of infiniband use.  The infiniband/ulp/ipoib in-tree\ndriver stashes some info in the neighbour structure (the results of\nthe second-stage lookup from ARP results to real link-level path), and\nit uses neigh-\u003eops-\u003edestructor to get a callback so it can clean up\nthis extra info when a neighbour is freed.  We\u0027ve run into problems\nwith this: since the destructor is in an ops field that is shared\nbetween neighbours that may belong to different net devices, there\u0027s\nno way to set/clear it safely.\n\nThe following patch moves this field to neigh_parms where it can be\nsafely set, together with its twin neigh_setup.  Two additional\npatches in the patch series update ipoib to use this new interface.\n\nSigned-off-by: Michael S. Tsirkin \u003cmst@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "14c850212ed8f8cbb5972ad6b8812e08a0bc901c",
      "tree": "53c88f03e7bbac4064f6e80d462ad484ee038326",
      "parents": [
        "25995ff577675b58dbd848b7758e7bad87411947"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Tue Dec 27 02:43:12 2005 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jan 03 13:11:21 2006 -0800"
      },
      "message": "[INET_SOCK]: Move struct inet_sock \u0026 helper functions to net/inet_sock.h\n\nTo help in reducing the number of include dependencies, several files were\ntouched as they were getting needed headers indirectly for stuff they use.\n\nThanks also to Alan Menegotto for pointing out that net/dccp/proto.c had\nlinux/dccp.h include twice.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a61bbcf28a8cb0ba56f8193d512f7222e711a294",
      "tree": "33ae1976ab3b08aac516debb2742d2c6696d5436",
      "parents": [
        "25ed891019b84498c83903ecf53df7ce35e9cff6"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Sun Aug 14 17:24:31 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:58:24 2005 -0700"
      },
      "message": "[NET]: Store skb-\u003etimestamp as offset to a base timestamp\n\nReduces skb size by 8 bytes on 64-bit.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "88121aea7bdb5fdc527388e262381829c4e1db16",
      "tree": "9b5a020b737a6d13c1ecd131baf08fe873fbd446",
      "parents": [
        "c7fb64db001f83ece669c76a02d8ec2fdb1dd307"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Sat Jun 18 22:51:12 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jun 18 22:51:12 2005 -0700"
      },
      "message": "[NEIGHBOUR]: Remove unused fields in struct neigh_parms and neigh_table\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c7fb64db001f83ece669c76a02d8ec2fdb1dd307",
      "tree": "f8b8375b8b619c00db3399a4ef6f67e2636dfac7",
      "parents": [
        "00768244923f66801958a8d2d103f7b65608c9b6"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Sat Jun 18 22:50:55 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jun 18 22:50:55 2005 -0700"
      },
      "message": "[NETLINK]: Neighbour table configuration and statistics via rtnetlink\n\nTo retrieve the neighbour tables send RTM_GETNEIGHTBL with the\nNLM_F_DUMP flag set. Every neighbour table configuration is\nspread over multiple messages to avoid running into message\nsize limits on systems with many interfaces. The first message\nin the sequence transports all not device specific data such as\nstatistics, configuration, and the default parameter set.\nThis message is followed by 0..n messages carrying device\nspecific parameter sets.\n\nAlthough the ordering should be sufficient, NDTA_NAME can be\nused to identify sequences. The initial message can be identified\nby checking for NDTA_CONFIG. The device specific messages do\nnot contain this TLV but have NDTPA_IFINDEX set to the\ncorresponding interface index.\n\nTo change neighbour table attributes, send RTM_SETNEIGHTBL\nwith NDTA_NAME set. Changeable attribute include NDTA_THRESH[1-3],\nNDTA_GC_INTERVAL, and all TLVs in NDTA_PARMS unless marked\notherwise. Device specific parameter sets can be changed by\nsetting NDTPA_IFINDEX to the interface index of the corresponding\ndevice.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\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"
    }
  ]
}
