)]}'
{
  "log": [
    {
      "commit": "31d409373cca3517a30540b51f55dcb1f5af0d49",
      "tree": "4d8ab504330ca52a353774dfc748535ea520cdf6",
      "parents": [
        "881ff67ad45041f6ff08441aa17302aea77bd054"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Feb 14 11:23:04 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Feb 14 11:23:04 2011 -0800"
      },
      "message": "ipv4: fix rcu lock imbalance in fib_select_default()\n\nCommit 0c838ff1ade7 (ipv4: Consolidate all default route selection\nimplementations.) forgot to remove one rcu_read_unlock() from\nfib_select_default().\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6431cbc25fa21635ee04eb0516ba6c51389fbfac",
      "tree": "515deede7292fce41c019e7bd72b58cab34ecb9c",
      "parents": [
        "ddd4aa424b866a08ceba7ddf38e61542c91b93a0"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Feb 07 20:38:06 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 10 13:33:41 2011 -0800"
      },
      "message": "inet: Create a mechanism for upward inetpeer propagation into routes.\n\nIf we didn\u0027t have a routing cache, we would not be able to properly\npropagate certain kinds of dynamic path attributes, for example\nPMTU information and redirects.\n\nThe reason is that if we didn\u0027t have a routing cache, then there would\nbe no way to lookup all of the active cached routes hanging off of\nsockets, tunnels, IPSEC bundles, etc.\n\nConsider the case where we created a cached route, but no inetpeer\nentry existed and also we were not asked to pre-COW the route metrics\nand therefore did not force the creation a new inetpeer entry.\n\nIf we later get a PMTU message, or a redirect, and store this\ninformation in a new inetpeer entry, there is no way to teach that\ncached route about the newly existing inetpeer entry.\n\nThe facilities implemented here handle this problem.\n\nFirst we create a generation ID.  When we create a cached route of any\nkind, we remember the generation ID at the time of attachment.  Any\ntime we force-create an inetpeer entry in response to new path\ninformation, we bump that generation ID.\n\nThe dst_ops-\u003echeck() callback is where the knowledge of this event\nis propagated.  If the global generation ID does not equal the one\nstored in the cached route, and the cached route has not attached\nto an inetpeer yet, we look it up and attach if one is found.  Now\nthat we\u0027ve updated the cached route\u0027s information, we update the\nroute\u0027s generation ID too.\n\nThis clears the way for implementing PMTU and redirects directly in\nthe inetpeer cache.  There is absolutely no need to consult cached\nroute information in order to maintain this information.\n\nAt this point nothing bumps the inetpeer genids, that comes in the\nlater changes which handle PMTUs and redirects using inetpeers.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ddd4aa424b866a08ceba7ddf38e61542c91b93a0",
      "tree": "654235ceccd1c3f9dfbb7422ebe09b21544325d6",
      "parents": [
        "7a71ed899e77cc822abb863e24a422dcf7e9fa33"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Feb 09 15:36:47 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 10 13:29:30 2011 -0800"
      },
      "message": "inetpeer: Add redirect and PMTU discovery cached info.\n\nValidity of the cached PMTU information is indicated by it\u0027s\nexpiration value being non-zero, just as per dst-\u003eexpires.\n\nThe scheme we will use is that we will remember the pre-ICMP value\nheld in the metrics or route entry, and then at expiration time\nwe will restore that value.\n\nIn this way PMTU expiration does not kill off the cached route as is\ndone currently.\n\nRedirect information is permanent, or at least until another redirect\nis received.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7a71ed899e77cc822abb863e24a422dcf7e9fa33",
      "tree": "2811b8ca75c7019522f73c7d972208ae3a3ea8f9",
      "parents": [
        "b6644cb706610874104dbf3359e3b67aa59cbc27"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Feb 09 14:30:26 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 10 13:22:28 2011 -0800"
      },
      "message": "inetpeer: Abstract address representation further.\n\nFuture changes will add caching information, and some of\nthese new elements will be addresses.\n\nSince the family is implicit via the -\u003edaddr.family member,\nreplicating the family in ever address we store is entirely\nredundant.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8d13a2a9fb3e5e3f68e9d3ec0de3c8fcfa56a224",
      "tree": "fee1865c2fbfe8fbb67e8aed97fd8df18254d777",
      "parents": [
        "e7b66bdc02592f5573ade667e4d68ac6e7b0f9e1"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 08 16:17:55 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 08 16:17:55 2011 -0800"
      },
      "message": "net: Kill NETEVENT_PMTU_UPDATE.\n\nNobody actually does anything in response to the event,\nso just kill it off.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fa9921e46fd52b78070dc67ce0d27ec301a90410",
      "tree": "8684af3cd03cf8fed1e6be9f722c181278944f7b",
      "parents": [
        "c0c84ef5c130f8871adbdaac2ba824b9195cb6d9"
      ],
      "author": {
        "name": "Nicolas Dichtel",
        "email": "nicolas.dichtel@6wind.com",
        "time": "Wed Feb 02 06:29:02 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 08 14:00:40 2011 -0800"
      },
      "message": "ipsec: allow to align IPv4 AH on 32 bits\n\nThe Linux IPv4 AH stack aligns the AH header on a 64 bit boundary\n(like in IPv6). This is not RFC compliant (see RFC4302, Section\n3.3.3.2.1), it should be aligned on 32 bits.\n\nFor most of the authentication algorithms, the ICV size is 96 bits.\nThe AH header alignment on 32 or 64 bits gives the same results.\n\nHowever for SHA-256-128 for instance, the wrong 64 bit alignment results\nin adding useless padding in IPv4 AH, which is forbidden by the RFC.\n\nTo avoid breaking backward compatibility, we use a new flag\n(XFRM_STATE_ALIGN4) do change original behavior.\n\nInitial patch from Dang Hongwu \u003chongwu.dang@6wind.com\u003e and\nChristophe Gouault \u003cchristophe.gouault@6wind.com\u003e.\n\nSigned-off-by: Nicolas Dichtel \u003cnicolas.dichtel@6wind.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "92d8682926342d2b6aa5b2ecc02221e00e1573a0",
      "tree": "7f70b9cc2975716ab60ddd632b9fecf0a51b828d",
      "parents": [
        "0131ba451e20239c5dc701027c1a2edef95e1a6e"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Feb 04 15:55:25 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Feb 04 15:59:53 2011 -0800"
      },
      "message": "inetpeer: Move ICMP rate limiting state into inet_peer entries.\n\nLike metrics, the ICMP rate limiting bits are cached state about\na destination.  So move it into the inet_peer entries.\n\nIf an inet_peer cannot be bound (the reason is memory allocation\nfailure or similar), the policy is to allow.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0131ba451e20239c5dc701027c1a2edef95e1a6e",
      "tree": "880906b7030daf840fc1e903de4381cb70cf473c",
      "parents": [
        "bd4a6974cc9090ef3851e5b0a2071e5383565c7c"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Feb 04 14:37:30 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Feb 04 14:37:30 2011 -0800"
      },
      "message": "ipv4: Don\u0027t miss existing cached metrics in new routes.\n\nAlways lookup to see if we have an existing inetpeer entry for\na route.  Let FLOWI_FLAG_PRECOW_METRICS merely influence the\n\"create\" argument to rt_bind_peer().\n\nAlso, call rt_bind_peer() unconditionally since it is not\npossible for rt-\u003epeer to be non-NULL at this point.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bd4a6974cc9090ef3851e5b0a2071e5383565c7c",
      "tree": "e96ef46426d293b730a305b5185ba5412c9172d4",
      "parents": [
        "2b7bcebf958c74124220ee8103024def8597b36c",
        "1e6d93e45b231b3ae87c01902ede2315aacfe976"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Feb 04 14:28:58 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Feb 04 14:28:58 2011 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n"
    },
    {
      "commit": "ca6b8bb097c8e0ab6bce4fa04584074dee17c0d9",
      "tree": "4d4892f421fbe0edfb03fab640521d01c8540c52",
      "parents": [
        "0033d5ad27a6db33a55ff39951d3ec61a8c13b89"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 03 17:24:28 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 03 17:24:28 2011 -0800"
      },
      "message": "net: Support compat SIOCGETVIFCNT ioctl in ipv4.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0033d5ad27a6db33a55ff39951d3ec61a8c13b89",
      "tree": "4312ad7fb4821ccd38a4a0aba64b6bb560d53733",
      "parents": [
        "9690c636ac118b6662f28308bee817343d9932d8"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 03 17:21:31 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 03 17:21:31 2011 -0800"
      },
      "message": "net: Fix bug in compat SIOCGETSGCNT handling.\n\nCommit 709b46e8d90badda1898caea50483c12af178e96 (\"net: Add compat\nioctl support for the ipv4 multicast ioctl SIOCGETSGCNT\") added the\ncorrect plumbing to handle SIOCGETSGCNT properly.\n\nHowever, whilst definiting a proper \"struct compat_sioc_sg_req\" it\nisn\u0027t actually used in ipmr_compat_ioctl().\n\nCorrect this oversight.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b299e4f001cfa16205f9121f4630970049652268",
      "tree": "81ea9a19ff8096f40b1340a8e41c4c254623ef2f",
      "parents": [
        "442b9635c569fef038d5367a7acd906db4677ae1"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Feb 02 20:48:10 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Feb 02 20:48:47 2011 -0800"
      },
      "message": "ipv4: Fix fib_trie build in some configurations.\n\nIf we end up including include/linux/node.h (either explicitly\nor implicitly) that header has a definition of \"structt node\"\ntoo.\n\nSo rename the one we use in fib_trie to \"rt_trie_node\" to avoid\nthe conflict.\n\nReported-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "442b9635c569fef038d5367a7acd906db4677ae1",
      "tree": "c20d06ca161c70c0db61ed298eaf51102b67a38e",
      "parents": [
        "5ea74318c68fcb38f02fc2fc920abd37d9a9bc33"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Feb 02 17:05:11 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Feb 02 20:48:47 2011 -0800"
      },
      "message": "tcp: Increase the initial congestion window to 10.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Nandita Dukkipati \u003cnanditad@google.com\u003e\n"
    },
    {
      "commit": "0bc0be7f20efea664b7c4c1d0b1822bc8f53a8b4",
      "tree": "ead6485944f5c1db64c9f6b6dd7ef0f9e4842a67",
      "parents": [
        "34a6ef381d402c6547aa9abb8a74b0262ae8255f",
        "3db7e93d3308fb882884b9f024235d6fbf542034"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Feb 02 15:52:23 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Feb 02 15:52:23 2011 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-2.6\n"
    },
    {
      "commit": "123b9731b14f49cd41c91ed2b6c31e515615347c",
      "tree": "5d5fc048260227e109663eb5f3deaf5e2dda04d8",
      "parents": [
        "5348ba85a02ffe80a8af33a524b6610966760d3d"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 01 15:34:21 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 01 15:35:26 2011 -0800"
      },
      "message": "ipv4: Rename fib_hash_* locals in fib_semantics.c\n\nTo avoid confusion with the recently deleted fib_hash.c\ncode, use \"fib_info_hash_*\" instead of plain \"fib_hash_*\".\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5348ba85a02ffe80a8af33a524b6610966760d3d",
      "tree": "37e2fd7f990692508906cfcabc0b7d7500e087ef",
      "parents": [
        "3630b7c050d9c3564f143d595339fc06b888d6f3"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 01 15:30:56 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 01 15:35:25 2011 -0800"
      },
      "message": "ipv4: Update some fib_hash centric interface names.\n\nfib_hash_init() --\u003e fib_trie_init()\nfib_hash_table() --\u003e fib_trie_table()\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3630b7c050d9c3564f143d595339fc06b888d6f3",
      "tree": "6c6144205d92e745303d79d136b0baed4b385193",
      "parents": [
        "2ba451421b23636c45fabfa522858c5c124b3673"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 01 15:15:39 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 01 15:35:25 2011 -0800"
      },
      "message": "ipv4: Remove fib_hash.\n\nThe time has finally come to remove the hash based routing table\nimplementation in ipv4.\n\nFIB Trie is mature, well tested, and I\u0027ve done an audit of it\u0027s code\nto confirm that it implements insert, delete, and lookup with the same\nidentical semantics as fib_hash did.\n\nIf there are any semantic differences found in fib_trie, we should\nsimply fix them.\n\nI\u0027ve placed the trie statistic config option under advanced router\nconfiguration.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\n"
    },
    {
      "commit": "9d0db8b6b1da9e3d4c696ef29449700c58d589db",
      "tree": "f3fcf8325e523810c1ec70437b291b5ac8b74bfa",
      "parents": [
        "08b5194b5d6485d12ebf24cf6ee389fc55691122"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Tue Feb 01 16:03:46 2011 +0100"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Feb 01 16:03:46 2011 +0100"
      },
      "message": "netfilter: arpt_mangle: fix return values of checkentry\n\nIn 135367b \"netfilter: xtables: change xt_target.checkentry return type\",\nthe type returned by checkentry was changed from boolean to int, but the\nreturn values where not adjusted.\n\narptables: Input/output error\n\nThis broke arptables with the mangle target since it returns true\nunder success, which is interpreted by xtables as \u003e0, thus\nreturning EIO.\n\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "0c838ff1ade71162775afffd9e5c6478a60bdca6",
      "tree": "81910cc5582f4862770307784c40c66aa3a44948",
      "parents": [
        "5b4704419cbd0b7597a91c19f9e8e8b17c1af071"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 31 16:16:50 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 31 16:16:50 2011 -0800"
      },
      "message": "ipv4: Consolidate all default route selection implementations.\n\nBoth fib_trie and fib_hash have a local implementation of\nfib_table_select_default().  This is completely unnecessary\ncode duplication.\n\nSince we now remember the fib_table and the head of the fib\nalias list of the default route, we can implement one single\ngeneric version of this routine.\n\nLooking at the fib_hash implementation you may get the impression\nthat it\u0027s possible for there to be multiple top-level routes in\nthe table for the default route.  The truth is, it isn\u0027t, the\ninsert code will only allow one entry to exist in the zero\nprefix hash table, because all keys evaluate to zero and all\nkeys in a hash table must be unique.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5b4704419cbd0b7597a91c19f9e8e8b17c1af071",
      "tree": "94ee46905ba2a142bdf910fb26f7450c41ebc46a",
      "parents": [
        "a5e3c2aae23a3719105c1ae662c67ef282f213db"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 31 16:10:03 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 31 16:10:03 2011 -0800"
      },
      "message": "ipv4: Remember FIB alias list head and table in lookup results.\n\nThis will be used later to implement fib_select_default() in a\ncompletely generic manner, instead of the current situation where the\ndefault route is re-looked up in the TRIE/HASH table and then the\navailable aliases are analyzed.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ec831ea72ee5d7d473899e27a86bd659482c4d0d",
      "tree": "9bce912eff9cc0aaeb1f47659e99f1d6c9951f80",
      "parents": [
        "c4c93106741bbf61ecd05a2a835af8e3bf31c1bd"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Jan 31 13:16:00 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 31 13:16:00 2011 -0800"
      },
      "message": "net: Add default_mtu() methods to blackhole dst_ops\n\nWhen an IPSEC SA is still being set up, __xfrm_lookup() will return\n-EREMOTE and so ip_route_output_flow() will return a blackhole route.\nThis can happen in a sndmsg call, and after d33e455337ea (\"net: Abstract\ndefault MTU metric calculation behind an accessor.\") this leads to a\ncrash in ip_append_data() because the blackhole dst_ops have no\ndefault_mtu() method and so dst_mtu() calls a NULL pointer.\n\nFix this by adding default_mtu() methods (that simply return 0, matching\nthe old behavior) to the blackhole dst_ops.\n\nThe IPv4 part of this patch fixes a crash that I saw when using an IPSEC\nVPN; the IPv6 part is untested because I don\u0027t have an IPv6 VPN, but it\nlooks to be needed as well.\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5403c8a29521a6eb02f9283dbbe0184527f8f42b",
      "tree": "4f1ca17feda4dfa88f53eceeaa39583ec840d27e",
      "parents": [
        "c79b9e4936142d5ed26073d58bdd4a5a0ac62f32",
        "c4c93106741bbf61ecd05a2a835af8e3bf31c1bd"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 31 13:13:24 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 31 13:13:24 2011 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n"
    },
    {
      "commit": "709b46e8d90badda1898caea50483c12af178e96",
      "tree": "799b57704dda3684777fb57a6e413dabac78858c",
      "parents": [
        "13ad17745c2cbd437d9e24b2d97393e0be11c439"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sat Jan 29 16:15:56 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jan 30 01:14:38 2011 -0800"
      },
      "message": "net: Add compat ioctl support for the ipv4 multicast ioctl SIOCGETSGCNT\n\nSIOCGETSGCNT is not a unique ioctl value as it it maps tio SIOCPROTOPRIVATE +1,\nwhich unfortunately means the existing infrastructure for compat networking\nioctls is insufficient.  A trivial compact ioctl implementation would conflict\nwith:\n\nSIOCAX25ADDUID\nSIOCAIPXPRISLT\nSIOCGETSGCNT_IN6\nSIOCGETSGCNT\nSIOCRSSCAUSE\nSIOCX25SSUBSCRIP\nSIOCX25SDTEFACILITIES\n\nTo make this work I have updated the compat_ioctl decode path to mirror the\nthe normal ioctl decode path.  I have added an ipv4 inet_compat_ioctl function\nso that I can have ipv4 specific compat ioctls.   I have added a compat_ioctl\nfunction into struct proto so I can break out ioctls by which kind of ip socket\nI am using.  I have added a compat_raw_ioctl function because SIOCGETSGCNT only\nworks on raw sockets.  I have added a ipmr_compat_ioctl that mirrors the normal\nipmr_ioctl.\n\nThis was necessary because unfortunately the struct layout for the SIOCGETSGCNT\nhas unsigned longs in it so changes between 32bit and 64bit kernels.\n\nThis change was sufficient to run a 32bit ip multicast routing daemon on a\n64bit kernel.\n\nReported-by: Bill Fenner \u003cfenner@aristanetworks.com\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b8dad61cc74b9ec71052e2a0e1c5119c65d166da",
      "tree": "4291d51fd921d54e3c7d52bcb6a106704d60d061",
      "parents": [
        "725d1e1b457dc2bbebb337677e73efe7c6d14da5"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jan 28 14:07:16 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jan 28 14:07:16 2011 -0800"
      },
      "message": "ipv4: If fib metrics are default, no need to grab ref to FIB info.\n\nThe fib metric memory in this case is static in the kernel image,\nso we don\u0027t need to reference count it since it\u0027s never going\nto go away on us.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "725d1e1b457dc2bbebb337677e73efe7c6d14da5",
      "tree": "b001a08feeff741963d8232ecb26e5c1a75efb92",
      "parents": [
        "9c150e82ac50a611237bbebd508d17f6347d577c"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jan 28 14:05:05 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jan 28 14:05:05 2011 -0800"
      },
      "message": "ipv4: Attach FIB info to dst_default_metrics when possible\n\nIf there are no explicit metrics attached to a route, hook\nfi-\u003efib_info up to dst_default_metrics.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9c150e82ac50a611237bbebd508d17f6347d577c",
      "tree": "7c79c013857cc13570595e805de0dbdb8f00332e",
      "parents": [
        "a4daad6b0923030fbd3b00a01f570e4c3eef446b"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jan 28 14:01:25 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jan 28 14:01:25 2011 -0800"
      },
      "message": "ipv4: Allocate fib metrics dynamically.\n\nThis is the initial gateway towards super-sharing metrics\nif they are all set to zero for a route.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a4daad6b0923030fbd3b00a01f570e4c3eef446b",
      "tree": "b8e5b9a2110628503e57149f0bb2a4bb1bf3f027",
      "parents": [
        "8571a19c4ac140f1a507f3e7eb716892afa27109"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 27 22:01:53 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 27 22:01:53 2011 -0800"
      },
      "message": "net: Pre-COW metrics for TCP.\n\nTCP is going to record metrics for the connection,\nso pre-COW the route metrics at route cache entry\ncreation time.\n\nThis avoids several atomic operations that have to\noccur if we COW the metrics after the entry reaches\nglobal visibility.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "065825402c058f4a123ddc53dbbe864cc5caaf64",
      "tree": "7d0d5122a5315c5850a0b01ed7349e9eebf794e2",
      "parents": [
        "1397e171f143878dd16ad5f8c99f7b9440cc8911"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 27 14:58:42 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 27 14:59:31 2011 -0800"
      },
      "message": "net: Store ipv4/ipv6 COW\u0027d metrics in inetpeer cache.\n\nPlease note that the IPSEC dst entry metrics keep using\nthe generic metrics COW\u0027ing mechanism using kmalloc/kfree.\n\nThis gives the IPSEC routes an opportunity to use metrics\nwhich are unique to their encapsulated paths.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "144001bddcb4db62c2261f1d703d835851031577",
      "tree": "e10cd1840542b2a6d4873ff8477314d91e453881",
      "parents": [
        "606598237c856b0c6584c2263288657658140da9"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 27 13:52:16 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 27 13:52:16 2011 -0800"
      },
      "message": "inetpeer: Mark metrics as \"new\" in fresh inetpeer entries.\n\nSet the RTAX_LOCKED metric to INETPEER_METRICS_NEW (basically,\nall ones) on fresh inetpeer entries.\n\nThis way code can determine if default metrics have been loaded\nin from a routing table entry already.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "62fa8a846d7de4b299232e330c74b7783539df76",
      "tree": "e401dbdbf4b11cbd27bdc3a47d9dc8b512173c9f",
      "parents": [
        "b4e69ac670d71b5748dc81e536b2cb103489badd"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 26 20:51:05 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 26 20:51:05 2011 -0800"
      },
      "message": "net: Implement read-only protection and COW\u0027ing of metrics.\n\nRouting metrics are now copy-on-write.\n\nInitially a route entry points it\u0027s metrics at a read-only location.\nIf a routing table entry exists, it will point there.  Else it will\npoint at the all zero metric place-holder called \u0027dst_default_metrics\u0027.\n\nThe writeability state of the metrics is stored in the low bits of the\nmetrics pointer, we have two bits left to spare if we want to store\nmore states.\n\nFor the initial implementation, COW is implemented simply via kmalloc.\nHowever future enhancements will change this to place the writable\nmetrics somewhere else, in order to increase sharing.  Very likely\nthis \"somewhere else\" will be the inetpeer cache.\n\nNote also that this means that metrics updates may transiently fail\nif we cannot COW the metrics successfully.\n\nBut even by itself, this patch should decrease memory usage and\nincrease cache locality especially for routing workloads.  In those\ncases the read-only metric copies stay in place and never get written\nto.\n\nTCP workloads where metrics get updated, and those rare cases where\nPMTU triggers occur, will take a very slight performance hit.  But\nthat hit will be alleviated when the long-term writable metrics\nmove to a more sharable location.\n\nSince the metrics storage went from a u32 array of RTAX_MAX entries to\nwhat is essentially a pointer, some retooling of the dst_entry layout\nwas necessary.\n\nMost importantly, we need to preserve the alignment of the reference\ncount so that it doesn\u0027t share cache lines with the read-mostly state,\nas per Eric Dumazet\u0027s alignment assertion checks.\n\nThe only non-trivial bit here is the move of the \u0027flags\u0027 member into\nthe writeable cacheline.  This is OK since we are always accessing the\nflags around the same moment when we made a modification to the\nreference count.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b4e69ac670d71b5748dc81e536b2cb103489badd",
      "tree": "26a04ba5d950657132fd6acb4e0ef17d0bcabe93",
      "parents": [
        "144ce879b057c760194d808c90826cd96308f423",
        "7cc2edb83447775a34ed3bf9d29d8295a434b523"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 26 13:49:30 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 26 13:49:30 2011 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n"
    },
    {
      "commit": "44f5324b5d13ef2187729d949eca442689627f39",
      "tree": "1b53aabed696b8b3099ac2872a7bfe5d5ce24ad3",
      "parents": [
        "73a8bd74e2618990dbb218c3d82f53e60acd9af0"
      ],
      "author": {
        "name": "Jerry Chu",
        "email": "hkchu@google.com",
        "time": "Tue Jan 25 13:46:30 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 25 13:46:30 2011 -0800"
      },
      "message": "TCP: fix a bug that triggers large number of TCP RST by mistake\n\nThis patch fixes a bug that causes TCP RST packets to be generated\non otherwise correctly behaved applications, e.g., no unread data\non close,..., etc. To trigger the bug, at least two conditions must\nbe met:\n\n1. The FIN flag is set on the last data packet, i.e., it\u0027s not on a\nseparate, FIN only packet.\n2. The size of the last data chunk on the receive side matches\nexactly with the size of buffer posted by the receiver, and the\nreceiver closes the socket without any further read attempt.\n\nThis bug was first noticed on our netperf based testbed for our IW10\nproposal to IETF where a large number of RST packets were observed.\nnetperf\u0027s read side code meets the condition 2 above 100%.\n\nBefore the fix, tcp_data_queue() will queue the last skb that meets\ncondition 1 to sk_receive_queue even though it has fully copied out\n(skb_copy_datagram_iovec()) the data. Then if condition 2 is also met,\ntcp_recvmsg() often returns all the copied out data successfully\nwithout actually consuming the skb, due to a check\n\"if ((chunk \u003d len - tp-\u003eucopy.len) !\u003d 0) {\"\nand\n\"len -\u003d chunk;\"\nafter tcp_prequeue_process() that causes \"len\" to become 0 and an\nearly exit from the big while loop.\n\nI don\u0027t see any reason not to free the skb whose data have been fully\nconsumed in tcp_data_queue(), regardless of the FIN flag.  We won\u0027t\nget there if MSG_PEEK is on. Am I missing some arcane cases related\nto urgent data?\n\nSigned-off-by: H.K. Jerry Chu \u003chkchu@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "04ed3e741d0f133e02bed7fa5c98edba128f90e7",
      "tree": "3dde4ca8306e98536faa69bccf0e47a2549c088f",
      "parents": [
        "57422dc530115e427dff464cc0a32bcd0efb5008"
      ],
      "author": {
        "name": "Michał Mirosław",
        "email": "mirq-linux@rere.qmqm.pl",
        "time": "Mon Jan 24 15:32:47 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 24 15:32:47 2011 -0800"
      },
      "message": "net: change netdev-\u003efeatures to u32\n\nQuoting Ben Hutchings: we presumably won\u0027t be defining features that\ncan only be enabled on 64-bit architectures.\n\nOccurences found by `grep -r` on net/, drivers/net, include/\n\n[ Move features and vlan_features next to each other in\n  struct netdev, as per Eric Dumazet\u0027s suggestion -DaveM ]\n\nSigned-off-by: Michał Mirosław \u003cmirq-linux@rere.qmqm.pl\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fd0273c5033630b8673554cd39660435d1ab2ac4",
      "tree": "e13f583f7848dcc1c620f3e4598e22f96a2d8efc",
      "parents": [
        "3408404a4c2a4eead9d73b0bbbfe3f225b65f492"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Jan 24 14:41:20 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 24 14:41:20 2011 -0800"
      },
      "message": "tcp: fix bug in listening_get_next()\n\ncommit a8b690f98baf9fb19 (tcp: Fix slowness in read /proc/net/tcp)\nintroduced a bug in handling of SYN_RECV sockets.\n\nst-\u003eoffset represents number of sockets found since beginning of\nlistening_hash[st-\u003ebucket].\n\nWe should not reset st-\u003eoffset when iterating through\nsyn_table[st-\u003esbucket], or else if more than ~25 sockets (if\nPAGE_SIZE\u003d4096) are in SYN_RECV state, we exit from listening_get_next()\nwith a too small st-\u003eoffset\n\nNext time we enter tcp_seek_last_pos(), we are not able to seek past\nalready found sockets.\n\nReported-by: PK \u003crunningdoglackey@yahoo.com\u003e\nCC: Tom Herbert \u003ctherbert@google.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3408404a4c2a4eead9d73b0bbbfe3f225b65f492",
      "tree": "b0be5af0a2886a3f5bc075d94c4c621ff6802973",
      "parents": [
        "d1dc7abf2fafa34b0ffcd070fd59405aa9c0a4d8"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 24 14:37:46 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 24 14:38:09 2011 -0800"
      },
      "message": "inetpeer: Use correct AVL tree base pointer in inet_getpeer().\n\nFamily was hard-coded to AF_INET but should be daddr-\u003efamily.\n\nThis fixes crashes when unlinking ipv6 peer entries, since the\nunlink code was looking up the base pointer properly.\n\nReported-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5bdc22a56549e7983c6b443298672641952ea035",
      "tree": "fbfd4e7453e4fd23dfef826d4610ed2aae47b36c",
      "parents": [
        "b6f4098897f30b7ea90a1c1edf35e9b20a9d828a",
        "e92427b289d252cfbd4cb5282d92f4ce1a5bb1fb"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 24 14:09:35 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 24 14:09:35 2011 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tnet/sched/sch_hfsc.c\n\tnet/sched/sch_htb.c\n\tnet/sched/sch_tbf.c\n"
    },
    {
      "commit": "e92427b289d252cfbd4cb5282d92f4ce1a5bb1fb",
      "tree": "6d30e5e7b7f8e9aaa51d43b7128ac56860fa03bb",
      "parents": [
        "c506653d35249bb4738bb139c24362e1ae724bc1",
        "ec30f343d61391ab23705e50a525da1d55395780"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 24 13:17:06 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 24 13:17:06 2011 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6\n"
    },
    {
      "commit": "c506653d35249bb4738bb139c24362e1ae724bc1",
      "tree": "24fdcd4d25b8e0fd14c4074f3ef3673d3c7f6eb3",
      "parents": [
        "0a0b7a5f7a043d86a95990d3227cf7e823ae52ac"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Jan 24 13:16:16 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 24 13:16:16 2011 -0800"
      },
      "message": "net: arp_ioctl() must hold RTNL\n\nCommit 941666c2e3e0 \"net: RCU conversion of dev_getbyhwaddr() and\narp_ioctl()\" introduced a regression, reported by Jamie Heilman.\n\"arp -Ds 192.168.2.41 eth0 pub\" triggered the ASSERT_RTNL() assert\nin pneigh_lookup()\n\nRemoving RTNL requirement from arp_ioctl() was a mistake, just revert\nthat part.\n\nReported-by: Jamie Heilman \u003cjamie@audible.transient.net\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "41a7cab6d329039d614ca5f0f87aff2dfd90637c",
      "tree": "ae4f721c29b3fa5f80820f520850d5c909d04786",
      "parents": [
        "4cda47d2e7b21b0b41e44dbe4cd9804fea2d30e9"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Thu Jan 20 15:49:52 2011 +0100"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Jan 20 15:49:52 2011 +0100"
      },
      "message": "netfilter: nf_nat: place conntrack in source hash after SNAT is done\n\nIf SNAT isn\u0027t done, the wrong info maybe got by the other cts.\n\nAs the filter table is after DNAT table, the packets dropped in filter\ntable also bother bysource hash table.\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "28a51ba59a1a983d63d4775e9bb8230fe0fb3b29",
      "tree": "8cb43af6028065dcdbc4418bbb30767729edc579",
      "parents": [
        "a07aa004c8d814a975b1a68afdb7baaa8f1b91d5"
      ],
      "author": {
        "name": "Florian Westphal",
        "email": "fw@strlen.de",
        "time": "Thu Jan 20 10:23:26 2011 +0100"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Jan 20 10:23:26 2011 +0100"
      },
      "message": "netfilter: do not omit re-route check on NF_QUEUE verdict\n\nret !\u003d NF_QUEUE only works in the \"--queue-num 0\" case; for\nqueues \u003e 0 the test should be \u0027(ret \u0026 NF_VERDICT_MASK) !\u003d NF_QUEUE\u0027.\n\nHowever, NF_QUEUE no longer DROPs the skb unconditionally if queueing\nfails (due to NF_VERDICT_FLAG_QUEUE_BYPASS verdict flag), so the\nre-route test should also be performed if this flag is set in the\nverdict.\n\nThe full test would then look something like\n\n\u0026\u0026 ((ret \u0026 NF_VERDICT_MASK) \u003d\u003d NF_QUEUE \u0026\u0026 (ret \u0026 NF_VERDICT_FLAG_QUEUE_BYPASS))\n\nThis is rather ugly, so just remove the NF_QUEUE test altogether.\n\nThe only effect is that we might perform an unnecessary route lookup\nin the NF_QUEUE case.\n\nip6table_mangle did not have such a check.\n\nSigned-off-by: Florian Westphal \u003cfw@strlen.de\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "1268afe676ee9431a229fc68a2efb0dad4d5852f",
      "tree": "c252b969a51bd97317415cfc3b6465441f1b8aec",
      "parents": [
        "c56eb8fb6dccb83d9fe62fd4dc00c834de9bc470",
        "4580ccc04ddd8c17a470573a7fdb8def2e036dfa"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 19 20:25:45 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 19 20:25:45 2011 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (41 commits)\n  sctp: user perfect name for Delayed SACK Timer option\n  net: fix can_checksum_protocol() arguments swap\n  Revert \"netlink: test for all flags of the NLM_F_DUMP composite\"\n  gianfar: Fix misleading indentation in startup_gfar()\n  net/irda/sh_irda: return to RX mode when TX error\n  net offloading: Do not mask out NETIF_F_HW_VLAN_TX for vlan.\n  USB CDC NCM: tx_fixup() race condition fix\n  ns83820: Avoid bad pointer deref in ns83820_init_one().\n  ipv6: Silence privacy extensions initialization\n  bnx2x: Update bnx2x version to 1.62.00-4\n  bnx2x: Fix AER setting for BCM57712\n  bnx2x: Fix BCM84823 LED behavior\n  bnx2x: Mark full duplex on some external PHYs\n  bnx2x: Fix BCM8073/BCM8727 microcode loading\n  bnx2x: LED fix for BCM8727 over BCM57712\n  bnx2x: Common init will be executed only once after POR\n  bnx2x: Swap BCM8073 PHY polarity if required\n  iwlwifi: fix valid chain reading from EEPROM\n  ath5k: fix locking in tx_complete_poll_work\n  ath9k_hw: do PA offset calibration only on longcal interval\n  ...\n"
    },
    {
      "commit": "14f0290ba44de6ed435fea24bba26e7868421c66",
      "tree": "449d32e4848007e3edbcab14fa8e09fdc66608ed",
      "parents": [
        "f5c88f56b35599ab9ff2d3398e0153e4cd4a4c82",
        "a5db219f4cf9f67995eabd53b81a1232c82f5852"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Jan 19 23:51:37 2011 +0100"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Jan 19 23:51:37 2011 +0100"
      },
      "message": "Merge branch \u0027master\u0027 of /repos/git/net-next-2.6\n"
    },
    {
      "commit": "b8f3ab4290f1e720166e888ea2a1d1d44c4d15dd",
      "tree": "88d5b71b27ed9ca0b5d67bd6ae61f592fb61fdc5",
      "parents": [
        "ff76015f3bdfbc482c723cb4f2559cef84d178ca"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 18 12:40:38 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 19 13:34:20 2011 -0800"
      },
      "message": "Revert \"netlink: test for all flags of the NLM_F_DUMP composite\"\n\nThis reverts commit 0ab03c2b1478f2438d2c80204f7fef65b1bca9cf.\n\nIt breaks several things including the avahi daemon.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "93557f53e1fbd9e2b6574ab0a9b5852628fde9e3",
      "tree": "b6bc24a10d4a48c354935d8e4fe4d110cf6dc060",
      "parents": [
        "94d117a1c78df38abdea0c09ef00c205b923b567"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@redhat.com",
        "time": "Tue Jan 18 18:12:24 2011 +0100"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Jan 18 18:12:24 2011 +0100"
      },
      "message": "netfilter: nf_conntrack: nf_conntrack snmp helper\n\nAdding support for SNMP broadcast connection tracking. The SNMP\nbroadcast requests are now paired with the SNMP responses.\nThus allowing using SNMP broadcasts with firewall enabled.\n\nPlease refer to the following conversation:\nhttp://marc.info/?l\u003dnetfilter-devel\u0026m\u003d125992205006600\u0026w\u003d2\n\nPatrick McHardy wrote:\n\u003e \u003e The best solution would be to add generic broadcast tracking, the\n\u003e \u003e use of expectations for this is a bit of abuse.\n\u003e \u003e The second best choice I guess would be to move the help() function\n\u003e \u003e to a shared module and generalize it so it can be used for both.\nThis patch implements the \"second best choice\".\n\nSince the netbios-ns conntrack module uses the same helper\nfunctionality as the snmp, only one helper function is added\nfor both snmp and netbios-ns modules into the new object -\nnf_conntrack_broadcast.\n\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "94d117a1c78df38abdea0c09ef00c205b923b567",
      "tree": "dae2d28e1627c95fd785cdb960bc9eb2b8b2838d",
      "parents": [
        "a8fc0d9b3401cb5e42a437293db383998290157d"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Jan 18 16:27:56 2011 +0100"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Jan 18 16:27:56 2011 +0100"
      },
      "message": "netfilter: ipt_CLUSTERIP: remove \"no conntrack!\"\n\nWhen a packet is meant to be handled by another node of the cluster,\nsilently drop it instead of flooding kernel log.\n\nNote : INVALID packets are also dropped without notice.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nAcked-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "a7c2f4d7daf9bbea362763fa7353b1862a2487ad",
      "tree": "84dfadd50d341c86615f58712b86684ec8ebf2d1",
      "parents": [
        "fbabf31e4d482149b5e2704eb0287cf9117bdcf3"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Tue Jan 18 15:02:48 2011 +0100"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Jan 18 15:02:48 2011 +0100"
      },
      "message": "netfilter: nf_nat: fix conversion to non-atomic bit ops\n\nMy previous patch (netfilter: nf_nat: don\u0027t use atomic bit operation)\nmade a mistake when converting atomic_set to a normal bit \u0027or\u0027.\nIPS_*_BIT should be replaced with IPS_*.\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nCc: Tim Gardner \u003ctim.gardner@canonical.com\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "d862a6622e9db508d4b28cc7c5bc28bd548cc24e",
      "tree": "d0d65ef88e8f158a33c370a0f1a6f98b41191d6c",
      "parents": [
        "0134e89c7bcc9fde1da962c82a120691e185619f"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Jan 14 15:45:56 2011 +0100"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Jan 14 15:45:56 2011 +0100"
      },
      "message": "netfilter: nf_conntrack: use is_vmalloc_addr()\n\nUse is_vmalloc_addr() in nf_ct_free_hashtable() and get rid of\nthe vmalloc flags to indicate that a hash table has been allocated\nusing vmalloc().\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "0134e89c7bcc9fde1da962c82a120691e185619f",
      "tree": "3e03335cf001019a2687d161e956de4f73379984",
      "parents": [
        "c7066f70d9610df0b9406cc635fc09e86136e714",
        "6faee60a4e82075853a437831768cc9e2e563e4e"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Jan 14 14:12:37 2011 +0100"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Jan 14 14:12:37 2011 +0100"
      },
      "message": "Merge branch \u0027master\u0027 of git://1984.lsi.us.es/net-next-2.6\n\nConflicts:\n\tnet/ipv4/route.c\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "c7066f70d9610df0b9406cc635fc09e86136e714",
      "tree": "ce98855b2c1ba2da15b7b47fc7a447d1903c4d89",
      "parents": [
        "ae90bdeaeac6b964b7a1e853a90a19f358a9ac20"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Jan 14 13:36:42 2011 +0100"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Jan 14 13:36:42 2011 +0100"
      },
      "message": "netfilter: fix Kconfig dependencies\n\nFix dependencies of netfilter realm match: it depends on NET_CLS_ROUTE,\nwhich itself depends on NET_SCHED; this dependency is missing from netfilter.\n\nSince matching on realms is also useful without having NET_SCHED enabled and\nthe option really only controls whether the tclassid member is included in\nroute and dst entries, rename the config option to IP_ROUTE_CLASSID and move\nit outside of traffic scheduling context to get rid of the NET_SCHED dependeny.\n\nReported-by: Vladis Kletnieks \u003cValdis.Kletnieks@vt.edu\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "008d23e4852d78bb2618f2035f8b2110b6a6b968",
      "tree": "81c88f744f6f3fc84132527c1ddc0b4da410c5e2",
      "parents": [
        "8f685fbda43deccd130d192c9fcef1444649eaca",
        "bfc672dcf323877228682aff79dff8ecd9f30ff8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 10:05:56 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 10:05:56 2011 -0800"
      },
      "message": "Merge branch \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\n* \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (43 commits)\n  Documentation/trace/events.txt: Remove obsolete sched_signal_send.\n  writeback: fix global_dirty_limits comment runtime -\u003e real-time\n  ppc: fix comment typo singal -\u003e signal\n  drivers: fix comment typo diable -\u003e disable.\n  m68k: fix comment typo diable -\u003e disable.\n  wireless: comment typo fix diable -\u003e disable.\n  media: comment typo fix diable -\u003e disable.\n  remove doc for obsolete dynamic-printk kernel-parameter\n  remove extraneous \u0027is\u0027 from Documentation/iostats.txt\n  Fix spelling milisec -\u003e ms in snd_ps3 module parameter description\n  Fix spelling mistakes in comments\n  Revert conflicting V4L changes\n  i7core_edac: fix typos in comments\n  mm/rmap.c: fix comment\n  sound, ca0106: Fix assignment to \u0027channel\u0027.\n  hrtimer: fix a typo in comment\n  init/Kconfig: fix typo\n  anon_inodes: fix wrong function name in comment\n  fix comment typos concerning \"consistent\"\n  poll: fix a typo in comment\n  ...\n\nFix up trivial conflicts in:\n - drivers/net/wireless/iwlwifi/iwl-core.c (moved to iwl-legacy.c)\n - fs/ext4/ext4.h\n\nAlso fix missed \u0027diabled\u0027 typo in drivers/net/bnx2x/bnx2x.h while at it.\n"
    },
    {
      "commit": "255d0dc34068a976550ce555e153c0bfcfec7cc6",
      "tree": "e936c3d55eaf144cbc4edf8f9332d8089719d0d4",
      "parents": [
        "b017900aac4a158b9bf7ffdcb8a369a91115b3e4"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sat Dec 18 18:35:15 2010 +0100"
      },
      "committer": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Thu Jan 13 12:05:12 2011 +0100"
      },
      "message": "netfilter: x_table: speedup compat operations\n\nOne iptables invocation with 135000 rules takes 35 seconds of cpu time\non a recent server, using a 32bit distro and a 64bit kernel.\n\nWe eventually trigger NMI/RCU watchdog.\n\nINFO: rcu_sched_state detected stall on CPU 3 (t\u003d6000 jiffies)\n\nCOMPAT mode has quadratic behavior and consume 16 bytes of memory per\nrule.\n\nSwitch the xt_compat algos to use an array instead of list, and use a\nbinary search to locate an offset in the sorted array.\n\nThis halves memory need (8 bytes per rule), and removes quadratic\nbehavior [ O(N*N) -\u003e O(N*log2(N)) ]\n\nTime of iptables goes from 35 s to 150 ms.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\n"
    },
    {
      "commit": "fee1cc0895fd7bde875a86bbc3a1e82089e540b8",
      "tree": "df0a07a650229fd7aa775ca6c20a8d2939c96e72",
      "parents": [
        "ae90bdeaeac6b964b7a1e853a90a19f358a9ac20",
        "0c21e3aaf6ae85bee804a325aa29c325209180fd"
      ],
      "author": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Thu Jan 13 10:29:21 2011 +0900"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Thu Jan 13 10:29:21 2011 +0900"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6 into HEAD\n"
    },
    {
      "commit": "60dbb011df9764294284cc3e70f935eaa462e15e",
      "tree": "7bf7672001c3fc87850895577f22c0f6dc4c1138",
      "parents": [
        "4b0ef1f223be4e092632b4152ceec5627ac10f59",
        "2f46e07995734a363608e974a82fd05d5b610750"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 11 15:43:03 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 11 15:43:03 2011 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of git://1984.lsi.us.es/net-2.6\n"
    },
    {
      "commit": "4b0ef1f223be4e092632b4152ceec5627ac10f59",
      "tree": "79472554ddc96359cdfe07f6b4967dabe9cb5eaa",
      "parents": [
        "e44f391187495e0deaf7b9f0077e94f270837d1a"
      ],
      "author": {
        "name": "Dang Hongwu",
        "email": "hongwu.dang@6wind.com",
        "time": "Tue Jan 11 07:13:33 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 11 14:03:10 2011 -0800"
      },
      "message": "ah: reload pointers to skb data after calling skb_cow_data()\n\nskb_cow_data() may allocate a new data buffer, so pointers on\nskb should be set after this function.\n\nBug was introduced by commit dff3bb06 (\"ah4: convert to ahash\")\nand 8631e9bd (\"ah6: convert to ahash\").\n\nSigned-off-by: Wang Xuefu \u003cxuefu.wang@6wind.com\u003e\nAcked-by: Krzysztof Witek \u003ckrzysztof.witek@6wind.com\u003e\nSigned-off-by: Nicolas Dichtel \u003cnicolas.dichtel@6wind.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c191a836a908d1dd6b40c503741f91b914de3348",
      "tree": "98ab4ed7316d55bb014f758e590fec2811694f30",
      "parents": [
        "42b82dc19dfdcab931fb67175996a881ce254145"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Jan 11 01:14:22 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 11 14:03:07 2011 -0800"
      },
      "message": "tcp: disallow bind() to reuse addr/port\n\ninet_csk_bind_conflict() logic currently disallows a bind() if\nit finds a friend socket (a socket bound on same address/port)\nsatisfying a set of conditions :\n\n1) Current (to be bound) socket doesnt have sk_reuse set\nOR\n2) other socket doesnt have sk_reuse set\nOR\n3) other socket is in LISTEN state\n\nWe should add the CLOSE state in the 3) condition, in order to avoid two\nREUSEADDR sockets in CLOSE state with same local address/port, since\nthis can deny further operations.\n\nNote : a prior patch tried to address the problem in a different (and\nbuggy) way. (commit fda48a0d7a8412ced tcp: bind() fix when many ports\nare bound).\n\nReported-by: Gaspar Chilingarov \u003cgasparch@gmail.com\u003e\nReported-by: Daniel Baluta \u003cdaniel.baluta@gmail.com\u003e\nTested-by: Daniel Baluta \u003cdaniel.baluta@gmail.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\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": "83723d60717f8da0f53f91cf42a845ed56c09662",
      "tree": "9d32edc2c6dc4849e63d422f8dad42606b2f984f",
      "parents": [
        "45b9f509b7f5d2d792b3c03b78ddc8ec543e921b"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Jan 10 20:11:38 2011 +0100"
      },
      "committer": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Mon Jan 10 20:11:38 2011 +0100"
      },
      "message": "netfilter: x_tables: dont block BH while reading counters\n\nUsing \"iptables -L\" with a lot of rules have a too big BH latency.\nJesper mentioned ~6 ms and worried of frame drops.\n\nSwitch to a per_cpu seqlock scheme, so that taking a snapshot of\ncounters doesnt need to block BH (for this cpu, but also other cpus).\n\nThis adds two increments on seqlock sequence per ipt_do_table() call,\nits a reasonable cost for allowing \"iptables -L\" not block BH\nprocessing.\n\nReported-by: Jesper Dangaard Brouer \u003chawk@comx.dk\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCC: Patrick McHardy \u003ckaber@trash.net\u003e\nAcked-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nAcked-by: Jesper Dangaard Brouer \u003chawk@comx.dk\u003e\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\n"
    },
    {
      "commit": "0ab03c2b1478f2438d2c80204f7fef65b1bca9cf",
      "tree": "a130abc7a3cc2d5c326b1bbdad80c06e741db3fd",
      "parents": [
        "dba5a68ae147d0672d4b9259f3ece37777f8b2fa"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Fri Jan 07 03:15:05 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jan 09 16:25:03 2011 -0800"
      },
      "message": "netlink: test for all flags of the NLM_F_DUMP composite\n\nDue to NLM_F_DUMP is composed of two bits, NLM_F_ROOT | NLM_F_MATCH,\nwhen doing \"if (x \u0026 NLM_F_DUMP)\", it tests for _either_ of the bits\nbeing set. Because NLM_F_MATCH\u0027s value overlaps with NLM_F_EXCL,\nnon-dump requests with NLM_F_EXCL set are mistaken as dump requests.\n\nSubstitute the condition to test for _all_ bits being set.\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\nAcked-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cba85b532e4aabdb97f44c18987d45141fd93faa",
      "tree": "785e2a715a922c36b15e1929473498e3b3aae724",
      "parents": [
        "f682cefa5ad204d3bfaa54a58046c66d2d035ac1"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Thu Jan 06 11:25:00 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 06 11:25:00 2011 -0800"
      },
      "message": "netfilter: fix export secctx error handling\n\nIn 1ae4de0cdf855305765592647025bde55e85e451, the secctx was exported\nvia the /proc/net/netfilter/nf_conntrack and ctnetlink interfaces\ninstead of the secmark.\n\nThat patch introduced the use of security_secid_to_secctx() which may\nreturn a non-zero value on error.\n\nIn one of my setups, I have NF_CONNTRACK_SECMARK enabled but no\nsecurity modules. Thus, security_secid_to_secctx() returns a negative\nvalue that results in the breakage of the /proc and `conntrack -L\u0027\noutputs. To fix this, we skip the inclusion of secctx if the\naforementioned function fails.\n\nThis patch also fixes the dynamic netlink message size calculation\nif security_secid_to_secctx() returns an error, since its logic is\nalso wrong.\n\nThis problem exists in Linux kernel \u003e\u003d 2.6.37.\n\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6623e3b24a5ebb07e81648c478d286a1329ab891",
      "tree": "e3e558391cbad217925baab7f926ec7250a810d9",
      "parents": [
        "9c86c0f4ba49b39f909d7f18731b91e563e07065"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Jan 05 07:52:55 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 06 11:21:30 2011 -0800"
      },
      "message": "ipv4: IP defragmentation must be ECN aware\n\nRFC3168 (The Addition of Explicit Congestion Notification to IP)\nstates :\n\n5.3.  Fragmentation\n\n   ECN-capable packets MAY have the DF (Don\u0027t Fragment) bit set.\n   Reassembly of a fragmented packet MUST NOT lose indications of\n   congestion.  In other words, if any fragment of an IP packet to be\n   reassembled has the CE codepoint set, then one of two actions MUST be\n   taken:\n\n      * Set the CE codepoint on the reassembled packet.  However, this\n        MUST NOT occur if any of the other fragments contributing to\n        this reassembly carries the Not-ECT codepoint.\n\n      * The packet is dropped, instead of being reassembled, for any\n        other reason.\n\nThis patch implements this requirement for IPv4, choosing the first\naction :\n\nIf one fragment had NO-ECT codepoint\n        reassembled frame has NO-ECT\nElIf one fragment had CE codepoint\n        reassembled frame has CE\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dbbe68bb12b34f3e450da7a73c20e6fa1f85d63a",
      "tree": "10f8363cbf5e428c0cb5614959e37b67a7e0cfa2",
      "parents": [
        "7b26e5ebd8b27b0126a84ae7f9a42aa8293d6c48",
        "9fc3bbb4a752f108cf096d96640f3b548bbbce6c"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 04 11:57:25 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 04 11:57:25 2011 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n"
    },
    {
      "commit": "9fc3bbb4a752f108cf096d96640f3b548bbbce6c",
      "tree": "ce1f8d7a53c2a93a42e64b4148587cff0132ba6d",
      "parents": [
        "e6f26129ebbb0071016e2526036f42036ccf30e1"
      ],
      "author": {
        "name": "Joel Sing",
        "email": "jsing@google.com",
        "time": "Mon Jan 03 20:24:20 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 04 11:35:12 2011 -0800"
      },
      "message": "ipv4/route.c: respect prefsrc for local routes\n\nThe preferred source address is currently ignored for local routes,\nwhich results in all local connections having a src address that is the\nsame as the local dst address. Fix this by respecting the preferred source\naddress when it is provided for local routes.\n\nThis bug can be demonstrated as follows:\n\n # ifconfig dummy0 192.168.0.1\n # ip route show table local | grep local.*dummy0\n local 192.168.0.1 dev dummy0  proto kernel  scope host  src 192.168.0.1\n # ip route change table local local 192.168.0.1 dev dummy0 \\\n     proto kernel scope host src 127.0.0.1\n # ip route show table local | grep local.*dummy0\n local 192.168.0.1 dev dummy0  proto kernel  scope host  src 127.0.0.1\n\nWe now establish a local connection and verify the source IP\naddress selection:\n\n # nc -l 192.168.0.1 3128 \u0026\n # nc 192.168.0.1 3128 \u0026\n # netstat -ant | grep 192.168.0.1:3128.*EST\n tcp        0      0 192.168.0.1:3128        192.168.0.1:33228 ESTABLISHED\n tcp        0      0 192.168.0.1:33228       192.168.0.1:3128  ESTABLISHED\n\nSigned-off-by: Joel Sing \u003cjsing@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "17f7f4d9fcce8f1b75b5f735569309dee7665968",
      "tree": "14d7e49ca0053a0fcab3c33b5023bf3f90c5c08a",
      "parents": [
        "041110a439e21cd40709ead4ffbfa8034619ad77",
        "d7c1255a3a21e98bdc64df8ccf005a174d7e6289"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Dec 26 22:37:05 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Dec 26 22:37:05 2010 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tnet/ipv4/fib_frontend.c\n"
    },
    {
      "commit": "fc75fc8339e7727167443469027540b283daac71",
      "tree": "f4e4a6b9554b157976d73db9f1ae2e93ddf6e24e",
      "parents": [
        "7a36df8a857edee8cd8967cbe99a85574d22f482"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Dec 22 04:39:39 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Dec 25 20:05:31 2010 -0800"
      },
      "message": "ipv4: dont create routes on down devices\n\nIn ip_route_output_slow(), instead of allowing a route to be created on\na not UPed device, report -ENETUNREACH immediately.\n\n# ip tunnel add mode ipip remote 10.16.0.164 local\n10.16.0.72 dev eth0\n# (Note : tunl1 is down)\n# ping -I tunl1 10.1.2.3\nPING 10.1.2.3 (10.1.2.3) from 192.168.18.5 tunl1: 56(84) bytes of data.\n(nothing)\n# ./a.out tunl1\n# ip tunnel del tunl1\nMessage from syslogd@shelby at Dec 22 10:12:08 ...\n  kernel: unregister_netdevice: waiting for tunl1 to become free.\nUsage count \u003d 3\n\nAfter patch:\n# ping -I tunl1 10.1.2.3\nconnect: Network is unreachable\n\nReported-by: Nicolas Dichtel \u003cnicolas.dichtel@6wind.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nReviewed-by: Octavian Purdila \u003copurdila@ixiacom.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e058464990c2ef1f3ecd6b83a154913c3c06f02a",
      "tree": "1c949b22d8ed6ac0c1419f2bf2c372d8833b41d4",
      "parents": [
        "0e214ad81545a35c5e62a4c2d6cf7275fd7a545f"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 23 12:03:57 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 23 12:03:57 2010 -0800"
      },
      "message": "Revert \"ipv4: Allow configuring subnets as local addresses\"\n\nThis reverts commit 4465b469008bc03b98a1b8df4e9ae501b6c69d4b.\n\nConflicts:\n\n\tnet/ipv4/fib_frontend.c\n\nAs reported by Ben Greear, this causes regressions:\n\n\u003e Change 4465b469008bc03b98a1b8df4e9ae501b6c69d4b caused rules\n\u003e to stop matching the input device properly because the\n\u003e FLOWI_FLAG_MATCH_ANY_IIF is always defined in ip_dev_find().\n\u003e\n\u003e This breaks rules such as:\n\u003e\n\u003e ip rule add pref 512 lookup local\n\u003e ip rule del pref 0 lookup local\n\u003e ip link set eth2 up\n\u003e ip -4 addr add 172.16.0.102/24 broadcast 172.16.0.255 dev eth2\n\u003e ip rule add to 172.16.0.102 iif eth2 lookup local pref 10\n\u003e ip rule add iif eth2 lookup 10001 pref 20\n\u003e ip route add 172.16.0.0/24 dev eth2 table 10001\n\u003e ip route add unreachable 0/0 table 10001\n\u003e\n\u003e If you had a second interface \u0027eth0\u0027 that was on a different\n\u003e subnet, pinging a system on that interface would fail:\n\u003e\n\u003e   [root@ct503-60 ~]# ping 192.168.100.1\n\u003e   connect: Invalid argument\n\nReported-by: Ben Greear \u003cgreearb@candelatech.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d9f4fbaf7053af43e6c72909c2aff18654717aed",
      "tree": "017b591067952cab3684026a86c6c6eafb7b0dd0",
      "parents": [
        "f622691c91cd1bb27d03a5caa8a43822572c62bc"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Wed Dec 22 23:23:38 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 23 09:54:26 2010 -0800"
      },
      "message": "tcp: cleanup of cwnd initialization in tcp_init_metrics()\n\nCommit 86bcebafc5e7f5 (\"tcp: fix \u003e2 iw selection\") fixed a case\nwhen congestion window initialization has been mistakenly omitted\nby introducing cwnd label and putting backwards goto from the\nend of the function.\n\nThis makes the code unnecessarily tricky to read and understand\non a first sight.\n\nShuffle the code around a little bit to make it more obvious.\n\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1bde5ac49398a064c753bb490535cfad89e99a5f",
      "tree": "9a26c9da2be8e1a6eedc089dd7719e14ac9b184b",
      "parents": [
        "b7e03ec9a6b9d0c0cb1e435026d46dfcd78e48ac"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Dec 23 09:32:46 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 23 09:32:46 2010 -0800"
      },
      "message": "tcp: fix listening_get_next()\n\nAlexey Vlasov found /proc/net/tcp could sometime loop and display\nmillions of sockets in LISTEN state.\n\nIn 2.6.29, when we converted TCP hash tables to RCU, we left two\nsk_next() calls in listening_get_next().\n\nWe must instead use sk_nulls_next() to properly detect an end of chain.\n\nReported-by: Alexey Vlasov \u003crenton@renton.name\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4b7bd364700d9ac8372eff48832062b936d0793b",
      "tree": "0dbf78c95456a0b02d07fcd473281f04a87e266d",
      "parents": [
        "c0d8768af260e2cbb4bf659ae6094a262c86b085",
        "90a8a73c06cc32b609a880d48449d7083327e11a"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Wed Dec 22 18:57:02 2010 +0100"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Wed Dec 22 18:57:02 2010 +0100"
      },
      "message": "Merge branch \u0027master\u0027 into for-next\n\nConflicts:\n\tMAINTAINERS\n\tarch/arm/mach-omap2/pm24xx.c\n\tdrivers/scsi/bfa/bfa_fcpim.c\n\nNeeded to update to apply fixes for which the old branch was too\noutdated.\n"
    },
    {
      "commit": "356f039822b8d802138f7121c80d2a9286976dbd",
      "tree": "420c0da0f63f0e040ebf8b2ad5d30a0ad61c35bd",
      "parents": [
        "eda83e3b63e88351310c13c99178eb4634f137b2"
      ],
      "author": {
        "name": "Nandita Dukkipati",
        "email": "nanditad@google.com",
        "time": "Mon Dec 20 14:15:56 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Dec 20 21:33:00 2010 -0800"
      },
      "message": "TCP: increase default initial receive window.\n\nThis patch changes the default initial receive window to 10 mss\n(defined constant). The default window is limited to the maximum\nof 10*1460 and 2*mss (when mss \u003e 1460).\n\ndraft-ietf-tcpm-initcwnd-00 is a proposal to the IETF that recommends\nincreasing TCP\u0027s initial congestion window to 10 mss or about 15KB.\nLeading up to this proposal were several large-scale live Internet\nexperiments with an initial congestion window of 10 mss (IW10), where\nwe showed that the average latency of HTTP responses improved by\napproximately 10%. This was accompanied by a slight increase in\nretransmission rate (0.5%), most of which is coming from applications\nopening multiple simultaneous connections. To understand the extreme\nworst case scenarios, and fairness issues (IW10 versus IW3), we further\nconducted controlled testbed experiments. We came away finding minimal\nnegative impact even under low link bandwidths (dial-ups) and small\nbuffers.  These results are extremely encouraging to adopting IW10.\n\nHowever, an initial congestion window of 10 mss is useless unless a TCP\nreceiver advertises an initial receive window of at least 10 mss.\nFortunately, in the large-scale Internet experiments we found that most\nwidely used operating systems advertised large initial receive windows\nof 64KB, allowing us to experiment with a wide range of initial\ncongestion windows. Linux systems were among the few exceptions that\nadvertised a small receive window of 6KB. The purpose of this patch is\nto fix this shortcoming.\n\nReferences:\n1. A comprehensive list of all IW10 references to date.\nhttp://code.google.com/speed/protocols/tcpm-IW10.html\n\n2. Paper describing results from large-scale Internet experiments with IW10.\nhttp://ccr.sigcomm.org/drupal/?q\u003dnode/621\n\n3. Controlled testbed experiments under worst case scenarios and a\nfairness study.\nhttp://www.ietf.org/proceedings/79/slides/tcpm-0.pdf\n\n4. Raw test data from testbed experiments (Linux senders/receivers)\nwith initial congestion and receive windows of both 10 mss.\nhttp://research.csc.ncsu.edu/netsrv/?q\u003dcontent/iw10\n\n5. Internet-Draft. Increasing TCP\u0027s Initial Window.\nhttps://datatracker.ietf.org/doc/draft-ietf-tcpm-initcwnd/\n\nSigned-off-by: Nandita Dukkipati \u003cnanditad@google.com\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6561a3b12d62ed5317e6ac32182d87a03f62c8dc",
      "tree": "2b7318c3532a79dff8912ca4fdcd5d90aa0d8b39",
      "parents": [
        "782615aea84e57dc7f2f922cea823df3de635a78"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Dec 19 21:11:20 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Dec 20 10:37:19 2010 -0800"
      },
      "message": "ipv4: Flush per-ns routing cache more sanely.\n\nFlush the routing cache only of entries that match the\nnetwork namespace in which the purge event occurred.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\n"
    },
    {
      "commit": "b4aa9e05a61b845541fa6f5b1d246976922601f0",
      "tree": "ca94478c3df281ab76a3399f5ba6341ade3f5791",
      "parents": [
        "1dc0f3c54ce1df957f99c17b145488fd03eb1a59",
        "4b8fe66300acb2fba8b16d62606e0d30204022fc"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 17 12:27:22 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 17 12:27:22 2010 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/bnx2x/bnx2x.h\n\tdrivers/net/wireless/iwlwifi/iwl-1000.c\n\tdrivers/net/wireless/iwlwifi/iwl-6000.c\n\tdrivers/net/wireless/iwlwifi/iwl-core.h\n\tdrivers/vhost/vhost.c\n"
    },
    {
      "commit": "55508d601dab7df5cbcc7a63f4be8620eface204",
      "tree": "346f30fae9c726d2e73aba2e37ce1e4a31dcea8c",
      "parents": [
        "04fb451eff978ca059399eab83d5594b073caf6f"
      ],
      "author": {
        "name": "Michał Mirosław",
        "email": "mirq-linux@rere.qmqm.pl",
        "time": "Tue Dec 14 15:24:08 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 16 14:43:14 2010 -0800"
      },
      "message": "net: Use skb_checksum_start_offset()\n\nReplace skb-\u003ecsum_start - skb_headroom(skb) with skb_checksum_start_offset().\n\nNote for usb/smsc95xx: skb-\u003edata - skb-\u003ehead \u003d\u003d skb_headroom(skb).\n\nSigned-off-by: Michał Mirosław \u003cmirq-linux@rere.qmqm.pl\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fcbdf09d9652c8919dcf47072e3ae7dcb4eb98ac",
      "tree": "51e3cc1fbd813a880ea09dc31a12683b73d87e05",
      "parents": [
        "2984961c388381c1830f95e1c2dc2137301b1009"
      ],
      "author": {
        "name": "Octavian Purdila",
        "email": "opurdila@ixiacom.com",
        "time": "Thu Dec 16 14:26:56 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 16 14:26:56 2010 -0800"
      },
      "message": "net: fix nulls list corruptions in sk_prot_alloc\n\nSpecial care is taken inside sk_port_alloc to avoid overwriting\nskc_node/skc_nulls_node. We should also avoid overwriting\nskc_bind_node/skc_portaddr_node.\n\nThe patch fixes the following crash:\n\n BUG: unable to handle kernel paging request at fffffffffffffff0\n IP: [\u003cffffffff812ec6dd\u003e] udp4_lib_lookup2+0xad/0x370\n [\u003cffffffff812ecc22\u003e] __udp4_lib_lookup+0x282/0x360\n [\u003cffffffff812ed63e\u003e] __udp4_lib_rcv+0x31e/0x700\n [\u003cffffffff812bba45\u003e] ? ip_local_deliver_finish+0x65/0x190\n [\u003cffffffff812bbbf8\u003e] ? ip_local_deliver+0x88/0xa0\n [\u003cffffffff812eda35\u003e] udp_rcv+0x15/0x20\n [\u003cffffffff812bba45\u003e] ip_local_deliver_finish+0x65/0x190\n [\u003cffffffff812bbbf8\u003e] ip_local_deliver+0x88/0xa0\n [\u003cffffffff812bb2cd\u003e] ip_rcv_finish+0x32d/0x6f0\n [\u003cffffffff8128c14c\u003e] ? netif_receive_skb+0x99c/0x11c0\n [\u003cffffffff812bb94b\u003e] ip_rcv+0x2bb/0x350\n [\u003cffffffff8128c14c\u003e] netif_receive_skb+0x99c/0x11c0\n\nSigned-off-by: Leonard Crestez \u003clcrestez@ixiacom.com\u003e\nSigned-off-by: Octavian Purdila \u003copurdila@ixiacom.com\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d33e455337ea2c71d09d7f4367d6ad6dd32b6965",
      "tree": "d1b35b1be5ab73df6f7e57b86a2e68fad2990adf",
      "parents": [
        "9fe146aef44afe5ec677d8150b6ae94e09b773f7"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 14 13:01:14 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 14 13:01:14 2010 -0800"
      },
      "message": "net: Abstract default MTU metric calculation behind an accessor.\n\nLike RTAX_ADVMSS, make the default calculation go through a dst_ops\nmethod rather than caching the computation in the routing cache\nentries.\n\nNow dst metrics are pretty much left as-is when new entries are\ncreated, thus optimizing metric sharing becomes a real possibility.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0dbaee3b37e118a96bb7b8eb0d9bbaeeb46264be",
      "tree": "37000c5d7e663e4ae9800a7bcde9934984b8bae9",
      "parents": [
        "cc6f02dd490dac4ad821d5077b934c9b37037cd0"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Dec 13 12:52:14 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Dec 13 12:52:14 2010 -0800"
      },
      "message": "net: Abstract default ADVMSS behind an accessor.\n\nMake all RTAX_ADVMSS metric accesses go through a new helper function,\ndst_metric_advmss().\n\nLeave the actual default metric as \"zero\" in the real metric slot,\nand compute the actual default value dynamically via a new dst_ops\nAF specific callback.\n\nFor stacked IPSEC routes, we use the advmss of the path which\npreserves existing behavior.\n\nUnlike ipv4/ipv6, DecNET ties the advmss to the mtu and thus updates\nadvmss on pmtu updates.  This inconsistency in advmss handling\nresults in more raw metric accesses than I wish we ended up with.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "249fab773dd5f689318c969ed649c4db077cdfc3",
      "tree": "cd4a07a03e262b682b31929e5b194158979e3b46",
      "parents": [
        "8c4877a4128e7931077b024a891a4b284d8756a3"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Dec 13 12:16:14 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Dec 13 12:16:14 2010 -0800"
      },
      "message": "net: add limits to ip_default_ttl\n\nip_default_ttl should be between 1 and 255\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "323e126f0c5995f779d7df7fd035f6e8fed8764d",
      "tree": "402c7267a45ae488363bb1ef8e4c786b65b82572",
      "parents": [
        "a02e4b7dae455151c423e2f69ef222c502a321fd"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Dec 12 21:55:08 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Dec 12 22:08:17 2010 -0800"
      },
      "message": "ipv4: Don\u0027t pre-seed hoplimit metric.\n\nAlways go through a new ip4_dst_hoplimit() helper, just like ipv6.\n\nThis allowed several simplifications:\n\n1) The interim dst_metric_hoplimit() can go as it\u0027s no longer\n   userd.\n\n2) The sysctl_ip_default_ttl entry no longer needs to use\n   ipv4_doint_and_flush, since the sysctl is not cached in\n   routing cache metrics any longer.\n\n3) ipv4_doint_and_flush no longer needs to be exported and\n   therefore can be marked static.\n\nWhen ipv4_doint_and_flush_strategy was removed some time ago,\nthe external declaration in ip.h was mistakenly left around\nso kill that off too.\n\nWe have to move the sysctl_ip_default_ttl declaration into\nipv4\u0027s route cache definition header net/route.h, because\ncurrently net/ip.h (where the declaration lives now) has\na back dependency on net/route.h\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5170ae824ddf1988a63fb12cbedcff817634c444",
      "tree": "9f1619ca6edd0e8078bfcd9d6123e119b935e43b",
      "parents": [
        "abbf46ae0e4954584eac599bec73502c1c805e9e"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Dec 12 21:35:57 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Dec 12 21:35:57 2010 -0800"
      },
      "message": "net: Abstract RTAX_HOPLIMIT metric accesses behind helper.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d979e20f2b9f8a50c8d5f889e0b5d78580440d1f",
      "tree": "fed3b0c657cfb62d0e2f3df25fbc4cad058059b2",
      "parents": [
        "35d2856b4693e8de5d616307b56cef296b839157"
      ],
      "author": {
        "name": "Martin Willi",
        "email": "martin@strongswan.org",
        "time": "Wed Dec 08 04:37:50 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 10 14:43:59 2010 -0800"
      },
      "message": "xfrm: Traffic Flow Confidentiality for IPv4 ESP\n\nAdd TFC padding to all packets smaller than the boundary configured\non the xfrm state. If the boundary is larger than the PMTU, limit\npadding to the PMTU.\n\nSigned-off-by: Martin Willi \u003cmartin@strongswan.org\u003e\nAcked-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "68835aba4d9b74e2f94106d13b6a4bddc447c4c8",
      "tree": "468a9465acfa027791facef13fb6ef5129dda257",
      "parents": [
        "defb3519a64141608725e2dac5a5aa9a3c644bae"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Nov 30 19:04:07 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 09 20:05:58 2010 -0800"
      },
      "message": "net: optimize INET input path further\n\nFollowup of commit b178bb3dfc30 (net: reorder struct sock fields)\n\nOptimize INET input path a bit further, by :\n\n1) moving sk_refcnt close to sk_lock.\n\nThis reduces number of dirtied cache lines by one on 64bit arches (and\n64 bytes cache line size).\n\n2) moving inet_daddr \u0026 inet_rcv_saddr at the beginning of sk\n\n(same cache line than hash / family / bound_dev_if / nulls_node)\n\nThis reduces number of accessed cache lines in lookups by one, and dont\nincrease size of inet and timewait socks.\ninet and tw sockets now share same place-holder for these fields.\n\nBefore patch :\n\noffsetof(struct sock, sk_refcnt) \u003d 0x10\noffsetof(struct sock, sk_lock) \u003d 0x40\noffsetof(struct sock, sk_receive_queue) \u003d 0x60\noffsetof(struct inet_sock, inet_daddr) \u003d 0x270\noffsetof(struct inet_sock, inet_rcv_saddr) \u003d 0x274\n\nAfter patch :\n\noffsetof(struct sock, sk_refcnt) \u003d 0x44\noffsetof(struct sock, sk_lock) \u003d 0x48\noffsetof(struct sock, sk_receive_queue) \u003d 0x68\noffsetof(struct inet_sock, inet_daddr) \u003d 0x0\noffsetof(struct inet_sock, inet_rcv_saddr) \u003d 0x4\n\ncompute_score() (udp or tcp) now use a single cache line per ignored\nitem, instead of two.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "defb3519a64141608725e2dac5a5aa9a3c644bae",
      "tree": "2f44985e44aef53a0d99991b9f5c2f0eb6dbf4ad",
      "parents": [
        "84b3cdc38cd2882d7ac3c2ae4b6faf5c199874e3"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 08 21:16:57 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 09 10:46:36 2010 -0800"
      },
      "message": "net: Abstract away all dst_entry metrics accesses.\n\nUse helper functions to hide all direct accesses, especially writes,\nto dst_entry metrics values.\n\nThis will allow us to:\n\n1) More easily change how the metrics are stored.\n\n2) Implement COW for metrics.\n\nIn particular this will help us put metrics into the inetpeer\ncache if that is what we end up doing.  We can make the _metrics\nmember a pointer instead of an array, initially have it point\nat the read-only metrics in the FIB, and then on the first set\ngrab an inetpeer entry and point the _metrics member there.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\n"
    },
    {
      "commit": "fe6c791570efe717946ea7b7dd50aec96b70d551",
      "tree": "1becb5e8aea7a9c9a7d78f987bd73b0a5d8ee434",
      "parents": [
        "f8bf5681cf15f77692c8ad8cb95d059ff7c622c9",
        "f19872575ff7819a3723154657a497d9bca66b33"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 08 13:15:38 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 08 13:47:38 2010 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/wireless/ath/ath9k/ar9003_eeprom.c\n\tnet/llc/af_llc.c\n"
    },
    {
      "commit": "f19872575ff7819a3723154657a497d9bca66b33",
      "tree": "3c84b591c773611a6c4c00589f69a6639e83b8e0",
      "parents": [
        "ad9f4f50fe9288bbe65b7dfd76d8820afac6a24c"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Dec 07 12:20:47 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 08 12:34:09 2010 -0800"
      },
      "message": "tcp: protect sysctl_tcp_cookie_size reads\n\nMake sure sysctl_tcp_cookie_size is read once in\ntcp_cookie_size_check(), or we might return an illegal value to caller\nif sysctl_tcp_cookie_size is changed by another cpu.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nCc: William Allen Simpson \u003cwilliam.allen.simpson@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ad9f4f50fe9288bbe65b7dfd76d8820afac6a24c",
      "tree": "f3f3100da8d042607bbbab31c1f8a060ba2b5f15",
      "parents": [
        "c7757fdb41dfcf6add9f8a4576eb85aa5e77a4eb"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Dec 07 12:03:55 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 08 12:34:08 2010 -0800"
      },
      "message": "tcp: avoid a possible divide by zero\n\nsysctl_tcp_tso_win_divisor might be set to zero while one cpu runs in\ntcp_tso_should_defer(). Make sure we dont allow a divide by zero by\nreading sysctl_tcp_tso_win_divisor exactly once.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "67631510a318d5a930055fe927607f483716e100",
      "tree": "fd98bd3ab939a22188c72d4371c263af2d756192",
      "parents": [
        "171995e5d82dcc92bea37a7d2a2ecc21068a0f19"
      ],
      "author": {
        "name": "Tom Herbert",
        "email": "therbert@google.com",
        "time": "Wed Dec 08 12:16:33 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 08 12:16:33 2010 -0800"
      },
      "message": "tcp: Replace time wait bucket msg by counter\n\nRather than printing the message to the log, use a mib counter to keep\ntrack of the count of occurences of time wait bucket overflow.  Reduces\nspam in logs.\n\nSigned-off-by: Tom Herbert \u003ctherbert@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "941666c2e3e0f9f6a1cb5808d02352d445bd702c",
      "tree": "389a773580ef22908391cc71f98982b03de62804",
      "parents": [
        "a2d4b65d477aad1fe8c7218781a031fa9cf5abfc"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sun Dec 05 01:23:53 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 08 10:07:24 2010 -0800"
      },
      "message": "net: RCU conversion of dev_getbyhwaddr() and arp_ioctl()\n\nLe dimanche 05 décembre 2010 à 09:19 +0100, Eric Dumazet a écrit :\n\n\u003e Hmm..\n\u003e\n\u003e If somebody can explain why RTNL is held in arp_ioctl() (and therefore\n\u003e in arp_req_delete()), we might first remove RTNL use in arp_ioctl() so\n\u003e that your patch can be applied.\n\u003e\n\u003e Right now it is not good, because RTNL wont be necessarly held when you\n\u003e are going to call arp_invalidate() ?\n\nWhile doing this analysis, I found a refcount bug in llc, I\u0027ll send a\npatch for net-2.6\n\nMeanwhile, here is the patch for net-next-2.6\n\nYour patch then can be applied after mine.\n\nThanks\n\n[PATCH] net: RCU conversion of dev_getbyhwaddr() and arp_ioctl()\n\ndev_getbyhwaddr() was called under RTNL.\n\nRename it to dev_getbyhwaddr_rcu() and change all its caller to now use\nRCU locking instead of RTNL.\n\nChange arp_ioctl() to use RCU instead of RTNL locking.\n\nNote: this fix a dev refcount bug in llc\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b1afde60f2b9ee8444fba4e012dc99a3b28d224d",
      "tree": "b1c37e988a51f9823471a5d6ac83023ed4f06197",
      "parents": [
        "ce9aeb583a1071304d0e4ab8db600bfc8a6a1b44"
      ],
      "author": {
        "name": "Nandita Dukkipati",
        "email": "nanditad@google.com",
        "time": "Fri Dec 03 13:33:44 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 08 09:38:37 2010 -0800"
      },
      "message": "tcp: Bug fix in initialization of receive window.\n\nThe bug has to do with boundary checks on the initial receive window.\nIf the initial receive window falls between init_cwnd and the\nreceive window specified by the user, the initial window is incorrectly\nbrought down to init_cwnd. The correct behavior is to allow it to\nremain unchanged.\n\nSigned-off-by: Nandita Dukkipati \u003cnanditad@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ae9c416d686db74f67d73c1bebf1e3a7e8b3c5b5",
      "tree": "e0bc7c093f164fa4b07b16fa411106b31dd9b07e",
      "parents": [
        "6464281161e46254ac39505ad41d21dbe7d1738f"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Wed Dec 01 20:07:31 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Dec 06 12:59:09 2010 -0800"
      },
      "message": "net: arp: use assignment\n\nOnly when dont_send is 0, arp_filter() is consulted, so we can simply\nassign the return value of arp_filter() to dont_send instead.\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f7fce74e387e0563e5a165704664aa5ee8b2f48b",
      "tree": "7c80f4ec69bb2fef3ad8513d3c9d83c6bd2035e2",
      "parents": [
        "06a9701f4b3e3381dea96fee1cc8a3bb41b0a1f1"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Dec 01 06:03:06 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Dec 06 12:59:06 2010 -0800"
      },
      "message": "net: kill an RCU warning in inet_fill_link_af()\n\ncommits 9f0f7272 (ipv4: AF_INET link address family) and cf7afbfeb8c\n(rtnl: make link af-specific updates atomic) used incorrect\n__in_dev_get_rcu() in RTNL protected contexts, triggering PROVE_RCU\nwarnings.\n\nSwitch to __in_dev_get_rtnl(), wich is more appropriate, since we hold\nRTNL.\n\nBased on a report and initial patch from Amerigo Wang.\n\nReported-by: Amerigo Wang \u003camwang@redhat.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Thomas Graf \u003ctgraf@infradead.org\u003e\nReviewed-by: WANG Cong \u003camwang@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "97b1ce25e8fc27f74703537ec09d4996c7a6e38a",
      "tree": "13ac7fb31da5007e52d7982b1003c1ff1297bf97",
      "parents": [
        "a9527a3b621e507c85b639c183c3aa22afd4eb61"
      ],
      "author": {
        "name": "Shan Wei",
        "email": "shanwei@cn.fujitsu.com",
        "time": "Wed Dec 01 18:04:50 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 02 13:27:32 2010 -0800"
      },
      "message": "tcp: use TCP_BASE_MSS to set basic mss value\n\nTCP_BASE_MSS is defined, but not used.\ncommit 5d424d5a introduce this macro, so use\nit to initial sysctl_tcp_base_mss.\n\ncommit 5d424d5a674f782d0659a3b66d951f412901faee\nAuthor: John Heffner \u003cjheffner@psc.edu\u003e\nDate:   Mon Mar 20 17:53:41 2006 -0800\n\n    [TCP]: MTU probing\n\nSigned-off-by: Shan Wei \u003cshanwei@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ccb7c410ddc054b8c1ae780319bc98ae092d3854",
      "tree": "6a363c7232121d2390c091b232ee758fa10e4446",
      "parents": [
        "4399ce402c7c837dec80bf9fb40d079b39b9265a"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 01 18:09:13 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 01 18:09:13 2010 -0800"
      },
      "message": "timewait_sock: Create and use getpeer op.\n\nThe only thing AF-specific about remembering the timestamp\nfor a time-wait TCP socket is getting the peer.\n\nAbstract that behind a new timewait_sock_ops vector.\n\nSupport for real IPV6 sockets is not filled in yet, but\ncuriously this makes timewait recycling start to work\nfor v4-mapped ipv6 sockets.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8790ca172a1550949804a2ad59ccea310f680c9f",
      "tree": "f9a0bf451adc36dab6e4cb9f5430827bbd827384",
      "parents": [
        "67d5288049f46f816181f63eaa8f1371877ad8ea"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 01 17:28:18 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 01 17:28:18 2010 -0800"
      },
      "message": "inetpeer: Kill use of inet_peer_address_t typedef.\n\nThey are verboten these days.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8afe7c8acd33bc52c56546e73e46e9d546269e2c",
      "tree": "2b12d064d2d0234c5a0b5c271868b66d7be88387",
      "parents": [
        "4da6a738ffdb99b88efbe5b4c4fe521ca453640d"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Mon Nov 29 09:47:49 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 01 12:53:23 2010 -0800"
      },
      "message": "ipip: add module alias for tunl0 tunnel device\n\nIf ipip is built as a module the \u0027ip tunnel add\u0027 command would fail because\nthe ipip module was not being autoloaded.  Adding an alias for\nthe tunl0 device name cause dev_load() to autoload it when needed.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4da6a738ffdb99b88efbe5b4c4fe521ca453640d",
      "tree": "88a80180c14352c7cd7cf65abfe78d9f5276a550",
      "parents": [
        "407d6fcbfdd011bcc2dd9e6923c5cca00abbfc6f"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Mon Nov 29 09:47:48 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 01 12:53:22 2010 -0800"
      },
      "message": "gre: add module alias for gre0 tunnel device\n\nIf gre is built as a module the \u0027ip tunnel add\u0027 command would fail because\nthe ip_gre module was not being autoloaded.  Adding an alias for\nthe gre0 device name cause dev_load() to autoload it when needed.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "407d6fcbfdd011bcc2dd9e6923c5cca00abbfc6f",
      "tree": "a84b9ffc2aa8df98d343aed9c65c4856a4c0cb10",
      "parents": [
        "f2cd2d3e9b3ef960612e362f0ad129d735452df2"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Mon Nov 29 09:47:47 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 01 12:53:22 2010 -0800"
      },
      "message": "gre: minor cleanups\n\nUse strcpy() rather the sprintf() for the case where name is getting\ngenerated.  Fix indentation.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3f419d2d487821093ee46e898b5f8747f9edc9cd",
      "tree": "a3f7731eb0706c5ae6d0f4ec004ba0d08d7f951b",
      "parents": [
        "b3419363808f2481b24a817f491878e1795db4c7"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 29 13:37:14 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 30 12:28:06 2010 -0800"
      },
      "message": "inet: Turn -\u003eremember_stamp into -\u003eget_peer in connection AF ops.\n\nThen we can make a completely generic tcp_remember_stamp()\nthat uses -\u003eget_peer() as a helper, minimizing the AF specific\ncode and minimizing the eventual code duplication when we implement\nthe ipv6 side of TW recycling.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b3419363808f2481b24a817f491878e1795db4c7",
      "tree": "76cfa3c55d6798a9bf25d200778dc212841f6cb0",
      "parents": [
        "672f007d65f50468a4a1e55825fe58e5b035324d"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 30 12:27:11 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 30 12:27:11 2010 -0800"
      },
      "message": "ipv6: Add infrastructure to bind inet_peer objects to routes.\n\nThey are only allowed on cached ipv6 routes.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "021e9299113363cc1b713f86b2cba30b8e6cb5dd",
      "tree": "2e6f5bb98960ba927280beb987168f6bd5a4ba6d",
      "parents": [
        "026630450244b8f8d1baf54548be0800aa1823ed"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 30 12:12:23 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 30 12:12:23 2010 -0800"
      },
      "message": "inetpeer: Add v6 peers tree, abstract root properly.\n\nAdd the ipv6 peer tree instance, and adapt remaining\ndirect references to \u0027v4_peers\u0027 as needed.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "026630450244b8f8d1baf54548be0800aa1823ed",
      "tree": "073336c16d43756018592a5cd3714aafab6a4582",
      "parents": [
        "b534ecf1cd26f094497da6ae28a6ab64cdbe1617"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 30 12:08:53 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 30 12:08:53 2010 -0800"
      },
      "message": "inetpeer: Abstract address comparisons.\n\nNow v4 and v6 addresses will both work properly.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b534ecf1cd26f094497da6ae28a6ab64cdbe1617",
      "tree": "bdf8a55183a38926b8f34f709cb51a4db2f5f6b8",
      "parents": [
        "582a72da9a41be9227dc931d728ae2906880a589"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 30 11:54:19 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 30 11:54:19 2010 -0800"
      },
      "message": "inetpeer: Make inet_getpeer() take an inet_peer_adress_t pointer.\n\nAnd make an inet_getpeer_v4() helper, update callers.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    }
  ],
  "next": "582a72da9a41be9227dc931d728ae2906880a589"
}
