)]}'
{
  "log": [
    {
      "commit": "b40b4f79ce789e9e28d382c85006f62be2725282",
      "tree": "0764b390c4077f4569597678881487f718d25706",
      "parents": [
        "fde82055c1d0e64ff660d83c705db0e1abc9d12e"
      ],
      "author": {
        "name": "Srinivas Aji",
        "email": "Aji_Srinivas@emc.com",
        "time": "Thu May 03 17:32:28 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 03 17:32:28 2007 -0700"
      },
      "message": "[TCP]: zero out rx_opt in tcp_disconnect()\n\nWhen the server drops its connection, NFS client reconnects using the\nsame socket after disconnecting. If the new connection\u0027s SYN,ACK\ndoesn\u0027t contain the TCP timestamp option and the old connection\u0027s did,\ntp-\u003etcp_header_len is recomputed assuming no timestamp header but\ntp-\u003erx_opt.tstamp_ok remains set. Then tcp_build_and_update_options()\nadds in a timestamp option past the end of the allocated TCP header,\noverwriting TCP data, or when the data is in skb_shinfo(skb)-\u003efrags[],\noverwriting skb_shinfo(skb) causing a crash soon after. (The issue was\ndebugged from such a crash.)\n\nSimilarly, wscale_ok and sack_ok also get set based on the SYN,ACK\npacket but not reset on disconnect, since they are zeroed out at\ninitialization. The patch zeroes out the entire tp-\u003erx_opt struct in\ntcp_disconnect() to avoid this sort of problem.\n\nSigned-off-by: Srinivas Aji \u003cAji_Srinivas@emc.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7562f876cd93800f2f8c89445f2a563590b24e09",
      "tree": "78a34c011af275efa0d55ba59c3bd49b771dd533",
      "parents": [
        "03fba0479600114f32d29eee74ca3eaa364606bf"
      ],
      "author": {
        "name": "Pavel Emelianov",
        "email": "xemul@openvz.org",
        "time": "Thu May 03 15:13:45 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 03 15:13:45 2007 -0700"
      },
      "message": "[NET]: Rework dev_base via list_head (v3)\n\nCleanup of dev_base list use, with the aim to simplify making device\nlist per-namespace. In almost every occasion, use of dev_base variable\nand dev-\u003enext pointer could be easily replaced by for_each_netdev\nloop. A few most complicated places were converted to using\nfirst_netdev()/next_netdev().\n\nSigned-off-by: Pavel Emelianov \u003cxemul@openvz.org\u003e\nAcked-by: Kirill Korotaev \u003cdev@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "03fba0479600114f32d29eee74ca3eaa364606bf",
      "tree": "855d3bed8b4e825e93837bb4090e18e47a09a273",
      "parents": [
        "72fbaeb623971c321112de7fe3fa4e24e12ca59e"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Thu May 03 13:28:35 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 03 13:28:35 2007 -0700"
      },
      "message": "[TCP] Highspeed: Limited slow-start is nowadays in tcp_slow_start\n\nReuse limited slow-start (RFC3742) included into tcp_cong instead\nof having another implementation in High Speed TCP.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cfd6c38096d75c8b86782683c5f45c415a505b78",
      "tree": "e89cf155ed3f19bdce288da522e5f1b7445065b9",
      "parents": [
        "c2a1910b06fed96db77bb358c18c52a1fcf2b7fe"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu May 03 03:35:31 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 03 03:35:31 2007 -0700"
      },
      "message": "[NETFILTER]: sip: Fix RTP address NAT\n\nI needed to use this recently to talk to a Cisco server.  In my case\nI only did SNAT while the Cisco server used a different address for\nRTP traffic than the one for SIP.  I discovered that nf_nat_sip NATed\nthe RTP address to the SIP one which was unnecessary but OK.  However,\nin doing so it did not DNAT the destination address on the RTP traffic\nto the Cisco back to the original RTP address.\n\nThis patch corrects this by noting down the RTP address and using it\nwhen the expectation fires.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c2a1910b06fed96db77bb358c18c52a1fcf2b7fe",
      "tree": "a3e8fc944ea2a0bed4a6e02b6b0fb42e21444354",
      "parents": [
        "327850070b019a96853c533c152688546201c286"
      ],
      "author": {
        "name": "Jorge Boncompte",
        "email": "jorge@dti2.net",
        "time": "Thu May 03 03:34:42 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 03 03:34:42 2007 -0700"
      },
      "message": "[NETFILTER]: nf_nat_proto_gre: do not modify/corrupt GREv0 packets through NAT\n\nWhile porting some changes of the 2.6.21-rc7 pptp/proto_gre conntrack\nand nat modules to a 2.4.32 kernel I noticed that the gre_key function\nreturns a wrong pointer to the GRE key of a version 0 packet thus\ncorrupting the packet payload.\n\nThe intended behaviour for GREv0 packets is to act like\nnf_conntrack_proto_generic/nf_nat_proto_unknown so I have ripped the\noffending functions (not used anymore) and modified the\nnf_nat_proto_gre modules to not touch version 0 (non PPTP) packets.\n\nSigned-off-by: Jorge Boncompte \u003cjorge@dti2.net\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "327850070b019a96853c533c152688546201c286",
      "tree": "d1e42c5b3a751566569b9a7655605f08dcff1402",
      "parents": [
        "0ec96822d5c0df77107c03b8d9a81a436ab707fc"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu May 03 03:34:03 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 03 03:34:03 2007 -0700"
      },
      "message": "[NETFILTER]: ipt_DNAT: accept port randomization option\n\nAlso accept the --random option for DNAT to allow randomly selecting a\ndestination port from the given range.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "825e7d45cfa41bc96dd8ac4978b4d458a9ad5770",
      "tree": "0ea9672934e0ad096c1d0f2670aaf1bce2ffd822",
      "parents": [
        "fbb3fcba72ff52ee3d9990c9dec0c95cd9d0ce17"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@mindspring.com",
        "time": "Thu May 03 03:13:35 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 03 03:13:35 2007 -0700"
      },
      "message": "[TCP]: Delete unused header file net/ipv4/tcp_yeah.h.\n\nDelete the apparently unused header file net/ipv4/tcp_yeah.h.\n\nSigned-off-by: Robert P. J. Day \u003crpjday@mindspring.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "de34ed91c4ffa4727964a832c46e624dd1495cf5",
      "tree": "e2745c338913fade9ce5ad76cccabeea9edfcaaf",
      "parents": [
        "b7b5f487ab39bc10ed0694af35651a03d9cb97ff"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Apr 30 14:51:58 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Apr 30 14:51:58 2007 -0700"
      },
      "message": "[UDP]: Do not allow specific bind when wildcard bind exists.\n\nWhen allocating local ports, do not allow a bind to a port\nwith a specific local address when a bind to that port with\na wildcard local address already exists.\n\nNoticed by Linus.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b7b5f487ab39bc10ed0694af35651a03d9cb97ff",
      "tree": "7884f34982ae589aa5f72ab3b6e9d41da66aae99",
      "parents": [
        "40caf5ea5a7d47f8a33e26b63ca81dea4b5109d2"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Apr 30 13:35:29 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Apr 30 13:35:29 2007 -0700"
      },
      "message": "[IPV4] UDP: Fix endianness bugs in hashing changes.\n\nI accidently applied an earlier version of Eric Dumazet\u0027s patch, from\nMarch 21st.  His version from March 30th didn\u0027t have these bugs, so\nthis just interdiffs to the correct patch.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "80787ebc2bbd8e675d8b9ff8cfa40f15134feebe",
      "tree": "d0bf901985fdaa863a1528196d9a9fd94327b7fd",
      "parents": [
        "5506b54b36f067b9776935085c9f8e607b026b23"
      ],
      "author": {
        "name": "Mitsuru Chinen",
        "email": "mitch@linux.vnet.ibm.com",
        "time": "Mon Apr 30 00:48:20 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Apr 30 00:58:32 2007 -0700"
      },
      "message": "[IPV4] SNMP: Support OutMcastPkts and OutBcastPkts\n\nA transmitted IP multicast datagram should be counted as OutMcastPkts.\nBy the same token, a transmitted IP broadcast datagram should be\ncounted as OutBcastPkts.\n\nSigned-off-by: Mitsuru Chinen \u003cmitch@linux.vnet.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5506b54b36f067b9776935085c9f8e607b026b23",
      "tree": "04a5d22848fedd739463f22e98c93dc28db792f4",
      "parents": [
        "704aed53b4e43bebfbd425cf95b66794a9cfa2c2"
      ],
      "author": {
        "name": "Mitsuru Chinen",
        "email": "mitch@linux.vnet.ibm.com",
        "time": "Mon Apr 30 00:48:10 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Apr 30 00:58:29 2007 -0700"
      },
      "message": "[IPV4] SNMP: Support InMcastPkts and InBcastPkts\n\nA received IP multicast datagram should be counted as InMcastPkts.\nBy the same token, a received IP broadcast datagram should be\ncounted as InBcastPkts.\n\nSigned-off-by: Mitsuru Chinen \u003cmitch@linux.vnet.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "704aed53b4e43bebfbd425cf95b66794a9cfa2c2",
      "tree": "14108e800c54dd199f254b086f13fe6206eefb9e",
      "parents": [
        "e91a47ebb130b90790c7a8c625ade4dcea246842"
      ],
      "author": {
        "name": "Mitsuru Chinen",
        "email": "mitch@linux.vnet.ibm.com",
        "time": "Mon Apr 30 00:46:30 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Apr 30 00:58:26 2007 -0700"
      },
      "message": "[IPV4] SNMP: Support InTruncatedPkts\n\nAn IP datagram which is being discarded because the datagram frame\ndidn\u0027t carry enough data should be counted as InTruncatedPkts.\n\nSigned-off-by: Mitsuru Chinen \u003cmitch@linux.vnet.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e91a47ebb130b90790c7a8c625ade4dcea246842",
      "tree": "1a9bff48b866c13c4b506ec3e18b3d2d5397fb27",
      "parents": [
        "71ff6c0a857d11e70aec0c8f1e0d4ae9a45dd468"
      ],
      "author": {
        "name": "Mitsuru Chinen",
        "email": "mitch@linux.vnet.ibm.com",
        "time": "Mon Apr 30 00:45:49 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Apr 30 00:58:22 2007 -0700"
      },
      "message": "[IPV4] SNMP: Support InNoRoutes\n\nAn IP datagram which is being discarded because of no routes in the\nforwarding path should be counted as InNoRoutes.\n\nSigned-off-by: Mitsuru Chinen \u003cmitch@linux.vnet.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d551e4541dd60ae53459f77a971f2d6043431f5f",
      "tree": "cb328b1ec7ae32ad054c9d08de0274e4056a868f",
      "parents": [
        "575ee7140dabe9b9c4f66f4f867039b97e548867"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Mon Apr 30 00:42:20 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Apr 30 00:58:16 2007 -0700"
      },
      "message": "[TCP] FRTO: RFC4138 allows Nagle override when new data must be sent\n\nThis is a corner case where less than MSS sized new data thingie\nis awaiting in the send queue. For F-RTO to work correctly, a\nnew data segment must be sent at certain point or F-RTO cannot\nbe used at all. RFC4138 allows overriding of Nagle at that\npoint.\n\nImplementation uses frto_counter states 2 and 3 to distinguish\nwhen Nagle override is needed.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "575ee7140dabe9b9c4f66f4f867039b97e548867",
      "tree": "035923b29490a85ea7e77c2b0751280f8b7a0ba4",
      "parents": [
        "157bfc25020f7eb731f94140e099307ade47299e"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Mon Apr 30 00:39:55 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Apr 30 00:58:12 2007 -0700"
      },
      "message": "[TCP] FRTO: Delay skb available check until it\u0027s mandatory\n\nNo new data is needed until the first ACK comes, so no need to check\nfor application limitedness until then.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6aaf47fa48d3c44280810b1b470261d340e4ed87",
      "tree": "ee59c6bd3ee482ef85a7b65f057beff4f4598b9b",
      "parents": [
        "65def812ab25d7565756e5748d91e22e302197ee"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Mon Apr 30 00:26:00 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 30 00:26:00 2007 -0700"
      },
      "message": "[PATCH] INET : IPV4 UDP lookups converted to a 2 pass algo\n\nSome people want to have many UDP sockets, binded to a single port but\nmany different addresses. We currently hash all those sockets into a\nsingle chain.  Processing of incoming packets is very expensive,\nbecause the whole chain must be examined to find the best match.\n\nI chose in this patch to hash UDP sockets with a hash function that\ntake into account both their port number and address : This has a\ndrawback because we need two lookups : one with a given address, one\nwith a wildcard (null) address.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "65bb723c9502b7ba0a3aad13bdac8832e213ba74",
      "tree": "8afacca25ce6a611da0c667210a2f3c39637f8f0",
      "parents": [
        "ecfd6b183780c6d9e85873693b3ce6c5f4d08b58"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sat Apr 28 21:21:46 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Apr 28 21:21:46 2007 -0700"
      },
      "message": "[TCP]: Update references in two old comments\n\nThis updates references to drafts in comments which must be about 10\nyears old.  Internet draft draft-ietf-tcpimpl-prob-03.txt expired in 1998\nand was replaced by RFC 2525 in March 1999.\n\nSection 3.10 of the draft maps almost identically into section 2.17 of RFC\n2525: both are entitled \"Failure to RST on close with data pending\", the\ndifferences in text body amount to a typo and minor sentence change.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a205752d1ad2d37d6597aaae5a56fc396a770868",
      "tree": "1def76b02da90b98cefd66c4ba3904697963c358",
      "parents": [
        "39bc89fd4019b164002adaacef92c4140e37955a",
        "e900a7d90ae1486ac95c10e0b7337fc2c2eda529"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Apr 27 10:47:29 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Apr 27 10:47:29 2007 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6:\n  selinux: preserve boolean values across policy reloads\n  selinux: change numbering of boolean directory inodes in selinuxfs\n  selinux: remove unused enumeration constant from selinuxfs\n  selinux: explicitly number all selinuxfs inodes\n  selinux: export initial SID contexts via selinuxfs\n  selinux: remove userland security class and permission definitions\n  SELinux: move security_skb_extlbl_sid() out of the security server\n  MAINTAINERS: update selinux entry\n  SELinux: rename selinux_netlabel.h to netlabel.h\n  SELinux: extract the NetLabel SELinux support from the security server\n  NetLabel: convert a BUG_ON in the CIPSO code to a runtime check\n  NetLabel: cleanup and document CIPSO constants\n"
    },
    {
      "commit": "912a41a4ab935ce8c4308428ec13fc7f8b1f18f4",
      "tree": "eb41250e37c65f6af693748a88847a83f641fc49",
      "parents": [
        "ebbd90a730711280142017e482f27ec3fbb4f227"
      ],
      "author": {
        "name": "Sergey Vlasov",
        "email": "vsu@altlinux.ru",
        "time": "Fri Apr 27 02:17:19 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Apr 27 02:17:19 2007 -0700"
      },
      "message": "[IPV4] nl_fib_lookup: Initialise res.r before fib_res_put(\u0026res)\n\nWhen CONFIG_IP_MULTIPLE_TABLES is enabled, the code in nl_fib_lookup()\nneeds to initialize the res.r field before fib_res_put(\u0026res) - unlike\nfib_lookup(), a direct call to -\u003etb_lookup does not set this field.\n\nSigned-off-by: Sergey Vlasov \u003cvsu@altlinux.ru\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "128c6b6cbffc8203e13ea5712a8aa65d2ed82e4e",
      "tree": "1b3717c2d5972a03eeef1f9eb6e9c0de064a1dfb",
      "parents": [
        "f998e8cb52396c6a197d14f6afb07144324aea6d"
      ],
      "author": {
        "name": "Paul Moore",
        "email": "paul.moore@hp.com",
        "time": "Wed Feb 28 15:14:21 2007 -0500"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Apr 26 01:35:47 2007 -0400"
      },
      "message": "NetLabel: convert a BUG_ON in the CIPSO code to a runtime check\n\nThis patch changes a BUG_ON in the CIPSO code to a runtime check.  It should\nalso increase the readability of the code as it replaces an unexplained\nconstant with a well defined macro.\n\nSigned-off-by: Paul Moore \u003cpaul.moore@hp.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "f998e8cb52396c6a197d14f6afb07144324aea6d",
      "tree": "71ba11443952f09bf7792ad127a29fded161774d",
      "parents": [
        "de46c33745f5e2ad594c72f2cf5f490861b16ce1"
      ],
      "author": {
        "name": "Paul Moore",
        "email": "paul.moore@hp.com",
        "time": "Wed Feb 28 15:14:20 2007 -0500"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Apr 26 01:35:45 2007 -0400"
      },
      "message": "NetLabel: cleanup and document CIPSO constants\n\nThis patch collects all of the CIPSO constants and puts them in one place; it\nalso documents each value explaining how the value is derived.\n\nSigned-off-by: Paul Moore \u003cpaul.moore@hp.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "5056a1ef9e2597cff7b15904fbc74193f316fc40",
      "tree": "9acec59c0ee92a7285d680592fc1da37fd8977af",
      "parents": [
        "87d1a164df0b5e297cda698724ea7984d8392b06"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Tue Apr 24 20:44:48 2007 +0900"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:29:56 2007 -0700"
      },
      "message": "[IPV4] IP_GRE: Unify code path to get hash array index.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\n"
    },
    {
      "commit": "87d1a164df0b5e297cda698724ea7984d8392b06",
      "tree": "cedad5d1b3d0f1f2255c1816bd85003784be2b42",
      "parents": [
        "420fe234ad7adaa5a5445e5fab83b1485ed9e0f3"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Tue Apr 24 20:44:47 2007 +0900"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:29:55 2007 -0700"
      },
      "message": "[IPV4] IPIP: Unify code path to get hash array index.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\n"
    },
    {
      "commit": "5e0f04351d11e07a23b5ab4914282cbb78027e50",
      "tree": "271fbed72ec607ecb8f7574a3b450aee1b0c8186",
      "parents": [
        "bb7ec6dfb5aa32b5b4d7d6388b4098b33cd01e8c"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Tue Apr 24 21:53:35 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:29:51 2007 -0700"
      },
      "message": "[IPV4]: Consolidate common SNMP code\n\nThis patch moves the SNMP code shared between IPv4/IPv6 from proc.c\ninto net/ipv4/af_inet.c.  This makes sense because these functions\naren\u0027t specific to /proc.\n\nAs a result we can again skip proc.o if /proc is disabled.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nAcked-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bb7ec6dfb5aa32b5b4d7d6388b4098b33cd01e8c",
      "tree": "49d06e7bfd6737bfa7dd36e508201d1ccf82a369",
      "parents": [
        "84299b3bc4eaedc0734fcc9052b01291e44445fc"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Tue Apr 24 16:22:42 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:29:50 2007 -0700"
      },
      "message": "[IPV4]: Fix build without procfs.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "84299b3bc4eaedc0734fcc9052b01291e44445fc",
      "tree": "a66254a9d648ec93334abbb058a376e7482e80d5",
      "parents": [
        "1f9eda7e2b67898fb8e79b3aa3880211b51235e6"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Tue Apr 24 16:21:38 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:29:49 2007 -0700"
      },
      "message": "[TCP]: Fix linkage errors on i386.\n\nTo avoid raw division, use ktime_to_timeval() to get usec.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7752237e9f07b316f81aebdc43f0d7c9a4ba0acf",
      "tree": "6ec702ab8a81b123947cfcfae4b10cea0c27dc15",
      "parents": [
        "164891aadf1721fca4dce473bb0e0998181537c6"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Mon Apr 23 22:28:23 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:29:46 2007 -0700"
      },
      "message": "[TCP] TCP YEAH: Use vegas dont copy it.\n\nRather than using a copy of vegas code, the YEAH code should just have\nit exported so there is common code.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "164891aadf1721fca4dce473bb0e0998181537c6",
      "tree": "991393ec7306da475cb306fcc7cb084f737ebadc",
      "parents": [
        "65d1b4a7e73fe0e1f5275ad7d2d3547981480886"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Mon Apr 23 22:26:16 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:29:45 2007 -0700"
      },
      "message": "[TCP]: Congestion control API update.\n\nDo some simple changes to make congestion control API faster/cleaner.\n* use ktime_t rather than timeval\n* merge rtt sampling into existing ack callback\n  this means one indirect call versus two per ack.\n* use flags bits to store options/settings\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "65d1b4a7e73fe0e1f5275ad7d2d3547981480886",
      "tree": "27f91ead5c78c22641ff44037dc6a1acf4b54cbf",
      "parents": [
        "42431592e74a968d919a46baf0515a2ee6978dac"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Mon Apr 23 22:24:32 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:29:44 2007 -0700"
      },
      "message": "[TCP]: TCP Illinois update.\n\nThis version more closely matches the paper, and fixes several\nmath errors. The biggest difference is that it updates alpha/beta\nonce per RTT\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9e412ba7632f71259a53085665d4983b78257b7c",
      "tree": "b02d6df7e5357a741bf6d52a93e04a52b84f1f90",
      "parents": [
        "38b4da383705394788aa09208917ba200792de4b"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Fri Apr 20 22:18:02 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:29:34 2007 -0700"
      },
      "message": "[TCP]: Sed magic converts func(sk, tp, ...) -\u003e func(sk, ...)\n\nThis is (mostly) automated change using magic:\n\nsed -e \u0027/struct sock \\*sk/ N\u0027 -e \u0027/struct sock \\*sk/ N\u0027\n    -e \u0027/struct sock \\*sk/ N\u0027 -e \u0027/struct sock \\*sk/ N\u0027\n    -e \u0027s|struct sock \\*sk,[\\n\\t ]*struct tcp_sock \\*tp\\([^{]*\\n{\\n\\)|\n\t  struct sock \\*sk\\1\\tstruct tcp_sock *tp \u003d tcp_sk(sk);\\n|g\u0027\n    -e \u0027s|struct sock \\*sk, struct tcp_sock \\*tp|\n\t  struct sock \\*sk|g\u0027 -e \u0027s|sk, tp\\([^-]\\)|sk\\1|g\u0027\n\nFixed four unused variable (tp) warnings that were introduced.\n\nIn addition, manually added newlines after local variables and\ntweaked function arguments positioning.\n\n$ gcc --version\ngcc (GCC) 4.1.1 20060525 (Red Hat 4.1.1-1)\n...\n$ codiff -fV built-in.o.old built-in.o.new\nnet/ipv4/route.c:\n  rt_cache_flush |  +14\n 1 function changed, 14 bytes added\n\nnet/ipv4/tcp.c:\n  tcp_setsockopt |   -5\n  tcp_sendpage   |  -25\n  tcp_sendmsg    |  -16\n 3 functions changed, 46 bytes removed\n\nnet/ipv4/tcp_input.c:\n  tcp_try_undo_recovery |   +3\n  tcp_try_undo_dsack    |   +2\n  tcp_mark_head_lost    |  -12\n  tcp_ack               |  -15\n  tcp_event_data_recv   |  -32\n  tcp_rcv_state_process |  -10\n  tcp_rcv_established   |   +1\n 7 functions changed, 6 bytes added, 69 bytes removed, diff: -63\n\nnet/ipv4/tcp_output.c:\n  update_send_head          |   -9\n  tcp_transmit_skb          |  +19\n  tcp_cwnd_validate         |   +1\n  tcp_write_wakeup          |  -17\n  __tcp_push_pending_frames |  -25\n  tcp_push_one              |   -8\n  tcp_send_fin              |   -4\n 7 functions changed, 20 bytes added, 63 bytes removed, diff: -43\n\nbuilt-in.o.new:\n 18 functions changed, 40 bytes added, 178 bytes removed, diff: -138\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4ac02bab77438b484a5cf855a002fb6a1d592894",
      "tree": "8a7442a9c9fa39e147eca0f0728a0691712b191a",
      "parents": [
        "3ff50b7997fe06cd5d276b229967bb52d6b3b6c1"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Fri Apr 20 17:11:46 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:29:25 2007 -0700"
      },
      "message": "[TCP]: Uninline tcp_done().\n\nThe function is quite big and has several call sites and nothing\nto collapse by compiler optimization on inlining.\n\nBesides it\u0027s nicer to read in a in .c file.\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3ff50b7997fe06cd5d276b229967bb52d6b3b6c1",
      "tree": "4f0f57123a945c3e6c39759456b6187bb78c4b1f",
      "parents": [
        "c462238d6a6d8ee855bda10f9fff442971540ed2"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Fri Apr 20 17:09:22 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:29:24 2007 -0700"
      },
      "message": "[NET]: cleanup extra semicolons\n\nSpring cleaning time...\n\nThere seems to be a lot of places in the network code that have\nextra bogus semicolons after conditionals.  Most commonly is a\nbogus semicolon after: switch() { }\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c462238d6a6d8ee855bda10f9fff442971540ed2",
      "tree": "caa527f56bb23759bb7c2c4591eb49db21d76f1a",
      "parents": [
        "9be9a6b983314dd57e2c5ba548dee8b53d338ac3"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Fri Apr 20 17:07:51 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:29:23 2007 -0700"
      },
      "message": "[TCP]: TCP Illinois congestion control (rev3)\n\nThis is an implementation of TCP Illinois invented by Shao Liu\nat University of Illinois. It is a another variant of Reno which adapts\nthe alpha and beta parameters based on RTT. The basic idea is to increase\nwindow less rapidly as delay approaches the maximum. See the papers\nand talks to get a more complete description.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "334901700f9f58993ebd7f6136d3f9062460d34d",
      "tree": "af1887c408d6757debd73d2e56d45039943e413b",
      "parents": [
        "49ed67a9eee3c756263feed4474e4fcf5c8eaed2"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Fri Apr 20 15:57:15 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:29:12 2007 -0700"
      },
      "message": "[IPV4] SNMP: Move some statistic bits to net/ipv4/proc.c.\n\nThis also fixes memory leak in error path.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "628a5c561890a9a9a74dea017873530584aab06e",
      "tree": "f10edc4078c3f19487bbe3a902ecadda89273361",
      "parents": [
        "b881ef7603230550aa0150b22af94089f07ab00d"
      ],
      "author": {
        "name": "John Heffner",
        "email": "jheffner@psc.edu",
        "time": "Fri Apr 20 15:53:27 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:29:10 2007 -0700"
      },
      "message": "[INET]: Add IP(V6)_PMTUDISC_RPOBE\n\nAdd IP(V6)_PMTUDISC_PROBE value for IP(V6)_MTU_DISCOVER.  This option forces\nus not to fragment, but does not make use of the kernel path MTU discovery.\nThat is, it allows for user-mode MTU probing (or, packetization-layer path\nMTU discovery).  This is particularly useful for diagnostic utilities, like\ntraceroute/tracepath.\n\nSigned-off-by: John Heffner \u003cjheffner@psc.edu\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6313c1e0992feaee56bc09b85042b3186041fa3c",
      "tree": "f75cda674d8f2b62bcdb09e59f8bc7010003a91f",
      "parents": [
        "1c2d670f3660e9103fdcdca702f6dbf8ea7d6afb"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Apr 16 17:00:53 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:29:05 2007 -0700"
      },
      "message": "[RTNETLINK]: Remove unnecessary locking in dump callbacks\n\nSince we\u0027re now holding the rtnl during the entire dump operation, we can\nremove additional locking for rtnl protected data. This patch does that\nfor all simple cases (dev_base_lock for dev_base walking, RCU protection\nfor FIB rule dumping).\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "af65bdfce98d7965fbe93a48b8128444a2eea024",
      "tree": "e6ac5ff82a0d5067213135cdf049b912b02e824d",
      "parents": [
        "b076deb8498e26c9aa2f44046fe5e9936ae2fb5a"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Apr 20 14:14:21 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:29:03 2007 -0700"
      },
      "message": "[NETLINK]: Switch cb_lock spinlock to mutex and allow to override it\n\nSwitch cb_lock to mutex and allow netlink kernel users to override it\nwith a subsystem specific mutex for consistent locking in dump callbacks.\nAll netlink_dump_start users have been audited not to rely on any\nside-effects of the previously used spinlock.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b076deb8498e26c9aa2f44046fe5e9936ae2fb5a",
      "tree": "cd0464e3c5074162ccd6bef31982064b76e976c1",
      "parents": [
        "d3a2c3ca8e7d908824701db978b936d115aea506"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Apr 12 22:17:05 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:29:02 2007 -0700"
      },
      "message": "[NETFILTER]: ipt_ULOG: add compat conversion functions\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3b5018d6766186474366f26cc87fba81407b9089",
      "tree": "a759e0146445c00441ca39a1ba50fd8e75526249",
      "parents": [
        "fe6092ea0019cbba5263a915c9ce9f2bf383209e"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Apr 12 22:16:18 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:29:00 2007 -0700"
      },
      "message": "[NETFILTER]: {eb,ip6,ip}t_LOG: remove remains of LOG target overloading\n\nAll LOG targets always use their internal logging function nowadays, so\nremove the incorrect error message and handle real errors (!\u003d -EEXIST)\nby failing to load.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fe6092ea0019cbba5263a915c9ce9f2bf383209e",
      "tree": "0da8554466720878ce6fec639eebe7ea2e7ec96e",
      "parents": [
        "c15bf6e699f4c366f2d1e19ac5d7add21c6b5a19"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Apr 12 22:15:50 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:28:59 2007 -0700"
      },
      "message": "[NETFILTER]: nf_nat: use HW checksumming when possible\n\nWhen mangling packets forwarded to a HW checksumming capable device,\noffload recalculation of the checksum instead of doing it in software.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "604763722c655c7e3f31ecf6f7b4dafcd26a7a15",
      "tree": "a5c07f0e22ac86e7ca7a8c80bd3f111116610edd",
      "parents": [
        "628592ccdbbb5bb751217cf02e2e7abb500d7ffe"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Apr 09 11:59:39 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:28:43 2007 -0700"
      },
      "message": "[NET]: Treat CHECKSUM_PARTIAL as CHECKSUM_UNNECESSARY\n\nWhen a transmitted packet is looped back directly, CHECKSUM_PARTIAL\nmaps to the semantics of CHECKSUM_UNNECESSARY.  Therefore we should\ntreat it as such in the stack.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "663ead3bb8d5b561e70fc3bb3861c9220b5a77eb",
      "tree": "551d031fc9c904487ced4d8d3363e5ed8f369794",
      "parents": [
        "ac758e3c55c529714354fc268892ca4d23ca1e99"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Apr 09 11:59:07 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:28:40 2007 -0700"
      },
      "message": "[NET]: Use csum_start offset instead of skb_transport_header\n\nThe skb transport pointer is currently used to specify the start\nof the checksum region for transmit checksum offload.  Unfortunately,\nthe same pointer is also used during receive side processing.\n\nThis creates a problem when we want to retransmit a received\npacket with partial checksums since the skb transport pointer\nwould be overwritten.\n\nThis patch solves this problem by creating a new 16-bit csum_start\noffset value to replace the skb transport header for the purpose\nof checksums.  This offset is calculated from skb-\u003ehead so that\nit does not have to change when skb-\u003edata changes.\n\nNo extra space is required since csum_offset itself fits within\na 16-bit word so we can use the other 16 bits for csum_start.\n\nFor backwards compatibility, just before we push a packet with\npartial checksums off into the device driver, we set the skb\ntransport header to what it would have been under the old scheme.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ac758e3c55c529714354fc268892ca4d23ca1e99",
      "tree": "05d287a417c04114afa68c2a931f3c212e133e1c",
      "parents": [
        "c5c2523893747f88a83376abad310c8ad13f7197"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Apr 09 11:47:58 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:28:39 2007 -0700"
      },
      "message": "[XFRM]: beet: fix worst case header_len calculation\n\nesp_init_state doesn\u0027t account for the beet pseudo header in the header_len\ncalculation, which may result in undersized skbs hitting xfrm4_beet_output,\ncausing unnecessary reallocations in ip_finish_output2.\n\nThe skbs should still always have enough room to avoid causing\nskb_under_panic in skb_push since we have at least 16 bytes available\nfrom LL_RESERVED_SPACE in xfrm_state_check_space.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c5c2523893747f88a83376abad310c8ad13f7197",
      "tree": "58f1ab25ac9f7ca7460abbd24e9bab9c8683f6fd",
      "parents": [
        "557922584d9c5b6b990bcfb2fec3134f0e73a05d"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Apr 09 11:47:18 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:28:38 2007 -0700"
      },
      "message": "[XFRM]: Optimize MTU calculation\n\nReplace the probing based MTU estimation, which usually takes 2-3 iterations\nto find a fitting value and may underestimate the MTU, by an exact calculation.\n\nAlso fix underestimation of the XFRM trailer_len, which causes unnecessary\nreallocations.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "557922584d9c5b6b990bcfb2fec3134f0e73a05d",
      "tree": "f7944ace44efa532fbee23db0709760bfb70ec98",
      "parents": [
        "56eb88828b78f6f3b11a2996350092a40745301f"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Apr 09 11:46:17 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:28:37 2007 -0700"
      },
      "message": "[XFRM]: esp: fix skb_tail_pointer conversion bug\n\nFix incorrect switch of \"trailer\" skb by \"skb\" during skb_tail_pointer\nconversion:\n\n-       *(u8*)(trailer-\u003etail - 1) \u003d top_iph-\u003eprotocol;\n+       *(skb_tail_pointer(skb) - 1) \u003d top_iph-\u003eprotocol;\n\n-       *(u8 *)(trailer-\u003etail - 1) \u003d *skb_network_header(skb);\n+       *(skb_tail_pointer(skb) - 1) \u003d *skb_network_header(skb);\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ea2f10a3c81724701fe6a754789eafd50b33909f",
      "tree": "470ee01de060ed26817afc3a00c33101da1199ab",
      "parents": [
        "038890fed8d1fa95bbbdeb517f5710eb75fa9e2e"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Apr 05 16:04:04 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:28:34 2007 -0700"
      },
      "message": "[XFRM]: beet: minor cleanups\n\nRemove unnecessary initialization/variable.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1a4e2d093fd5f3eaf8cffc04a1b803f8b0ddef6d",
      "tree": "2743aa6311b434840e82b6107013c34605534816",
      "parents": [
        "27d7ff46a3498d3debc6ba68fb8014c702b81170"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@ghostprotocols.net",
        "time": "Sat Mar 31 11:55:45 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:28:30 2007 -0700"
      },
      "message": "[SK_BUFF]: Some more conversions to skb_copy_from_linear_data\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\n"
    },
    {
      "commit": "27d7ff46a3498d3debc6ba68fb8014c702b81170",
      "tree": "b5a0c617cf8339524d3b1f1633e08eae7b94cf86",
      "parents": [
        "3dbad80ac7632f243b824d469301abb97ec634a1"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@ghostprotocols.net",
        "time": "Sat Mar 31 11:55:19 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:28:29 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce skb_copy_to_linear_data{_offset}\n\nTo clearly state the intent of copying to linear sk_buffs, _offset being a\noverly long variant but interesting for the sake of saving some bytes.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\n"
    },
    {
      "commit": "4b19ca44cbafabfe0b7b98e2e24b21a96198f509",
      "tree": "ad16620eebb4577493b56cfb23d8a90a6825b8e7",
      "parents": [
        "d626f62b11e00c16e81e4308ab93d3f13551812a"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Wed Mar 28 14:18:52 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:28:24 2007 -0700"
      },
      "message": "[NET] fib_rules: delay route cache flush by ip_rt_min_delay\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d626f62b11e00c16e81e4308ab93d3f13551812a",
      "tree": "fac4af6ced853755e12fc709d55f0c2bec51265d",
      "parents": [
        "2a123b86e2b242a4a6db990d2851d45e192f88e5"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Mar 27 18:55:52 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:28:23 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce skb_copy_from_linear_data{_offset}\n\nTo clearly state the intent of copying from linear sk_buffs, _offset being a\noverly long variant but interesting for the sake of saving some bytes.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "03d4f879b9ddf7d5c1f788792247e62450342eed",
      "tree": "ae5598e3309da4a6725f60ce7facf968849a7ab8",
      "parents": [
        "4103f8cd5c1f260d674a7b426ed221812de54d47"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Tue Mar 27 14:18:34 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:28:20 2007 -0700"
      },
      "message": "[IPV4]: align inet_protos[] on SMP\n\nAs IPPROTO_TCP is 6, it makes sense to make sure inet_protos[] array\nis properly cache line aligned to avoid false sharing on SMP.\n\nc0680540 b peer_total\nc0680544 b inet_peer_unused_head\nc0680560 B inet_protos\n\nOn i386 this example, we can see that inet_protos[IPPROTO_TCP] shares\na potentially hot (and modified) cache line.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4103f8cd5c1f260d674a7b426ed221812de54d47",
      "tree": "28649757907dd77b53a8c16533c963c43fea4be0",
      "parents": [
        "73417f617a93cf30342c3ea41abc38927bd467aa"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Tue Mar 27 13:58:31 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:28:19 2007 -0700"
      },
      "message": "[TCP]: tcp_memory_pressure and tcp_socket are__read_mostly candidates\n\ntcp_memory_pressure and tcp_socket currently share a cache line with tcp_memory_allocated, tcp_sockets_allocated.\n(Very hot cache line)\nIt makes sense to declare these variables as __read_mostly, to avoid false sharing on SMP.\n\nffffffff8081d9c0 B tcp_orphan_count\nffffffff8081d9c4 B tcp_memory_allocated\nffffffff8081d9c8 B tcp_sockets_allocated\nffffffff8081d9cc B tcp_memory_pressure\nffffffff8081d9d0 b tcp_md5sig_users\nffffffff8081d9d8 b tcp_md5sig_pool\nffffffff8081d9e0 b warntime.31570\nffffffff8081d9e8 b tcp_socket\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "73417f617a93cf30342c3ea41abc38927bd467aa",
      "tree": "6093005afdca1825197758d851ca5f275d62356f",
      "parents": [
        "be776281aee54626a474ba06f91926b98bdd180d"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Tue Mar 27 13:56:52 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:28:18 2007 -0700"
      },
      "message": "[NET] fib_rules: Flush route cache after rule modifications\n\nThe results of FIB rules lookups are cached in the routing cache\nexcept for IPv6 as no such cache exists. So far, it was the\nresponsibility of the user to flush the cache after modifying any\nrules. This lead to many false bug reports due to misunderstanding\nof this concept.\n\nThis patch automatically flushes the route cache after inserting\nor deleting a rule.\n\nThanks to Muli Ben-Yehuda \u003cmuli@il.ibm.com\u003e for catching a bug\nin the previous patch.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "be776281aee54626a474ba06f91926b98bdd180d",
      "tree": "7f397daec3c52ca04267186450f290f5e0ea3c5f",
      "parents": [
        "35fc92a9deee0da6e35fdc3150bb134e58f2fd63"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Tue Mar 27 13:53:04 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:28:17 2007 -0700"
      },
      "message": "[NET]: inet_ehash_secret should be __read_mostly and set only once\n\nThere is a very tiny probability that build_ehash_secret() is called\nat the same time by different CPUS.\n\nAlso, using __read_mostly is a must for inet_ehash_secret\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "35fc92a9deee0da6e35fdc3150bb134e58f2fd63",
      "tree": "25ad3898a3a5aa1f439ce715eb4ab6c418d1d0e6",
      "parents": [
        "2d771cd86d4c3af26f34a7bcdc1b87696824cad9"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Mar 26 23:22:20 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:28:16 2007 -0700"
      },
      "message": "[NET]: Allow forwarding of ip_summed except CHECKSUM_COMPLETE\n\nRight now Xen has a horrible hack that lets it forward packets with\npartial checksums.  One of the reasons that CHECKSUM_PARTIAL and\nCHECKSUM_COMPLETE were added is so that we can get rid of this hack\n(where it creates two extra bits in the skbuff to essentially mirror\nip_summed without being destroyed by the forwarding code).\n\nI had forgotten that I\u0027ve already gone through all the deivce drivers\nlast time around to make sure that they\u0027re looking at ip_summed \u003d\u003d\nCHECKSUM_PARTIAL rather than ip_summed !\u003d 0 on transmit.  In any case,\nI\u0027ve now done that again so it should definitely be safe.\n\nUnfortunately nobody has yet added any code to update CHECKSUM_COMPLETE\nvalues on forward so we I\u0027m setting that to CHECKSUM_NONE.  This should\nbe safe to remove for bridging but I\u0027d like to check that code path\nfirst.\n\nSo here is the patch that lets us get rid of the hack by preserving\nip_summed (mostly) on forwarded packets.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2d771cd86d4c3af26f34a7bcdc1b87696824cad9",
      "tree": "dcc026c42253c82d95167e22e658e163f1963db6",
      "parents": [
        "fa0b2d1d2196dd46527a8d028797e2bca5930a92"
      ],
      "author": {
        "name": "Janusz Krzysztofik",
        "email": "jkrzyszt@tis.icnet.pl",
        "time": "Mon Mar 26 18:03:44 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:28:15 2007 -0700"
      },
      "message": "[IPV4] LVS: Allow to send ICMP unreachable responses when real-servers are removed\n\nthis is a small patch by Janusz Krzysztofik to ip_route_output_slow()\nthat allows VIP-less LVS linux director to generate packets\noriginating \u003eFrom VIP if sysctl_ip_nonlocal_bind is set.\n\nIn a nutshell, the intention is for an LVS linux director to be able\nto send ICMP unreachable responses to end-users when real-servers are\nremoved.\n\nhttp://archive.linuxvirtualserver.org/html/lvs-users/2007-01/msg00106.html\n\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "85795d64eddd4546375f5ee37bedd88cb5bc4ece",
      "tree": "3849fae20da70616ae02a8aaeb4adc9f42c3b6bc",
      "parents": [
        "e1c3e7ab6de9711d2e0e9daf369c6638582eb7e7"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Sat Mar 24 21:35:33 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:28:10 2007 -0700"
      },
      "message": "[TCP] tcp_probe: improvements for net-2.6.22\n\nChange tcp_probe to use ktime (needed to add one export).\nAdd option to only get events when cwnd changes - from Doug Leith\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e1c3e7ab6de9711d2e0e9daf369c6638582eb7e7",
      "tree": "2df5485e75fb622b0f587bf0c7273c83f0d66e62",
      "parents": [
        "9af3912ec9e30509b76cb376abb65a4d8af27df3"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Sat Mar 24 21:34:38 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:28:09 2007 -0700"
      },
      "message": "[TCP]: cubic update for net-2.6.22\n\nThe following update received from Injong updates TCP cubic to the latest\nversion. I am running more complete tests and will have results after 4/1.\n\nAccording to Injong: the new version improves on its scalability,\nfairness and stability.  So in all properties, we confirmed it shows better\nperformance.\n\nNCSU results (for 2.6.18 and 2.6.20) available:\n\thttp://netsrv.csc.ncsu.edu/wiki/index.php/TCP_Testing\n\nThis version is described in a new Internet draft for CUBIC.\n\thttp://www.ietf.org/internet-drafts/draft-rhee-tcp-cubic-00.txt\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9af3912ec9e30509b76cb376abb65a4d8af27df3",
      "tree": "d640cf87254d86ed6f0a862460d85029573763a5",
      "parents": [
        "b3da2cf37c5c6e47698957a25ab43a7223dbb90f"
      ],
      "author": {
        "name": "John Heffner",
        "email": "jheffner@psc.edu",
        "time": "Sun Mar 25 23:32:29 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:28:07 2007 -0700"
      },
      "message": "[NET] Move DF check to ip_forward\n\nDo fragmentation check in ip_forward, similar to ipv6 forwarding.\n\nSigned-off-by: John Heffner \u003cjheffner@psc.edu\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b3da2cf37c5c6e47698957a25ab43a7223dbb90f",
      "tree": "e8892392aaf7e3d3544ede23c21791e2317b177d",
      "parents": [
        "d30045a0bcf144753869175dd9d840f7ceaf4aba"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 23 11:40:27 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:28:06 2007 -0700"
      },
      "message": "[INET]: Use jhash + random secret for ehash.\n\nThe days are gone when this was not an issue, there are folks out\nthere with huge bot networks that can be used to attack the\nestablished hash tables on remote systems.\n\nSo just like the routing cache and connection tracking\nhash, use Jenkins hash with random secret input.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e6f689db51a789807edede411b32eb7c9e457948",
      "tree": "6ba28587853721dc617d7f71ab622ac54eb4cd9d",
      "parents": [
        "9afdb00c80b0b9c20435ce690b5287fa2434ef44"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Mar 23 11:16:30 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:27:43 2007 -0700"
      },
      "message": "[NETFILTER]: Use setup_timer\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1b53d9042c04b8eb875d02e65792e9884efc3784",
      "tree": "e4c3507259db8b9c97ad0fa2a85ed14b9ab1f36c",
      "parents": [
        "bb2f8cc0ecf025d6d3947e0389434650023f432e"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Mar 23 11:10:13 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:27:35 2007 -0700"
      },
      "message": "[NETFILTER]: Remove changelogs and CVS IDs\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c702e8047fe74648f7852a9c1de781b0d5a98402",
      "tree": "24bd031d79f3d1159bc08704a51c84de01d712b0",
      "parents": [
        "ead592ba246dfcc643b3f0f0c8c03f7bc898a59f"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Thu Mar 22 23:30:55 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:27:33 2007 -0700"
      },
      "message": "[NETLINK]: Directly return -EINTR from netlink_dump_start()\n\nNow that all users of netlink_dump_start() use netlink_run_queue()\nto process the receive queue, it is possible to return -EINTR from\nnetlink_dump_start() directly, therefore simplying the callers.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ead592ba246dfcc643b3f0f0c8c03f7bc898a59f",
      "tree": "b20113ff975e24c0bb9d1f699c4dcf5069357ea0",
      "parents": [
        "1d00a4eb42bdade33a6ec0961cada93577a66ae6"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Thu Mar 22 23:30:35 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:27:32 2007 -0700"
      },
      "message": "[IPv4] diag: Use netlink_run_queue() to process the receive queue\n\nMakes use of netlink_run_queue() to process the receive queue and\nconverts inet_diag_rcv_msg() to use the type safe netlink interface.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "267281058c4cfd6a9a173aa957bffa58239f9656",
      "tree": "4fec6880d055c53c6d2aa2c124a7a6daa60b968b",
      "parents": [
        "e9195d677d6f06730edd5c2a3fe3283564e39c51"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Thu Mar 22 23:27:19 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:27:26 2007 -0700"
      },
      "message": "[TCP] westwood: Use type safe netlink interface\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e9195d677d6f06730edd5c2a3fe3283564e39c51",
      "tree": "a2738b22d959eeb2091d322c493c8f293a0820d7",
      "parents": [
        "51057f2fecff1c520b083c5ac9229e7aebce9e01"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Thu Mar 22 23:27:01 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:27:26 2007 -0700"
      },
      "message": "[TCP] vegas: Use type safe netlink interface\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7e58886b45bc4a309aeaa8178ef89ff767daaf7f",
      "tree": "cd375c5d4a6ec5584531992f8bdbcae775659ed6",
      "parents": [
        "22b9a0a3a49ab1a856e0853b3f3dd2abd156bd7c"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Thu Mar 22 12:10:58 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:27:19 2007 -0700"
      },
      "message": "[TCP]: cubic optimization\n\nUse willy\u0027s work in optimizing cube root by having table for small values.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c454673da7c1d6533f40ec2f788023df9af56ebf",
      "tree": "004d329e049f3bdef09ff20623e24cba9f1fac12",
      "parents": [
        "687ad8cc640fd1f1619cc44a9ab274dabd48c758"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Sun Mar 25 23:24:24 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:27:17 2007 -0700"
      },
      "message": "[NET] rules: Unified rules dumping\n\nImplements a unified, protocol independant rules dumping function\nwhich is capable of both, dumping a specific protocol family or\nall of them. This speeds up dumping as less lookups are required.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "63f3444fb9a54c024d55f1205f8b94e7d2786595",
      "tree": "41cde0c702a2b4400a34f02380eb3baf1cc72a2b",
      "parents": [
        "9d9e6a5819230b5a5cc036f213135cb123ab1e50"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Thu Mar 22 11:55:17 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:27:08 2007 -0700"
      },
      "message": "[IPv4]: Use rtnl registration interface\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dc5fc579b90ed0a9a4e55b0218cdbaf0a8cf2e67",
      "tree": "673dbb425c2b09b4256ef71f89dfc5cc01944386",
      "parents": [
        "a36ca733375860b389c15ffdf6a5f92df64a33b6"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Sun Mar 25 23:06:12 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:37 2007 -0700"
      },
      "message": "[NETLINK]: Use nlmsg_trim() where appropriate\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b529ccf2799c14346d1518e9bdf1f88f03643e99",
      "tree": "f899a5a5d66d2ca21724c1871ee3afeda6c4a670",
      "parents": [
        "965ffea43d4ebe8cd7b9fee78d651268dd7d23c5"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Wed Apr 25 19:08:35 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:34 2007 -0700"
      },
      "message": "[NETLINK]: Introduce nlmsg_hdr() helper\n\nFor the common \"(struct nlmsghdr *)skb-\u003edata\" sequence, so that we reduce the\nnumber of direct accesses to skb-\u003edata and for consistency with all the other\ncast skb member helpers.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "965ffea43d4ebe8cd7b9fee78d651268dd7d23c5",
      "tree": "bb12a2a4b6d63b4c74eb4a0efa3eee301d94760e",
      "parents": [
        "05eee48c5af8213a71bd908ce17f577b2b776f79"
      ],
      "author": {
        "name": "Robert Olsson",
        "email": "robert.olsson@its.uu.se",
        "time": "Mon Mar 19 16:29:58 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:32 2007 -0700"
      },
      "message": "[IPV4]: fib_trie root node settings\n\nThe threshold for root node can be more aggressive set to get\nbetter tree compression. The new setting mekes the root grow\nfrom 16 to 19 bits and substansial improvemnt in Aver depth\nthis with the current table of 214393 prefixes\n\nBut really the dynamic resize should need more investigation\nboth in terms convergence and performance and maybe it should\nbe possible to change...\n\nMaybe just for the brave to start with or we may have to back\nthis out.\n"
    },
    {
      "commit": "05eee48c5af8213a71bd908ce17f577b2b776f79",
      "tree": "42a21c48e7a549642a71a6db2abd8f41d0338088",
      "parents": [
        "ca0605a7c8a42379c695308944b3ae82a85479f1"
      ],
      "author": {
        "name": "Robert Olsson",
        "email": "robert.olsson@its.uu.se",
        "time": "Mon Mar 19 16:27:37 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:32 2007 -0700"
      },
      "message": "[IPV4]: fib_trie resize break\n\nThe patch below adds break condition for the resize operations. If\nwe don\u0027t achieve the desired fill factor a warning is printed. Trie\nshould still be operational but new thresholds should be considered.\n\nSigned-off-by: Robert Olsson \u003crobert.olsson@its.uu.se\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "27a884dc3cb63b93c2b3b643f5b31eed5f8a4d26",
      "tree": "5a267e40f9b94014be38dad5de0a52b6628834e0",
      "parents": [
        "be8bd86321fa7f06359d866ef61fb4d2f3e9dce9"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Thu Apr 19 20:29:13 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:28 2007 -0700"
      },
      "message": "[SK_BUFF]: Convert skb-\u003etail to sk_buff_data_t\n\nSo that it is also an offset from skb-\u003ehead, reduces its size from 8 to 4 bytes\non 64bit architectures, allowing us to combine the 4 bytes hole left by the\nlayer headers conversion, reducing struct sk_buff size to 256 bytes, i.e. 4\n64byte cachelines, and since the sk_buff slab cache is SLAB_HWCACHE_ALIGN...\n:-)\n\nMany calculations that previously required that skb-\u003e{transport,network,\nmac}_header be first converted to a pointer now can be done directly, being\nmeaningful as offsets or pointers.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2e07fa9cd3bac1e28cfe3131ed86b053afb02fc9",
      "tree": "177ad0c2cbbd60c25e54b35802219634c047aa08",
      "parents": [
        "b0e380b1d8a8e0aca215df97702f99815f05c094"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Apr 10 21:22:35 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:21 2007 -0700"
      },
      "message": "[SK_BUFF]: Use offsets for skb-\u003e{mac,network,transport}_header on 64bit architectures\n\nWith this we save 8 bytes per network packet, leaving a 4 bytes hole to be used\nin further shrinking work, likely with the offsetization of other pointers,\nsuch as -\u003e{data,tail,end}, at the cost of adds, that were minimized by the\nusual practice of setting skb-\u003e{mac,nh,n}.raw to a local variable that is then\naccessed multiple times in each function, it also is not more expensive than\nbefore with regards to most of the handling of such headers, like setting one\nof these headers to another (transport to network, etc), or subtracting, adding\nto/from it, comparing them, etc.\n\nNow we have this layout for sk_buff on a x86_64 machine:\n\n[acme@mica net-2.6.22]$ pahole vmlinux sk_buff\nstruct sk_buff {\n\tstruct sk_buff *       next;             /*   0   8 */\n\tstruct sk_buff *       prev;             /*   8   8 */\n\tstruct rb_node         rb;               /*  16  24 */\n\tstruct sock *          sk;               /*  40   8 */\n\tktime_t                tstamp;           /*  48   8 */\n\tstruct net_device *    dev;              /*  56   8 */\n\t/* --- cacheline 1 boundary (64 bytes) --- */\n\tstruct net_device *    input_dev;        /*  64   8 */\n\tsk_buff_data_t         transport_header; /*  72   4 */\n\tsk_buff_data_t         network_header;   /*  76   4 */\n\tsk_buff_data_t         mac_header;       /*  80   4 */\n\n\t/* XXX 4 bytes hole, try to pack */\n\n\tstruct dst_entry *     dst;              /*  88   8 */\n\tstruct sec_path *      sp;               /*  96   8 */\n\tchar                   cb[48];           /* 104  48 */\n\t/* cacheline 2 boundary (128 bytes) was 24 bytes ago*/\n\tunsigned int           len;              /* 152   4 */\n\tunsigned int           data_len;         /* 156   4 */\n\tunsigned int           mac_len;          /* 160   4 */\n\tunion {\n\t\t__wsum         csum;             /*       4 */\n\t\t__u32          csum_offset;      /*       4 */\n\t};                                       /* 164   4 */\n\t__u32                  priority;         /* 168   4 */\n\t__u8                   local_df:1;       /* 172   1 */\n\t__u8                   cloned:1;         /* 172   1 */\n\t__u8                   ip_summed:2;      /* 172   1 */\n\t__u8                   nohdr:1;          /* 172   1 */\n\t__u8                   nfctinfo:3;       /* 172   1 */\n\t__u8                   pkt_type:3;       /* 173   1 */\n\t__u8                   fclone:2;         /* 173   1 */\n\t__u8                   ipvs_property:1;  /* 173   1 */\n\n\t/* XXX 2 bits hole, try to pack */\n\n\t__be16                 protocol;         /* 174   2 */\n\tvoid    (*destructor)(struct sk_buff *); /* 176   8 */\n\tstruct nf_conntrack *  nfct;             /* 184   8 */\n\t/* --- cacheline 3 boundary (192 bytes) --- */\n\tstruct sk_buff *       nfct_reasm;       /* 192   8 */\n\tstruct nf_bridge_info *nf_bridge;        /* 200   8 */\n\t__u16                  tc_index;         /* 208   2 */\n\t__u16                  tc_verd;          /* 210   2 */\n\tdma_cookie_t           dma_cookie;       /* 212   4 */\n\t__u32                  secmark;          /* 216   4 */\n\t__u32                  mark;             /* 220   4 */\n\tunsigned int           truesize;         /* 224   4 */\n\tatomic_t               users;            /* 228   4 */\n\tunsigned char *        head;             /* 232   8 */\n\tunsigned char *        data;             /* 240   8 */\n\tunsigned char *        tail;             /* 248   8 */\n\t/* --- cacheline 4 boundary (256 bytes) --- */\n\tunsigned char *        end;              /* 256   8 */\n}; /* size: 264, cachelines: 5 */\n   /* sum members: 260, holes: 1, sum holes: 4 */\n   /* bit holes: 1, sum bit holes: 2 bits */\n   /* last cacheline: 8 bytes */\n\nOn 32 bits nothing changes, and pointers continue to be used with the compiler\nturning all this abstraction layer into dust. But there are some sk_buff\nvalidation tricks that are now possible, humm... :-)\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b0e380b1d8a8e0aca215df97702f99815f05c094",
      "tree": "95f402ca155f5211150178811669ebf0a88e8e00",
      "parents": [
        "cfe1fc7759fdacb0c650b575daed1692bf3eaece"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Apr 10 21:21:55 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:20 2007 -0700"
      },
      "message": "[SK_BUFF]: unions of just one member don\u0027t get anything done, kill them\n\nRenaming skb-\u003eh to skb-\u003etransport_header, skb-\u003enh to skb-\u003enetwork_header and\nskb-\u003emac to skb-\u003emac_header, to match the names of the associated helpers\n(skb[_[re]set]_{transport,network,mac}_header).\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cfe1fc7759fdacb0c650b575daed1692bf3eaece",
      "tree": "b8ed6fbc6c028595f5e82be1bccdeb2727e0a0b2",
      "parents": [
        "bff9b61ce330df04c6830d823c30c04203543f01"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Fri Mar 16 17:26:39 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:19 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce skb_network_header_len\n\nFor the common sequence \"skb-\u003eh.raw - skb-\u003enh.raw\", similar to skb-\u003emac_len,\nthat is precalculated tho, don\u0027t think we need to bloat skb with one more\nmember, so just use this new helper, reducing the number of non-skbuff.h\nreferences to the layer headers even more.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bff9b61ce330df04c6830d823c30c04203543f01",
      "tree": "19525bb3d690a421ebd48efa578736ea1e4ca3e2",
      "parents": [
        "514bca322cb9220308d22691ac1e74038bfabac3"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Fri Mar 16 17:19:57 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:18 2007 -0700"
      },
      "message": "[SK_BUFF]: Use the helpers to get the layer header pointer\n\nSome more cases...\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ddc7b8e32b22fe8b45d306b7d99472d4b560add6",
      "tree": "b332f3e1385230d666af36fd52c45f8b7ad1a18f",
      "parents": [
        "0a6114d94b6d6f82e81cb8e0d8b0d4cf50739fec"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Thu Mar 15 21:42:27 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:03 2007 -0700"
      },
      "message": "[SK_BUFF]: Some more layer header conversions\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d10ba34b001944a8d1c8adb5646140ef089c432b",
      "tree": "cba54f5d23021a2b0061f5f2891ac7fa8fca6d5a",
      "parents": [
        "55f79cc0c02f9ce8f85e965e9679796f62b790f5"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Wed Mar 14 21:05:37 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:01 2007 -0700"
      },
      "message": "[SK_BUFF]: More skb_put related skb_reset_transport_header\n\nThis time we have to set it to skb-\u003etail that is not anymore equal to\nskb-\u003edata, so we either add a new helper or just add the skb-\u003etail - skb-\u003edata\noffset, for now do the later.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e7ac05f3407a3fb5a1b2ff5d5554899eaa0a10a3",
      "tree": "d8360ce670e1a60110ef6ddff20399129c51eefc",
      "parents": [
        "edda553c324bdc5bb5c2d553b524cab37058a855"
      ],
      "author": {
        "name": "Yasuyuki Kozakai",
        "email": "yasuyuki.kozakai@toshiba.co.jp",
        "time": "Wed Mar 14 16:44:01 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:55 2007 -0700"
      },
      "message": "[NETFILTER]: nf_conntrack: add nf_copy() to safely copy members in skb\n\nThis unifies the codes to copy netfilter related datas. Before copying,\nnf_copy() puts original members in destination skb.\n\nSigned-off-by: Yasuyuki Kozakai \u003cyasuyuki.kozakai@toshiba.co.jp\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "587aa64163bb14f70098f450abab9410787fce9d",
      "tree": "399c00a969d9a8c7af13675583c5417282d18974",
      "parents": [
        "ce18afe57bf53477f133208856dd2b7e6b5db5e3"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Mar 14 16:37:25 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:34 2007 -0700"
      },
      "message": "[NETFILTER]: Remove IPv4 only connection tracking/NAT\n\nRemove the obsolete IPv4 only connection tracking/NAT as scheduled in\nfeature-removal-schedule.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "239254fedcbc6ff79bcf5696fe94723f7a5d0782",
      "tree": "4b35ce869c21d0cec82c6505a1b643db409908f1",
      "parents": [
        "9c70220b73908f64792422a2c39c593c4792f2c5"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Apr 19 19:55:44 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:32 2007 -0700"
      },
      "message": "[IPV4] xfrm4_mode_beet: Use skb_transport_header().\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9c70220b73908f64792422a2c39c593c4792f2c5",
      "tree": "2090ea10aaa2714a5e095bae8cc02e743c378a3a",
      "parents": [
        "a27ef749e7be3b06fb58df53d94eb97a21f18707"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Wed Apr 25 18:04:18 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:31 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce skb_transport_header(skb)\n\nFor the places where we need a pointer to the transport header, it is\nstill legal to touch skb-\u003eh.raw directly if just adding to,\nsubtracting from or setting it to another layer header.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bd82393ca23324d103b21aae43160728da6e6c9c",
      "tree": "c3795389947032eb8d79c269031232aa6293960e",
      "parents": [
        "39b89160df691045d1449cbaef43c02084c7543a"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Mar 13 17:10:43 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:29 2007 -0700"
      },
      "message": "[SK_BUFF]: More skb_reset_transport_header conversions\n\nThese are a bit more subtle, they are of this type:\n\n-       skb-\u003eh.raw \u003d payload;\n        __skb_pull(skb, payload - skb-\u003edata);\n+       skb_reset_transport_header(skb);\n\n__skb_pull results in:\n\nskb-\u003edata \u003d skb-\u003edata + payload - skb-\u003edata;\nskb-\u003edata \u003d payload;\n\nSo after __skb_pull we have skb-\u003edata pointing to payload and we can\njust call skb_reset_transport_header(skb), that will do:\n\nskb-\u003eh.raw \u003d payload;\n\nThe others are similar, allowing us to get rid of some more cases where a\npointer was being attributed to the layer headers.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b0061ce49c83657563b64ffcf1ec137110230d93",
      "tree": "be6788071fdbc53261ee395f596705e1418461d1",
      "parents": [
        "aa8223c7bb0b05183e1737881ed21827aa5b9e73"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Wed Apr 25 18:02:22 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:27 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce ipip_hdr(), remove skb-\u003eh.ipiph\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "aa8223c7bb0b05183e1737881ed21827aa5b9e73",
      "tree": "05c9832326edfeb878472f15cf8133ed9f014cdf",
      "parents": [
        "ab6a5bb6b28a970104a34f0f6959b73cf61bdc72"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Apr 10 21:04:22 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:26 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce tcp_hdr(), remove skb-\u003eh.th\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ab6a5bb6b28a970104a34f0f6959b73cf61bdc72",
      "tree": "54cfa7d4fe00d0c28a60022b075afc0856d6fc2b",
      "parents": [
        "88c7664f13bd1a36acb8566b93892a4c58759ac6"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Sun Mar 18 17:43:48 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:24 2007 -0700"
      },
      "message": "[TCP]: Introduce tcp_hdrlen() and tcp_optlen()\n\nThe ip_hdrlen() buddy, created to reduce the number of skb-\u003eh.th-\u003e uses and to\navoid the longer, open coded equivalent.\n\nDitched a no-op in bnx2 in the process.\n\nI wonder if we should have a BUG_ON(skb-\u003eh.th-\u003edoff \u003c 5) in tcp_optlen()...\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "88c7664f13bd1a36acb8566b93892a4c58759ac6",
      "tree": "18ead610bf54ef87f3832c61d64a4bad30d4f78e",
      "parents": [
        "4bedb45203eab92a87b4c863fe2d0cded633427f"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Mar 13 14:43:18 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:23 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce icmp_hdr(), remove skb-\u003eh.icmph\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4bedb45203eab92a87b4c863fe2d0cded633427f",
      "tree": "d46e43d0a08253cf85ee2db64df6aee5e4ff5a07",
      "parents": [
        "d9edf9e2be0f7661558984c32bd53867a7037fd3"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Mar 13 14:28:48 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:22 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce udp_hdr(), remove skb-\u003eh.uh\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d9edf9e2be0f7661558984c32bd53867a7037fd3",
      "tree": "603271a9d0756e229ad9ff13c628a33306c96bdf",
      "parents": [
        "cc70ab261c9f997589546100ddec5da6bfd89c4e"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Mar 13 14:19:23 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:21 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce igmp_hdr() \u0026 friends, remove skb-\u003eh.igmph\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "967b05f64e27d04a4c8879addd0e1c52137e2c9e",
      "tree": "c2c7ab3f0284903222d6d0864deaedbd4766b9b8",
      "parents": [
        "ea2ae17d6443abddc79480dc9f7af8feacabddc4"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Mar 13 13:51:52 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:17 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce skb_set_transport_header\n\nFor the cases where the transport header is being set to a offset from\nskb-\u003edata.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ea2ae17d6443abddc79480dc9f7af8feacabddc4",
      "tree": "2d6f48a5e4a40f761b5b510af9aac1fca55004cb",
      "parents": [
        "badff6d01a8589a1c828b0bf118903ca38627f4e"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Wed Apr 25 17:55:53 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:16 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce skb_transport_offset()\n\nFor the quite common \u0027skb-\u003eh.raw - skb-\u003edata\u0027 sequence.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "badff6d01a8589a1c828b0bf118903ca38627f4e",
      "tree": "89611d7058c612085c58dfb9913ee30ddf04b604",
      "parents": [
        "0660e03f6b18f19b6bbafe7583265a51b90daf36"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Mar 13 13:06:52 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:15 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce skb_reset_transport_header(skb)\n\nFor the common, open coded \u0027skb-\u003eh.raw \u003d skb-\u003edata\u0027 operation, so that we can\nlater turn skb-\u003eh.raw into a offset, reducing the size of struct sk_buff in\n64bit land while possibly keeping it as a pointer on 32bit.\n\nThis one touches just the most simple cases:\n\nskb-\u003eh.raw \u003d skb-\u003edata;\nskb-\u003eh.raw \u003d {skb_push|[__]skb_pull}()\n\nThe next ones will handle the slightly more \"complex\" cases.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0660e03f6b18f19b6bbafe7583265a51b90daf36",
      "tree": "82cc819ead5ab7858ba211ee8719a3e6d2bb984f",
      "parents": [
        "d0a92be05ed4aea7d35c2b257e3f9173565fe4eb"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Wed Apr 25 17:54:47 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:14 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce ipv6_hdr(), remove skb-\u003enh.ipv6h\n\nNow the skb-\u003enh union has just one member, .raw, i.e. it is just like the\nskb-\u003emac union, strange, no? I\u0027m just leaving it like that till the transport\nlayer is done with, when we\u0027ll rename skb-\u003emac.raw to skb-\u003emac_header (or\n-\u003emac_header_offset?), ditto for -\u003e{h,nh}.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d0a92be05ed4aea7d35c2b257e3f9173565fe4eb",
      "tree": "de57331758805956bcb54dda798e3ca76dd5a46f",
      "parents": [
        "fd74e6ccd522e2f26163eb5ac1abebcab2bd017c"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon Mar 12 20:56:31 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:12 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce arp_hdr(), remove skb-\u003enh.arph\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "eddc9ec53be2ecdbf4efe0efd4a83052594f0ac0",
      "tree": "4a38ab4dbd9d61fdf5a5ea6ed61463e0b9e33ba7",
      "parents": [
        "e023dd643798c4f06c16466af90b4d250e4b8bd7"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Fri Apr 20 22:47:35 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:10 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce ip_hdr(), remove skb-\u003enh.iph\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e023dd643798c4f06c16466af90b4d250e4b8bd7",
      "tree": "41b784e3e861afcab62a0375bba2a5d59f7a5470",
      "parents": [
        "c9bdd4b5257406b0608385d19c40b5511decf4f6"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon Mar 12 20:09:36 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:08 2007 -0700"
      },
      "message": "[IPMR]: Fix bug introduced when converting to skb_network_reset_header\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c9bdd4b5257406b0608385d19c40b5511decf4f6",
      "tree": "fe5319c322a11c0b00e7ef0473762a8d1961da83",
      "parents": [
        "0272ffc46f81a4bbbf302ba093c737e969c5bb55"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon Mar 12 20:09:15 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:07 2007 -0700"
      },
      "message": "[IP]: Introduce ip_hdrlen()\n\nFor the common sequence \"skb-\u003enh.iph-\u003eihl * 4\", removing a good number of open\ncoded skb-\u003enh.iph uses, now to go after the rest...\n\nJust out of curiosity, here are the idioms found to get the same result:\n\nskb-\u003enh.iph-\u003eihl \u003c\u003c 2\nskb-\u003enh.iph-\u003eihl\u003c\u003c2\nskb-\u003enh.iph-\u003eihl * 4\nskb-\u003enh.iph-\u003eihl*4\n(skb-\u003enh.iph)-\u003eihl * sizeof(u32)\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0272ffc46f81a4bbbf302ba093c737e969c5bb55",
      "tree": "0e646394caf56e5b72af194523b2752871c46411",
      "parents": [
        "0e1256ffd1ec654b35e023c66f6b262d4cba91e9"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon Mar 12 20:05:39 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:05 2007 -0700"
      },
      "message": "[SK_BUFF] ipmr: Missed one conversion to skb_network_header()\n\nWe can\u0027t access skb-\u003enh.raw directly anymore, it will become an offset.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    }
  ],
  "next": "f690808e17925fc45217eb22e8670902ecee5c1b"
}
