)]}'
{
  "log": [
    {
      "commit": "f86586fa48a94c7a9c7f36650a2e0e4a947881c9",
      "tree": "d977100a3c72dcaeaeb90c0b776b36c2e8a57b90",
      "parents": [
        "6ce28c6f55fe636c322ea909794cf19b20ef4b6b"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Jul 15 21:41:00 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 15 21:41:00 2010 -0700"
      },
      "message": "tcp: sizeof struct tcp_skb_cb is 44\n\nCorrect comment stating sizeof(struct tcp_skb_cb) is 36 or 40, since its\n44 bytes, since commit 951dbc8ac714b04 ([IPV6]: Move nextheader offset\nto the IP6CB).\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7ba42910073f8432934d61a6c08b1023c408fb62",
      "tree": "4f74648133eaf6cbea26d59c43d34e7153648f5d",
      "parents": [
        "53d3176b282cc105493babb0fef36c8b873f6201"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Sat Jul 10 20:41:55 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 12 20:21:46 2010 -0700"
      },
      "message": "inet, inet6: make tcp_sendmsg() and tcp_sendpage() through inet_sendmsg() and inet_sendpage()\n\na new boolean flag no_autobind is added to structure proto to avoid the autobind\ncalls when the protocol is TCP. Then sock_rps_record_flow() is called int the\nTCP\u0027s sendmsg() and sendpage() pathes.\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\n----\n include/net/inet_common.h |    4 ++++\n include/net/sock.h        |    1 +\n include/net/tcp.h         |    8 ++++----\n net/ipv4/af_inet.c        |   15 +++++++++------\n net/ipv4/tcp.c            |   11 +++++------\n net/ipv4/tcp_ipv4.c       |    3 +++\n net/ipv6/af_inet6.c       |    8 ++++----\n net/ipv6/tcp_ipv6.c       |    3 +++\n 8 files changed, 33 insertions(+), 20 deletions(-)\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "53d3176b282cc105493babb0fef36c8b873f6201",
      "tree": "2571bb37b0e292b7b2fbbd6b056661584260c9bf",
      "parents": [
        "dbe000ed3f3033e8e6321d79023c827faf649c4d"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Sat Jul 10 20:41:06 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 12 20:21:45 2010 -0700"
      },
      "message": "net: cleanups\n\nremove useless blanks.\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\n----\n include/net/inet_common.h |   55 ++++-------\n include/net/tcp.h         |  222 +++++++++++++++++-----------------------------\n include/net/udp.h         |   38 +++----\n 3 files changed, 123 insertions(+), 192 deletions(-)\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "172d69e63c7f1e8300d0e1c1bbd8eb0f630faa15",
      "tree": "c71118ddc86186e235a920b9529c457db5e9aae5",
      "parents": [
        "734f614bc1e7c6bf075d201f6bd9a555b8b4a984"
      ],
      "author": {
        "name": "Florian Westphal",
        "email": "fw@strlen.de",
        "time": "Mon Jun 21 11:48:45 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jun 26 22:00:03 2010 -0700"
      },
      "message": "syncookies: add support for ECN\n\nAllows use of ECN when syncookies are in effect by encoding ecn_ok\ninto the syn-ack tcp timestamp.\n\nWhile at it, remove a uneeded #ifdef CONFIG_SYN_COOKIES.\nWith CONFIG_SYN_COOKIES\u003dnm want_cookie is ifdef\u0027d to 0 and gcc\nremoves the \"if (0)\".\n\nSigned-off-by: Florian Westphal \u003cfw@strlen.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8c76368174ed2359739f1b7b8a9c042b1ef839c4",
      "tree": "143aa28c9438b24154bc3d1e36b432a534eca50c",
      "parents": [
        "317fe0e6c5dc9448bcef41a2e31fecfd3dba7f55"
      ],
      "author": {
        "name": "Florian Westphal",
        "email": "fw@strlen.de",
        "time": "Wed Jun 16 14:42:15 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 16 14:42:15 2010 -0700"
      },
      "message": "syncookies: check decoded options against sysctl settings\n\nDiscard the ACK if we find options that do not match current sysctl\nsettings.\n\nPreviously it was possible to create a connection with sack, wscale,\netc. enabled even if the feature was disabled via sysctl.\n\nAlso remove an unneeded call to tcp_sack_reset() in\ncookie_check_timestamp: Both call sites (cookie_v4_check,\ncookie_v6_check) zero \"struct tcp_options_received\", hand it to\ntcp_parse_options() (which does not change tcp_opt-\u003enum_sacks/dsack)\nand then call cookie_check_timestamp().\n\nEven if num_sacks/dsacks were changed, the structure is allocated on\nthe stack and after cookie_check_timestamp returns only a few selected\nmembers are copied to the inet_request_sock.\n\nSigned-off-by: Florian Westphal \u003cfw@strlen.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a3433f35a55f7604742cae620c6dc6edfc70db6a",
      "tree": "4ce6d169e402c03a48319a9db4055cc31df00d42",
      "parents": [
        "f350a0a87374418635689471606454abc7beaa3a"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Sat Jun 12 14:01:43 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 15 11:56:19 2010 -0700"
      },
      "message": "tcp: unify tcp flag macros\n\nunify tcp flag macros: TCPHDR_FIN, TCPHDR_SYN, TCPHDR_RST, TCPHDR_PSH,\nTCPHDR_ACK, TCPHDR_URG, TCPHDR_ECE and TCPHDR_CWR. TCBCB_FLAG_* are replaced\nwith the corresponding TCPHDR_*.\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\n----\n include/net/tcp.h                      |   24 ++++++-------\n net/ipv4/tcp.c                         |    8 ++--\n net/ipv4/tcp_input.c                   |    2 -\n net/ipv4/tcp_output.c                  |   59 ++++++++++++++++-----------------\n net/netfilter/nf_conntrack_proto_tcp.c |   32 ++++++-----------\n net/netfilter/xt_TCPMSS.c              |    4 --\n 6 files changed, 58 insertions(+), 71 deletions(-)\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a8b690f98baf9fb1902b8eeab801351ea603fa3a",
      "tree": "b48940354a3236d33e33ca4f1b9169c9545cd551",
      "parents": [
        "83038a2a7062f6cbbdcfaff47284566f060a5af1"
      ],
      "author": {
        "name": "Tom Herbert",
        "email": "therbert@google.com",
        "time": "Mon Jun 07 00:43:42 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 07 00:43:42 2010 -0700"
      },
      "message": "tcp: Fix slowness in read /proc/net/tcp\n\nThis patch address a serious performance issue in reading the\nTCP sockets table (/proc/net/tcp).\n\nReading the full table is done by a number of sequential read\noperations.  At each read operation, a seek is done to find the\nlast socket that was previously read.  This seek operation requires\nthat the sockets in the table need to be counted up to the current\nfile position, and to count each of these requires taking a lock for\neach non-empty bucket.  The whole algorithm is O(n^2).\n\nThe fix is to cache the last bucket value, offset within the bucket,\nand the file position returned by the last read operation.   On the\nnext sequential read, the bucket and offset are used to find the\nlast read socket immediately without needing ot scan the previous\nbuckets  the table.  This algorithm t read the whole table is O(n).\n\nThe improvement offered by this patch is easily show by performing\ncat\u0027ing /proc/net/tcp on a machine with a lot of connections.  With\nabout 182K connections in the table, I see the following:\n\n- Without patch\ntime cat /proc/net/tcp \u003e /dev/null\n\nreal\t1m56.729s\nuser\t0m0.214s\nsys\t1m56.344s\n\n- With patch\ntime cat /proc/net/tcp \u003e /dev/null\n\nreal\t0m0.894s\nuser\t0m0.290s\nsys\t0m0.594s\n\nSigned-off-by: Tom Herbert \u003ctherbert@google.com\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6811d58fc148c393f80a9f5a9db49d7e75cdc546",
      "tree": "c25d5b0e49ec848943d35f819e748d157ccb492e",
      "parents": [
        "c4949f074332a64baeb2ead6ab9319ca37642f96",
        "c02db8c6290bb992442fec1407643c94cc414375"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 16 22:26:58 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 16 22:26:58 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tinclude/linux/if_link.h\n"
    },
    {
      "commit": "35790c0421121364883a167bab8a2e37e1f67f78",
      "tree": "a3e032a9ba6bb77337176bef407d7408d6a10a4d",
      "parents": [
        "d77f873fdd21912803836da78f627d2efd267082"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sun May 16 00:34:04 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 16 00:34:04 2010 -0700"
      },
      "message": "tcp: fix MD5 (RFC2385) support\n\nTCP MD5 support uses percpu data for temporary storage. It currently\ndisables preemption so that same storage cannot be reclaimed by another\nthread on same cpu.\n\nWe also have to make sure a softirq handler wont try to use also same\ncontext. Various bug reports demonstrated corruptions.\n\nFix is to disable preemption and BH.\n\nReported-by: Bhaskar Dutta \u003cbhaskie@gmail.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6c37e5de456987f5bc80879afde05aa120784095",
      "tree": "1459ee69ef3c7172a82d07a7b8aea00836eedda5",
      "parents": [
        "dcdca2c49bb6328bbc7cd8d73434c308b5dd0df2"
      ],
      "author": {
        "name": "Flavio Leitner",
        "email": "fleitner@redhat.com",
        "time": "Mon Apr 26 18:33:27 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 27 12:53:25 2010 -0700"
      },
      "message": "TCP: avoid to send keepalive probes if receiving data\n\nRFC 1122 says the following:\n...\n  Keep-alive packets MUST only be sent when no data or\n  acknowledgement packets have been received for the\n  connection within an interval.\n...\n\nThe acknowledgement packet is reseting the keepalive\ntimer but the data packet isn\u0027t. This patch fixes it by\nchecking the timestamp of the last received data packet\ntoo when the keepalive timer expires.\n\nSigned-off-by: Flavio Leitner \u003cfleitner@redhat.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nAcked-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "aa2ea0586d9dbe56a334d835a43b45e8c2104e77",
      "tree": "1f218166bff8513858ac253e84264a4a8fe9ff0d",
      "parents": [
        "3cfa856d6d43894ebffdc28d2f0587595280893b"
      ],
      "author": {
        "name": "Tom Herbert",
        "email": "therbert@google.com",
        "time": "Thu Apr 22 07:00:24 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 22 16:00:00 2010 -0700"
      },
      "message": "tcp: fix outsegs stat for TSO segments\n\nAccount for TSO segments of an skb in TCP_MIB_OUTSEGS counter.  Without\ndoing this, the counter can be off by orders of magnitude from the\nactual number of segments sent.\n\nSigned-off-by: Tom Herbert \u003ctherbert@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "aa395145165cb06a0d0885221bbe0ce4a564391d",
      "tree": "118b0403621f10db8dc3dbf12079f9af5b19e05d",
      "parents": [
        "ab9304717f7624c41927f442e6b6d418b2d8b3e4"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Apr 20 13:03:51 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 20 16:37:13 2010 -0700"
      },
      "message": "net: sk_sleep() helper\n\nDefine a new function to return the waitqueue of a \"struct sock\".\n\nstatic inline wait_queue_head_t *sk_sleep(struct sock *sk)\n{\n\treturn sk-\u003esk_sleep;\n}\n\nChange all read occurrences of sk_sleep by a call to this function.\n\nNeeded for a future RCU conversion. sk_sleep wont be a field directly\navailable.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bb29624614c2afe2873ee8ee97cf09df42701694",
      "tree": "aea85e4cd6643fb47beba987849378c0e80166a0",
      "parents": [
        "8ad50d96db58c58ba67ec1c6f9d3dae0db52338a"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sun Apr 11 02:15:55 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 11 15:29:09 2010 -0700"
      },
      "message": "inet: Remove unused send_check length argument\n\ninet: Remove unused send_check length argument\n\nThis patch removes the unused length argument from the send_check\nfunction in struct inet_connection_sock_af_ops.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nTested-by: Yinghai \u003cyinghai.lu@oracle.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c839d30a41dd92eb32d7fcfa2b4e99042fc64bf2",
      "tree": "f439f53a8e7a77590d249b5bb0c584db171366da",
      "parents": [
        "8f37ada5b5f6bfb4d251a7f510f249cb855b77b3"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "efault@gmx.de",
        "time": "Wed Mar 03 04:46:50 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 04 00:53:51 2010 -0800"
      },
      "message": "net: add scheduler sync hint to tcp_prequeue().\n\nDecreases the odds wakee will suffer from frequent cache misses.\n\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7e38017557bc0b87434d184f8804cadb102bb903",
      "tree": "30c4a0793bd28f6731ade58786c06f9cf33115df",
      "parents": [
        "36e31b0af58728071e8023cf8e20c5166b700717"
      ],
      "author": {
        "name": "Andreas Petlund",
        "email": "apetlund@simula.no",
        "time": "Thu Feb 18 04:48:19 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 18 15:43:09 2010 -0800"
      },
      "message": "net: TCP thin dupack\n\nThis patch enables fast retransmissions after one dupACK for\nTCP if the stream is identified as thin. This will reduce\nlatencies for thin streams that are not able to trigger fast\nretransmissions due to high packet interarrival time. This\nmechanism is only active if enabled by iocontrol or syscontrol\nand the stream is identified as thin.\n\nSigned-off-by: Andreas Petlund \u003capetlund@simula.no\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "36e31b0af58728071e8023cf8e20c5166b700717",
      "tree": "8b4d251bf78965ac7501bea9011786b8255a3312",
      "parents": [
        "5aa4b32fc86408705337e941ed716880c63d1590"
      ],
      "author": {
        "name": "Andreas Petlund",
        "email": "apetlund@simula.no",
        "time": "Thu Feb 18 02:47:01 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 18 15:43:08 2010 -0800"
      },
      "message": "net: TCP thin linear timeouts\n\nThis patch will make TCP use only linear timeouts if the\nstream is thin. This will help to avoid the very high latencies\nthat thin stream suffer because of exponential backoff. This\nmechanism is only active if enabled by iocontrol or syscontrol\nand the stream is identified as thin. A maximum of 6 linear\ntimeouts is tried before exponential backoff is resumed.\n\nSigned-off-by: Andreas Petlund \u003capetlund@simula.no\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5aa4b32fc86408705337e941ed716880c63d1590",
      "tree": "7385d30e16f2c7203a74a3723728b7e8c6ecfa7b",
      "parents": [
        "16cad981863344ef779ab703545bb6f261a0f0ce"
      ],
      "author": {
        "name": "Andreas Petlund",
        "email": "apetlund@simula.no",
        "time": "Thu Feb 18 02:45:45 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 18 15:43:07 2010 -0800"
      },
      "message": "net: TCP thin-stream detection\n\nInline function to dynamically detect thin streams based on\nthe number of packets in flight. Used to dynamically trigger\nthin-stream mechanisms if enabled by ioctl or sysctl.\n\nSigned-off-by: Andreas Petlund \u003capetlund@simula.no\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7d720c3e4f0c4fc152a6bf17e24244a3c85412d2",
      "tree": "36e037187ce79acb211702bea22e99c625787757",
      "parents": [
        "2bb4646fce8d09916b351d1a62f98db7cec6fc41"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Feb 16 15:20:26 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 16 23:05:38 2010 -0800"
      },
      "message": "percpu: add __percpu sparse annotations to net\n\nAdd __percpu sparse annotations to net.\n\nThese annotations are to make sparse consider percpu variables to be\nin a different address space and warn if accessed without going\nthrough percpu accessors.  This patch doesn\u0027t affect normal builds.\n\nThe macro and type tricks around snmp stats make things a bit\ninteresting.  DEFINE/DECLARE_SNMP_STAT() macros mark the target field\nas __percpu and SNMP_UPD_PO_STATS() macro is updated accordingly.  All\nsnmp_mib_*() users which used to cast the argument to (void **) are\nupdated to cast it to (void __percpu **).\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Patrick McHardy \u003ckaber@trash.net\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nCc: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nCc: netdev@vger.kernel.org\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "72659ecce68588b74f6c46862c2b4cec137d7a5a",
      "tree": "791c5900e2a2b219774904cef7fab90fa462b81c",
      "parents": [
        "0ec00f0392b807d57a2281576a96552d7694b6bb"
      ],
      "author": {
        "name": "Octavian Purdila",
        "email": "opurdila@ixiacom.com",
        "time": "Sun Jan 17 19:09:39 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jan 17 19:09:39 2010 -0800"
      },
      "message": "tcp: account SYN-ACK timeouts \u0026 retransmissions\n\nCurrently we don\u0027t increment SYN-ACK timeouts \u0026 retransmissions\nalthough we do increment the same stats for SYN. We seem to have lost\nthe SYN-ACK accounting with the introduction of tcp_syn_recv_timer\n(commit 2248761e in the netdev-vger-cvs tree).\n\nThis patch fixes this issue. In the process we also rename the v4/v6\nsyn/ack retransmit functions for clarity. We also add a new\nrequest_socket operations (syn_ack_timeout) so we can keep code in\ninet_connection_sock.c protocol agnostic.\n\nSigned-off-by: Octavian Purdila \u003copurdila@ixiacom.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "31d12926e37291970dd4f6e9940df3897766a81d",
      "tree": "7f20713b70fc2c9e03aa1f7fcf71ffa651c464fc",
      "parents": [
        "068a2de57ddf4f472e32e7af868613c574ad1d88"
      ],
      "author": {
        "name": "laurent chavey",
        "email": "chavey@google.com",
        "time": "Tue Dec 15 11:15:28 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 23 14:13:30 2009 -0800"
      },
      "message": "net: Add rtnetlink init_rcvwnd to set the TCP initial receive window\n\nAdd rtnetlink init_rcvwnd to set the TCP initial receive window size\nadvertised by passive and active TCP connections.\nThe current Linux TCP implementation limits the advertised TCP initial\nreceive window to the one prescribed by slow start. For short lived\nTCP connections used for transaction type of traffic (i.e. http\nrequests), bounding the advertised TCP initial receive window results\nin increased latency to complete the transaction.\nSupport for setting initial congestion window is already supported\nusing rtnetlink init_cwnd, but the feature is useless without the\nability to set a larger TCP initial receive window.\nThe rtnetlink init_rcvwnd allows increasing the TCP initial receive\nwindow, allowing TCP connection to advertise larger TCP receive window\nthan the ones bounded by slow start.\n\nSigned-off-by: Laurent Chavey \u003cchavey@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "12d50c46dc0f7fd2e625c4befaa5fa5740a7a594",
      "tree": "03e0179cd2d0e7d02f67623ee2760a5fe6c3fcac",
      "parents": [
        "7ef8a2127a64d131c4dbe5b843e5708f6e75552b"
      ],
      "author": {
        "name": "Krishna Kumar",
        "email": "krkumar2@in.ibm.com",
        "time": "Tue Dec 08 22:26:13 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 23 14:13:28 2009 -0800"
      },
      "message": "tcp: Remove check in __tcp_push_pending_frames\n\ntcp_push checks tcp_send_head and calls __tcp_push_pending_frames,\nwhich again checks tcp_send_head, and this unnecessary check is\ndone for every other caller of __tcp_push_pending_frames.\n\nRemove tcp_send_head check in __tcp_push_pending_frames and add\nthe check to tcp_push_pending_frames. Other functions call\n__tcp_push_pending_frames only when tcp_send_head would evaluate\nto true.\n\nSigned-off-by: Krishna Kumar \u003ckrkumar2@in.ibm.com\u003e\nAcked-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bb5b7c11263dbbe78253cd05945a6bf8f55add8e",
      "tree": "7a639cbd6d6ad968ca22427f2b8697aadb37a907",
      "parents": [
        "166a0fd4c788ec7f10ca8194ec6d526afa12db75"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 15 20:56:42 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 15 20:56:42 2009 -0800"
      },
      "message": "tcp: Revert per-route SACK/DSACK/TIMESTAMP changes.\n\nIt creates a regression, triggering badness for SYN_RECV\nsockets, for example:\n\n[19148.022102] Badness at net/ipv4/inet_connection_sock.c:293\n[19148.022570] NIP: c02a0914 LR: c02a0904 CTR: 00000000\n[19148.023035] REGS: eeecbd30 TRAP: 0700   Not tainted  (2.6.32)\n[19148.023496] MSR: 00029032 \u003cEE,ME,CE,IR,DR\u003e  CR: 24002442  XER: 00000000\n[19148.024012] TASK \u003d eee9a820[1756] \u0027privoxy\u0027 THREAD: eeeca000\n\nThis is likely caused by the change in the \u0027estab\u0027 parameter\npassed to tcp_parse_options() when invoked by the functions\nin net/ipv4/tcp_minisocks.c\n\nBut even if that is fixed, the -\u003econn_request() changes made in\nthis patch series is fundamentally wrong.  They try to use the\nlistening socket\u0027s \u0027dst\u0027 to probe the route settings.  The\nlistening socket doesn\u0027t even have a route, and you can\u0027t\nget the right route (the child request one) until much later\nafter we setup all of the state, and it must be done by hand.\n\nThis stuff really isn\u0027t ready, so the best thing to do is a\nfull revert.  This reverts the following commits:\n\nf55017a93f1a74d50244b1254b9a2bd7ac9bbf7d\n022c3f7d82f0f1c68018696f2f027b87b9bb45c2\n1aba721eba1d84a2defce45b950272cee1e6c72a\ncda42ebd67ee5fdf09d7057b5a4584d36fe8a335\n345cda2fd695534be5a4494f1b59da9daed33663\ndc343475ed062e13fc260acccaab91d7d80fd5b2\n05eaade2782fb0c90d3034fd7a7d5a16266182bb\n6a2a2d6bf8581216e08be15fcb563cfd6c430e1e\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "501706565b2d4d2d40d0d301d5411ede099b8a6f",
      "tree": "142a18bf1f1e74a09dbfa27540b893ade0fd797d",
      "parents": [
        "e93737b0f0159a61772894943199fd3b6f315641",
        "2fe77b81c77eed92c4c0439f74c8148a295b4a86"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 11 17:12:17 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 11 17:12:17 2009 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of /home/davem/src/GIT/linux-2.6/\n\nConflicts:\n\tinclude/net/tcp.h\n"
    },
    {
      "commit": "4ef58d4e2ad1fa2a3e5bbf41af2284671fca8cf8",
      "tree": "856ba96302a36014736747e8464f80eeb827bbdd",
      "parents": [
        "f6c4c8195b5e7878823caa1181be404d9e86d369",
        "d014d043869cdc591f3a33243d3481fa4479c2d0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 09 19:43:33 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 09 19:43:33 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (42 commits)\n  tree-wide: fix misspelling of \"definition\" in comments\n  reiserfs: fix misspelling of \"journaled\"\n  doc: Fix a typo in slub.txt.\n  inotify: remove superfluous return code check\n  hdlc: spelling fix in find_pvc() comment\n  doc: fix regulator docs cut-and-pasteism\n  mtd: Fix comment in Kconfig\n  doc: Fix IRQ chip docs\n  tree-wide: fix assorted typos all over the place\n  drivers/ata/libata-sff.c: comment spelling fixes\n  fix typos/grammos in Documentation/edac.txt\n  sysctl: add missing comments\n  fs/debugfs/inode.c: fix comment typos\n  sgivwfb: Make use of ARRAY_SIZE.\n  sky2: fix sky2_link_down copy/paste comment error\n  tree-wide: fix typos \"couter\" -\u003e \"counter\"\n  tree-wide: fix typos \"offest\" -\u003e \"offset\"\n  fix kerneldoc for set_irq_msi()\n  spidev: fix double \"of of\" in comment\n  comment typo fix: sybsystem -\u003e subsystem\n  ...\n"
    },
    {
      "commit": "2f7de5710a4d394920405febc2a9937c69e16dda",
      "tree": "8f038451b643f68ab399009e769a74678feb5546",
      "parents": [
        "07f29bc5bbae4e53e982ab956fed7207990a7786"
      ],
      "author": {
        "name": "Damian Lukowski",
        "email": "damian@tvk.rwth-aachen.de",
        "time": "Mon Dec 07 06:06:16 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 08 20:56:11 2009 -0800"
      },
      "message": "tcp: Stalling connections: Move timeout calculation routine\n\nThis patch moves retransmits_timed_out() from include/net/tcp.h\nto tcp_timer.c, where it is used.\n\nReported-by: Frederic Leroy \u003cfredo@starox.org\u003e\nSigned-off-by: Damian Lukowski \u003cdamian@tvk.rwth-aachen.de\u003e\nAcked-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "07f29bc5bbae4e53e982ab956fed7207990a7786",
      "tree": "b44506c37ce4886220439b38ef647c3cd7fbc6ce",
      "parents": [
        "cb19054697e92a793f336380fd72c588521178ff"
      ],
      "author": {
        "name": "Damian Lukowski",
        "email": "damian@tvk.rwth-aachen.de",
        "time": "Mon Dec 07 06:06:15 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 08 20:56:11 2009 -0800"
      },
      "message": "tcp: Stalling connections: Fix timeout calculation routine\n\nThis patch fixes a problem in the TCP connection timeout calculation.\nCurrently, timeout decisions are made on the basis of the current\ntcp_time_stamp and retrans_stamp, which is usually set at the first\nretransmission.\nHowever, if the retransmission fails in tcp_retransmit_skb(),\nretrans_stamp is not updated and remains zero. This leads to wrong\ndecisions in retransmits_timed_out() if tcp_time_stamp is larger than\nthe specified timeout, which is very likely.\nIn this case, the TCP connection dies after the first attempted\n(and unsuccessful) retransmission.\n\nWith this patch, tcp_skb_cb-\u003ewhen is used instead, when retrans_stamp\nis not available.\n\nThis bug has been introduced together with retransmits_timed_out() in\n2.6.32, as the number of retransmissions has been used for timeout\ndecisions before. The corresponding commit was\n6fa12c85031485dff38ce550c24f10da23b0adaa (Revert Backoff [v3]:\nCalculate TCP\u0027s connection close threshold as a time value.).\n\nThanks to Ilpo Järvinen for code suggestions and Frederic Leroy for\ntesting.\n\nReported-by: Frederic Leroy \u003cfredo@starox.org\u003e\nSigned-off-by: Damian Lukowski \u003cdamian@tvk.rwth-aachen.de\u003e\nAcked-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "af901ca181d92aac3a7dc265144a9081a86d8f39",
      "tree": "380054af22521144fbe1364c3bcd55ad24c9bde4",
      "parents": [
        "972b94ffb90ea6d20c589d9a47215df103388ddd"
      ],
      "author": {
        "name": "André Goddard Rosa",
        "email": "andre.goddard@gmail.com",
        "time": "Sat Nov 14 13:09:05 2009 -0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Fri Dec 04 15:39:55 2009 +0100"
      },
      "message": "tree-wide: fix assorted typos all over the place\n\nThat is \"success\", \"unknown\", \"through\", \"performance\", \"[re|un]mapping\"\n, \"access\", \"default\", \"reasonable\", \"[con]currently\", \"temperature\"\n, \"channel\", \"[un]used\", \"application\", \"example\",\"hierarchy\", \"therefore\"\n, \"[over|under]flow\", \"contiguous\", \"threshold\", \"enough\" and others.\n\nSigned-off-by: André Goddard Rosa \u003candre.goddard@gmail.com\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "8818a9d884e3a589899be3303958fff182e98e55",
      "tree": "3ad83fc6fe8b4c1633437f5c5415ff34c566ce8b",
      "parents": [
        "e6b09ccada2e4ab8ee25a7c3ac72fcd1bc7101c4"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Wed Dec 02 22:24:02 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 02 22:24:02 2009 -0800"
      },
      "message": "tcp: clear hints to avoid a stale one (nfs only affected?)\n\nEric Dumazet mentioned in a context of another problem:\n\n\"Well, it seems NFS reuses its socket, so maybe we miss some\ncleaning as spotted in this old patch\"\n\nI\u0027ve not check under which conditions that actually happens but\nif true, we need to make sure we don\u0027t accidently leave stale\nhints behind when the write queue had to be purged (whether reusing\nwith NFS can actually happen if purging took place is something I\u0027m\nnot sure of).\n\n...At least it compiles.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4957faade11b3a278c3b3cade3411ddc20afa791",
      "tree": "57f994bab69353baf5f554b89cf9107c3372ecce",
      "parents": [
        "bd0388ae77075026d6a9f9eb6026dfd1d52ce0e9"
      ],
      "author": {
        "name": "William Allen Simpson",
        "email": "william.allen.simpson@gmail.com",
        "time": "Wed Dec 02 18:25:27 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 02 22:07:26 2009 -0800"
      },
      "message": "TCPCT part 1g: Responder Cookie \u003d\u003e Initiator\n\nParse incoming TCP_COOKIE option(s).\n\nCalculate \u003cSYN,ACK\u003e TCP_COOKIE option.\n\nSend optional \u003cSYN,ACK\u003e data.\n\nThis is a significantly revised implementation of an earlier (year-old)\npatch that no longer applies cleanly, with permission of the original\nauthor (Adam Langley):\n\n    http://thread.gmane.org/gmane.linux.network/102586\n\nRequires:\n   TCPCT part 1a: add request_values parameter for sending SYNACK\n   TCPCT part 1b: generate Responder Cookie secret\n   TCPCT part 1c: sysctl_tcp_cookie_size, socket option TCP_COOKIE_TRANSACTIONS\n   TCPCT part 1d: define TCP cookie option, extend existing struct\u0027s\n   TCPCT part 1e: implement socket option TCP_COOKIE_TRANSACTIONS\n   TCPCT part 1f: Initiator Cookie \u003d\u003e Responder\n\nSigned-off-by: William.Allen.Simpson@gmail.com\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "435cf559f02ea3a3159eb316f97dc88bdebe9432",
      "tree": "0b2a7e9110c46b193176b0a59fe5689eae7c18f3",
      "parents": [
        "519855c508b9a17878c0977a3cdefc09b59b30df"
      ],
      "author": {
        "name": "William Allen Simpson",
        "email": "william.allen.simpson@gmail.com",
        "time": "Wed Dec 02 18:17:05 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 02 22:07:25 2009 -0800"
      },
      "message": "TCPCT part 1d: define TCP cookie option, extend existing struct\u0027s\n\nData structures are carefully composed to require minimal additions.\nFor example, the struct tcp_options_received cookie_plus variable fits\nbetween existing 16-bit and 8-bit variables, requiring no additional\nspace (taking alignment into consideration).  There are no additions to\ntcp_request_sock, and only 1 pointer in tcp_sock.\n\nThis is a significantly revised implementation of an earlier (year-old)\npatch that no longer applies cleanly, with permission of the original\nauthor (Adam Langley):\n\n    http://thread.gmane.org/gmane.linux.network/102586\n\nThe principle difference is using a TCP option to carry the cookie nonce,\ninstead of a user configured offset in the data.  This is more flexible and\nless subject to user configuration error.  Such a cookie option has been\nsuggested for many years, and is also useful without SYN data, allowing\nseveral related concepts to use the same extension option.\n\n    \"Re: SYN floods (was: does history repeat itself?)\", September 9, 1996.\n    http://www.merit.net/mail.archives/nanog/1996-09/msg00235.html\n\n    \"Re: what a new TCP header might look like\", May 12, 1998.\n    ftp://ftp.isi.edu/end2end/end2end-interest-1998.mail\n\nThese functions will also be used in subsequent patches that implement\nadditional features.\n\nRequires:\n   TCPCT part 1a: add request_values parameter for sending SYNACK\n   TCPCT part 1b: generate Responder Cookie secret\n   TCPCT part 1c: sysctl_tcp_cookie_size, socket option TCP_COOKIE_TRANSACTIONS\n\nSigned-off-by: William.Allen.Simpson@gmail.com\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "519855c508b9a17878c0977a3cdefc09b59b30df",
      "tree": "df6840c5c1560a84cb777b1855ec22c90c3df8d9",
      "parents": [
        "da5c78c82629a167794436e4306b4cf1faddea90"
      ],
      "author": {
        "name": "William Allen Simpson",
        "email": "william.allen.simpson@gmail.com",
        "time": "Wed Dec 02 18:14:19 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 02 22:07:24 2009 -0800"
      },
      "message": "TCPCT part 1c: sysctl_tcp_cookie_size, socket option TCP_COOKIE_TRANSACTIONS\n\nDefine sysctl (tcp_cookie_size) to turn on and off the cookie option\ndefault globally, instead of a compiled configuration option.\n\nDefine per socket option (TCP_COOKIE_TRANSACTIONS) for setting constant\ndata values, retrieving variable cookie values, and other facilities.\n\nMove inline tcp_clear_options() unchanged from net/tcp.h to linux/tcp.h,\nnear its corresponding struct tcp_options_received (prior to changes).\n\nThis is a straightforward re-implementation of an earlier (year-old)\npatch that no longer applies cleanly, with permission of the original\nauthor (Adam Langley):\n\n    http://thread.gmane.org/gmane.linux.network/102586\n\nThese functions will also be used in subsequent patches that implement\nadditional features.\n\nRequires:\n   net: TCP_MSS_DEFAULT, TCP_MSS_DESIRED\n\nSigned-off-by: William.Allen.Simpson@gmail.com\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "da5c78c82629a167794436e4306b4cf1faddea90",
      "tree": "c933fdc0583b592c01885890ebf770840555d28b",
      "parents": [
        "e6b4d11367519bc71729c09d05a126b133c755be"
      ],
      "author": {
        "name": "William Allen Simpson",
        "email": "william.allen.simpson@gmail.com",
        "time": "Wed Dec 02 18:12:09 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 02 22:07:23 2009 -0800"
      },
      "message": "TCPCT part 1b: generate Responder Cookie secret\n\nDefine (missing) hash message size for SHA1.\n\nDefine hashing size constants specific to TCP cookies.\n\nAdd new function: tcp_cookie_generator().\n\nMaintain global secret values for tcp_cookie_generator().\n\nThis is a significantly revised implementation of earlier (15-year-old)\nPhoturis [RFC-2522] code for the KA9Q cooperative multitasking platform.\n\nLinux RCU technique appears to be well-suited to this application, though\nneither of the circular queue items are freed.\n\nThese functions will also be used in subsequent patches that implement\nadditional features.\n\nSigned-off-by: William.Allen.Simpson@gmail.com\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e6b4d11367519bc71729c09d05a126b133c755be",
      "tree": "b5d99b115a6ca9564d367b243a826d8b09da237e",
      "parents": [
        "e00484023ebe94dce03fdd1270edf3e191c2bc79"
      ],
      "author": {
        "name": "William Allen Simpson",
        "email": "william.allen.simpson@gmail.com",
        "time": "Wed Dec 02 18:07:39 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 02 22:07:23 2009 -0800"
      },
      "message": "TCPCT part 1a: add request_values parameter for sending SYNACK\n\nAdd optional function parameters associated with sending SYNACK.\nThese parameters are not needed after sending SYNACK, and are not\nused for retransmission.  Avoids extending struct tcp_request_sock,\nand avoids allocating kernel memory.\n\nAlso affects DCCP as it uses common struct request_sock_ops,\nbut this parameter is currently reserved for future use.\n\nSigned-off-by: William.Allen.Simpson@gmail.com\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bee7ca9ec03a26676ea2b1c28dc4039348eff3e1",
      "tree": "652832d73252d7c9ede928a4242763f570070b0e",
      "parents": [
        "cbbef5e183079455763fc470ccf69008f92ab4b6"
      ],
      "author": {
        "name": "William Allen Simpson",
        "email": "william.allen.simpson@gmail.com",
        "time": "Tue Nov 10 09:51:18 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 13 20:38:48 2009 -0800"
      },
      "message": "net: TCP_MSS_DEFAULT, TCP_MSS_DESIRED\n\nDefine two symbols needed in both kernel and user space.\n\nRemove old (somewhat incorrect) kernel variant that wasn\u0027t used in\nmost cases.  Default should apply to both RMSS and SMSS (RFC2581).\n\nReplace numeric constants with defined symbols.\n\nStand-alone patch, originally developed for TCPCT.\n\nSigned-off-by: William.Allen.Simpson@gmail.com\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fd2c3ef761fbc5e6c27fa7d40b30cda06bfcd7d8",
      "tree": "25922196160e9d5be8aa2a473ce981756926390f",
      "parents": [
        "4b7673a04a16f1d8faf1e367ae28a6ee1671843d"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Nov 03 03:26:03 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 04 05:06:25 2009 -0800"
      },
      "message": "net: cleanup include/net\n\nThis cleanup patch puts struct/union/enum opening braces,\nin first line to ease grep games.\n\nstruct something\n{\n\nbecomes :\n\nstruct something {\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "022c3f7d82f0f1c68018696f2f027b87b9bb45c2",
      "tree": "ca46c372d815e46f488ec348ae427d34d1f6079e",
      "parents": [
        "f55017a93f1a74d50244b1254b9a2bd7ac9bbf7d"
      ],
      "author": {
        "name": "Gilad Ben-Yossef",
        "email": "gilad@codefidence.com",
        "time": "Wed Oct 28 04:15:22 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 29 01:28:41 2009 -0700"
      },
      "message": "Allow tcp_parse_options to consult dst entry\n\nWe need tcp_parse_options to be aware of dst_entry to\ntake into account per dst_entry TCP options settings\n\nSigned-off-by: Gilad Ben-Yossef \u003cgilad@codefidence.com\u003e\nSigend-off-by: Ori Finkelman \u003cori@comsleep.com\u003e\nSigend-off-by: Yony Amit \u003cyony@comsleep.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b7058842c940ad2c08dd829b21e5c92ebe3b8758",
      "tree": "5fe78d599fc345ca0bcd4b083b79095a54b2921b",
      "parents": [
        "eb1cf0f8f7a9e5a6d573d5bd72c015686a042db0"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 30 16:12:20 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 30 16:12:20 2009 -0700"
      },
      "message": "net: Make setsockopt() optlen be unsigned.\n\nThis provides safety against negative optlen at the type\nlevel instead of depending upon (sometimes non-trivial)\nchecks against this sprinkled all over the the place, in\neach and every implementation.\n\nBased upon work done by Arjan van de Ven and feedback\nfrom Linus Torvalds.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0b6a05c1dbebe8c616e2e5b0f52b7a01fd792911",
      "tree": "18b5a2d16ac3fa8dd6d4528469725c216aed428c",
      "parents": [
        "036d6a673fa0a2e2c5b72a3b1d1b86114c1711c0"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Tue Sep 15 01:30:10 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 15 01:30:10 2009 -0700"
      },
      "message": "tcp: fix ssthresh u16 leftover\n\nIt was once upon time so that snd_sthresh was a 16-bit quantity.\n...That has not been true for long period of time. I run across\nsome ancient compares which still seem to trust such legacy.\nPut all that magic into a single place, I hopefully found all\nof them.\n\nCompile tested, though linking of allyesconfig is ridiculous\nnowadays it seems.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "aa1330766c49199bdab4d4a9096d98b072df9044",
      "tree": "98787478dbef0faa7caee09c4996abcda723a608",
      "parents": [
        "05c6a8d7a7d778f26d8eb821556988993b766092"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Wed Sep 02 23:45:45 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 02 23:45:45 2009 -0700"
      },
      "message": "tcp: replace hard coded GFP_KERNEL with sk_allocation\n\nThis fixed a lockdep warning which appeared when doing stress\nmemory tests over NFS:\n\n\tinconsistent {RECLAIM_FS-ON-W} -\u003e {IN-RECLAIM_FS-W} usage.\n\n\tpage reclaim \u003d\u003e nfs_writepage \u003d\u003e tcp_sendmsg \u003d\u003e lock sk_lock\n\n\tmount_root \u003d\u003e nfs_root_data \u003d\u003e tcp_close \u003d\u003e lock sk_lock \u003d\u003e\n\t\t\ttcp_send_fin \u003d\u003e alloc_skb_fclone \u003d\u003e page reclaim\n\nDavid raised a concern that if the allocation fails in tcp_send_fin(), and it\u0027s\nGFP_ATOMIC, we are going to yield() (which sleeps) and loop endlessly waiting\nfor the allocation to succeed.\n\nBut fact is, the original GFP_KERNEL also sleeps. GFP_ATOMIC+yield() looks\nweird, but it is no worse the implicit sleep inside GFP_KERNEL. Both could\nloop endlessly under memory pressure.\n\nCC: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nCC: David S. Miller \u003cdavem@davemloft.net\u003e\nCC: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5152fc7de3ae31b46692022ea63ce0501280f5b1",
      "tree": "44aff7228b23b90ab42e0afea7178104b231d885",
      "parents": [
        "72c60683282a6cd047db47d605eb96e2a6fac72c"
      ],
      "author": {
        "name": "Damian Lukowski",
        "email": "damian@tvk.rwth-aachen.de",
        "time": "Tue Sep 01 10:24:00 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 01 17:40:47 2009 -0700"
      },
      "message": "RTO connection timeout: coding style fixes and comments\n\nThis patch affects the retransmits_timed_out() function.\n\nChanges:\n1) Variables have more meaningful names\n2) retransmits_timed_out() has an introductionary comment.\n3) Small coding style changes.\n\nSigned-off-by: Damian Lukowski \u003cdamian@tvk.rwth-aachen.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6fa12c85031485dff38ce550c24f10da23b0adaa",
      "tree": "73f6cac32302ab99381f38505a5dbe930cb28e44",
      "parents": [
        "f1ecd5d9e7366609d640ff4040304ea197fbc618"
      ],
      "author": {
        "name": "Damian Lukowski",
        "email": "damian@tvk.rwth-aachen.de",
        "time": "Wed Aug 26 00:16:34 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 01 02:45:47 2009 -0700"
      },
      "message": "Revert Backoff [v3]: Calculate TCP\u0027s connection close threshold as a time value.\n\nRFC 1122 specifies two threshold values R1 and R2 for connection timeouts,\nwhich may represent a number of allowed retransmissions or a timeout value.\nCurrently linux uses sysctl_tcp_retries{1,2} to specify the thresholds\nin number of allowed retransmissions.\n\nFor any desired threshold R2 (by means of time) one can specify tcp_retries2\n(by means of number of retransmissions) such that TCP will not time out\nearlier than R2. This is the case, because the RTO schedule follows a fixed\npattern, namely exponential backoff.\n\nHowever, the RTO behaviour is not predictable any more if RTO backoffs can be\nreverted, as it is the case in the draft\n\"Make TCP more Robust to Long Connectivity Disruptions\"\n(http://tools.ietf.org/html/draft-zimmermann-tcp-lcd).\n\nIn the worst case TCP would time out a connection after 3.2 seconds, if the\ninitial RTO equaled MIN_RTO and each backoff has been reverted.\n\nThis patch introduces a function retransmits_timed_out(N),\nwhich calculates the timeout of a TCP connection, assuming an initial\nRTO of MIN_RTO and N unsuccessful, exponentially backed-off retransmissions.\n\nWhenever timeout decisions are made by comparing the retransmission counter\nto some value N, this function can be used, instead.\n\nThe meaning of tcp_retries2 will be changed, as many more RTO retransmissions\ncan occur than the value indicates. However, it yields a timeout which is\nsimilar to the one of an unpatched, exponentially backing off TCP in the same\nscenario. As no application could rely on an RTO greater than MIN_RTO, there\nshould be no risk of a regression.\n\nSigned-off-by: Damian Lukowski \u003cdamian@tvk.rwth-aachen.de\u003e\nAcked-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f1ecd5d9e7366609d640ff4040304ea197fbc618",
      "tree": "ef4901d52ad0d2555094998f02d08788e197c20a",
      "parents": [
        "4d1a2d9ec1c17df077ed09a0d135bccf5637a3b7"
      ],
      "author": {
        "name": "Damian Lukowski",
        "email": "damian@tvk.rwth-aachen.de",
        "time": "Wed Aug 26 00:16:31 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 01 02:45:42 2009 -0700"
      },
      "message": "Revert Backoff [v3]: Revert RTO on ICMP destination unreachable\n\nHere, an ICMP host/network unreachable message, whose payload fits to\nTCP\u0027s SND.UNA, is taken as an indication that the RTO retransmission has\nnot been lost due to congestion, but because of a route failure\nsomewhere along the path.\nWith true congestion, a router won\u0027t trigger such a message and the\npatched TCP will operate as standard TCP.\n\nThis patch reverts one RTO backoff, if an ICMP host/network unreachable\nmessage, whose payload fits to TCP\u0027s SND.UNA, arrives.\nBased on the new RTO, the retransmission timer is reset to reflect the\nremaining time, or - if the revert clocked out the timer - a retransmission\nis sent out immediately.\nBackoffs are only reverted, if TCP is in RTO loss recovery, i.e. if\nthere have been retransmissions and reversible backoffs, already.\n\nChanges from v2:\n1) Renaming of skb in tcp_v4_err() moved to another patch.\n2) Reintroduced tcp_bound_rto() and __tcp_set_rto().\n3) Fixed code comments.\n\nSigned-off-by: Damian Lukowski \u003cdamian@tvk.rwth-aachen.de\u003e\nAcked-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "df19a6267705456f463871ae2aabc44299909d2a",
      "tree": "59654abf9eb5dc58c9f8773dde5738b5bcb18312",
      "parents": [
        "5e9b2dbfcbc9b180a0064d8a473a4652ee99c9ad"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Aug 28 23:48:54 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 28 23:48:54 2009 -0700"
      },
      "message": "tcp: keepalive cleanups\n\nIntroduce keepalive_probes(tp) helper, and use it, like \nkeepalive_time_when(tp) and keepalive_intvl_when(tp)\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e3afe7b75ed8f809c1473ea9b39267487c187ccb",
      "tree": "715aa813d57ffbc6b1a179e2f7f2957b88b415dc",
      "parents": [
        "a50a97d415d839e6db9df288ff0205528e52c03e"
      ],
      "author": {
        "name": "John Dykstra",
        "email": "john.dykstra1@gmail.com",
        "time": "Thu Jul 16 05:04:51 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 20 07:49:07 2009 -0700"
      },
      "message": "tcp: Fix MD5 signature checking on IPv4 mapped sockets\n\nFix MD5 signature checking so that an IPv4 active open\nto an IPv6 socket can succeed.  In particular, use the\ncorrect address family\u0027s signature generation function\nfor the SYN/ACK.\n\nReported-by:   Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: John Dykstra \u003cjohn.dykstra1@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "22f6dacdfcfdc792d068e9c41234808860498d04",
      "tree": "281a7d476f256ea3e2f800177ba685b169cc0540",
      "parents": [
        "928f308f556f4943e50c5064b546f47bce301f02",
        "9b05126baa146fc3f41360164141d4e1b3ea93c4"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 08 02:48:30 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 08 02:48:30 2009 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tinclude/net/tcp.h\n"
    },
    {
      "commit": "7aedec2ad5314b173e78ca3f4edb4ceaa02248bb",
      "tree": "9b9ed7561bf13bcaa11f1f6ac7b4da2c444b0044",
      "parents": [
        "f5f8d86b231e0489c33542c42afbb14d32411ee8"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Thu May 07 07:20:39 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 07 14:52:28 2009 -0700"
      },
      "message": "tcp: tcp_prequeue() can use keyed wakeups\n\nWe can avoid waking up tasks not interested in receive notifications,\nusing wake_up_interruptible_poll() instead of wake_up_interruptible()\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f5f8d86b231e0489c33542c42afbb14d32411ee8",
      "tree": "c78033e5ca7a340b4f709b29b2727d68536ea834",
      "parents": [
        "4d5b78c055c76bb563c4a43d2adb92735b3b9405"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Thu May 07 07:08:38 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 07 14:52:26 2009 -0700"
      },
      "message": "tcp: tcp_prequeue() cleanup\n\nSmall cleanup patch to reduce line lengths, before a change in\ntcp_prequeue().\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0c266898b42fe4e4e2f9edfc9d3474c10f93aa6a",
      "tree": "d964259d2fdd67f22f005852b1770c40ba4d6474",
      "parents": [
        "0b2febf38a33d7c40fb7bb4a58c113a1fa33c412"
      ],
      "author": {
        "name": "Satoru SATOH",
        "email": "satoru.satoh@gmail.com",
        "time": "Mon May 04 11:11:01 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 04 11:11:01 2009 -0700"
      },
      "message": "tcp: Fix tcp_prequeue() to get correct rto_min value\n\ntcp_prequeue() refers to the constant value (TCP_RTO_MIN) regardless of\nthe actual value might be tuned. The following patches fix this and make\ntcp_prequeue get the actual value returns from tcp_rto_min().\n\nSigned-off-by: Satoru SATOH \u003csatoru.satoh@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a0f82f64e26929776c58a5c93c2ecb38e3d82815",
      "tree": "8c39812fc6fc8133cc28944e38b44c941d8fa3ce",
      "parents": [
        "7eebb0b28f755e297d355a205bb04945b256db6b"
      ],
      "author": {
        "name": "Florian Westphal",
        "email": "fw@strlen.de",
        "time": "Sun Apr 19 09:43:48 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 20 02:25:26 2009 -0700"
      },
      "message": "syncookies: remove last_synq_overflow from struct tcp_sock\n\nlast_synq_overflow eats 4 or 8 bytes in struct tcp_sock, even\nthough it is only used when a listening sockets syn queue\nis full.\n\nWe can (ab)use rx_opt.ts_recent_stamp to store the same information;\nit is not used otherwise as long as a socket is in listen state.\n\nMove linger2 around to avoid splitting struct mtu_probe\nacross cacheline boundary on 32 bit arches.\n\nSigned-off-by: Florian Westphal \u003cfw@strlen.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "797108d134a91afca9fa59c572336b279bc66afb",
      "tree": "0355a88f43e16448e0126f51d7be66d953152fd5",
      "parents": [
        "0de8ca597d7b449e9e7ce7af138944acf06c8f05"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Wed Apr 01 23:15:17 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 02 16:31:44 2009 -0700"
      },
      "message": "tcp: add helper for counter tweaking due mid-wq change\n\nWe need full-scale adjustment to fix a TCP miscount in the next\npatch, so just move it into a helper and call for that from the\nother places.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0c54b85f2828128274f319a1eb3ce7f604fe2a53",
      "tree": "8ff84b9aa9cd4775f244c2421e11adfbd206a7bf",
      "parents": [
        "72211e90501f954f586481c25521c3724cda3cc7"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Sat Mar 14 14:23:05 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Mar 15 20:09:54 2009 -0700"
      },
      "message": "tcp: simplify tcp_current_mss\n\nThere\u0027s very little need for most of the callsites to get\ntp-\u003exmit_goal_size updated. That will cost us divide as is,\nso slice the function in two. Also, the only users of the\ntp-\u003exmit_goal_size are directly behind tcp_current_mss(),\nso there\u0027s no need to store that variable into tcp_sock\nat all! The drop of xmit_goal_size currently leaves 16-bit\nhole and some reorganization would again be necessary to\nchange that (but I\u0027m aiming to fill that hole with u16\nxmit_goal_size_segs to cache the results of the remaining\ndivide to get that tso on regression).\n\nBring xmit_goal_size parts into tcp.c\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nCc: Evgeniy Polyakov \u003czbr@ioremap.net\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c887e6d2d9aee56ee7c9f2af4cec3a5efdcc4c72",
      "tree": "ee267baadce309166ceea5649292f221cd9a6766",
      "parents": [
        "c43d558a5139a3b22dcac3f19f64ecb39130b02e"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Sat Mar 14 14:23:03 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Mar 15 20:09:52 2009 -0700"
      },
      "message": "tcp: consolidate paws check\n\nWow, it was quite tricky to merge that stream of negations\nbut I think I finally got it right:\n\ncheck \u0026 replace_ts_recent:\n(s32)(rcv_tsval - ts_recent) \u003e\u003d 0                  \u003d\u003e 0\n(s32)(ts_recent - rcv_tsval) \u003c\u003d 0                  \u003d\u003e 0\n\ndiscard:\n(s32)(ts_recent - rcv_tsval)  \u003e TCP_PAWS_WINDOW    \u003d\u003e 1\n(s32)(ts_recent - rcv_tsval) \u003c\u003d TCP_PAWS_WINDOW    \u003d\u003e 0\n\nI toggled the return values of tcp_paws_check around since\nthe old encoding added yet-another negation making tracking\nof truth-values really complicated.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ee7537b63a28b42b22e48842dfeedc66d96b71f1",
      "tree": "70fe4bad071ee03afd4368a8487eb378abdfa3a5",
      "parents": [
        "c1accad323372ab788066974844fe4db3c43acb0"
      ],
      "author": {
        "name": "Hantzis Fotis",
        "email": "xantzis@ceid.upatras.gr",
        "time": "Mon Mar 02 22:42:02 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 02 22:42:02 2009 -0800"
      },
      "message": "tcp: tcp_init_wl / tcp_update_wl argument cleanup\n\nThe above functions from include/net/tcp.h have been defined with an\nargument that they never use. The argument is \u0027u32 ack\u0027 which is never\nused inside the function body, and thus it can be removed. The rest of\nthe patch involves the necessary changes to the function callers of the\nabove two functions.\n\nSigned-off-by: Hantzis Fotis \u003cxantzis@ceid.upatras.gr\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cabeccbd172cc305f4383f5a4808ae254745275f",
      "tree": "0504d469ae4fc1a6c1ba368b3cc99ae7f55520cb",
      "parents": [
        "758ce5c8d11d6fc57fe5f1dbc237aa8ff6386eac"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Sat Feb 28 04:44:38 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 02 03:00:16 2009 -0800"
      },
      "message": "tcp: kill eff_sacks \"cache\", the sole user can calculate itself\n\nAlso fixes insignificant bug that would cause sending of stale\nSACK block (would occur in some corner cases).\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "758ce5c8d11d6fc57fe5f1dbc237aa8ff6386eac",
      "tree": "45b3dff5ca179712d50cdeae45846db8ffd51caa",
      "parents": [
        "571a5dd8d01f2a7e279c502fa220a69262d73694"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Sat Feb 28 04:44:37 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 02 03:00:15 2009 -0800"
      },
      "message": "tcp: add helper for AI algorithm\n\nIt seems that implementation in yeah was inconsistent to what\nother did as it would increase cwnd one ack earlier than the\nothers do.\n\nSize benefits:\n\n  bictcp_cong_avoid |  -36\n  tcp_cong_avoid_ai |  +52\n  bictcp_cong_avoid |  -34\n  tcp_scalable_cong_avoid |  -36\n  tcp_veno_cong_avoid |  -12\n  tcp_yeah_cong_avoid |  -38\n\n\u003d -104 bytes total\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bf296b125b21b8d558ceb6ec30bb4eba2730cd6b",
      "tree": "5a06714c4001ccf1b217b888121f30d57fceea6d",
      "parents": [
        "71d93b39e52e92aea35f1058d957cf12250d0b75"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Dec 15 23:43:36 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Dec 15 23:43:36 2008 -0800"
      },
      "message": "tcp: Add GRO support\n\nThis patch adds the TCP-specific portion of GRO.  The criterion for\nmerging is extremely strict (the TCP header must match exactly apart\nfrom the checksum) so as to allow refragmentation.  Otherwise this\nis pretty much identical to LRO, except that we support the merging\nof ECN 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": "dd24c00191d5e4a1ae896aafe33c6b8095ab4bd1",
      "tree": "e955c09e0b288e50c706b6ee409229d5a930c80c",
      "parents": [
        "1748376b6626acf59c24e9592ac67b3fe2a0e026"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Tue Nov 25 21:17:14 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 21:17:14 2008 -0800"
      },
      "message": "net: Use a percpu_counter for orphan_count\n\nInstead of using one atomic_t per protocol, use a percpu_counter\nfor \"orphan_count\", to reduce cache line contention on\nheavy duty network servers. \n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1748376b6626acf59c24e9592ac67b3fe2a0e026",
      "tree": "65a28205daf1ca92e31389440764fc407365014e",
      "parents": [
        "c1b56878fb68e9c14070939ea4537ad4db79ffae"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Tue Nov 25 21:16:35 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 21:16:35 2008 -0800"
      },
      "message": "net: Use a percpu_counter for sockets_allocated\n\nInstead of using one atomic_t per protocol, use a percpu_counter\nfor \"sockets_allocated\", to reduce cache line contention on\nheavy duty network servers. \n\nNote : We revert commit (248969ae31e1b3276fc4399d67ce29a5d81e6fd9\nnet: af_unix can make unix_nr_socks visbile in /proc),\nsince it is not anymore used after sock_prot_inuse_add() addition\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8eecaba900e89643029fd2c253ad8ebb60761165",
      "tree": "0b26268a6e0e97e9e859c25d2367cec0bff837f1",
      "parents": [
        "2f9889a20cd2854bc6305198255c617b0b4eb719"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Tue Nov 25 13:45:29 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 13:45:29 2008 -0800"
      },
      "message": "tcp: tcp_limit_reno_sacked can become static\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "832d11c5cd076abc0aa1eaf7be96c81d1a59ce41",
      "tree": "95b22ad16d1ff414cab39578ed8c927c2ce08723",
      "parents": [
        "f58b22fd3c16444edc393a217a74208f1894b601"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Mon Nov 24 21:20:15 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 24 21:20:15 2008 -0800"
      },
      "message": "tcp: Try to restore large SKBs while SACK processing\n\nDuring SACK processing, most of the benefits of TSO are eaten by\nthe SACK blocks that one-by-one fragment SKBs to MSS sized chunks.\nThen we\u0027re in problems when cleanup work for them has to be done\nwhen a large cumulative ACK comes. Try to return back to pre-split\nstate already while more and more SACK info gets discovered by\ncombining newly discovered SACK areas with the previous skb if\nthat\u0027s SACKed as well.\n\nThis approach has a number of benefits:\n\n1) The processing overhead is spread more equally over the RTT\n2) Write queue has less skbs to process (affect everything\n   which has to walk in the queue past the sacked areas)\n3) Write queue is consistent whole the time, so no other parts\n   of TCP has to be aware of this (this was not the case with\n   some other approach that was, well, quite intrusive all\n   around).\n4) Clean_rtx_queue can release most of the pages using single\n   put_page instead of previous PAGE_SIZE/mss+1 calls\n\nIn case a hole is fully filled by the new SACK block, we attempt\nto combine the next skb too which allows construction of skbs\nthat are even larger than what tso split them to and it handles\nhole per on every nth patterns that often occur during slow start\novershoot pretty nicely. Though this to be really useful also\na retransmission would have to get lost since cumulative ACKs\nadvance one hole at a time in the most typical case.\n\nTODO: handle upwards only merging. That should be rather easy\nwhen segment is fully sacked but I\u0027m leaving that as future\nwork item (it won\u0027t make very large difference anyway since\nthis current approach already covers quite a lot of normal\ncases).\n\nI was earlier thinking of some sophisticated way of tracking\ntimestamps of the first and the last segment but later on\nrealized that it won\u0027t be that necessary at all to store the\ntimestamp of the last segment. The cases that can occur are\nbasically either:\n  1) ambiguous \u003d\u003e no sensible measurement can be taken anyway\n  2) non-ambiguous is due to reordering \u003d\u003e having the timestamp\n     of the last segment there is just skewing things more off\n     than does some good since the ack got triggered by one of\n     the holes (besides some substle issues that would make\n     determining right hole/skb even harder problem). Anyway,\n     it has nothing to do with this change then.\n\nI choose to route some abnormal looking cases with goto noop,\nsome could be handled differently (eg., by stopping the\nwalking at that skb but again). In general, they either\nshouldn\u0027t happen at all or are rare enough to make no difference\nin practice.\n\nIn theory this change (as whole) could cause some macroscale\nregression (global) because of cache misses that are taken over\nthe round-trip time but it gets very likely better because of much\nless (local) cache misses per other write queue walkers and the\nbig recovery clearing cumulative ack.\n\nWorth to note that these benefits would be very easy to get also\nwithout TSO/GSO being on as long as the data is in pages so that\nwe can merge them. Currently I won\u0027t let that happen because\nDSACK splitting at fragment that would mess up pcounts due to\nsk_can_gso in tcp_set_skb_tso_segs. Once DSACKs fragments gets\navoided, we have some conditions that can be made less strict.\n\nTODO: I will probably have to convert the excessive pointer\npassing to struct sacktag_state... :-)\n\nMy testing revealed that considerable amount of skbs couldn\u0027t\nbe shifted because they were cloned (most likely still awaiting\ntx reclaim)...\n\n[The rest is considering future work instead since I got\nrepeatably EFAULT to tcpdump\u0027s recvfrom when I added\npskb_expand_head to deal with clones, so I separated that\ninto another, later patch]\n\n...To counter that, I gave up on the fifth advantage:\n\n5) When growing previous SACK block, less allocs for new skbs\n   are done, basically a new alloc is needed only when new hole\n   is detected and when the previous skb runs out of frags space\n\n...which now only happens of if reclaim is fast enough to dispose\nthe clone before the SACK block comes in (the window is RTT long),\notherwise we\u0027ll have to alloc some.\n\nWith clones being handled I got these numbers (will be somewhat\nworse without that), taken with fine-grained mibs:\n\n                  TCPSackShifted 398\n                   TCPSackMerged 877\n            TCPSackShiftFallback 320\n      TCPSACKCOLLAPSEFALLBACKGSO 0\n  TCPSACKCOLLAPSEFALLBACKSKBBITS 0\n  TCPSACKCOLLAPSEFALLBACKSKBDATA 0\n    TCPSACKCOLLAPSEFALLBACKBELOW 0\n    TCPSACKCOLLAPSEFALLBACKFIRST 1\n TCPSACKCOLLAPSEFALLBACKPREVBITS 318\n      TCPSACKCOLLAPSEFALLBACKMSS 1\n   TCPSACKCOLLAPSEFALLBACKNOHEAD 0\n    TCPSACKCOLLAPSEFALLBACKSHIFT 0\n          TCPSACKCOLLAPSENOOPSEQ 0\n  TCPSACKCOLLAPSENOOPSMALLPCOUNT 0\n     TCPSACKCOLLAPSENOOPSMALLLEN 0\n             TCPSACKCOLLAPSEHOLE 12\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e1aa680fa40e7492260a09cb57d94002245cc8fe",
      "tree": "67afc8d71c9de6f76036942cd442d628ae26a4f3",
      "parents": [
        "4a17fc3add594fcc1c778e93a95b6ecf47f630e5"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Mon Nov 24 21:11:55 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 24 21:11:55 2008 -0800"
      },
      "message": "tcp: move tcp_simple_retransmit to tcp_input\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "38a7ddffa4b79d7b1fbc9bf2fa82b21b72622858",
      "tree": "6711f02448d77e748f416dc7f66b1e38fbd226ba",
      "parents": [
        "00bcd522ea0a62f5e2a9c6ad4924cbbd8d05b026"
      ],
      "author": {
        "name": "Petr Tesarik",
        "email": "ptesarik@suse.cz",
        "time": "Thu Nov 13 22:44:11 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 13 22:44:11 2008 -0800"
      },
      "message": "tcp: remove an unnecessary field in struct tcp_skb_cb\n\nThe urg_ptr field is not used anywhere and is merely confusing.\n\nSigned-off-by: Petr Tesarik \u003cptesarik@suse.cz\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c57943a1c96214ee68f3890bb6772841ffbfd606",
      "tree": "bfe79b29240d442c8ea104a89c2e827032b2824e",
      "parents": [
        "b339a47c370ec669f789c5989f54eec1d78574bb"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Oct 07 14:18:42 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 07 14:18:42 2008 -0700"
      },
      "message": "net: wrap sk-\u003esk_backlog_rcv()\n\nWrap calling sk-\u003esk_backlog_rcv() in a function. This will allow extending the\ngeneric sk_backlog_rcv behaviour.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a3116ac5c216fc3c145906a46df9ce542ff7dcf2",
      "tree": "6b2b43b5bacac2b358566e4b7ca0adda45a3e52b",
      "parents": [
        "86b08d867d7de001ab224180ed7865fab93fd56e"
      ],
      "author": {
        "name": "KOVACS Krisztian",
        "email": "hidden@sch.bme.hu",
        "time": "Wed Oct 01 07:46:49 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 01 07:46:49 2008 -0700"
      },
      "message": "tcp: Port redirection support for TCP\n\nCurrent TCP code relies on the local port of the listening socket\nbeing the same as the destination address of the incoming\nconnection. Port redirection used by many transparent proxying\ntechniques obviously breaks this, so we have to store the original\ndestination port address.\n\nThis patch extends struct inet_request_sock and stores the incoming\ndestination port value there. It also modifies the handshake code to\nuse that value as the source port when sending reply packets.\n\nSigned-off-by: KOVACS Krisztian \u003chidden@sch.bme.hu\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cd07a8ea0dd4b204919b4c9ced8d9efdd9924495",
      "tree": "1b8e24706b806ea3070ad335d98cd7d2daa4d4c8",
      "parents": [
        "1164f52a244204830c7625b3c22812781996d7b4"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 23 00:50:13 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 23 00:50:13 2008 -0700"
      },
      "message": "tcp: Use SKB queue handling interfaces instead of by-hand versions.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d258b4914bcda9177bcc7bbd8e1a97b281b460af",
      "tree": "660608fd54a6370cdfd10db6ea3ea39a01ddbd64",
      "parents": [
        "fc7ebb212d3e51d1188948d975aa93dbb0f58b25"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 23 00:34:37 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 23 00:34:37 2008 -0700"
      },
      "message": "tcp: Use skb_queue_is_last() instead of by-hand version.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "43f59c89399fd76883a06c551f24794e98409432",
      "tree": "7ef8ac7047ea5e74c9d522d6438d03fb69a3ba67",
      "parents": [
        "f5fff5dc8a7a3f395b0525c02ba92c95d42b7390"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Sep 21 21:28:51 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Sep 21 21:28:51 2008 -0700"
      },
      "message": "net: Remove __skb_insert() calls outside of skbuff internals.\n\nThis minor cleanup simplifies later changes which will convert\nstruct sk_buff and friends over to using struct list_head.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ef9da47c7cc64d69526331f315e76b5680d4048f",
      "tree": "97407b83c7c339dbe1fd0948c30f35e1680562ec",
      "parents": [
        "f0ceb0ed86b4792a4ed9d3438f5f7572e48f9803"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Sat Sep 20 21:25:15 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Sep 20 21:25:15 2008 -0700"
      },
      "message": "tcp: don\u0027t clear retransmit_skb_hint when not necessary\n\nMost importantly avoid doing it with cumulative ACK. Not clearing\nmeans that we no longer need n^2 processing in resolution of each\nfast recovery.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0e1c54c2a405494281e0639aacc90db03b50ae77",
      "tree": "ba5098bdf80603d4b5aa74af11738620f2ea7681",
      "parents": [
        "08ebd1721ab8fd362e90ae17b461c07b23fa2824"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Sat Sep 20 21:24:21 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Sep 20 21:24:21 2008 -0700"
      },
      "message": "tcp: reorganize retransmit code loops\n\nBoth loops are quite similar, so they can be combined\nwith little effort. As a result, forward_skb_hint becomes\nobsolete as well.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "006f582c73f4eda35e06fd323193c3df43fb3459",
      "tree": "d82762cfb6fb5e6889a52d316fa263a80c4f9fb3",
      "parents": [
        "41ea36e35a0daa75377b3e70680e5c3a3f83fe27"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Sat Sep 20 21:20:20 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Sep 20 21:20:20 2008 -0700"
      },
      "message": "tcp: convert retransmit_cnt_hint to seqno\n\nMain benefit in this is that we can then freely point\nthe retransmit_skb_hint to anywhere we want to because\nthere\u0027s no longer need to know what would be the count\nchanges involve, and since this is really used only as a\nterminator, unnecessary work is one time walk at most,\nand if some retransmissions are necessary after that\npoint later on, the walk is not full waste of time\nanyway.\n\nSince retransmit_high must be kept valid, all lost\nmarkers must ensure that.\n\nNow I also have learned how those \"holes\" in the\nrexmittable skbs can appear, mtu probe does them. So\nI removed the misleading comment as well.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "64edc2736e23994e0334b70c5ff08dc33e2ebbd9",
      "tree": "2ce61d4894023389258db20edc30ce7d7863d6be",
      "parents": [
        "d950f264ff7260d8c1e124158d758db13e1ad2d0"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Sat Sep 20 21:18:32 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Sep 20 21:18:32 2008 -0700"
      },
      "message": "tcp: Partial hint clearing has again become meaningless\n\nIe., the difference between partial and all clearing doesn\u0027t\nexists anymore since the SACK optimizations got dropped by\nan sacktag rewrite.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "410e27a49bb98bc7fa3ff5fc05cc313817b9f253",
      "tree": "88bb1fcf84f9ebfa4299c9a8dcd9e6330b358446",
      "parents": [
        "0a68a20cc3eafa73bb54097c28b921147d7d3685"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Tue Sep 09 13:27:22 2008 +0200"
      },
      "committer": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Tue Sep 09 13:27:22 2008 +0200"
      },
      "message": "This reverts \"Merge branch \u0027dccp\u0027 of git://eden-feed.erg.abdn.ac.uk/dccp_exp\"\nas it accentally contained the wrong set of patches. These will be\nsubmitted separately.\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\n"
    },
    {
      "commit": "6224877b2ca4be5de96270a8ae490fe2ba11b0e0",
      "tree": "95eef39293311959842e5476eace895e457eb780",
      "parents": [
        "b25b0c60b0c39a82bc651aeb6443bcb36cd17f76"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Thu Sep 04 07:30:19 2008 +0200"
      },
      "committer": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Thu Sep 04 07:45:39 2008 +0200"
      },
      "message": "tcp/dccp: Consolidate common code for RFC 3390 conversion\n\nThis patch consolidates the code common to TCP and CCID-2:\n * TCP uses RFC 3390 in a packet-oriented manner (tcp_input.c) and\n * CCID-2 uses RFC 3390 in packet-oriented manner (RFC 4341).\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\n"
    },
    {
      "commit": "33ad798c924b4a1afad3593f2796d465040aadd5",
      "tree": "2a0a868849d6e84591b9d4d917722aee2544b77b",
      "parents": [
        "49a72dfb8814c2d65bd9f8c9c6daf6395a1ec58d"
      ],
      "author": {
        "name": "Adam Langley",
        "email": "agl@imperialviolet.org",
        "time": "Sat Jul 19 00:04:31 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 19 00:04:31 2008 -0700"
      },
      "message": "tcp: options clean up\n\nThis should fix the following bugs:\n  * Connections with MD5 signatures produce invalid packets whenever SACK\n    options are included\n  * MD5 signatures are counted twice in the MSS calculations\n\nBehaviour changes:\n  * A SYN with MD5 + SACK + TS elicits a SYNACK with MD5 + SACK\n\n    This is because we can\u0027t fit any SACK blocks in a packet with MD5 + TS\n    options. There was discussion about disabling SACK rather than TS in\n    order to fit in better with old, buggy kernels, but that was deemed to\n    be unnecessary.\n\n  * SYNs with MD5 don\u0027t include a TS option\n\n    See above.\n\nAdditionally, it removes a bunch of duplicated logic for calculating options,\nwhich should help avoid these sort of issues in the future.\n\nSigned-off-by: Adam Langley \u003cagl@imperialviolet.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "49a72dfb8814c2d65bd9f8c9c6daf6395a1ec58d",
      "tree": "38804d609f21503573bbdd8bb9af38df99275ff5",
      "parents": [
        "845525a642c1c9e1335c33a274d4273906ee58eb"
      ],
      "author": {
        "name": "Adam Langley",
        "email": "agl@imperialviolet.org",
        "time": "Sat Jul 19 00:01:42 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 19 00:01:42 2008 -0700"
      },
      "message": "tcp: Fix MD5 signatures for non-linear skbs\n\nCurrently, the MD5 code assumes that the SKBs are linear and, in the case\nthat they aren\u0027t, happily goes off and hashes off the end of the SKB and\ninto random memory.\n\nReported by Stephen Hemminger in [1]. Advice thanks to Stephen and Evgeniy\nPolyakov. Also includes a couple of missed route_caps from Stephen\u0027s patch\nin [2].\n\n[1] http://marc.info/?l\u003dlinux-netdev\u0026m\u003d121445989106145\u0026w\u003d2\n[2] http://marc.info/?l\u003dlinux-netdev\u0026m\u003d121459157816964\u0026w\u003d2\n\nSigned-off-by: Adam Langley \u003cagl@imperialviolet.org\u003e\nAcked-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "57ef42d59d1c1d79be59fc3c6380ae14234e38c3",
      "tree": "4ccc2166f6967ac1fb582715f7d7d5bb5c9205fc",
      "parents": [
        "9b4661bd6e5437508e0920608f3213c23212cd1b"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Fri Jul 18 04:02:08 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 18 04:02:08 2008 -0700"
      },
      "message": "mib: put tcp statistics on struct net\n\nProc temporary uses stats from init_net.\n\nBTW, TCP_XXX_STATS are beautiful (w/o do { } while (0) facing) again :)\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "de0744af1fe2d0a3d428f6af0f2fe1f6179b1a9c",
      "tree": "68d02820b1aa13e8fa9743c0ece5930a13d5a205",
      "parents": [
        "4e6734447dbc7a0a85e09616821c0782d9fb1141"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Jul 16 20:31:16 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 16 20:31:16 2008 -0700"
      },
      "message": "mib: add net to NET_INC_STATS_BH\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5c52ba170f8167511bdb65b981f4582100c40675",
      "tree": "1dab120003eb696dfb4ca18c40861274a317739d",
      "parents": [
        "cf1100a7a4f2573f50f9a923b53373977328e3c8"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Jul 16 20:28:10 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 16 20:28:10 2008 -0700"
      },
      "message": "sock: add net to prot-\u003eenter_memory_pressure callback\n\nThe tcp_enter_memory_pressure calls NET_INC_STATS, but doesn\u0027t\nhave where to get the net from.\n\nI decided to add a sk argument, not the net itself, only to factor\nall the required sock_net(sk) calls inside the enter_memory_pressure \ncallback itself.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cf1100a7a4f2573f50f9a923b53373977328e3c8",
      "tree": "a6869c02ab26ab0f78e6ca72a4431498e77b22e6",
      "parents": [
        "74688e487a407a33d42879957b478601aca616b8"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Jul 16 20:27:38 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 16 20:27:38 2008 -0700"
      },
      "message": "mib: add net to TCP_ADD_STATS_USER\n\nNow we\u0027re done with the TCP_XXX_STATS macros.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "74688e487a407a33d42879957b478601aca616b8",
      "tree": "38c3be832e3ac9379b9b4f5a836caf9540d1b14c",
      "parents": [
        "63231bddf6514778792d3784f63822473d250fc0"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Jul 16 20:22:46 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 16 20:22:46 2008 -0700"
      },
      "message": "mib: add net to TCP_DEC_STATS\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "63231bddf6514778792d3784f63822473d250fc0",
      "tree": "d380f9ca00fa0ca2cd74142c5b51b97717ef1e9a",
      "parents": [
        "81cc8a75d944fa39fc333c2c329c8e8b3c62cada"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Jul 16 20:22:25 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 16 20:22:25 2008 -0700"
      },
      "message": "mib: add net to TCP_INC_STATS_BH\n\nSame as before - the sock is always there to get the net from,\nbut there are also some places with the net already saved on \nthe stack.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "81cc8a75d944fa39fc333c2c329c8e8b3c62cada",
      "tree": "40d93df3f13d96e8cf66d154d2b865c35df18ec7",
      "parents": [
        "a9c19329eccdb145a08a4a2e969d7b40c54c9bcc"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Jul 16 20:22:04 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 16 20:22:04 2008 -0700"
      },
      "message": "mib: add net to TCP_INC_STATS\n\nFortunately (almost) all the TCP code has a sock to get the net from :)\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a9c19329eccdb145a08a4a2e969d7b40c54c9bcc",
      "tree": "3cee2cdcdb0270fcd5e7765cdb4e8b5882afecb0",
      "parents": [
        "f10f84314d5adc0ba6ca2a0877442de63e226130"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Jul 16 20:21:42 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 16 20:21:42 2008 -0700"
      },
      "message": "tcp: add net to tcp_mib_init\n\nThis one sets TCP MIBs after zeroing them, and thus requires\nthe net.\n\nThe existing single caller can use init_net (temporarily).\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f10f84314d5adc0ba6ca2a0877442de63e226130",
      "tree": "197f58427c9729f44754fa96dfdc9ac1e768ec0a",
      "parents": [
        "a86b1e3019455283a677c2485cfeda2dc36df3eb"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Jul 16 20:21:20 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 16 20:21:20 2008 -0700"
      },
      "message": "mib: drop unused TCP_XXX_STATS macros\n\nTCP_INC_STATS_USER and TCP_ADD_STATS_BH are currently unused.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7d06b2e053d2d536348e3a0f6bb02982a41bea37",
      "tree": "ec6a5c3f448e84cd431a0397b9e2a87ca25aec17",
      "parents": [
        "4ae127d1b6c71f9240dd4245f240e6dd8fc98014"
      ],
      "author": {
        "name": "Brian Haley",
        "email": "brian.haley@hp.com",
        "time": "Sat Jun 14 17:04:49 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jun 14 17:04:49 2008 -0700"
      },
      "message": "net: change proto destroy method to return void\n\nChange struct proto destroy function pointer to return void.  Noticed\nby Al Viro.\n\nSigned-off-by: Brian Haley \u003cbrian.haley@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4ae127d1b6c71f9240dd4245f240e6dd8fc98014",
      "tree": "b7aa27b3e0c655f4613fe2146cb57d7f69e421f6",
      "parents": [
        "875ec4333b99144e2589e900a0bcd2c25c757b27",
        "7775c9753b94fe429dc4323360d6502c95e0dd6e"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jun 13 20:52:39 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jun 13 20:52:39 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\n\tdrivers/net/smc911x.c\n"
    },
    {
      "commit": "ec0a196626bd12e0ba108d7daa6d95a4fb25c2c5",
      "tree": "68d9c2923765e12853368e8edb27b241142e0c48",
      "parents": [
        "f23d60de719e639690b2dc5c2d0e4243ff614b7a"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jun 12 16:31:35 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jun 12 16:34:35 2008 -0700"
      },
      "message": "tcp: Revert \u0027process defer accept as established\u0027 changes.\n\nThis reverts two changesets, ec3c0982a2dd1e671bad8e9d26c28dcba0039d87\n(\"[TCP]: TCP_DEFER_ACCEPT updates - process as established\") and\nthe follow-on bug fix 9ae27e0adbf471c7a6b80102e38e1d5a346b3b38\n(\"tcp: Fix slab corruption with ipv6 and tcp6fuzz\").\n\nThis change causes several problems, first reported by Ingo Molnar\nas a distcc-over-loopback regression where connections were getting\nstuck.\n\nIlpo Järvinen first spotted the locking problems.  The new function\nadded by this code, tcp_defer_accept_check(), only has the\nchild socket locked, yet it is modifying state of the parent\nlistening socket.\n\nFixing that is non-trivial at best, because we can\u0027t simply just grab\nthe parent listening socket lock at this point, because it would\ncreate an ABBA deadlock.  The normal ordering is parent listening\nsocket --\u003e child socket, but this code path would require the\nreverse lock ordering.\n\nNext is a problem noticed by Vitaliy Gusev, he noted:\n\n----------------------------------------\n\u003e--- a/net/ipv4/tcp_timer.c\n\u003e+++ b/net/ipv4/tcp_timer.c\n\u003e@@ -481,6 +481,11 @@ static void tcp_keepalive_timer (unsigned long data)\n\u003e \t\tgoto death;\n\u003e \t}\n\u003e\n\u003e+\tif (tp-\u003edefer_tcp_accept.request \u0026\u0026 sk-\u003esk_state \u003d\u003d TCP_ESTABLISHED) {\n\u003e+\t\ttcp_send_active_reset(sk, GFP_ATOMIC);\n\u003e+\t\tgoto death;\n\nHere socket sk is not attached to listening socket\u0027s request queue. tcp_done()\nwill not call inet_csk_destroy_sock() (and tcp_v4_destroy_sock() which should\nrelease this sk) as socket is not DEAD. Therefore socket sk will be lost for\nfreeing.\n----------------------------------------\n\nFinally, Alexey Kuznetsov argues that there might not even be any\nreal value or advantage to these new semantics even if we fix all\nof the bugs:\n\n----------------------------------------\nHiding from accept() sockets with only out-of-order data only\nis the only thing which is impossible with old approach. Is this really\nso valuable? My opinion: no, this is nothing but a new loophole\nto consume memory without control.\n----------------------------------------\n\nSo revert this thing for now.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9501f9722922f2e80e1f9dc6682311d65c2b5690",
      "tree": "ca8195e04ea63e8273801030ce26527fe5a8a7c7",
      "parents": [
        "8d26d76dd4a4c87ef037a44a42a0608ffc730199"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Fri Apr 18 12:45:16 2008 +0900"
      },
      "committer": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Thu Jun 12 03:46:30 2008 +0900"
      },
      "message": "tcp md5sig: Let the caller pass appropriate key for tcp_v{4,6}_do_calc_md5_hash().\n\nAs we do for other socket/timewait-socket specific parameters,\nlet the callers pass appropriate arguments to\ntcp_v{4,6}_do_calc_md5_hash().\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\n"
    },
    {
      "commit": "8d26d76dd4a4c87ef037a44a42a0608ffc730199",
      "tree": "884ff53a83e460aa3f1837cc336a5a34f364156e",
      "parents": [
        "076fb7223357769c39f3ddf900bba6752369c76a"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Thu Apr 17 13:19:16 2008 +0900"
      },
      "committer": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Thu Jun 12 02:38:20 2008 +0900"
      },
      "message": "tcp md5sig: Share most of hash calcucaltion bits between IPv4 and IPv6.\n\nWe can share most part of the hash calculation code because\nthe only difference between IPv4 and IPv6 is their pseudo headers.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\n"
    },
    {
      "commit": "076fb7223357769c39f3ddf900bba6752369c76a",
      "tree": "db75c2af3bf71cda4d0cccd6ebcfa8d1a62c3620",
      "parents": [
        "7d5d5525bd88313e6fd90c0659665aee5114bc2d"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Thu Apr 17 12:48:12 2008 +0900"
      },
      "committer": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Thu Jun 12 02:38:19 2008 +0900"
      },
      "message": "tcp md5sig: Remove redundant protocol argument.\n\nProtocol is always TCP, so remove useless protocol argument.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\n"
    },
    {
      "commit": "7d5d5525bd88313e6fd90c0659665aee5114bc2d",
      "tree": "41517e753220261c8cc46d975977cfd711892f6c",
      "parents": [
        "81b302a321a0d99ff172b8cb2a8de17bff2f9499"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Thu Apr 17 12:29:53 2008 +0900"
      },
      "committer": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Thu Jun 12 02:38:18 2008 +0900"
      },
      "message": "tcp md5sig: Share MD5 Signature option parser between IPv4 and IPv6.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\n"
    },
    {
      "commit": "45d465bc237ab1e1ebb4c65b9b318830dafb7509",
      "tree": "322df11c032408bdb53405e1a31cb4ee2d07453a",
      "parents": [
        "6b6707a50c7598a83820077393f8823ab791abf8"
      ],
      "author": {
        "name": "Rami Rosen",
        "email": "ramirose@gmail.com",
        "time": "Tue Jun 10 12:37:42 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 10 12:37:42 2008 -0700"
      },
      "message": "ipv4: Remove unused declaration from include/net/tcp.h.\n\n- The tcp_unhash() method in /include/net/tcp.h is no more needed, as the\nunhash method in tcp_prot structure is now inet_unhash (instead of\ntcp_unhash in the\npast); see tcp_prot structure in net/ipv4/tcp_ipv4.c.\n\n- So, this patch removes tcp_unhash() declaration from include/net/tcp.h\n\nSigned-off-by: Rami Rosen \u003cramirose@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dd9e0dda66ba38a2ddd1405ac279894260dc5c36",
      "tree": "f515b780e78ae05f81dc21f1434fe7ba807b8509",
      "parents": [
        "d0498d9ae1a5cebac363e38907266d5cd2eedf89"
      ],
      "author": {
        "name": "John Heffner",
        "email": "johnwheffner@gmail.com",
        "time": "Tue Apr 15 15:26:39 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 16 02:29:56 2008 -0700"
      },
      "message": "[TCP]: Increase the max_burst threshold from 3 to tp-\u003ereordering.\n\nThis change is necessary to allow cwnd to grow during persistent\nreordering.  Cwnd moderation is applied when in the disorder state\nand an ack that fills the hole comes in.  If the hole was greater\nthan 3 packets, but less than tp-\u003ereordering, cwnd will shrink when\nit should not have.\n\nSigned-off-by: John Heffner \u003cjheffner@napa.(none)\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "df39e8ba56a788733d369068c7319e04b1da3cd5",
      "tree": "1e9be853bdb455e341cdbf957656f342cfa2eb9e",
      "parents": [
        "f5572855ec492334d8c3ec0e0e86c31865d5cf07",
        "159d83363b629c91d020734207c1bc788b96af5a"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 14 02:30:23 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 14 02:30:23 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\n\tdrivers/net/ehea/ehea_main.c\n\tdrivers/net/wireless/iwlwifi/Kconfig\n\tdrivers/net/wireless/rt2x00/rt61pci.c\n\tnet/ipv4/inet_timewait_sock.c\n\tnet/ipv6/raw.c\n\tnet/mac80211/ieee80211_sta.c\n"
    },
    {
      "commit": "7de6c033367ab86f39c7723392caf73325cbf286",
      "tree": "e05d84e6e02b7a0245bfa62e02835882ffdffa48",
      "parents": [
        "bf299275882624b1908521ee8074df85160e9679"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Mon Apr 14 00:05:09 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 14 00:05:09 2008 -0700"
      },
      "message": "[SKB]: __skb_append \u003d __skb_queue_after \n\nThis expresses __skb_append in terms of __skb_queue_after, exploiting that\n\n  __skb_append(old, new, list) \u003d __skb_queue_after(list, old, new).\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5f4472c5a640c9671ca5becaebdfd6e651482176",
      "tree": "e4efabf6e55c820968facc5c1c9fe5d469e5046b",
      "parents": [
        "68fcadd16c371d5e0698ba366f33a4f990ce83ce"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Sun Apr 13 22:13:53 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 13 22:13:53 2008 -0700"
      },
      "message": "[TCP]: Remove owner from tcp_seq_afinfo.\n\nMove it to tcp_seq_afinfo-\u003eseq_fops as should be.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "68fcadd16c371d5e0698ba366f33a4f990ce83ce",
      "tree": "074c58f40e77dd03f464e5d68f7f00841fa68f96",
      "parents": [
        "52d6f3f11bdb8c26fead701c9dbad08acd28063d"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Sun Apr 13 22:13:30 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 13 22:13:30 2008 -0700"
      },
      "message": "[TCP]: Place file operations directly into tcp_seq_afinfo.\n\nNo need to have separate never-used variable.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9427c4b36b8fe652df1d7c89eae678948e1f4b32",
      "tree": "d2e018d9b09656e04e80ae3d3e88993e76753fbb",
      "parents": [
        "1abf4fb20d38cf58c92b27f4d6ad4fa92a3bb553"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Sun Apr 13 22:12:13 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 13 22:12:13 2008 -0700"
      },
      "message": "[TCP]: Move seq_ops from tcp_iter_state to tcp_seq_afinfo.\n\nNo need to create seq_operations for each instance of \u0027netstat\u0027.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a4146b1b2c6ba995db08b1a2aef5af1b17b151e6",
      "tree": "972901fbb5dcc41eddd403e811cd4fbbab3ab149",
      "parents": [
        "2cf83afe902fd72ef4b211774e48ab39890fb328"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Sun Apr 13 22:11:14 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 13 22:11:14 2008 -0700"
      },
      "message": "[TCP]: Replace struct net on tcp_iter_state with seq_net_private.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4dfc2817025965a2fc78a18c50f540736a6b5c24",
      "tree": "f8f2f76e660d9d5c7a0f39ed8a79cb6d6d181206",
      "parents": [
        "15be75cdb5db442d0e33d37b20832b88f3ccd383"
      ],
      "author": {
        "name": "Florian Westphal",
        "email": "fw@strlen.de",
        "time": "Thu Apr 10 03:12:40 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 10 03:12:40 2008 -0700"
      },
      "message": "[Syncookies]: Add support for TCP options via timestamps.\n\nAllow the use of SACK and window scaling when syncookies are used\nand the client supports tcp timestamps. Options are encoded into\nthe timestamp sent in the syn-ack and restored from the timestamp\necho when the ack is received.\n\nBased on earlier work by Glenn Griffin.\nThis patch avoids increasing the size of structs by encoding TCP\noptions into the least significant bits of the timestamp and\nby not using any \u0027timestamp offset\u0027.\n\nThe downside is that the timestamp sent in the packet after the synack\nwill increase by several seconds.\n\nchanges since v1:\n don\u0027t duplicate timestamp echo decoding function, put it into ipv4/syncookie.c\n and have ipv6/syncookies.c use it.\n Feedback from Glenn Griffin: fix line indented with spaces, kill redundant if ()\n\nReviewed-by: Hagen Paul Pfeifer \u003chagen@jauu.net\u003e\nSigned-off-by: Florian Westphal \u003cfw@strlen.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n\n"
    }
  ],
  "next": "882bebaaca4bb1484078d44ef011f918c0e1e14e"
}
