)]}'
{
  "log": [
    {
      "commit": "a2a385d627e1549da4b43a8b3dfe370589766e1c",
      "tree": "d61e9913497c6c14406032f6a0822738707f1abf",
      "parents": [
        "e005d193d55ee5f757b13306112d8c23aac27a88"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Wed May 16 23:15:34 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 17 14:59:59 2012 -0400"
      },
      "message": "tcp: bool conversions\n\nbool conversions where possible.\n\n__inline__ -\u003e inline\n\nspace cleanups\n\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "292e8d8c853889140ed77b7b37c66979b13080ae",
      "tree": "7b5c1e110d68904277826e13c9daed638fef618d",
      "parents": [
        "74e04aca1abb8d697ca88e472a2d08dfbe19a0e1"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@parallels.com",
        "time": "Thu May 10 01:49:41 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 10 23:24:35 2012 -0400"
      },
      "message": "tcp: Move rcvq sending to tcp_input.c\n\nIt actually works on the input queue and will use its read mem\nroutines, thus it\u0027s better to have in in the tcp_input.c file.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@parallels.com\u003e\nAcked-by: Eric Dumazet \u003cedumazet@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bd14b1b2e29bd6812597f896dde06eaf7c6d2f24",
      "tree": "bd641279d50993e32da8f8d72672bce4e54820bd",
      "parents": [
        "f45ebf3a6be9da051f078b30e7309b6788932189"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Fri May 04 05:14:02 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 04 12:05:27 2012 -0400"
      },
      "message": "tcp: be more strict before accepting ECN negociation\n\nIt appears some networks play bad games with the two bits reserved for\nECN. This can trigger false congestion notifications and very slow\ntransferts.\n\nSince RFC 3168 (6.1.1) forbids SYN packets to carry CT bits, we can\ndisable TCP ECN negociation if it happens we receive mangled CT bits in\nthe SYN packet.\n\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nCc: Perry Lorier \u003cperryl@google.com\u003e\nCc: Matt Mathis \u003cmattmathis@google.com\u003e\nCc: Yuchung Cheng \u003cycheng@google.com\u003e\nCc: Neal Cardwell \u003cncardwell@google.com\u003e\nCc: Wilmer van der Gaast \u003cwilmer@google.com\u003e\nCc: Ankur Jain \u003cjankur@google.com\u003e\nCc: Tom Herbert \u003ctherbert@google.com\u003e\nCc: Dave Täht \u003cdave.taht@bufferbloat.net\u003e\nAcked-by: Neal Cardwell \u003cncardwell@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b081f85c2977b1cbb6e635d53d9512f1ef985972",
      "tree": "3b41dfe3ee282c175907e8bcf9614385115fa2e6",
      "parents": [
        "923dd347b8904c24bcac89bf038ed4da87f8aa90"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Wed May 02 09:58:29 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 02 21:11:11 2012 -0400"
      },
      "message": "net: implement tcp coalescing in tcp_queue_rcv()\n\nExtend tcp coalescing implementing it from tcp_queue_rcv(), the main\nreceiver function when application is not blocked in recvmsg().\n\nFunction tcp_queue_rcv() is moved a bit to allow its call from\ntcp_data_queue()\n\nThis gives good results especially if GRO could not kick, and if skb\nhead is a fragment.\n\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nCc: Alexander Duyck \u003calexander.h.duyck@intel.com\u003e\nCc: Neal Cardwell \u003cncardwell@google.com\u003e\nCc: Tom Herbert \u003ctherbert@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "750ea2bafa55aaed208b2583470ecd7122225634",
      "tree": "7656d7697566b0cecc7fbbdd8dbae288bca6d7e3",
      "parents": [
        "eed530b6c67624db3f2cf477bac7c4d005d8f7ba"
      ],
      "author": {
        "name": "Yuchung Cheng",
        "email": "ycheng@google.com",
        "time": "Wed May 02 13:30:04 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 02 20:56:10 2012 -0400"
      },
      "message": "tcp: early retransmit: delayed fast retransmit\n\nImplementing the advanced early retransmit (sysctl_tcp_early_retrans\u003d\u003d2).\nDelays the fast retransmit by an interval of RTT/4. We borrow the\nRTO timer to implement the delay. If we receive another ACK or send\na new packet, the timer is cancelled and restored to original RTO\nvalue offset by time elapsed.  When the delayed-ER timer fires,\nwe enter fast recovery and perform fast retransmit.\n\nSigned-off-by: Yuchung Cheng \u003cycheng@google.com\u003e\nAcked-by: Neal Cardwell \u003cncardwell@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "eed530b6c67624db3f2cf477bac7c4d005d8f7ba",
      "tree": "c07096807ead2adb9d85e85d1a9cd1ada85755ac",
      "parents": [
        "1fbc340514fc3003514bd681b372e1f47ae6183f"
      ],
      "author": {
        "name": "Yuchung Cheng",
        "email": "ycheng@google.com",
        "time": "Wed May 02 13:30:03 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 02 20:56:10 2012 -0400"
      },
      "message": "tcp: early retransmit\n\nThis patch implements RFC 5827 early retransmit (ER) for TCP.\nIt reduces DUPACK threshold (dupthresh) if outstanding packets are\nless than 4 to recover losses by fast recovery instead of timeout.\n\nWhile the algorithm is simple, small but frequent network reordering\nmakes this feature dangerous: the connection repeatedly enter\nfalse recovery and degrade performance. Therefore we implement\na mitigation suggested in the appendix of the RFC that delays\nentering fast recovery by a small interval, i.e., RTT/4. Currently\nER is conservative and is disabled for the rest of the connection\nafter the first reordering event. A large scale web server\nexperiment on the performance impact of ER is summarized in\nsection 6 of the paper \"Proportional Rate Reduction for TCP”,\nIMC 2011. http://conferences.sigcomm.org/imc/2011/docs/p155.pdf\n\nNote that Linux has a similar feature called THIN_DUPACK. The\ndifferences are THIN_DUPACK do not mitigate reorderings and is only\nused after slow start. Currently ER is disabled if THIN_DUPACK is\nenabled. I would be happy to merge THIN_DUPACK feature with ER if\npeople think it\u0027s a good idea.\n\nER is enabled by sysctl_tcp_early_retrans:\n  0: Disables ER\n\n  1: Reduce dupthresh to packets_out - 1 when outstanding packets \u003c 4.\n\n  2: (Default) reduce dupthresh like mode 1. In addition, delay\n     entering fast recovery by RTT/4.\n\nNote: mode 2 is implemented in the third part of this patch series.\n\nSigned-off-by: Yuchung Cheng \u003cycheng@google.com\u003e\nAcked-by: Neal Cardwell \u003cncardwell@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "67469601406c12ced3db9956aeb0ef0854e2952f",
      "tree": "a25902d49946c394ebf110265179da2dc5b7d827",
      "parents": [
        "a85c9bb895aed633615078f69f4a4bce9e39be5f"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Tue Apr 24 07:37:38 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Apr 27 00:03:34 2012 -0400"
      },
      "message": "ipv6: RTAX_FEATURE_ALLFRAG causes inefficient TCP segment sizing\n\nQuoting Tore Anderson from :\nhttps://bugzilla.kernel.org/show_bug.cgi?id\u003d42572\n\nWhen RTAX_FEATURE_ALLFRAG is set on a route, the effective TCP segment\nsize does not take into account the size of the IPv6 Fragmentation\nheader that needs to be included in outbound packets, causing every\ntransmitted TCP segment to be fragmented across two IPv6 packets, the\nlatter of which will only contain 8 bytes of actual payload.\n\nRTAX_FEATURE_ALLFRAG is typically set on a route in response to\nreceving a ICMPv6 Packet Too Big message indicating a Path MTU of less\nthan 1280 bytes. 1280 bytes is the minimum IPv6 MTU, however ICMPv6\nPTBs with MTU \u003c 1280 are still valid, in particular when an IPv6\npacket is sent to an IPv4 destination through a stateless translator.\nAny ICMPv4 Need To Fragment packets originated from the IPv4 part of\nthe path will be translated to ICMPv6 PTB which may then indicate an\nMTU of less than 1280.\n\nThe Linux kernel refuses to reduce the effective MTU to anything below\n1280 bytes, instead it sets it to exactly 1280 bytes, and\nRTAX_FEATURE_ALLFRAG is also set. However, the TCP segment size appears\nto be set to 1240 bytes (1280 Path MTU - 40 bytes of IPv6 header),\ninstead of 1232 (additionally taking into account the 8 bytes required\nby the IPv6 Fragmentation extension header).\n\nThis in turn results in rather inefficient transmission, as every\ntransmitted TCP segment now is split in two fragments containing\n1232+8 bytes of payload.\n\nAfter this patch, all the outgoing packets that includes a\nFragmentation header all are \"atomic\" or \"non-fragmented\" fragments,\ni.e., they both have Offset\u003d0 and More Fragments\u003d0.\n\nWith help from David S. Miller\n\nReported-by: Tore Anderson \u003ctore@fud.no\u003e\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nCc: Maciej Żenczykowski \u003cmaze@google.com\u003e\nCc: Tom Herbert \u003ctherbert@google.com\u003e\nTested-by: Tore Anderson \u003ctore@fud.no\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "900f65d361d333c949ef76a828343075f4fdf523",
      "tree": "8b4474c6c9df1fcad4d946c64bcc1535450d0927",
      "parents": [
        "e66e9a31474dcce5be6f1186dc933d8a991c707b"
      ],
      "author": {
        "name": "Neal Cardwell",
        "email": "ncardwell@google.com",
        "time": "Thu Apr 19 09:55:21 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Apr 21 16:36:42 2012 -0400"
      },
      "message": "tcp: move duplicate code from tcp_v4_init_sock()/tcp_v6_init_sock()\n\nThis commit moves the (substantial) common code shared between\ntcp_v4_init_sock() and tcp_v6_init_sock() to a new address-family\nindependent function, tcp_init_sock().\n\nCentralizing this functionality should help avoid drift issues,\ne.g. where the IPv4 side is updated without a corresponding update to\nIPv6. There was already some drift: IPv4 initialized snd_cwnd to\nTCP_INIT_CWND, while the IPv6 side was still initializing snd_cwnd to\n2 (in this case it should not matter, since snd_cwnd is also\ninitialized in tcp_init_metrics(), but the general risks and\nmaintenance overhead remain).\n\nWhen diffing the old and new code, note that new tcp_init_sock()\nfunction uses the order of steps from the tcp_v4_init_sock()\nimplementation (the order is slightly different in\ntcp_v6_init_sock()).\n\nSigned-off-by: Neal Cardwell \u003cncardwell@google.com\u003e\nAcked-by: Eric Dumazet \u003cedumazet@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ee9952831cfd0bbe834f4a26489d7dce74582e37",
      "tree": "64c195fa45e1a200f38d68751161d8e06dfb5a6c",
      "parents": [
        "370816aef0c5436c2adbec3966038f36ca326933"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@parallels.com",
        "time": "Thu Apr 19 03:40:39 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Apr 21 15:52:25 2012 -0400"
      },
      "message": "tcp: Initial repair mode\n\nThis includes (according the the previous description):\n\n* TCP_REPAIR sockoption\n\nThis one just puts the socket in/out of the repair mode.\nAllowed for CAP_NET_ADMIN and for closed/establised sockets only.\nWhen repair mode is turned off and the socket happens to be in\nthe established state the window probe is sent to the peer to\n\u0027unlock\u0027 the connection.\n\n* TCP_REPAIR_QUEUE sockoption\n\nThis one sets the queue which we\u0027re about to repair. The\n\u0027no-queue\u0027 is set by default.\n\n* TCP_QUEUE_SEQ socoption\n\nSets the write_seq/rcv_nxt of a selected repaired queue.\nAllowed for TCP_CLOSE-d sockets only. When the socket changes\nits state the other seq-s are changed by the kernel according\nto the protocol rules (most of the existing code is actually\nreused).\n\n* Ability to forcibly bind a socket to a port\n\nThe sk-\u003esk_reuse is set to SK_FORCE_REUSE.\n\n* Immediate connect modification\n\nThe connect syscall initializes the connection, then directly jumps\nto the code which finalizes it.\n\n* Silent close modification\n\nThe close just aborts the connection (similar to SO_LINGER with 0\ntime) but without sending any FIN/RST-s to peer.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@parallels.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "370816aef0c5436c2adbec3966038f36ca326933",
      "tree": "665f8b3b0818aa7aa4f653072d89d1dcfb91a55f",
      "parents": [
        "4a17fd5229c1b6066aa478f6b690f8293ce811a1"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@parallels.com",
        "time": "Thu Apr 19 03:40:01 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Apr 21 15:52:25 2012 -0400"
      },
      "message": "tcp: Move code around\n\nThis is just the preparation patch, which makes the needed for\nTCP repair code ready for use.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@parallels.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f4f9f6e75d67ddfcfea79a2108217bc654aef3af",
      "tree": "27dfcbaccae81018e4b618031d2c6a8725d463d4",
      "parents": [
        "65cff8720164611ec617d4cc1ea65f2deb3832b6"
      ],
      "author": {
        "name": "Neal Cardwell",
        "email": "ncardwell@google.com",
        "time": "Mon Apr 16 07:08:06 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 16 14:38:16 2012 -0400"
      },
      "message": "tcp: restore formatting of macros for tcp_skb_cb sacked field\n\nCommit b82d1bb4 inadvertendly placed unrelated new code between\nTCPCB_EVER_RETRANS and TCPCB_RETRANS and the other macros that refer\nto the sacked field in the struct tcp_skb_cb (probably because there\nwas a misleading empty line there). This commit fixes up the\nformatting so that all macros related to the sacked field are adjacent\nagain.\n\nSigned-off-by: Neal Cardwell \u003cncardwell@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "95c961747284a6b83a5e2d81240e214b0fa3464d",
      "tree": "c7be86a00db3605a48a03109fafcbe31039ca2e0",
      "parents": [
        "5e73ea1a31c3612aa6dfe44f864ca5b7b6a4cff9"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sun Apr 15 05:58:06 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 15 12:44:40 2012 -0400"
      },
      "message": "net: cleanup unsigned to unsigned int\n\nUse of \"unsigned int\" is preferred to bare \"unsigned\" in net tree.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fd4f2cead6983735a4e6283126b9276873d7ff09",
      "tree": "2b5313230f3abe2b678230d4182cc6d2f2870062",
      "parents": [
        "eff98db027c50f1e4ad14f1d9069d55e5f7e4319"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Apr 12 19:48:40 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Apr 14 15:24:26 2012 -0400"
      },
      "message": "tcp: RFC6298 supersedes RFC2988bis\n\nUpdates some comments to track RFC6298\n\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nCc: H.K. Jerry Chu \u003chkchu@google.com\u003e\nCc: Tom Herbert \u003ctherbert@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ed2d265d1266736bd294332d7f649003943ae36e",
      "tree": "860e5b7bb72933e4a9abacdc2f2d75a0e6254e32",
      "parents": [
        "f1d38e423a697b7aa06e12d3ca4753bcc1aa3531",
        "6c03438edeb5c359af35f060ea016ca65671c269"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 24 10:08:39 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 24 10:08:39 2012 -0700"
      },
      "message": "Merge tag \u0027bug-for-3.4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux\n\nPull \u003clinux/bug.h\u003e cleanup from Paul Gortmaker:\n \"The changes shown here are to unify linux\u0027s BUG support under the one\n  \u003clinux/bug.h\u003e file.  Due to historical reasons, we have some BUG code\n  in bug.h and some in kernel.h -- i.e.  the support for BUILD_BUG in\n  linux/kernel.h predates the addition of linux/bug.h, but old code in\n  kernel.h wasn\u0027t moved to bug.h at that time.  As a band-aid, kernel.h\n  was including \u003casm/bug.h\u003e to pseudo link them.\n\n  This has caused confusion[1] and general yuck/WTF[2] reactions.  Here\n  is an example that violates the principle of least surprise:\n\n      CC      lib/string.o\n      lib/string.c: In function \u0027strlcat\u0027:\n      lib/string.c:225:2: error: implicit declaration of function \u0027BUILD_BUG_ON\u0027\n      make[2]: *** [lib/string.o] Error 1\n      $\n      $ grep linux/bug.h lib/string.c\n      #include \u003clinux/bug.h\u003e\n      $\n\n  We\u0027ve included \u003clinux/bug.h\u003e for the BUG infrastructure and yet we\n  still get a compile fail! [We\u0027ve not kernel.h for BUILD_BUG_ON.] Ugh -\n  very confusing for someone who is new to kernel development.\n\n  With the above in mind, the goals of this changeset are:\n\n  1) find and fix any include/*.h files that were relying on the\n     implicit presence of BUG code.\n  2) find and fix any C files that were consuming kernel.h and hence\n     relying on implicitly getting some/all BUG code.\n  3) Move the BUG related code living in kernel.h to \u003clinux/bug.h\u003e\n  4) remove the asm/bug.h from kernel.h to finally break the chain.\n\n  During development, the order was more like 3-4, build-test, 1-2.  But\n  to ensure that git history for bisect doesn\u0027t get needless build\n  failures introduced, the commits have been reorderd to fix the problem\n  areas in advance.\n\n\t[1]  https://lkml.org/lkml/2012/1/3/90\n\t[2]  https://lkml.org/lkml/2012/1/17/414\"\n\nFix up conflicts (new radeon file, reiserfs header cleanups) as per Paul\nand linux-next.\n\n* tag \u0027bug-for-3.4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux:\n  kernel.h: doesn\u0027t explicitly use bug.h, so don\u0027t include it.\n  bug: consolidate BUILD_BUG_ON with other bug code\n  BUG: headers with BUG/BUG_ON etc. need linux/bug.h\n  bug.h: add include of it to various implicit C users\n  lib: fix implicit users of kernel.h for TAINT_WARN\n  spinlock: macroize assert_spin_locked to avoid bug.h dependency\n  x86: relocate get/set debugreg fcns to include/asm/debugreg.\n"
    },
    {
      "commit": "187f1882b5b0748b3c4c22274663fdb372ac0452",
      "tree": "36283f258cf65f03599a045d48bb05d0ec27f3f9",
      "parents": [
        "50af5ead3b44ccf8bd2b4d2a50c1b610f557c480"
      ],
      "author": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Wed Nov 23 20:12:59 2011 -0500"
      },
      "committer": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Sun Mar 04 17:54:34 2012 -0500"
      },
      "message": "BUG: headers with BUG/BUG_ON etc. need linux/bug.h\n\nIf a header file is making use of BUG, BUG_ON, BUILD_BUG_ON, or any\nother BUG variant in a static inline (i.e. not in a #define) then\nthat header really should be including \u003clinux/bug.h\u003e and not just\nexpecting it to be implicitly present.\n\nWe can make this change risk-free, since if the files using these\nheaders didn\u0027t have exposure to linux/bug.h already, they would have\nbeen causing compile failures/warnings.\n\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\n"
    },
    {
      "commit": "b4017c5368f992fb8fb3a2545a0977082c6664e4",
      "tree": "b18fee77164297141c988965a9846225f8d8b3d3",
      "parents": [
        "97767a87f3be8834192dc3fc9412aaccf708d87f",
        "413708bbaf5c85c4c8a264145f7d6c3afcd97f99"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 01 17:57:40 2012 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 01 17:57:40 2012 -0500"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\nConflicts:\n\tdrivers/net/ethernet/broadcom/tg3.c\n\nConflicts in the statistics regression bug fix from \u0027net\u0027,\nbut happily Matt Carlson originally posted the fix against\n\u0027net-next\u0027 so I used that to resolve this.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ecb971923614775a118bc05ad16b2bde450cac7d",
      "tree": "faccc868f922b2985341ba8dd6a6a401e6cf32d1",
      "parents": [
        "eea79e0713d94b02952f6c591b615710fd40a562"
      ],
      "author": {
        "name": "Neal Cardwell",
        "email": "ncardwell@google.com",
        "time": "Mon Feb 27 17:52:52 2012 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 28 15:06:33 2012 -0500"
      },
      "message": "tcp: fix comment for tp-\u003ehighest_sack\n\nThere was an off-by-one error in the comments describing the\nhighest_sack field in struct tcp_sock. The comments previously claimed\nthat it was the \"start sequence of the highest skb with SACKed\nbit\". This commit fixes the comments to note that it is the \"start\nsequence of the skb just *after* the highest skb with SACKed bit\".\n\nSigned-off-by: Neal Cardwell \u003cncardwell@google.com\u003e\nAcked-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dd48dc34fe7639a8b2e22d8b609672f5f81aa7cb",
      "tree": "f16ace0ae09edab16bf6d0be9e8280dfbb7100da",
      "parents": [
        "8d9eb069eafce49307f839783e4a4673414b1fd5",
        "5962b35c1de3254a2f03b95efd3b7854b874d7b7"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Feb 04 16:39:32 2012 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Feb 04 16:39:32 2012 -0500"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n"
    },
    {
      "commit": "efcdbf24fd5daa88060869e51ed49f68b7ac8708",
      "tree": "8c771a1ef2c93f1ba959709d6ffb4fd56af53699",
      "parents": [
        "48c3883999cb06246911e29356d194f96f1c75ef"
      ],
      "author": {
        "name": "Arun Sharma",
        "email": "asharma@fb.com",
        "time": "Mon Jan 30 14:16:06 2012 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Feb 01 14:41:50 2012 -0500"
      },
      "message": "net: Disambiguate kernel message\n\nSome of our machines were reporting:\n\nTCP: too many of orphaned sockets\n\neven when the number of orphaned sockets was well below the\nlimit.\n\nWe print a different message depending on whether we\u0027re out\nof TCP memory or there are too many orphaned sockets.\n\nAlso move the check out of line and cleanup the messages\nthat were printed.\n\nSigned-off-by: Arun Sharma \u003casharma@fb.com\u003e\nSuggested-by: Mohan Srinivasan \u003cmohan@fb.com\u003e\nCc: netdev@vger.kernel.org\nCc: linux-kernel@vger.kernel.org\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Glauber Costa \u003cglommer@parallels.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a8afca032998850ec63e83d555cdcf0eb5680cd6",
      "tree": "012c06f6b3a2bfa6a908954a671b1e36e2198eb6",
      "parents": [
        "41de8d4cff21a2e81e3d9ff66f5f7c903f9c3ab1"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Jan 31 18:45:40 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Feb 01 02:11:47 2012 -0500"
      },
      "message": "tcp: md5: protects md5sig_info with RCU\n\nThis patch makes sure we use appropriate memory barriers before\npublishing tp-\u003emd5sig_info, allowing tcp_md5_do_lookup() being used from\ntcp_v4_send_reset() without holding socket lock (upcoming patch from\nShawn Lu)\n\nNote we also need to respect rcu grace period before its freeing, since\nwe can free socket without this grace period thanks to\nSLAB_DESTROY_BY_RCU\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Shawn Lu \u003cshawn.lu@ericsson.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a915da9b69273815527ccb3789421cb7027b545b",
      "tree": "79b266da33febc50bc54adc033ac9e38a1750bcf",
      "parents": [
        "a2d91241a80ec9bbc5ab24b9a2c4d730b3fa5730"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Jan 31 05:18:33 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 31 12:14:00 2012 -0500"
      },
      "message": "tcp: md5: rcu conversion\n\nIn order to be able to support proper RST messages for TCP MD5 flows, we\nneed to allow access to MD5 keys without locking listener socket.\n\nThis conversion is a nice cleanup, and shrinks size of timewait sockets\nby 80 bytes.\n\nIPv6 code reuses generic code found in IPv4 instead of duplicating it.\n\nControl path uses GFP_KERNEL allocations instead of GFP_ATOMIC.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Shawn Lu \u003cshawn.lu@ericsson.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a2d91241a80ec9bbc5ab24b9a2c4d730b3fa5730",
      "tree": "a7f7806de977f4c0df5073c6eee1e0151d741b81",
      "parents": [
        "6c05d25267ebb371c4311de6904f740342e82f7c"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Jan 31 01:04:42 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 31 12:13:59 2012 -0500"
      },
      "message": "tcp: md5: remove obsolete md5_add() method\n\nWe no longer use md5_add() method from struct tcp_sock_af_ops\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4acb41903b2f99f3dffd4c3df9acc84ca5942cb2",
      "tree": "3a2dc1739d654effecd86749e49a40d41019e645",
      "parents": [
        "8a8ee9aff6c3077dd9c2c7a77478e8ed362b96c6"
      ],
      "author": {
        "name": "Glauber Costa",
        "email": "glommer@parallels.com",
        "time": "Mon Jan 30 01:20:17 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 30 12:41:06 2012 -0500"
      },
      "message": "net/tcp: Fix tcp memory limits initialization when !CONFIG_SYSCTL\n\nsysctl_tcp_mem() initialization was moved to sysctl_tcp_ipv4.c\nin commit 3dc43e3e4d0b52197d3205214fe8f162f9e0c334, since it\nbecame a per-ns value.\n\nThat code, however, will never run when CONFIG_SYSCTL is\ndisabled, leading to bogus values on those fields - causing hung\nTCP sockets.\n\nThis patch fixes it by keeping an initialization code in\ntcp_init(). It will be overwritten by the first net namespace\ninit if CONFIG_SYSCTL is compiled in, and do the right thing if\nit is compiled out.\n\nIt is also named properly as tcp_init_mem(), to properly signal\nits non-sysctl side effect on TCP limits.\n\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Glauber Costa \u003cglommer@parallels.com\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nLink: http://lkml.kernel.org/r/4F22D05A.8030604@parallels.com\n[ renamed the function, tidied up the changelog a bit ]\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ab56222a32b9dbaae19c1d37f07b0ac4fc3c27ec",
      "tree": "ce5eff7879a1d80c419835171de13e52c24afdfb",
      "parents": [
        "08f4fc9da9a04d59f5c937e06e375158abb68206"
      ],
      "author": {
        "name": "Vijay Subramanian",
        "email": "subramanian.vijay@gmail.com",
        "time": "Tue Dec 20 13:23:24 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 21 01:03:23 2011 -0500"
      },
      "message": "tcp: Replace constants with #define macros\n\nto record the state of SACK/FACK and DSACK for better readability and maintenance.\n\nSigned-off-by: Vijay Subramanian \u003csubramanian.vijay@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3dc43e3e4d0b52197d3205214fe8f162f9e0c334",
      "tree": "1770affeb483a6b4f06cde9f2a2f1289b41496d6",
      "parents": [
        "d1a4c0b37c296e600ffe08edb0db2dc1b8f550d7"
      ],
      "author": {
        "name": "Glauber Costa",
        "email": "glommer@parallels.com",
        "time": "Sun Dec 11 21:47:05 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Dec 12 19:04:11 2011 -0500"
      },
      "message": "per-netns ipv4 sysctl_tcp_mem\n\nThis patch allows each namespace to independently set up\nits levels for tcp memory pressure thresholds. This patch\nalone does not buy much: we need to make this values\nper group of process somehow. This is achieved in the\npatches that follows in this patchset.\n\nSigned-off-by: Glauber Costa \u003cglommer@parallels.com\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCC: David S. Miller \u003cdavem@davemloft.net\u003e\nCC: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "180d8cd942ce336b2c869d324855c40c5db478ad",
      "tree": "2424d854345d81464d6030ef8090a8e22bd414b0",
      "parents": [
        "e5671dfae59b165e2adfd4dfbdeab11ac8db5bda"
      ],
      "author": {
        "name": "Glauber Costa",
        "email": "glommer@parallels.com",
        "time": "Sun Dec 11 21:47:02 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Dec 12 19:04:10 2011 -0500"
      },
      "message": "foundations of per-cgroup memory pressure controlling.\n\nThis patch replaces all uses of struct sock fields\u0027 memory_pressure,\nmemory_allocated, sockets_allocated, and sysctl_mem to acessor\nmacros. Those macros can either receive a socket argument, or a mem_cgroup\nargument, depending on the context they live in.\n\nSince we\u0027re only doing a macro wrapping here, no performance impact at all is\nexpected in the case where we don\u0027t have cgroups disabled.\n\nSigned-off-by: Glauber Costa \u003cglommer@parallels.com\u003e\nReviewed-by: Hiroyouki Kamezawa \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCC: David S. Miller \u003cdavem@davemloft.net\u003e\nCC: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCC: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dfd56b8b38fff3586f36232db58e1e9f7885a605",
      "tree": "64c7142ebf4625939f68bd3603f1d37bacb20a73",
      "parents": [
        "1ded132d4c3442aa3a619c94c245d7b5e0eb9731"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sat Dec 10 09:48:31 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Dec 11 18:25:16 2011 -0500"
      },
      "message": "net: use IS_ENABLED(CONFIG_IPV6)\n\nInstead of testing defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6b5a5c0dbb11dcff4e1b0f1ef87a723197948ed4",
      "tree": "3e9958d845a385f94e44bd64d081de218835865b",
      "parents": [
        "befc93fe76177b3b6ee1e3351b58293866f43aa6"
      ],
      "author": {
        "name": "Neal Cardwell",
        "email": "ncardwell@google.com",
        "time": "Mon Nov 21 17:15:14 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 29 00:29:41 2011 -0500"
      },
      "message": "tcp: do not scale TSO segment size with reordering degree\n\nSince 2005 (c1b4a7e69576d65efc31a8cea0714173c2841244)\ntcp_tso_should_defer has been using tcp_max_burst() as a target limit\nfor deciding how large to make outgoing TSO packets when not using\nsysctl_tcp_tso_win_divisor. But since 2008\n(dd9e0dda66ba38a2ddd1405ac279894260dc5c36) tcp_max_burst() returns the\nreordering degree. We should not have tcp_tso_should_defer attempt to\nbuild larger segments just because there is more reordering. This\ncommit splits the notion of deferral size used in TSO from the notion\nof burst size used in cwnd moderation, and returns the TSO deferral\nlimit to its original value.\n\nSigned-off-by: Neal Cardwell \u003cncardwell@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c8f44affb7244f2ac3e703cab13d55ede27621bb",
      "tree": "62e7aea2916a8d7cab825fe500670c5113854c0f",
      "parents": [
        "a59e2ecb859f2ab03bb2e230709f8039472ad2c3"
      ],
      "author": {
        "name": "Michał Mirosław",
        "email": "mirq-linux@rere.qmqm.pl",
        "time": "Tue Nov 15 15:29:55 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 16 17:43:10 2011 -0500"
      },
      "message": "net: introduce and use netdev_features_t for device features sets\n\nv2:\tadd couple missing conversions in drivers\n\tsplit unexporting netdev_fix_features()\n\timplemented %pNF\n\tconvert sock::sk_route_(no?)caps\n\nSigned-off-by: Michał Mirosław \u003cmirq-linux@rere.qmqm.pl\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "73cb88ecb950ee67906d02354f781ea293bcf895",
      "tree": "fbb4a777410d5a5653537bcd3ee7e954bc9ba5a0",
      "parents": [
        "98f41f694f46085fda475cdee8cc0b6d2c5e6f1f"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Sun Oct 30 06:46:30 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 01 17:56:14 2011 -0400"
      },
      "message": "net: make the tcp and udp file_operations for the /proc stuff const\n\nthe tcp and udp code creates a set of struct file_operations at runtime\nwhile it can also be done at compile time, with the added benefit of then\nhaving these file operations be const.\n\nthe trickiest part was to get the \"THIS_MODULE\" reference right; the naive\nmethod of declaring a struct in the place of registration would not work\nfor this reason.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "78d81d15b74246c7cedf84894434890b33da3907",
      "tree": "cf2dd0b8d51204c4a956f443adaa2c90732aa0b0",
      "parents": [
        "8b1857357acd919b9a7fa391afbea30123fdfaec"
      ],
      "author": {
        "name": "Flavio Leitner",
        "email": "fbl@redhat.com",
        "time": "Mon Oct 24 08:15:10 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 24 17:36:08 2011 -0400"
      },
      "message": "TCP: remove TCP_DEBUG\n\nIt was enabled by default and the messages guarded\nby the define are useful.\n\nSigned-off-by: Flavio Leitner \u003cfbl@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "318cf7aaa0a6d20ecf6be33eb771291e5ff2e3b9",
      "tree": "a2a42bbea9a1351d9986690f6df2a90cdbfd1d0c",
      "parents": [
        "8f9f4668b37bcc877156dd525a856055735c8d24"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Oct 24 02:46:04 2011 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 24 02:46:04 2011 -0400"
      },
      "message": "tcp: md5: add more const attributes\n\nNow tcp_md5_hash_header() has a const tcphdr argument, we can add more\nconst attributes to callers.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ca35a0ef85e8ed6df6d5ab01fb6c3530cca0c469",
      "tree": "3a6d0c107ec48823bb3e437f1f91d2276facb46d",
      "parents": [
        "01718e36df750670d0f840932a4d166522ead6c3"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Oct 24 01:52:35 2011 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 24 01:52:35 2011 -0400"
      },
      "message": "tcp: md5: dont write skb head in tcp_md5_hash_header()\n\ntcp_md5_hash_header() writes into skb header a temporary zero value,\nthis might confuse other users of this area.\n\nSince tcphdr is small (20 bytes), copy it in a temporary variable and\nmake the change in the copy.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cf533ea53ebfae41be15b103d78e7ebec30b9969",
      "tree": "51ed3c69f4a15117fefe5cbd291a75010beb0f4b",
      "parents": [
        "f04565ddf52e401880f8ba51de0dff8ba51c99fd"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Oct 21 05:22:42 2011 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Oct 21 05:22:42 2011 -0400"
      },
      "message": "tcp: add const qualifiers where possible\n\nAdding const qualifiers to pointers can ease code review, and spot some\nbugs. It might allow compiler to optimize code further.\n\nFor example, is it legal to temporary write a null cksum into tcphdr\nin tcp_md5_hash_header() ? I am afraid a sniffer could catch the\ntemporary null value...\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4de075e0438ba54b8f42cbbc1263d404229dc997",
      "tree": "dc2400d1539cb462e9b441d841577e8bc8f0048d",
      "parents": [
        "b82d1bb4fd206ed305f9e955eeffc4a678149442"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Sep 27 13:25:05 2011 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 27 13:25:05 2011 -0400"
      },
      "message": "tcp: rename tcp_skb_cb flags\n\nRename struct tcp_skb_cb \"flags\" to \"tcp_flags\" to ease code review and\nmaintenance.\n\nIts content is a combination of FIN/SYN/RST/PSH/ACK/URG/ECE/CWR flags\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b82d1bb4fd206ed305f9e955eeffc4a678149442",
      "tree": "b0790dcc52f9b070e0b646eb6c0b7a16ac8c4a1a",
      "parents": [
        "3f192795cf1a0098df7bd655f7a72eee26bd63c3"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Sep 27 02:20:08 2011 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 27 02:20:08 2011 -0400"
      },
      "message": "tcp: unalias tcp_skb_cb flags and ip_dsfield\n\nstruct tcp_skb_cb contains a \"flags\" field containing either tcp flags\nor IP dsfield depending on context (input or output path)\n\nIntroduce ip_dsfield to make the difference clear and ease maintenance.\nIf later we want to save space, we can union flags/ip_dsfield\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7a269ffad72f3604b8982fa09c387670e0d2ee14",
      "tree": "3655a22066bcb1011e5e1b717a00a108143dfd85",
      "parents": [
        "0bdb0bd0139f3b6afa252de1487e3ce82a494db9"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Sep 22 20:02:19 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 27 00:58:44 2011 -0400"
      },
      "message": "tcp: ECN blackhole should not force quickack mode\n\nWhile playing with a new ADSL box at home, I discovered that ECN\nblackhole can trigger suboptimal quickack mode on linux : We send one\nACK for each incoming data frame, without any delay and eventual\npiggyback.\n\nThis is because TCP_ECN_check_ce() considers that if no ECT is seen on a\nsegment, this is because this segment was a retransmit.\n\nRefine this heuristic and apply it only if we seen ECT in a previous\nsegment, to detect ECN blackhole at IP level.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCC: Jamal Hadi Salim \u003cjhs@mojatatu.com\u003e\nCC: Jerry Chu \u003chkchu@google.com\u003e\nCC: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nCC: Jim Gettys \u003cjg@freedesktop.org\u003e\nCC: Dave Taht \u003cdave.taht@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": "8decf868790b48a727d7e7ca164f2bcd3c1389c0",
      "tree": "b759a5f861f842af7ea76f9011b579d06e9d5508",
      "parents": [
        "3fc72370186be2f9d4d6ef06d99e1caa5d92c564",
        "d93dc5c4478c1fd5de85a3e8aece9aad7bbae044"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 22 03:23:13 2011 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 22 03:23:13 2011 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of github.com:davem330/net\n\nConflicts:\n\tMAINTAINERS\n\tdrivers/net/Kconfig\n\tdrivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c\n\tdrivers/net/ethernet/broadcom/tg3.c\n\tdrivers/net/wireless/iwlwifi/iwl-pci.c\n\tdrivers/net/wireless/iwlwifi/iwl-trans-tx-pcie.c\n\tdrivers/net/wireless/rt2x00/rt2800usb.c\n\tdrivers/net/wireless/wl12xx/main.c\n"
    },
    {
      "commit": "e05c82d3666119075615fdbf6abca0266344f27b",
      "tree": "bab1ded7da3e983c69f833ab2ad915f03d07000e",
      "parents": [
        "b0e7031ac08fa0aa242531c8d9a0cf9ae8ee276d"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sun Sep 18 21:02:55 2011 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Sep 18 21:48:01 2011 -0400"
      },
      "message": "tcp: fix build error if !CONFIG_SYN_COOKIES\n\ncommit 946cedccbd7387 (tcp: Change possible SYN flooding messages)\nadded a build error if CONFIG_SYN_COOKIES\u003dn\n\nReported-by: Markus Trippelsdorf \u003cmarkus@trippelsdorf.de\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "765cf9976e937f1cfe9159bf4534967c8bf8eb6d",
      "tree": "671d57668c3f10a22e76704ad6d2c9f0a2e1f9f1",
      "parents": [
        "b9fa1fbf98178c8bbda23ff1d3ed0731bb3c0bd1"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Sep 12 20:28:37 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Sep 17 01:15:46 2011 -0400"
      },
      "message": "tcp: md5: remove one indirection level in tcp_md5sig_pool\n\ntcp_md5sig_pool is currently an \u0027array\u0027 (a percpu object) of pointers to\nstruct tcp_md5sig_pool. Only the pointers are NUMA aware, but objects\nthemselves are all allocated on a single node.\n\nRemove this extra indirection to get proper percpu memory (NUMA aware)\nand make code simpler.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "946cedccbd7387488d2cee5da92cdfeb28d2e670",
      "tree": "fbb0d9c8dc11d6efee64e2a077a4951831932058",
      "parents": [
        "27e95a8c670e0c587990ec5b9a87a7ea17873d28"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Aug 30 03:21:44 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 15 14:49:43 2011 -0400"
      },
      "message": "tcp: Change possible SYN flooding messages\n\n\"Possible SYN flooding on port xxxx \" messages can fill logs on servers.\n\nChange logic to log the message only once per listener, and add two new\nSNMP counters to track :\n\nTCPReqQFullDoCookies : number of times a SYNCOOKIE was replied to client\n\nTCPReqQFullDrop : number of times a SYN request was dropped because\nsyncookies were not enabled.\n\nBased on a prior patch from Tom Herbert, and suggestions from David.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCC: Tom Herbert \u003ctherbert@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9ad7c049f0f79c418e293b1b68cf10d68f54fcdb",
      "tree": "4b930b213f7a050afe9fae78432c1a4a6dce08a5",
      "parents": [
        "aee80b54b235d34d87b25dfbe32f0f0ffee1b544"
      ],
      "author": {
        "name": "Jerry Chu",
        "email": "hkchu@google.com",
        "time": "Wed Jun 08 11:08:38 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 08 17:05:30 2011 -0700"
      },
      "message": "tcp: RFC2988bis + taking RTT sample from 3WHS for the passive open side\n\nThis patch lowers the default initRTO from 3secs to 1sec per\nRFC2988bis. It falls back to 3secs if the SYN or SYN-ACK packet\nhas been retransmitted, AND the TCP timestamp option is not on.\n\nIt also adds support to take RTT sample during 3WHS on the passive\nopen side, just like its active open counterpart, and uses it, if\nvalid, to seed the initRTO for the data transmission phase.\n\nThe patch also resets ssthresh to its initial default at the\nbeginning of the data transmission phase, and reduces cwnd to 1 if\nthere has been MORE THAN ONE retransmission during 3WHS per RFC5681.\n\nSigned-off-by: H.K. Jerry Chu \u003chkchu@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "089c34827e52346f0303d1e6a7b744c1f4da3095",
      "tree": "79f42bd0c4782aca57f3fe9d0f941f5c04b566a4",
      "parents": [
        "81146ec1b85067e70b71e81b5ecd9998ce054c0e"
      ],
      "author": {
        "name": "Shan Wei",
        "email": "shanwei@cn.fujitsu.com",
        "time": "Sat Feb 19 21:55:45 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Feb 20 11:10:14 2011 -0800"
      },
      "message": "tcp: Remove debug macro of TCP_CHECK_TIMER\n\nNow, TCP_CHECK_TIMER is not used for debuging, it does nothing.\nAnd, it has been there for several years, maybe 6 years.\n\nRemove it to keep code clearer.\n\nSigned-off-by: Shan Wei \u003cshanwei@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7eb38527c4e485923fa3f87d11ce11b4e6ebf807",
      "tree": "c728652e5b2a3522e0a9db249573724841187ceb",
      "parents": [
        "92d8682926342d2b6aa5b2ecc02221e00e1573a0"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Feb 05 18:13:45 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Feb 05 18:13:45 2011 -0800"
      },
      "message": "tcp: Add reference to initial CWND ietf draft.\n\nSuggested by Alexander Zimmermann\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "442b9635c569fef038d5367a7acd906db4677ae1",
      "tree": "c20d06ca161c70c0db61ed298eaf51102b67a38e",
      "parents": [
        "5ea74318c68fcb38f02fc2fc920abd37d9a9bc33"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Feb 02 17:05:11 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Feb 02 20:48:47 2011 -0800"
      },
      "message": "tcp: Increase the initial congestion window to 10.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Nandita Dukkipati \u003cnanditad@google.com\u003e\n"
    },
    {
      "commit": "04ed3e741d0f133e02bed7fa5c98edba128f90e7",
      "tree": "3dde4ca8306e98536faa69bccf0e47a2549c088f",
      "parents": [
        "57422dc530115e427dff464cc0a32bcd0efb5008"
      ],
      "author": {
        "name": "Michał Mirosław",
        "email": "mirq-linux@rere.qmqm.pl",
        "time": "Mon Jan 24 15:32:47 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 24 15:32:47 2011 -0800"
      },
      "message": "net: change netdev-\u003efeatures to u32\n\nQuoting Ben Hutchings: we presumably won\u0027t be defining features that\ncan only be enabled on 64-bit architectures.\n\nOccurences found by `grep -r` on net/, drivers/net, include/\n\n[ Move features and vlan_features next to each other in\n  struct netdev, as per Eric Dumazet\u0027s suggestion -DaveM ]\n\nSigned-off-by: Michał Mirosław \u003cmirq-linux@rere.qmqm.pl\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "356f039822b8d802138f7121c80d2a9286976dbd",
      "tree": "420c0da0f63f0e040ebf8b2ad5d30a0ad61c35bd",
      "parents": [
        "eda83e3b63e88351310c13c99178eb4634f137b2"
      ],
      "author": {
        "name": "Nandita Dukkipati",
        "email": "nanditad@google.com",
        "time": "Mon Dec 20 14:15:56 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Dec 20 21:33:00 2010 -0800"
      },
      "message": "TCP: increase default initial receive window.\n\nThis patch changes the default initial receive window to 10 mss\n(defined constant). The default window is limited to the maximum\nof 10*1460 and 2*mss (when mss \u003e 1460).\n\ndraft-ietf-tcpm-initcwnd-00 is a proposal to the IETF that recommends\nincreasing TCP\u0027s initial congestion window to 10 mss or about 15KB.\nLeading up to this proposal were several large-scale live Internet\nexperiments with an initial congestion window of 10 mss (IW10), where\nwe showed that the average latency of HTTP responses improved by\napproximately 10%. This was accompanied by a slight increase in\nretransmission rate (0.5%), most of which is coming from applications\nopening multiple simultaneous connections. To understand the extreme\nworst case scenarios, and fairness issues (IW10 versus IW3), we further\nconducted controlled testbed experiments. We came away finding minimal\nnegative impact even under low link bandwidths (dial-ups) and small\nbuffers.  These results are extremely encouraging to adopting IW10.\n\nHowever, an initial congestion window of 10 mss is useless unless a TCP\nreceiver advertises an initial receive window of at least 10 mss.\nFortunately, in the large-scale Internet experiments we found that most\nwidely used operating systems advertised large initial receive windows\nof 64KB, allowing us to experiment with a wide range of initial\ncongestion windows. Linux systems were among the few exceptions that\nadvertised a small receive window of 6KB. The purpose of this patch is\nto fix this shortcoming.\n\nReferences:\n1. A comprehensive list of all IW10 references to date.\nhttp://code.google.com/speed/protocols/tcpm-IW10.html\n\n2. Paper describing results from large-scale Internet experiments with IW10.\nhttp://ccr.sigcomm.org/drupal/?q\u003dnode/621\n\n3. Controlled testbed experiments under worst case scenarios and a\nfairness study.\nhttp://www.ietf.org/proceedings/79/slides/tcpm-0.pdf\n\n4. Raw test data from testbed experiments (Linux senders/receivers)\nwith initial congestion and receive windows of both 10 mss.\nhttp://research.csc.ncsu.edu/netsrv/?q\u003dcontent/iw10\n\n5. Internet-Draft. Increasing TCP\u0027s Initial Window.\nhttps://datatracker.ietf.org/doc/draft-ietf-tcpm-initcwnd/\n\nSigned-off-by: Nandita Dukkipati \u003cnanditad@google.com\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4c306a9291a077879fc3e933326caac3bc319caa",
      "tree": "19704486012ac148ef37005ea38b9c2ae3442fc1",
      "parents": [
        "ba27d85c96c57111ae8acfa959643e5ce8e4bcbe"
      ],
      "author": {
        "name": "Shan Wei",
        "email": "shanwei@cn.fujitsu.com",
        "time": "Sun Dec 19 21:59:35 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Dec 19 21:59:35 2010 -0800"
      },
      "message": "net: kill unused macros\n\nThese macros never be used, so remove them.\n\nSigned-off-by: Shan Wei \u003cshanwei@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bc2ce894e113ed95b92541134b002fdc641e8080",
      "tree": "7c427099d5a1ab9cd387861e79470fc200153ff8",
      "parents": [
        "443457242beb6716b43db4d62fe148eab5515505"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Dec 16 14:08:34 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 16 14:08:34 2010 -0800"
      },
      "message": "tcp: relax tcp_paws_check()\n\nSome windows versions have wrong RFC1323 implementations, with SYN and\nSYNACKS messages containing zero tcp timestamps.\n\nWe relaxed in commit fc1ad92dfc4e363 the passive connection case\n(Windows connects to a linux machine), but the reverse case (linux\nconnects to a Windows machine) has an analogue problem when tsvals from\nwindows machine are \u0027negative\u0027 (high order bit set) : PAWS triggers and\nwe drops incoming messages.\n\nFix this by making zero ts_recent value special, allowing frame to be\nprocessed.\n\nBased on a report and initial patch from Dmitiy Balakin\n\nBugzilla reference : https://bugzilla.kernel.org/show_bug.cgi?id\u003d24842\n\nReported-by: dmitriy.balakin@nicneiron.ru\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dca9b2404a6d6579828da2425c051462701efd3f",
      "tree": "c8f5fdd5f52e1ede8716703323f4297234a1e687",
      "parents": [
        "b672083ed36a49c323737b7c7e1d5264a7c193af"
      ],
      "author": {
        "name": "Shan Wei",
        "email": "shanwei@cn.fujitsu.com",
        "time": "Wed Dec 01 18:05:17 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 02 13:27:33 2010 -0800"
      },
      "message": "net: kill unused macros from head file\n\nThese macros have been defined for several years since v2.6.12-rc2（tracing by git）,\nbut never be used. So remove them.\n\nSigned-off-by: Shan Wei \u003cshanwei@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ccb7c410ddc054b8c1ae780319bc98ae092d3854",
      "tree": "6a363c7232121d2390c091b232ee758fa10e4446",
      "parents": [
        "4399ce402c7c837dec80bf9fb40d079b39b9265a"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 01 18:09:13 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 01 18:09:13 2010 -0800"
      },
      "message": "timewait_sock: Create and use getpeer op.\n\nThe only thing AF-specific about remembering the timestamp\nfor a time-wait TCP socket is getting the peer.\n\nAbstract that behind a new timewait_sock_ops vector.\n\nSupport for real IPV6 sockets is not filled in yet, but\ncuriously this makes timewait recycling start to work\nfor v4-mapped ipv6 sockets.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3f419d2d487821093ee46e898b5f8747f9edc9cd",
      "tree": "a3f7731eb0706c5ae6d0f4ec004ba0d08d7f951b",
      "parents": [
        "b3419363808f2481b24a817f491878e1795db4c7"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 29 13:37:14 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 30 12:28:06 2010 -0800"
      },
      "message": "inet: Turn -\u003eremember_stamp into -\u003eget_peer in connection AF ops.\n\nThen we can make a completely generic tcp_remember_stamp()\nthat uses -\u003eget_peer() as a helper, minimizing the AF specific\ncode and minimizing the eventual code duplication when we implement\nthe ipv6 side of TW recycling.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8d987e5c75107ca7515fa19e857cfa24aab6ec8f",
      "tree": "6392c5f08f0df39d42a079336f6be3960ac404dc",
      "parents": [
        "67286640f638f5ad41a946b9a3dc75327950248f"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Nov 09 23:24:26 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 10 12:12:00 2010 -0800"
      },
      "message": "net: avoid limits overflow\n\nRobin Holt tried to boot a 16TB machine and found some limits were\nreached : sysctl_tcp_mem[2], sysctl_udp_mem[2]\n\nWe can switch infrastructure to use long \"instead\" of \"int\", now\natomic_long_t primitives are available for free.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nReported-by: Robin Holt \u003cholt@sgi.com\u003e\nReviewed-by: Robin Holt \u003cholt@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1b9f409293529da4630bfc5d6d8e7d7451a6ccb5",
      "tree": "4ad4baa2cedaae93a3a3668e154b4f1cbd950791",
      "parents": [
        "a64de47c091e4a337fa9763315cb6f2fbf0c583b"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Tue Sep 28 19:30:14 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 29 19:45:36 2010 -0700"
      },
      "message": "tcp: tcp_enter_quickack_mode can be static\n\nFunction only used in tcp_input.c\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e40051d134f7ee95c8c1f7a3471e84eafc9ab326",
      "tree": "88eb44e49a75721ae926665a2c42f08badac9d07",
      "parents": [
        "42099d7a3941d4aaf853caac92b3ae76149fc6e7",
        "2cc6d2bf3d6195fabcf0febc192c01f99519a8f3"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 27 01:03:03 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 27 01:03:03 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/qlcnic/qlcnic_init.c\n\tnet/ipv4/ip_output.c\n"
    },
    {
      "commit": "01f83d69844d307be2aa6fea88b0e8fe5cbdb2f4",
      "tree": "b01eba7a8b9cf737312c3721ff8ef361baa55bea",
      "parents": [
        "6dcbc12290abb452a5e42713faa6461b248e2f55"
      ],
      "author": {
        "name": "Alexey Kuznetsov",
        "email": "kuznet@ms2.inr.ac.ru",
        "time": "Wed Sep 15 10:27:52 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 15 12:01:44 2010 -0700"
      },
      "message": "tcp: Prevent overzealous packetization by SWS logic.\n\nIf peer uses tiny MSS (say, 75 bytes) and similarly tiny advertised\nwindow, the SWS logic will packetize to half the MSS unnecessarily.\n\nThis causes problems with some embedded devices.\n\nHowever for large MSS devices we do want to half-MSS packetize\notherwise we never get enough packets into the pipe for things\nlike fast retransmit and recovery to work.\n\nBe careful also to handle the case where MSS \u003e window, otherwise\nwe\u0027ll never send until the probe timer.\n\nReported-by: ツ Leandro Melo de Sales \u003cleandroal@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e548833df83c3554229eff0672900bfe958b45fd",
      "tree": "85efc4a76dc356593d6d394776aeb845dc580fb6",
      "parents": [
        "cbd9da7be869f676afc204e1a664163778c770bd",
        "053d8f6622701f849fda2ca2c9ae596c13599ba9"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 09 22:27:33 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 09 22:27:33 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tnet/mac80211/main.c\n"
    },
    {
      "commit": "3d5b99ae82f8742e3bb1f8634fd11ac36ea19ee1",
      "tree": "45ecec91f84d6038e2eeba2dd81d5cee7c07e599",
      "parents": [
        "89858ad14307a398961a0f1414b04053c1475e4f"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sun Aug 29 19:27:34 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 30 13:50:44 2010 -0700"
      },
      "message": "TCP: update initial windows according to RFC 5681\n\nThis updates the use of larger initial windows, as originally specified in\nRFC 3390, to use the newer IW values specified in RFC 5681, section 3.1.\n\nThe changes made in RFC 5681 are:\n a) the setting now is more clearly specified in units of segments (as the\n    comments  by John Heffner emphasized, this was not very clear in RFC 3390);\n b) for connections with 1095 \u003c SMSS \u003c\u003d 2190 there is now a change:\n    - RFC 3390 says that IW \u003c\u003d 4380,\n    - RFC 5681 says that IW \u003d 3 * SMSS \u003c\u003d 6570.\n\nSince RFC 3390 is older and \"only\" proposed standard, whereas the newer RFC 5681\nis already draft standard, it seems preferable to use the newer IW variant.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "22b71c8f4f3db8df92f5e7b081c265bc56c0bd2f",
      "tree": "b913f63369b09ad703ed52a42b367455785ef3af",
      "parents": [
        "d26eeb07fd02de31848b59d19687daff0e93532f"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sun Aug 29 19:23:12 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 30 13:45:26 2010 -0700"
      },
      "message": "tcp/dccp: Consolidate common code for RFC 3390 conversion\n\nThis patch consolidates initial-window 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\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ad1af0fedba14f82b240a03fe20eb9b2fdbd0357",
      "tree": "4d53aa8bc2d9df782aa792e52670ab55c7a44d5b",
      "parents": [
        "b2bc85631e72485b984bcd202a104591874babba"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 25 02:27:49 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 25 02:27:49 2010 -0700"
      },
      "message": "tcp: Combat per-cpu skew in orphan tests.\n\nAs reported by Anton Blanchard when we use\npercpu_counter_read_positive() to make our orphan socket limit checks,\nthe check can be off by up to num_cpus_online() * batch (which is 32\nby default) which on a 128 cpu machine can be as large as the default\norphan limit itself.\n\nFix this by doing the full expensive sum check if the optimized check\ntriggers.\n\nReported-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\n"
    },
    {
      "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"
    }
  ],
  "next": "6fa12c85031485dff38ce550c24f10da23b0adaa"
}
