)]}'
{
  "log": [
    {
      "commit": "c67499c0e772064b37ad75eb69b28fc218752636",
      "tree": "7d2873308f16080c0c3801d6024881360dd8e196",
      "parents": [
        "941b1d22cc035ad58b3d9b44a1c74efac2d7e499"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Jan 31 05:06:40 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 31 19:28:19 2008 -0800"
      },
      "message": "[NETNS]: Tcp-v4 sockets per-net lookup.\n\nAdd a net argument to inet_lookup and propagate it further\ninto lookup calls. Plus tune the __inet_check_established.\n\nThe dccp and inet_diag, which use that lookup functions\npass the init_net into them.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f1b050bf7a88910f9f00c9c8989c1bf5a67dd140",
      "tree": "37e8dce4268cb657a75e5074a38db48264f1e42f",
      "parents": [
        "611c183ebcb5af384df3a4ddb391034a1b6ac255"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Tue Jan 22 22:07:10 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:11:06 2008 -0800"
      },
      "message": "[NETNS]: Add namespace parameter to ip_route_output_flow.\n\nNeeded to propagate it down to the __ip_route_output_key.\n\nSigned_off_by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "152da81deb9a4870aeac352336184b2b14d4b2ba",
      "tree": "63db8e49be92e7f23667d8c3356177840287118f",
      "parents": [
        "d6701191329b51793bc56724548f0863d2149c29"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Dec 20 15:31:33 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:59:26 2008 -0800"
      },
      "message": "[INET]: Uninline the __inet_hash function.\n\nThis one is used in quite many places in the networking code and\nseems to big to be inline.\n\nAfter the patch net/ipv4/build-in.o loses ~650 bytes:\nadd/remove: 2/0 grow/shrink: 0/5 up/down: 461/-1114 (-653)\nfunction                                     old     new   delta\n__inet_hash_nolisten                           -     282    +282\n__inet_hash                                    -     179    +179\ntcp_sacktag_write_queue                     2255    2254      -1\n__inet_lookup_listener                       284     274     -10\ntcp_v4_syn_recv_sock                         755     493    -262\ntcp_v4_hash                                  389      35    -354\ninet_hash_connect                           1086     599    -487\n\nThis version addresses the issue pointed by Eric, that\nwhile being inline this function was optimized by gcc\nin respect to the \u0027listen_possible\u0027 argument.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8b819412481494fb6861c08d360b75fabcbbfbbf",
      "tree": "ddd9f976f051fb5cff794992b38613bbbfcb9cc1",
      "parents": [
        "7913350663e2756ecb91dd3a7c773806b943426e"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Thu Dec 13 12:29:24 2007 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:57:50 2008 -0800"
      },
      "message": "[DCCP]: Allow to parse options on Request Sockets\n\nThe option parsing code currently only parses on full sk\u0027s. This causes a problem for\noptions sent during the initial handshake (in particular timestamps and feature-negotiation\noptions). Therefore, this patch extends the option parsing code with an additional argument\nfor request_socks: if it is non-NULL, options are parsed on the request socket, otherwise\nthe normal path (parsing on the sk) is used.\n\nSubsequent patches, which implement feature negotiation during connection setup, make use\nof this facility.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nSigned-off-by: Ian McDonald \u003cian.mcdonald@jandi.co.nz\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c62cf5cb173a5b8446e513a14448460cad435db2",
      "tree": "a9726aa7f820347e7022eb5bcaeafc85f3ca139f",
      "parents": [
        "8295b6d9e623879344ed0ca7565336e4fd698e42"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Nov 05 23:42:25 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Nov 07 04:09:01 2007 -0800"
      },
      "message": "[DCCP]: Use DEFINE_PROTO_INUSE infrastructure.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1238d0873b29f7a2de75d576b4cc706c1c75ffbf",
      "tree": "350b9d10cca89994bd44a0b96ca665419f2d2c7a",
      "parents": [
        "fde20105f332614b23a3131d706cd90bdd7db72d"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Wed Oct 24 10:18:06 2007 -0200"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@ghostprotocols.net",
        "time": "Wed Oct 24 10:18:06 2007 -0200"
      },
      "message": "[DCCP]: One more exemption from full sequence number checks\n\nThis fixes the following problem: client connects to peer which has no DCCP\nenabled or loaded; ICMP error messages (\"Protocol Unavailable\") can be seen\non the wire, but the application hangs. Reason: ICMP packets don\u0027t get through\nto dccp_v4_err.\n\nWhen reporting errors, a sequence number check is made for the DCCP packet\nthat had caused an ICMP error to arrive.\nSuch checks can not be made if the socket is in state LISTEN, RESPOND (which\nin the implementation is the same as LISTEN), or REQUEST, since update_gsr()\nhas not been called in these states, hence the sequence window is 0..0.\n\nThis patch fixes the problem by adding the REQUEST state as another exemption\nto the window check. The error reporting now works as expected on connecting.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nAcked-by: Ian McDonald \u003cian.mcdonald@jandi.co.nz\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\n"
    },
    {
      "commit": "fde20105f332614b23a3131d706cd90bdd7db72d",
      "tree": "217c186a8c038a7a6d7bcc775081f9566b903e36",
      "parents": [
        "03cf786c4e83dba404ad23ca58f49147ae52dffd"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Wed Oct 24 10:12:09 2007 -0200"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@ghostprotocols.net",
        "time": "Wed Oct 24 10:12:09 2007 -0200"
      },
      "message": "[DCCP]: Retrieve packet sequence number for error reporting\n\nThis fixes a problem when analysing erroneous packets in dccp_v{4,6}_err:\n* dccp_hdr_seq currently takes an skb\n* however, the transport headers in the skb are shifted, due to the\n  preceding IPv4/v6 header.\nFixed for v4 and v6 by changing dccp_hdr_seq to take a struct dccp_hdr as\nargument. Verified that the correct sequence number is now reported in the\nerror handler.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nAcked-by: Ian McDonald \u003cian.mcdonald@jandi.co.nz\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "7131c6c73656b92aea806c6e688e97aa49ff911e",
      "tree": "33b3395b6c77b2ecfe9511e46ec266098b6a7473",
      "parents": [
        "305e1e96911417d8cda2699f6a20a6f434616a8c"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "jdelvare@suse.de",
        "time": "Sun Oct 21 16:45:03 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Oct 22 02:59:54 2007 -0700"
      },
      "message": "[INET]: Use MODULE_ALIAS_NET_PF_PROTO_TYPE where possible.\n\nNow that we have this new macro, use it where possible.\n\nSigned-off-by: Jean Delvare \u003cjdelvare@suse.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4a5409a5a850c84505d658ddf36f98b2c542ec07",
      "tree": "2cc197e3e942513eca7126bac67ea67dafbacc79",
      "parents": [
        "2bfd754d1bf29d3324270e52ef11ce6367bb0685"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Thu Oct 04 14:52:28 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:54:38 2007 -0700"
      },
      "message": "[DCCP]: Twice the wrong reset code in receiving connection-Requests\n\nThis fixes two bugs in processing of connection-Requests in\nv{4,6}_conn_request:\n\n 1. Due to using the variable `reset_code\u0027, the Reset code generated\n    internally by dccp_parse_options() is overwritten with the\n    initialised value (\"Too Busy\") of reset_code, which is not what is\n    intended.\n\n 2. When receiving a connection-Request on a multicast or broadcast\n    address, no Reset should be generated, to avoid storms of such\n    packets. Instead of jumping to the `drop\u0027 label, the\n    v{4,6}_conn_request functions now return 0. Below is why in my\n    understanding this is correct:\n\n    When the conn_request function returns \u003c 0, then the caller,\n    dccp_rcv_state_process(), returns 1. In all instances where\n    dccp_rcv_state_process is called (dccp_v4_do_rcv, dccp_v6_do_rcv,\n    and dccp_child_process), a return value of !\u003d 0 from\n    dccp_rcv_state_process() means that a Reset is generated.\n\n    If on the other hand the conn_request function returns 0, the\n    packet is discarded and no Reset is generated.\n\nNote: There may be a related problem when sending the Response, due to\nthe following.\n\n\tif (dccp_v6_send_response(sk, req, NULL))\n\t\tgoto drop_and_free;\n\t/* ... */\n\tdrop_and_free:\n\t\treturn -1;\n\nIn this case, if send_response fails due to transmission errors, the\nnext thing that is generated is a Reset with a code \"Too Busy\". I\nhaven\u0027t been able to conjure up such a condition, but it might be good\nto change the behaviour here also (not done by this patch).\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nSigned-off-by: Ian McDonald \u003cian.mcdonald@jandi.co.nz\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e356d37a096a990ea1a74c44c15640122e56110b",
      "tree": "174fea2bce6bbd6d6001c7ea1b0bb914053571d0",
      "parents": [
        "9bf55cda9b2487fa7316dad3880acb0031ad3c0f"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Wed Sep 26 14:35:19 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:52:44 2007 -0700"
      },
      "message": "[DCCP]: Factor out common code for generating Resets\n\nThis factors code common to dccp_v{4,6}_ctl_send_reset into a separate function,\nand adds support for filling in the Data 1 ... Data 3 fields from RFC 4340, 5.6.\n\nIt is useful to have this separate, since the following Reset codes will always\nbe generated from the control socket rather than via dccp_send_reset:\n * Code 3, \"No Connection\", cf. 8.3.1;\n * Code 4, \"Packet Error\" (identification for Data 1 added);\n * Code 5, \"Option Error\" (identification for Data 1..3 added, will be used later);\n * Code 6, \"Mandatory Error\" (same as Option Error);\n * Code 7, \"Connection Refused\" (what on Earth is the difference to \"No Connection\"?);\n * Code 8, \"Bad Service Code\";\n * Code 9, \"Too Busy\";\n * Code 10, \"Bad Init Cookie\" (not used).\n\nCode 0 is not recommended by the RFC, the following codes would be used in\ndccp_send_reset() instead, since they all relate to an established DCCP connection:\n * Code 1, \"Closed\";\n * Code 2, \"Aborted\";\n * Code 11, \"Aggression Penalty\" (12.3).\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\n"
    },
    {
      "commit": "9bf55cda9b2487fa7316dad3880acb0031ad3c0f",
      "tree": "ed4e30691351b9d59583f17a6811f14d0fbcb9e1",
      "parents": [
        "a94f0f970549e63e54c80c4509db299c514d8c11"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Wed Sep 26 11:32:49 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:52:43 2007 -0700"
      },
      "message": "[DCCP]: Sequence number wrap-around when sending reset\n\nThis replaces normal addition with mod-48 addition so that sequence number\nwraparound is respected.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nSigned-off-by: Ian McDonald \u003cian.mcdonald@jandi.co.nz\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\n"
    },
    {
      "commit": "c7261872256f9172eb26438b96725b6f2115e955",
      "tree": "17988b691ca95e81a6c4f1da83f9759a654c548a",
      "parents": [
        "1dfcae776548f464bee793d06484be275ba8efe7"
      ],
      "author": {
        "name": "Micah Gruber",
        "email": "micah.gruber@gmail.com",
        "time": "Wed Sep 05 07:58:14 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:59 2007 -0700"
      },
      "message": "[DCCP]: Remove unneeded pointer newdp from dccp_v4_request_recv_sock()\n\nThis trivial patch removes the unneeded pointer newdp, which is never used.\n\nSigned-off-by: Micah Gruber \u003cmicah.gruber@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "88c7664f13bd1a36acb8566b93892a4c58759ac6",
      "tree": "18ead610bf54ef87f3832c61d64a4bad30d4f78e",
      "parents": [
        "4bedb45203eab92a87b4c863fe2d0cded633427f"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Mar 13 14:43:18 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:23 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce icmp_hdr(), remove skb-\u003eh.icmph\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "eddc9ec53be2ecdbf4efe0efd4a83052594f0ac0",
      "tree": "4a38ab4dbd9d61fdf5a5ea6ed61463e0b9e33ba7",
      "parents": [
        "e023dd643798c4f06c16466af90b4d250e4b8bd7"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Fri Apr 20 22:47:35 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:10 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce ip_hdr(), remove skb-\u003enh.iph\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c9eaf17341834de00351bf79f16b2d879c8aea96",
      "tree": "d8b2005197444fa6b6bdf8e8c8fd6eaf2db9ecd7",
      "parents": [
        "4ec93edb14fe5fdee9fae6335f2cbba204627eac"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Fri Feb 09 23:24:38 2007 +0900"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Feb 10 23:19:27 2007 -0800"
      },
      "message": "[NET] DCCP: Fix whitespace errors.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8eb9086f21c73b38b5ca27558db4c91d62d0e70b",
      "tree": "1fa2694f1e5eac966cc8db2fb8d5f3d684b09803",
      "parents": [
        "ba7808eac17360dda459f82222859b0e3879854b"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Feb 08 02:09:21 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Feb 08 12:38:45 2007 -0800"
      },
      "message": "[IPV4/IPV6]: Always wait for IPSEC SA resolution in socket contexts.\n\nDo this even for non-blocking sockets.  This avoids the silly -EAGAIN\nthat applications can see now, even for non-blocking sockets in some\ncases (f.e. connect()).\n\nWith help from Venkat Tekkirala.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8109b02b5397ed52a32c116163a62a34f4768b26",
      "tree": "0dbeae8cc999d2f6b71807b942eda7ff686ba7d2",
      "parents": [
        "1fba78b6cba14bd37fdb12c5367f1e4d58ff2e0f"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Sun Dec 10 16:01:18 2006 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Dec 11 14:35:00 2006 -0800"
      },
      "message": "[DCCP]: Whitespace cleanups\n\nThat accumulated over the last months hackaton, shame on me for not\nusing git-apply whitespace helping hand, will do that from now on.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\n"
    },
    {
      "commit": "59348b19efebfd6a8d0791ff81d207b16594c94b",
      "tree": "a9212a7bf62bd594cf02d23b9e33eb45a46d414d",
      "parents": [
        "b1308dc015eb09cf094ca169296738a13ae049ad"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Mon Nov 20 18:39:23 2006 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:24:38 2006 -0800"
      },
      "message": "[DCCP]: Simplified conditions due to use of enum:8 states\n\nThis reaps the benefit of the earlier patch, which changed the type of\nCCID 3 states to use enums, in that many conditions are now simplified\nand the number of possible (unexpected) values is greatly reduced.\n\nIn a few instances, this also allowed to simplify pre-conditions; where\ncare has been taken to retain logical equivalence.\n\n[DCCP]: Introduce a consistent BUG/WARN message scheme\n\nThis refines the existing set of DCCP messages so that\n * BUG(), BUG_ON(), WARN_ON() have meaningful DCCP-specific counterparts\n * DCCP_CRIT (for severe warnings) is not rate-limited\n * DCCP_WARN() is introduced as rate-limited wrapper\n\nUsing these allows a faster and cleaner transition to their original\ncounterparts once the code has matured into a full DCCP implementation.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\n"
    },
    {
      "commit": "58a5a7b9555ea231b557ebef5cabeaf8e951df0b",
      "tree": "9dac36b3483e9667a967f79982c965abd707e03d",
      "parents": [
        "e523a1550e877f8a8ff87a50269b7ee7bfb43464"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Thu Nov 16 14:06:06 2006 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:23:51 2006 -0800"
      },
      "message": "[NET]: Conditionally use bh_lock_sock_nested in sk_receive_skb\n\nSpotted by Ian McDonald, tentatively fixed by Gerrit Renker:\n\nhttp://www.mail-archive.com/dccp%40vger.kernel.org/msg00599.html\n\nRewritten not to unroll sk_receive_skb, in the common case, i.e. no lock\ndebugging, its optimized away.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\n"
    },
    {
      "commit": "e523a1550e877f8a8ff87a50269b7ee7bfb43464",
      "tree": "5450113bb3e5994bac06722f1ef39631fc6129e7",
      "parents": [
        "3c6952624a8f600f9a0fbc1f5db5560a7ef9b13e"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Thu Nov 16 12:23:58 2006 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:23:50 2006 -0800"
      },
      "message": "[DCCP]: One NET_INC_STATS() could be NET_INC_STATS_BH in dccp_v4_err()\n\nSpotted by Eric Dumazet in tcp_v4_rcv().\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\n"
    },
    {
      "commit": "2bda2853150e20ca2a44627d00b5f85af0b24a42",
      "tree": "7e2b3f0de3f8fbe506e59d58b6d71bc1422dea58",
      "parents": [
        "6b11687ef003ed595033da89643c8995676f929d"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Nov 14 21:28:51 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:23:30 2006 -0800"
      },
      "message": "[NET]: Annotate csum_tcpudp_magic() callers in net/*\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cfb6eeb4c860592edd123fdea908d23c6ad1c7dc",
      "tree": "361c073622faa540ef6602ef1b0a6e8c0a17fc60",
      "parents": [
        "bf6bce71eae386dbc37f93af7e5ad173450d9945"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Tue Nov 14 19:07:45 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:22:39 2006 -0800"
      },
      "message": "[TCP]: MD5 Signature Option (RFC2385) support.\n\nBased on implementation by Rick Payne.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "09dbc3895e3242346bd434dae743c456fd28fc6a",
      "tree": "a7bc1d0879b025152bff9e4a0ba44beaa5da654b",
      "parents": [
        "c02fdc0e81e9c735d8d895af1e201b235df326d8"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Tue Nov 14 12:57:34 2006 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:22:30 2006 -0800"
      },
      "message": "[DCCP]: Miscellaneous code tidy-ups\n\nThis patch does not change code; it performs some trivial clean/tidy-ups:\n\n  * removal of a `debug_prefix\u0027 string in favour of the\n    already existing dccp_role(sk)\n\n  * add documentation of structures and constants\n\n  * separated out the cases for invalid packets (step 1\n    of the packet validation)\n\n  * removing duplicate statements\n\n  * combining declaration \u0026 initialisation\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\n"
    },
    {
      "commit": "b9df3cb8cf9a96e63dfdcd3056a9cbc71f2459e7",
      "tree": "46d19124b1bbfd9eaa26af3d6ba2293b4e8f326d",
      "parents": [
        "1ed176a801b83915b7c8ab80e0a2a6376a2d6051"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Tue Nov 14 11:21:36 2006 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:22:27 2006 -0800"
      },
      "message": "[TCP/DCCP]: Introduce net_xmit_eval\n\nThroughout the TCP/DCCP (and tunnelling) code, it often happens that the\nreturn code of a transmit function needs to be tested against NET_XMIT_CN\nwhich is a value that does not indicate a strict error condition.\n\nThis patch uses a macro for these recurring situations which is consistent\nwith the already existing macro net_xmit_errno, saving on duplicated code.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\n"
    },
    {
      "commit": "d7f7365f5776723da6df73540d855069c2daaa5c",
      "tree": "cc63c8a85c4d6a768cee8da00577900215e786a8",
      "parents": [
        "865e9022d88ceedd89fa1079a6e1f9266ccd3711"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Mon Nov 13 13:34:38 2006 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:22:22 2006 -0800"
      },
      "message": "[DCCPv6]: Choose a genuine initial sequence number\n\nThis\n\t* resolves a FIXME - DCCPv6 connections started all with\n\t  an initial sequence number of 1;\n\t* provides a redirection `secure_dccpv6_sequence_number\u0027\n\t  in case the init_sequence_v6 code should be updated later;\n\t* concentrates the update of S.GAR into dccp_connect_init();\n\t* removes a duplicate dccp_update_gss() in ipv4.c;\n\t* uses inet-\u003edport instead of usin-\u003esin_port, due to the\n\t  following assignment in dccp_v4_connect():\n \t\tinet-\u003edport \u003d usin-\u003esin_port;\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\n"
    },
    {
      "commit": "865e9022d88ceedd89fa1079a6e1f9266ccd3711",
      "tree": "bc276752f832226f9a506f1fe65bff000bea557e",
      "parents": [
        "4ed800d02cfb639b4f8375a0f0f04f0efea64e7f"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Mon Nov 13 13:31:50 2006 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:22:21 2006 -0800"
      },
      "message": "[DCCP]: Remove redundant statements in init_sequence (ISS)\n\nThis patch removes the following redundancies:\n\n 1) The test skb-\u003eprotocol \u003d\u003d htons(ETH_P_IPV6) in dccp_v6_init_sequence\n    is always true since\n     * dccp_v6_conn_request() is the only calling function\n     * dccp_v6_conn_request() redirects all skb\u0027s with ETH_P_IP to\n       dccp_v4_conn_request()\n\n 2) The first argument, `struct sock *sk\u0027, of dccp_v{4,6}_init_sequence()\n    is never used.\n\n(This is similar for tcp_v{4,6}_init_sequence, an analogous patch has been\n submitted to netdev and merged.)\n\nBy the way - are the `sport\u0027 / `dport\u0027 arguments in the right order?\nI have made them consistent among calls but they seem to be in the\nreverse order.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\n"
    },
    {
      "commit": "afb0a34dd3e20b3f534de19993271b8664cf10bb",
      "tree": "f7660923d8dfa7e75ea655b99a6b608d67dea327",
      "parents": [
        "2e2e9e92bd723244ea20fa488b1780111f2b05e1"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Mon Nov 13 13:25:41 2006 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:22:19 2006 -0800"
      },
      "message": "[DCCP]: Introduce a consistent naming scheme for sysctls\n\nIn order to make their function clearer and obtain a consistent naming\nscheme to identify sysctls, all existing DCCP sysctls have been prefixed\nwith `sysctl_dccp\u0027, following the same convention as used by TCP.\n\nFeature-specific sysctls retain the `feat\u0027 in the middle, although the\n`default\u0027 has been dropped, since it is obvious from use.\n\nAlso removed a duplicate `dccp_feat_default_sequence_window\u0027 in ipv4.c.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\n"
    },
    {
      "commit": "6f4e5fff1e4d46714ea554fd83e44eab534e8b11",
      "tree": "4b14344fd825bbcefb6e8514e98e3e796b2dc1bd",
      "parents": [
        "a11d206d0f88e092419877c7f706cafb5e1c2e57"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Fri Nov 10 17:43:06 2006 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:22:09 2006 -0800"
      },
      "message": "[DCCP]: Support for partial checksums (RFC 4340, sec. 9.2)\n\nThis patch does the following:\n  a) introduces variable-length checksums as specified in [RFC 4340, sec. 9.2]\n  b) provides necessary socket options and documentation as to how to use them\n  c) basic support and infrastructure for the Minimum Checksum Coverage feature\n     [RFC 4340, sec. 9.2.1]: acceptability tests, user notification and user\n     interface\n\nIn addition, it\n\n (1) fixes two bugs in the DCCPv4 checksum computation:\n \t* pseudo-header used checksum_len instead of skb-\u003elen\n\t* incorrect checksum coverage calculation based on dccph_x\n (2) removes dccp_v4_verify_checksum() since it reduplicates code of the\n     checksum computation; code calling this function is updated accordingly.\n (3) now uses skb_checksum(), which is safer than checksum_partial() if the\n     sk_buff has is a non-linear buffer (has pages attached to it).\n (4) fixes an outstanding TODO item:\n        * If P.CsCov is too large for the packet size, drop packet and return.\n\nThe code has been tested with applications, the latest version of tcpdump now\ncomes with support for partial DCCP checksums.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\n"
    },
    {
      "commit": "d83ca5accb256de1b44835cd222bfdc3207bd7dc",
      "tree": "c7be8b1f61d4403fe15bd279ecf9d52619134592",
      "parents": [
        "cf557926f6955b4c3fa55e81fdb3675e752e8eed"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Fri Nov 10 16:29:14 2006 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:22:04 2006 -0800"
      },
      "message": "[DCCP]: Update code comments for Step 2/3\n\nSorts out the comments for processing steps 2,3 in section 8.5 of RFC 4340.\nAll comments have been updated against this document, and the reference to step\n2 has been made consistent throughout the files.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\n"
    },
    {
      "commit": "cf557926f6955b4c3fa55e81fdb3675e752e8eed",
      "tree": "672d24def170058545736be30040ef2249741cc3",
      "parents": [
        "f45b3ec481581f24719d8ab0bc812c02fcedc2bc"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Fri Nov 10 16:08:37 2006 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:22:03 2006 -0800"
      },
      "message": "[DCCP]: tidy up dccp_v{4,6}_conn_request\n\nThis is a code simplification to remove reduplicated code\nby concentrating and abstracting shared code.\n\nDetailed Changes:\n"
    },
    {
      "commit": "3d2fe62b8d8522722c4fe46b8af13520b73848c4",
      "tree": "8189632c135a89943a81dc27b5728ede25a295bc",
      "parents": [
        "8a73cd09d96aa01743316657fc4e6864fe79b703"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Fri Nov 10 12:52:36 2006 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:21:59 2006 -0800"
      },
      "message": "[DCCPv4]: remove forward declarations in ipv4.c\n\nThis relates to Arnaldo\u0027s announcement in\nhttp://www.mail-archive.com/dccp@vger.kernel.org/msg00604.html\n\nOriginally this had been part of the Oops fix and is a revised variant of\nhttp://www.mail-archive.com/dccp@vger.kernel.org/msg00598.html\n\nNo code change, merely reshuffling, with the particular objective of\nhaving all request_sock_ops close(r) together for more clarity.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\n"
    },
    {
      "commit": "8a73cd09d96aa01743316657fc4e6864fe79b703",
      "tree": "fa22ed8ac78c5c76cc8ee3afd8bf72607290d42d",
      "parents": [
        "f6484f7c7ad22e4bb018875c386d6a7aaa441426"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Fri Nov 10 12:32:01 2006 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:21:58 2006 -0800"
      },
      "message": "[DCCP]: calling dccp_v{4,6}_reqsk_send_ack is a BUG\n\nThis patch removes two functions, the send_ack functions of request_sock,\nwhich are not called/used by the DCCP code. It is correct that these\nfunctions are not called, below is a justification why calling these\nfunctions (on a passive socket in the LISTEN/RESPOND state) would mean\na DCCP protocol violation.\n\nA) Background: using request_sock in TCP:\n"
    },
    {
      "commit": "d23c7107bfbaac955289685c522c7ff99dad3780",
      "tree": "9926a1d0275bd6cf7e05eb4bbceb03f1dabceacd",
      "parents": [
        "9b42078ed6edfe04e9dc9a59b946ad912aeef717"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Fri Nov 10 11:46:34 2006 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:21:56 2006 -0800"
      },
      "message": "[DCCP]: Simplify jump labels in dccp_v{4,6}_rcv\n\nThis is a code simplification and was singled out from the\nDCCPv6 Oops patch on\nhttp://www.mail-archive.com/dccp@vger.kernel.org/msg00600.html\n\nIt mainly makes the code consistent between ipv{4,6}.c for the functions\n        dccp_v4_rcv\n        dccp_v6_rcv\nand removes the do_time_wait label to simplify code somewhat.\n\nCommiter note: fixed up a compile problem, trivial.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\n"
    },
    {
      "commit": "9b42078ed6edfe04e9dc9a59b946ad912aeef717",
      "tree": "d3d20e17aa85e1bb16b99397f98f151d197b3177",
      "parents": [
        "89e7e57778ecd8744fee97491300f05a9fb1388a"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Fri Nov 10 11:22:32 2006 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:21:55 2006 -0800"
      },
      "message": "[DCCP]: Combine allocating \u0026 zeroing header space on skb\n\nThis is a code simplification:\nit combines three often recurring operations into one inline function,\n\n        * allocate `len\u0027 bytes header space in skb\n        * fill these `len\u0027 bytes with zeroes\n        * cast the start of this header space as dccp_hdr\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\n"
    },
    {
      "commit": "494b4e7d819246bad67c40897b9eeaf0ce18d5ff",
      "tree": "d09d274814dc469da9edba08c0043859ae1f340c",
      "parents": [
        "72a3effaf633bcae9034b7e176bdbd78d64a71db"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Nov 09 16:23:22 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:21:45 2006 -0800"
      },
      "message": "[DCCP]: Fix typo _read_mostly --\u003e __read_mostly.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "72a3effaf633bcae9034b7e176bdbd78d64a71db",
      "tree": "b7a331527f1b15335a358f97809134f35587e57a",
      "parents": [
        "3c62f75aac7348ee262b1295cfcfeb3473f76815"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Thu Nov 16 02:30:37 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:21:44 2006 -0800"
      },
      "message": "[NET]: Size listen hash tables using backlog hint\n\nWe currently allocate a fixed size (TCP_SYNQ_HSIZE\u003d512) slots hash table for\neach LISTEN socket, regardless of various parameters (listen backlog for\nexample)\n\nOn x86_64, this means order-1 allocations (might fail), even for \u0027small\u0027\nsockets, expecting few connections. On the contrary, a huge server wanting a\nbacklog of 50000 is slowed down a bit because of this fixed limit.\n\nThis patch makes the sizing of listen hash table a dynamic parameter,\ndepending of :\n- net.core.somaxconn tunable (default is 128)\n- net.ipv4.tcp_max_syn_backlog tunable (default : 256, 1024 or 128)\n- backlog value given by user application  (2nd parameter of listen())\n\nFor large allocations (bigger than PAGE_SIZE), we use vmalloc() instead of\nkmalloc().\n\nWe still limit memory allocation with the two existing tunables (somaxconn \u0026\ntcp_max_syn_backlog). So for standard setups, this patch actually reduce RAM\nusage.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0e64e94e477f8ed04e9295b11a5898d443c28a47",
      "tree": "0a02a3017d41a3a21038ff081b93b5b6359e1692",
      "parents": [
        "977a415f2b70b5693aaa23b1a16ad57ea20a1dce"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Tue Oct 24 16:17:51 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 24 16:17:51 2006 -0700"
      },
      "message": "[DCCP]: Update documentation references.\n\nUpdates the references to spec documents throughout the code, taking into\naccount that\n\n* the DCCP, CCID 2, and CCID 3 drafts all became RFCs in March this year\n\n* RFC 1063 was obsoleted by RFC 1191\n\n* draft-ietf-tcpimpl-pmtud-0x.txt was published as an Informational\n  RFC, RFC 2923 on 2000-09-22.\n\nAll references verified.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "82709531a800fcf8de71bb8c5d8e92462fb81f84",
      "tree": "f5b91c66d478db78af46ca7a9863951b82d28c06",
      "parents": [
        "5cfc35cf79d46af998346e3d5cc66fa344d1af0e"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Wed Oct 11 16:26:54 2006 +0100"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Oct 21 19:55:20 2006 -0700"
      },
      "message": "[DCCP]: Fix Oops in DCCPv6\n\nI think I got the cause for the Oops observed in\nhttp://www.mail-archive.com/dccp@vger.kernel.org/msg00578.html\n\nThe problem is always with applications listening on PF_INET6 sockets. Apart\nfrom the mentioned oops, I observed another one one, triggered at irregular\nintervals via timer interrupt:\n\n    run_timer_softirq -\u003e dccp_keepalive_timer\n                      -\u003e inet_csk_reqsk_queue_prune\n                      -\u003e reqsk_free\n                      -\u003e dccp_v6_reqsk_destructor\n\nThe latter function is the problem and is also the last function to be called\nin said kernel panic.\n\nIn any case, there is a real problem with allocating the right request_sock\nwhich is what this patch tackles.\n\nIt fixes the following problem:\n - application listens on PF_INET6\n - DCCPv4 packet comes in, is handed over to dccp_v4_do_rcv, from there\n   to dccp_v4_conn_request\n\nNow: socket is PF_INET6, packet is IPv4. The following code then furnishes the\nconnection with IPv6 - request_sock operations:\n\n   req \u003d reqsk_alloc(sk-\u003esk_prot-\u003ersk_prot);\n\nThe first problem is that all further incoming packets will get a Reset since\nthe connection can not be looked up.\n\nThe second problem is worse:\n --\u003e reqsk_alloc is called instead of inet6_reqsk_alloc\n --\u003e consequently inet6_rsk_offset is never set (dangling pointer)\n --\u003e the request_sock_ops are nevertheless still dccp6_request_ops\n --\u003e destructor is called via reqsk_free\n --\u003e dccp_v6_reqsk_destructor tries to free random memory location (inet6_rsk_offset not set)\n --\u003e panic\n\nI have tested this for a while, DCCP sockets are now handled correctly in all\nthree scenarios (v4/v6 only/v4-mapped).\n\nCommiter note: I\u0027ve added the dccp_request_sock_ops forward declaration to keep\n               the tree building and to reduce the size of the patch for 2.6.19,\n               later I\u0027ll move the functions to the top of the affected source\n               code to match what we have in the TCP counterpart, where this\n               problem hasn\u0027t existed in the first place, dumb me not to have\n               done the same thing on DCCP land 8)\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\n"
    },
    {
      "commit": "9469c7b4aa210ce94c6e7208cfadbd0aca0ebe08",
      "tree": "3461046e3c0a63577dc26d70246bac6892fe342c",
      "parents": [
        "496c98dff8e353880299168d36fa082d6fba5237"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Tue Oct 10 19:41:46 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 11 23:59:58 2006 -0700"
      },
      "message": "[NET]: Use typesafe inet_twsk() inline function instead of cast.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bada8adc4e6622764205921e6ba3f717aa03c882",
      "tree": "6052ffa8b3f6fbb8e11566f7a0e3f1f557acccd2",
      "parents": [
        "f2c3fe24119ee4f8faca08699f0488f500014a27"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Sep 26 21:27:15 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Sep 28 17:54:06 2006 -0700"
      },
      "message": "[IPV4]: ip_route_connect() ipv4 address arguments annotated\n\nannotated address arguments (port number left alone for now); ditto\nfor inferred net-endian variables in callers.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "00e4d116a7ef94eb910be037912b0b2fc09f608b",
      "tree": "81e8a52c7529691b3c07605613da65cae80f41c9",
      "parents": [
        "1ab9dd0902df4f4ff56fbf672220549090ab28ba"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Fri Sep 22 09:33:58 2006 +0100"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Sun Sep 24 17:49:26 2006 -0300"
      },
      "message": "[DCCP]: Allow default/fallback service code.\n\nThis has been discussed on dccp@vger and removes the necessity for applications\nto supply service codes in each and every case.\n\nIf an application does not want to provide a service code, that\u0027s fine, it will\nbe given 0. Otherwise, service codes can be set via socket options as before.\n\nThis patch has been tested using various client/server configurations\n(including listening on multiple service codes).\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\n"
    },
    {
      "commit": "8f491069b40be5d627007a343f99759e9da6a178",
      "tree": "ba2be735de32fa30015fe22febf4329c8e79ca25",
      "parents": [
        "832b4c5e184391773e462653aa862a8cab71f38d"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Aug 09 15:47:12 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Sep 22 14:54:14 2006 -0700"
      },
      "message": "[IPV4]: Use network-order dport for all visible inet_lookup_*\n\nRight now most inet_lookup_* functions take a host-order hnum instead\nof a network-order dport because that\u0027s how it is represented\ninternally.\n\nThis means that users of these functions have to be careful about\nusing the right byte-order.  To add more confusion, inet_lookup takes\na network-order dport unlike all other functions.\n\nSo this patch changes all visible inet_lookup functions to take a\ndport and move all dport-\u003ehnum conversion inside them.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4237c75c0a35535d7f9f2bfeeb4b4df1e068a0bf",
      "tree": "02adcb6fe6c346a8b99cf161ba5233ed1e572727",
      "parents": [
        "cb969f072b6d67770b559617f14e767f47e77ece"
      ],
      "author": {
        "name": "Venkat Yekkirala",
        "email": "vyekkirala@TrustedCS.com",
        "time": "Mon Jul 24 23:32:50 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Sep 22 14:53:29 2006 -0700"
      },
      "message": "[MLSXFRM]: Auto-labeling of child sockets\n\nThis automatically labels the TCP, Unix stream, and dccp child sockets\nas well as openreqs to be at the same MLS level as the peer. This will\nresult in the selection of appropriately labeled IPSec Security\nAssociations.\n\nThis also uses the sock\u0027s sid (as opposed to the isec sid) in SELinux\nenforcement of secmark in rcv_skb and postroute_last hooks.\n\nSigned-off-by: Venkat Yekkirala \u003cvyekkirala@TrustedCS.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "beb8d13bed80f8388f1a9a107d07ddd342e627e8",
      "tree": "19d5763b9b3b8ff3969997565e5ec0edd6e4bd33",
      "parents": [
        "4e2ba18eae7f370c7c3ed96eaca747cc9b39f917"
      ],
      "author": {
        "name": "Venkat Yekkirala",
        "email": "vyekkirala@TrustedCS.com",
        "time": "Fri Aug 04 23:12:42 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Sep 22 14:53:27 2006 -0700"
      },
      "message": "[MLSXFRM]: Add flow labeling\n\nThis labels the flows that could utilize IPSec xfrms at the points the\nflows are defined so that IPSec policy and SAs at the right label can\nbe used.\n\nThe following protos are currently not handled, but they should\ncontinue to be able to use single-labeled IPSec like they currently\ndo.\n\nipmr\nip_gre\nipip\nigmp\nsit\nsctp\nip6_tunnel (IPv6 over IPv6 tunnel device)\ndecnet\n\nSigned-off-by: Venkat Yekkirala \u003cvyekkirala@TrustedCS.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4b79f0af48d529a360d3529def01835dc5d45fe1",
      "tree": "0d5013514dd5f19a09f9c2d32dee2ba0f4f4827a",
      "parents": [
        "8fdf679fdb00f588b65abb9c775c178098a05aeb"
      ],
      "author": {
        "name": "Ian McDonald",
        "email": "ian.mcdonald@jandi.co.nz",
        "time": "Sun Jul 23 23:33:28 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Jul 24 12:44:21 2006 -0700"
      },
      "message": "[DCCP]: Fix default sequence window size\n\nWhen using the default sequence window size (100) I got the following in\nmy logs:\n\nJun 22 14:24:09 localhost kernel: [ 1492.114775] DCCP: Step 6 failed for\nDATA packet, (LSWL(6279674225) \u003c\u003d P.seqno(6279674749) \u003c\u003d\nS.SWH(6279674324)) and (P.ackno doesn\u0027t exist or LAWL(18798206530) \u003c\u003d\nP.ackno(1125899906842620) \u003c\u003d S.AWH(18798206548), sending SYNC...\nJun 22 14:24:09 localhost kernel: [ 1492.115147] DCCP: Step 6 failed for\nDATA packet, (LSWL(6279674225) \u003c\u003d P.seqno(6279674750) \u003c\u003d\nS.SWH(6279674324)) and (P.ackno doesn\u0027t exist or LAWL(18798206530) \u003c\u003d\nP.ackno(1125899906842620) \u003c\u003d S.AWH(18798206549), sending SYNC...\n\nI went to alter the default sysctl and it didn\u0027t take for new sockets.\nBelow patch fixes this.\n\nI think the default is too low but it is what the DCCP spec specifies.\n\nAs a side effect of this my rx speed using iperf goes from about 2.8 Mbits/sec\nto 3.5. This is still far too slow but it is a step in the right direction.\n\nCompile tested only for IPv6 but not particularly complex change.\n\nSigned off by: Ian McDonald \u003cian.mcdonald@jandi.co.nz\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6ab3d5624e172c553004ecc862bfeac16d9d68b7",
      "tree": "6d98881fe91fd9583c109208d5c27131b93fa248",
      "parents": [
        "e02169b682bc448ccdc819dc8639ed34a23cedd8"
      ],
      "author": {
        "name": "Jörn Engel",
        "email": "joern@wohnheim.fh-wedel.de",
        "time": "Fri Jun 30 19:25:36 2006 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Fri Jun 30 19:25:36 2006 +0200"
      },
      "message": "Remove obsolete #include \u003clinux/config.h\u003e\n\nSigned-off-by: Jörn Engel \u003cjoern@wohnheim.fh-wedel.de\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "b8282dcf0417bbc8a0786c129fdff9cc768f8f3c",
      "tree": "f9610328753accb586949c065ee7e1f8fbae0b10",
      "parents": [
        "b7595b4955b5178e28906838cc3e8efa62d8caee"
      ],
      "author": {
        "name": "Eric Sesterhenn",
        "email": "snakebyte@gmx.de",
        "time": "Mon Apr 10 16:43:03 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Apr 11 17:21:06 2006 -0700"
      },
      "message": "[DCCP]: Fix leak in net/dccp/ipv4.c\n\nwe dont free req if we cant parse the options.\nThis fixes coverity bug id #1046\n\nSigned-off-by: Eric Sesterhenn \u003csnakebyte@gmx.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "543d9cfeec4d58ad3fd974db5531b06b6b95deb4",
      "tree": "b5f79a92ec01b4a97f26d48cae11566498641822",
      "parents": [
        "f94691acf9df35d5cd828373e35391bdc4a3fde6"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Mon Mar 20 22:48:35 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 20 22:48:35 2006 -0800"
      },
      "message": "[NET]: Identation \u0026 other cleanups related to compat_[gs]etsockopt cset\n\nNo code changes, just tidying up, in some cases moving EXPORT_SYMBOLs\nto just after the function exported, etc.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3fdadf7d27e3fbcf72930941884387d1f4936f04",
      "tree": "167072cf1e60b6b307610563614b435ff0caa52d",
      "parents": [
        "c750360938b403e6cc193d293cfbcb099dd6c60e"
      ],
      "author": {
        "name": "Dmitry Mishin",
        "email": "dim@openvz.org",
        "time": "Mon Mar 20 22:45:21 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 20 22:45:21 2006 -0800"
      },
      "message": "[NET]: {get|set}sockopt compatibility layer\n\nThis patch extends {get|set}sockopt compatibility layer in order to\nmove protocol specific parts to their place and avoid huge universal\nnet/compat.c file in the future.\n\nSigned-off-by: Dmitry Mishin \u003cdim@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c5fed1597ebb2c1bf55a7334cce2d0e8d18ef5b7",
      "tree": "7fd3a91c0afe7f57be7fdb217cb070acb9bfbbcb",
      "parents": [
        "118b2c9532c853ebdf15c21128d30a343b89ea45"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Mon Mar 20 22:31:26 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 20 22:31:26 2006 -0800"
      },
      "message": "[DCCP]: ditch dccp_v[46]_ctl_send_ack\n\nMerging it with its only user: dccp_v[46]_reqsk_send_ack.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "118b2c9532c853ebdf15c21128d30a343b89ea45",
      "tree": "1974a1850b4bfebb08424a241228ac66076c276f",
      "parents": [
        "e5a6de915ba9ba828751ade5d3e874072a89a00a"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Mon Mar 20 22:31:09 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 20 22:31:09 2006 -0800"
      },
      "message": "[DCCP]: Use sk-\u003esk_prot-\u003emax_header consistently for non-data packets\n\nUsing this also provides opportunities for introducing\ninet_csk_alloc_skb that would call alloc_skb, account it to the sock\nand skb_reserve(max_header), but I\u0027ll leave this for later, for now\nusing sk_prot-\u003emax_header consistently is enough.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c4d9390941aee136fd35bb38eb1d6de4e3b1487d",
      "tree": "fcaf0032ba5971145b5f527b8635cd7aa3a39d8c",
      "parents": [
        "72478873571d869906f7a250b09e12fa5b65e321"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Mon Mar 20 22:01:03 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 20 22:01:03 2006 -0800"
      },
      "message": "[ICSK]: Introduce inet_csk_ctl_sock_create\n\nConsolidating open coded sequences in tcp and dccp, v4 and v6.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "72478873571d869906f7a250b09e12fa5b65e321",
      "tree": "562e6179922a5eef9c1f3eb7b1bf3813a6e53545",
      "parents": [
        "c25a18ba347f091d1ce620ba33e6772b60a528e1"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Mon Mar 20 22:00:37 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 20 22:00:37 2006 -0800"
      },
      "message": "[DCCP] ipv6: Add missing ipv6 control socket\n\nI guess I forgot to add it, nah, now it just works:\n\n18:04:33.274066 IP6 ::1.1476 \u003e ::1.5001: request (service\u003d0)\n18:04:33.334482 IP6 ::1.5001 \u003e ::1.1476: reset (code\u003dbad_service_code)\n\nDitched IP_DCCP_UNLOAD_HACK, as now we would have to do it for both\nIPv6 and IPv4, so I\u0027ll come up with another way for freeing the\ncontrol sockets in upcoming changesets.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5e0817f84c33285c2ac7d3848e8896d025b5deff",
      "tree": "c394b80761d68d57128775da1e6832df4ff2170b",
      "parents": [
        "d76e60a5b510bab0af130fca9f4ed06499be4d2f"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Mon Mar 20 21:58:29 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 20 21:58:29 2006 -0800"
      },
      "message": "[DCCP] ipv4: make struct dccp_v4_prot static\n\nThere\u0027s no reason for struct dccp_v4_prot being global.\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b61fafc4ef3faf54236d57e3b230ca19167663bf",
      "tree": "d928d79a28556ee06fda685458d3f398b6e57d40",
      "parents": [
        "46f09ffa7db595f49fb42338e013417756816d37"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Mon Mar 20 21:25:11 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 20 21:25:11 2006 -0800"
      },
      "message": "[DCCP]: Move the IPv4 specific bits from proto.c to ipv4.c\n\nWith this patch in place we can break down the complexity by better\ncompartmentalizing the code that is common to ipv6 and ipv4.\n\nNow we have these modules:\nModule                  Size  Used by\ndccp_diag               1344  0\ninet_diag               9448  1 dccp_diag\ndccp_ccid3             15856  0\ndccp_tfrc_lib          12320  1 dccp_ccid3\ndccp_ccid2              5764  0\ndccp_ipv4              16996  2\ndccp                   48208  4 dccp_diag,dccp_ccid3,dccp_ccid2,dccp_ipv4\n\ndccp_ipv6 still requires dccp_ipv4 due to dccp_ipv6_mapped, that is\nthe next target to work on the \"hey, ipv4 is legacy, I only want ipv6\ndude!\" direction.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "075ae86611011e1acdda9df6a7e30f8508b31fd6",
      "tree": "964bd1489ca16e3bbdc41a455b2a2db8e7801f2a",
      "parents": [
        "0a1ec676ddbee712e1c1da679be4bdc529caf215"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Mon Mar 20 21:24:19 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 20 21:24:19 2006 -0800"
      },
      "message": "[DCCP]: Move dccp_hashinfo from ipv4.c to the core\n\nAs it is used by both ipv4 and ipv6.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0a1ec676ddbee712e1c1da679be4bdc529caf215",
      "tree": "709db39592784baebb9f43f5d1bbd33c70fdcbeb",
      "parents": [
        "c985ed705ffc682ce40d46a5f7bf98db86b27899"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Mon Mar 20 21:23:59 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 20 21:23:59 2006 -0800"
      },
      "message": "[DCCP]: Dont use dccp_v4_checksum in dccp_make_response\n\ndccp_make_response is shared by ipv4/6 and the ipv6 code was\nrecalculating the checksum, not good, so move the dccp_v4_checksum\ncall to dccp_v4_send_response.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c985ed705ffc682ce40d46a5f7bf98db86b27899",
      "tree": "20272a6d8f7b896e9b31397d4c4ff563bfdf16b2",
      "parents": [
        "3e0fadc51f2fde01e0e22f481370a9b5f073bfc3"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Mon Mar 20 21:23:39 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 20 21:23:39 2006 -0800"
      },
      "message": "[DCCP]: Move dccp_[un]hash from ipv4.c to the core\n\nAs this is used by both ipv4 and ipv6 and is not ipv4 specific.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3e0fadc51f2fde01e0e22f481370a9b5f073bfc3",
      "tree": "0254dd8d495d2e4a2a1a9adb17b7dc10541796d8",
      "parents": [
        "017487d7d1e905a5bb529f6a2bc8cf8ea14e2307"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Mon Mar 20 21:23:15 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 20 21:23:15 2006 -0800"
      },
      "message": "[DCCP]: Move dccp_v4_{init,destroy}_sock to the core\n\nRemoving one more ipv6 uses ipv4 stuff case in dccp land.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "017487d7d1e905a5bb529f6a2bc8cf8ea14e2307",
      "tree": "6a68904ea48ccae0c4c17f7dc248831fd46bd3e6",
      "parents": [
        "e55d912f5b75723159348a7fc7692f869a86636a"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Mon Mar 20 19:25:24 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 20 19:25:24 2006 -0800"
      },
      "message": "[DCCP]: Generalize dccp_v4_send_reset\n\nRenaming it to dccp_send_reset and moving it from the ipv4 specific\ncode to the core dccp code.\n\nThis fixes some bugs in IPV6 where timers would send v4 resets, etc.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "04e2661e9c00386412b64612549cf24c8baef67c",
      "tree": "d2c53123806041dfe4c0dc2b18a890a1f5333105",
      "parents": [
        "057fc6755a2381b4e81636659ef519e069f38623"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Mon Mar 20 19:24:41 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 20 19:24:41 2006 -0800"
      },
      "message": "[DCCP]: Call dccp_feat_init more early in dccp_v4_init_sock\n\nSo that dccp_feat_clean doesn\u0027t get confused with uninitialized\nlist_heads.\n\nNoticed when testing with no ccid kernel modules.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "60fe62e789076ae7c13f7ffb35fec4b24802530d",
      "tree": "cc8d507a4276c3d5a2bcb72746660d485bc2e045",
      "parents": [
        "a193a4abdd1f742a57f3f70b6a83c3e536876e97"
      ],
      "author": {
        "name": "Andrea Bittau",
        "email": "a.bittau@cs.ucl.ac.uk",
        "time": "Mon Mar 20 19:23:32 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 20 19:23:32 2006 -0800"
      },
      "message": "[DCCP]: sparse endianness annotations\n\nThis also fixes the layout of dccp_hdr short sequence numbers, problem\nwas not fatal now as we only support long (48 bits) sequence numbers.\n\nSigned-off-by: Andrea Bittau \u003ca.bittau@cs.ucl.ac.uk\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "91f0ebf7b6d5cb2b6e818d48587566144821babe",
      "tree": "505c66f36bd72014d7eacb7a04ea011bae2e9a3a",
      "parents": [
        "f38c39d6ce8226519455a6dfe91c2ad84f363f6f"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Mon Mar 20 19:21:44 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 20 19:21:44 2006 -0800"
      },
      "message": "[DCCP] CCID: Improve CCID infrastructure\n\n1. No need for -\u003eccid_init nor -\u003eccid_exit, this is what module_{init,exit}\n   does and anynways neither ccid2 nor ccid3 were using it.\n\n2. Rename struct ccid to struct ccid_operations and introduce struct ccid\n   with a pointer to ccid_operations and rigth after it the rx or tx\n   private state.\n\n3. Remove the pointer to the state of the half connections from struct\n   dccp_sock, now its derived thru ccid_priv() from the ccid pointer.\n\nNow we also can implement the setsockopt for changing the CCID easily as\nno ccid init routines can affect struct dccp_sock in any way that prevents\nother CCIDs from working if a CCID switch operation is asked by apps.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "afe00251dd9b53d51de91ff0099961f42bbf3754",
      "tree": "a56aa987140662cf3e6e65be402b8591298c5ced",
      "parents": [
        "2a91aa3967398fb94eccc8da67c82bce9f67afdf"
      ],
      "author": {
        "name": "Andrea Bittau",
        "email": "a.bittau@cs.ucl.ac.uk",
        "time": "Mon Mar 20 17:43:56 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 20 17:43:56 2006 -0800"
      },
      "message": "[DCCP]: Initial feature negotiation implementation\n\nStill needs more work, but boots and doesn\u0027t crashes, even\ndoes some negotiation!\n\n18:38:52.174934  127.0.0.1.43458 \u003e 127.0.0.1.5001: request \u003cchange_l ack_ratio 2, change_r ccid 2, change_l ccid 2\u003e\n18:38:52.218526  127.0.0.1.5001 \u003e 127.0.0.1.43458: response \u003cnop, nop, change_l ack_ratio 2, confirm_r ccid 2 2, confirm_l ccid 2 2, confirm_r ack_ratio 2\u003e\n18:38:52.185398  127.0.0.1.43458 \u003e 127.0.0.1.5001: \u003cnop, confirm_r ack_ratio 2, ack_vector0 0x00, elapsed_time 212\u003e\n\n:-)\n\nSigned-off-by: Andrea Bittau \u003ca.bittau@cs.ucl.ac.uk\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2a91aa3967398fb94eccc8da67c82bce9f67afdf",
      "tree": "62bf003487121bc629919c85810df11e52016b8f",
      "parents": [
        "aa5d7df3b20e0e493e90e1151510ab3ae8366bb5"
      ],
      "author": {
        "name": "Andrea Bittau",
        "email": "a.bittau@cs.ucl.ac.uk",
        "time": "Mon Mar 20 17:41:47 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 20 17:41:47 2006 -0800"
      },
      "message": "[DCCP] CCID2: Initial CCID2 (TCP-Like) implementation\n\nOriginal work by Andrea Bittau, Arnaldo Melo cleaned up and fixed several\nissues on the merge process.\n\nFor now CCID2 was turned the default for all SOCK_DCCP connections, but this\nwill be remedied soon with the merge of the feature negotiation code.\n\nSigned-off-by: Andrea Bittau \u003ca.bittau@cs.ucl.ac.uk\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9833d6da00c95e8a471411fb079da6b25787b05e",
      "tree": "0d76b97beb3587723ad318fe0713193ebccb9374",
      "parents": [
        "d5e9b2c737ecaedae66e3dffdd0d92d2a189ec5c"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Mon Mar 20 17:34:53 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 20 17:34:53 2006 -0800"
      },
      "message": "[DCCP]: Don\u0027t alloc ack vector for the control sock\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7400d781105d18bf5bba89f8b986a413f14144a8",
      "tree": "39bba6735fa99c5b2aa755b81c0cebc0ac901931",
      "parents": [
        "0af5f6c1eba4a18e6b2ed518b589927d778c6c16"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Mon Mar 20 17:15:42 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 20 17:15:42 2006 -0800"
      },
      "message": "[DCCP] ackvec: Ditch dccpav_buf_len\n\nSimplifying the code a bit as we\u0027re always using DCCP_MAX_ACKVEC_LEN.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5d39a795bfa217b5f7637028c83ab5cb291f37bf",
      "tree": "025bee4ea9c90b5fac7a7c939664a89120303170",
      "parents": [
        "7fb76aa07facce5cb9c8d26a0de09001a31eed0c"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Jan 31 17:35:35 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 31 17:35:35 2006 -0800"
      },
      "message": "[IPV4]: Always set fl.proto in ip_route_newports\n\nip_route_newports uses the struct flowi from the struct rtable returned\nby ip_route_connect for the new route lookup and just replaces the port\nnumbers if they have changed. If an IPsec policy exists which doesn\u0027t match\nport 0 the struct flowi won\u0027t have the proto field set and no xfrm lookup\nis done for the changed ports.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "eb9c7ebe6980c41cf6ae889e301c3b49f473ee9f",
      "tree": "419103d15b9de9c26c8400c698625231df55da91",
      "parents": [
        "b59c270104f03960069596722fea70340579244d"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Jan 06 23:06:30 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Jan 07 12:57:37 2006 -0800"
      },
      "message": "[NETFILTER]: Handle NAT in IPsec policy checks\n\nHandle NAT of decapsulated IPsec packets by reconstructing the struct flowi\nof the original packet from the conntrack information for IPsec policy\nchecks.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b59c270104f03960069596722fea70340579244d",
      "tree": "5d038835626047899097b622695ead5c1eb1c499",
      "parents": [
        "5c901daaea3be0d900b3ae1fc9b5f64ff94e4f02"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Jan 06 23:06:10 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Jan 07 12:57:36 2006 -0800"
      },
      "message": "[NETFILTER]: Keep conntrack reference until IPsec policy checks are done\n\nKeep the conntrack reference until policy checks have been performed for\nIPsec NAT support. The reference needs to be dropped before a packet is\nqueued to avoid having the conntrack module unloadable.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "14c850212ed8f8cbb5972ad6b8812e08a0bc901c",
      "tree": "53c88f03e7bbac4064f6e80d462ad484ee038326",
      "parents": [
        "25995ff577675b58dbd848b7758e7bad87411947"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Tue Dec 27 02:43:12 2005 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jan 03 13:11:21 2006 -0800"
      },
      "message": "[INET_SOCK]: Move struct inet_sock \u0026 helper functions to net/inet_sock.h\n\nTo help in reducing the number of include dependencies, several files were\ntouched as they were getting needed headers indirectly for stuff they use.\n\nThanks also to Alan Menegotto for pointing out that net/dccp/proto.c had\nlinux/dccp.h include twice.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "25995ff577675b58dbd848b7758e7bad87411947",
      "tree": "4d47595b01f8645552fa8af7b2be2019f133fefb",
      "parents": [
        "ce1d4d3e88b3a69d23c3feb436a0b36b6ca0642b"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Tue Dec 27 02:42:22 2005 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jan 03 13:11:19 2006 -0800"
      },
      "message": "[SOCK]: Introduce sk_receive_skb\n\nIts common enough to to justify that, TCP still can\u0027t use it as it has the\nprequeueing stuff, still to be made generic in the not so distant future :-)\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d83d8461f902c672bc1bd8fbc6a94e19f092da97",
      "tree": "0534c553ab92baa2eb9dbb5bba64f2c4540b1e89",
      "parents": [
        "22712813620fa8e682dbfb253a60ca0131da1e07"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Tue Dec 13 23:26:10 2005 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jan 03 13:10:58 2006 -0800"
      },
      "message": "[IP_SOCKGLUE]: Remove most of the tcp specific calls\n\nAs DCCP needs to be called in the same spots.\n\nNow we have a member in inet_sock (is_icsk), set at sock creation time from\nstruct inet_protosw-\u003eflags (if INET_PROTOSW_ICSK is set, like for TCP and\nDCCP) to see if a struct sock instance is a inet_connection_sock for places\nlike the ones in ip_sockglue.c (v4 and v6) where we previously were looking if\nsk_type was SOCK_STREAM, that is insufficient because we now use the same code\nfor DCCP, that has sk_type SOCK_DCCP.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a7f5e7f164788a22eb5d3de8e2d3cee1bf58fdca",
      "tree": "809ed01d61aa9548124b9958a5a500068b1db670",
      "parents": [
        "6d6ee43e0b8b8d4847627fd43739b98ec2b9404f"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Tue Dec 13 23:25:31 2005 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jan 03 13:10:55 2006 -0800"
      },
      "message": "[INET]: Generalise tcp_v4_hash_connect\n\nRenaming it to inet_hash_connect, making it possible to ditch\ndccp_v4_hash_connect and share the same code with TCP instead.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6d6ee43e0b8b8d4847627fd43739b98ec2b9404f",
      "tree": "a2a66381d2351610c81362bf218e743f6ccf56ef",
      "parents": [
        "fc44b9805324c0ad2733ea2feea9935cc056709d"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Tue Dec 13 23:25:19 2005 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jan 03 13:10:54 2006 -0800"
      },
      "message": "[TWSK]: Introduce struct timewait_sock_ops\n\nSo that we can share several timewait sockets related functions and\nmake the timewait mini sockets infrastructure closer to the request\nmini sockets one.\n\nNext changesets will take advantage of this, moving more code out of\nTCP and DCCP v4 and v6 to common infrastructure.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fc44b9805324c0ad2733ea2feea9935cc056709d",
      "tree": "6ba01edabb2d4bf49ee52fc7a7c32bddc36a79f2",
      "parents": [
        "3df80d9320bcaea72b1b4761a319c79cb3fdaf5f"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Tue Dec 13 23:25:06 2005 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jan 03 13:10:53 2006 -0800"
      },
      "message": "[DCCP]: Use reqsk_free in dccp_v4_conn_request\n\nNow we have the destructor (dccp_v4_reqsk_destructor) in our\nrequest_sock_ops vtable.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f21e68caa0ddffddf98a1e729e734a470957b6ec",
      "tree": "52b372d10cbacd066867ba1c918f48b9fdaad950",
      "parents": [
        "34ca6860810342441f801226b19ae6c9e0ecb34f"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Tue Dec 13 23:24:16 2005 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jan 03 13:10:50 2006 -0800"
      },
      "message": "[DCCP]: Prepare the AF agnostic core for the introduction of DCCPv6\n\nBasically exports a similar set of functions as the one exported by\nthe non-AF specific TCP code.\n\nIn the process moved some non-AF specific code from dccp_v4_connect to\ndccp_connect_init and moved the checksum verification from\ndccp_invalid_packet to dccp_v4_rcv, so as to use it in dccp_v6_rcv\ntoo.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "34ca6860810342441f801226b19ae6c9e0ecb34f",
      "tree": "4daae6985e70f28100f2244e73fcd70394f180b9",
      "parents": [
        "3cf3dc6c2e05e67b12e522f547c0b71d509a516c"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Tue Dec 13 23:23:32 2005 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jan 03 13:10:49 2006 -0800"
      },
      "message": "[DCCP]: Just rename dccp_v4_prot to dccp_prot\n\nTo match TCP equivalent.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "57cca05af1e20fdc65b55be52c042c234f86c866",
      "tree": "43b18dca01340861e7ad392c0c2ce398a1c878fd",
      "parents": [
        "af05dc9394feb193d221bc9d4c6db768facb4b40"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Tue Dec 13 23:16:16 2005 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jan 03 13:10:40 2006 -0800"
      },
      "message": "[DCCP]: Introduce dccp_ipv4_af_ops\n\nAnd make the core DCCP code AF agnostic, just like TCP, now its time\nto work on net/dccp/ipv6.c, we are close to the end!\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "971af18bbfabb7b7c9c548da34a51e30869c08fc",
      "tree": "02597aa6885b9937e1d6526f4789d6841953d551",
      "parents": [
        "89cee8b1cbb9dac40c92ef1968aea2b45f82fd18"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Tue Dec 13 23:14:47 2005 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jan 03 13:10:33 2006 -0800"
      },
      "message": "[IPV6]: Reuse inet_csk_get_port in tcp_v6_get_port\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4c7e6895027362889422e5dc437dc3238b6b4745",
      "tree": "f26b7e51aa071892839d10b1049de963616d3c5c",
      "parents": [
        "1d1428045c54ef3d172d480806e2066dde0b4b76"
      ],
      "author": {
        "name": "Ian McDonald",
        "email": "imcdnzl@gmail.com",
        "time": "Wed Dec 21 19:02:39 2005 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 21 19:02:39 2005 -0800"
      },
      "message": "[DCCP]: Comment typo\n\nI hope to actually change this behaviour shortly but this will help\nanybody grepping code at present.\n\nSigned-off-by: Ian McDonald \u003cimcdnzl@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a51482bde22f99c63fbbb57d5d46cc666384e379",
      "tree": "5482ed1c0803edb2ffbd51035de921fb0f72d82b",
      "parents": [
        "ac7c98eca88a854755475fcfe1b2bf5f97f90d99"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jesper.juhl@gmail.com",
        "time": "Tue Nov 08 09:41:34 2005 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 08 09:41:34 2005 -0800"
      },
      "message": "[NET]: kfree cleanup\n\nFrom: Jesper Juhl \u003cjesper.juhl@gmail.com\u003e\n\nThis is the net/ part of the big kfree cleanup patch.\n\nRemove pointless checks for NULL prior to calling kfree() in net/.\n\nSigned-off-by: Jesper Juhl \u003cjesper.juhl@gmail.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@conectiva.com.br\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nAcked-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\n"
    },
    {
      "commit": "6df716340da3a6fdd33d73d7ed4c6f7590ca1c42",
      "tree": "1b3ba3d1a0a08b9b4eaa624a66414b87a70b6fe9",
      "parents": [
        "6151b31c9616d71f714fc7ef8e2306f67f3b94c3"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@osdl.org",
        "time": "Thu Nov 03 16:33:23 2005 -0800"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Sat Nov 05 21:23:15 2005 -0200"
      },
      "message": "[TCP/DCCP]: Randomize port selection\n\nThis patch randomizes the port selected on bind() for connections\nto help with possible security attacks. It should also be faster\nin most cases because there is no need for a global lock.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@osdl.org\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\n"
    },
    {
      "commit": "49c5bfaffe8ae6e6440dc4bf78b03800960d93f5",
      "tree": "dbd4565b42697a7fdeee8d088f017eb7df8bc594",
      "parents": [
        "ffa29347dfbc158d1f47f5925324a6f5713659c1"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Tue Oct 18 12:03:28 2005 +1000"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Thu Oct 20 14:49:59 2005 -0200"
      },
      "message": "[DCCP]: Clear the IPCB area\n\nTurns out the problem has nothing to do with use-after-free or double-free.\nIt\u0027s just that we\u0027re not clearing the CB area and DCCP unlike TCP uses a CB\nformat that\u0027s incompatible with IP.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: Ian McDonald \u003cimcdnzl@gmail.com\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\n"
    },
    {
      "commit": "81c3d5470ecc70564eb9209946730fe2be93ad06",
      "tree": "1efa553c305a6453769dacfaf580bc6ccf146d82",
      "parents": [
        "399de50bbbb2501a6db43daaa8a2dafbc9bcfe0c"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Mon Oct 03 14:13:38 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 03 14:13:38 2005 -0700"
      },
      "message": "[INET]: speedup inet (tcp/dccp) lookups\n\nArnaldo and I agreed it could be applied now, because I have other\npending patches depending on this one (Thank you Arnaldo)\n\n(The other important patch moves skc_refcnt in a separate cache line,\nso that the SMP/NUMA performance doesnt suffer from cache line ping pongs)\n\n1) First some performance data :\n--------------------------------\n\ntcp_v4_rcv() wastes a *lot* of time in __inet_lookup_established()\n\nThe most time critical code is :\n\nsk_for_each(sk, node, \u0026head-\u003echain) {\n     if (INET_MATCH(sk, acookie, saddr, daddr, ports, dif))\n         goto hit; /* You sunk my battleship! */\n}\n\nThe sk_for_each() does use prefetch() hints but only the begining of\n\"struct sock\" is prefetched.\n\nAs INET_MATCH first comparison uses inet_sk(__sk)-\u003edaddr, wich is far\naway from the begining of \"struct sock\", it has to bring into CPU\ncache cold cache line. Each iteration has to use at least 2 cache\nlines.\n\nThis can be problematic if some chains are very long.\n\n2) The goal\n-----------\n\nThe idea I had is to change things so that INET_MATCH() may return\nFALSE in 99% of cases only using the data already in the CPU cache,\nusing one cache line per iteration.\n\n3) Description of the patch\n---------------------------\n\nAdds a new \u0027unsigned int skc_hash\u0027 field in \u0027struct sock_common\u0027,\nfilling a 32 bits hole on 64 bits platform.\n\nstruct sock_common {\n\tunsigned short\t\tskc_family;\n\tvolatile unsigned char\tskc_state;\n\tunsigned char\t\tskc_reuse;\n\tint\t\t\tskc_bound_dev_if;\n\tstruct hlist_node\tskc_node;\n\tstruct hlist_node\tskc_bind_node;\n\tatomic_t\t\tskc_refcnt;\n+\tunsigned int\t\tskc_hash;\n\tstruct proto\t\t*skc_prot;\n};\n\nStore in this 32 bits field the full hash, not masked by (ehash_size -\n1) Using this full hash as the first comparison done in INET_MATCH\npermits us immediatly skip the element without touching a second cache\nline in case of a miss.\n\nSuppress the sk_hashent/tw_hashent fields since skc_hash (aliased to\nsk_hash and tw_hash) already contains the slot number if we mask with\n(ehash_size - 1)\n\nFile include/net/inet_hashtables.h\n\n64 bits platforms :\n#define INET_MATCH(__sk, __hash, __cookie, __saddr, __daddr, __ports, __dif)\\\n     (((__sk)-\u003esk_hash \u003d\u003d (__hash))\n     ((*((__u64 *)\u0026(inet_sk(__sk)-\u003edaddr)))\u003d\u003d (__cookie))   \u0026\u0026  \\\n     ((*((__u32 *)\u0026(inet_sk(__sk)-\u003edport))) \u003d\u003d (__ports))   \u0026\u0026  \\\n     (!((__sk)-\u003esk_bound_dev_if) || ((__sk)-\u003esk_bound_dev_if \u003d\u003d (__dif))))\n\n32bits platforms:\n#define TCP_IPV4_MATCH(__sk, __hash, __cookie, __saddr, __daddr, __ports, __dif)\\\n     (((__sk)-\u003esk_hash \u003d\u003d (__hash))                 \u0026\u0026  \\\n     (inet_sk(__sk)-\u003edaddr          \u003d\u003d (__saddr))   \u0026\u0026  \\\n     (inet_sk(__sk)-\u003ercv_saddr      \u003d\u003d (__daddr))   \u0026\u0026  \\\n     (!((__sk)-\u003esk_bound_dev_if) || ((__sk)-\u003esk_bound_dev_if \u003d\u003d (__dif))))\n\n\n- Adds a prefetch(head-\u003echain.first) in \n__inet_lookup_established()/__tcp_v4_check_established() and \n__inet6_lookup_established()/__tcp_v6_check_established() and \n__dccp_v4_check_established() to bring into cache the first element of the \nlist, before the {read|write}_lock(\u0026head-\u003elock);\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nAcked-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "561713cf475de1f671cc89c437927ec008a20209",
      "tree": "f0485a84b71e2e14f02c9c87e792b187e28b6fdd",
      "parents": [
        "65299d6c3cfb49cc3eee4fc483e7edd23ea7b2ed"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Sun Sep 18 00:18:52 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Sep 18 00:18:52 2005 -0700"
      },
      "message": "[DCCP]: Don\u0027t use necessarily the same CCID for tx and rx\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ae31c3399d17b1f7bc1742724f70476b5417744f",
      "tree": "c34099afb228936672e6e589f0af7d81f1f62443",
      "parents": [
        "21f130a2370ba837cdfc5204ebe52e7c664fec3d"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Sun Sep 18 00:17:51 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Sep 18 00:17:51 2005 -0700"
      },
      "message": "[DCCP]: Move the ack vector code to net/dccp/ackvec.[ch]\n\nIsolating it, that will be used when we introduce a CCID2 (TCP-Like)\nimplementation.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "67e6b629212fa9ffb7420e8a88a41806af637e28",
      "tree": "64f07616a23b657f3eb06e1daedf2450f6fbfc60",
      "parents": [
        "0c10c5d96865ce611d6a780888eff0ef4fab358b"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Fri Sep 16 16:58:40 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 16 16:58:40 2005 -0700"
      },
      "message": "[DCCP]: Introduce DCCP_SOCKOPT_SERVICE\n\nAs discussed in the dccp@vger mailing list:\n\nNow applications have to use setsockopt(DCCP_SOCKOPT_SERVICE, service[s]),\nprior to calling listen() and connect().\n\nAn array of unsigned ints can be passed meaning that the listening sock accepts\nconnection requests for several services.\n\nWith this we can ditch struct sockaddr_dccp and use only sockaddr_in (and\nsockaddr_in6 in the future).\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n\n"
    },
    {
      "commit": "0c10c5d96865ce611d6a780888eff0ef4fab358b",
      "tree": "ab1303166355b32730185445557623bec09a1dcb",
      "parents": [
        "37f7f421cce13435fdc0d870caf51141e5ebf079"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Fri Sep 16 16:58:33 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 16 16:58:33 2005 -0700"
      },
      "message": "[DCCP]: More precisely set reset_code when sending RESET packets\n\nMoving the setting of DCCP_SKB_CB(skb)-\u003edccpd_reset_code to the places\nwhere events happen that trigger sending a RESET packet.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dc19336c76d213fd9ae7b6a352e837f509418012",
      "tree": "4a48efb86f200fa0cd9bf7a5f9a95e94ff6d140a",
      "parents": [
        "d7e0fb985cb033e605c3167ff183b5e98b7f7644"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Fri Sep 09 19:59:26 2005 -0300"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Fri Sep 09 19:59:26 2005 -0300"
      },
      "message": "[DCCP] Only call the HC _exit() routines in dccp_v4_destroy_sock\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\n"
    },
    {
      "commit": "b0e567806d16586629468c824dfb2e71155df7da",
      "tree": "70f5905fae3270985fed1050335c56598fd32646",
      "parents": [
        "954ee31f366fabe53fb450482789258fe552f40b"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Fri Sep 09 02:38:35 2005 -0300"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Fri Sep 09 02:38:35 2005 -0300"
      },
      "message": "[DCCP] Introduce dccp_timestamp\n\nTo start the timestamps with 0.0ms, easing the integer maths in the CCIDs, this\nprobably will be reworked to use the to be introduced struct timeval_offset\ninfrastructure out of skb_get_timestamp, etc.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\n"
    },
    {
      "commit": "c530cfb1ce1e8f230744c3f3bd86771f50725053",
      "tree": "8309c7803ccb3cbbe07e610e6a0e5580a63d83e2",
      "parents": [
        "a84ffe430342db6ee585a5038f3242a6b4112d69"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Mon Aug 29 02:15:54 2005 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 16:13:46 2005 -0700"
      },
      "message": "[CCID3]: Call sk-\u003esk_write_space(sk) when receiving a feedback packet\n\nThis makes the send rate calculations behave way more closely to what\nis specified, with the jitter previously seen on x and x_recv\ndisappearing completely on non lossy setups.\n\nThis resembles the tcp_data_snd_check code, that possibly we\u0027ll end up\nusing in DCCP as well, perhaps moving this code to\ninet_connection_sock.\n\nFor now I\u0027m doing the simplest implementation tho.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8efa544f9c84919c047dc2f96e308c902e8fb1a4",
      "tree": "c1df76c8e03900c0d6f13f0486e3fc6f05b0c51b",
      "parents": [
        "dc40c7bc76054f5e4382835ca2bafb895b993a8a"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Tue Aug 23 21:54:00 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 16:05:38 2005 -0700"
      },
      "message": "[DCCP]: Call the HC exit routines at dccp_v4_destroy_sock\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "03ace394ac9bcad38043a381ae5f4860b9c9fa1c",
      "tree": "bbe5f7fc56074224ded47113974dbc3db550b303",
      "parents": [
        "a3054d48b9b9d6290eccc9fc09c286ef450d9b1d"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Sun Aug 21 05:36:45 2005 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 16:03:42 2005 -0700"
      },
      "message": "[DCCP]: Fix the ACK and SEQ window variables settings\n\nThis is from a first audit, more eyeballs are more than welcome.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2807d4ffb0dccb8f932c3e1701b6b6163153d333",
      "tree": "77379d35e53a7c531e78659e8244652b8c6635d5",
      "parents": [
        "c68e64cfb5ac675b002215b5659146b73d2e9d5d"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Sun Aug 21 05:33:48 2005 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 16:03:25 2005 -0700"
      },
      "message": "[DCCP]: Fix seqno setting in dccp_v4_ctl_send_reset\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c59eab4637dbc3f832503be4ccb9213b0f323d92",
      "tree": "95bf99ecc5150dc9a97c63f20b9e5d90a61edc13",
      "parents": [
        "5480855bfbc125f34d9b752689bb9a64da7e1fc6"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Thu Aug 18 21:12:02 2005 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 16:02:26 2005 -0700"
      },
      "message": "[DCCP]: Use LIMIT_NETDEBUG in some debugging printks\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e92ae93a8aa66aea12935420cb22d4df1c18d023",
      "tree": "61ffc292a8e437f7d44bbfe00c4e052f7488dd25",
      "parents": [
        "ba602a816132dcc66e875dddf2c62512a9f6f8cb"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Wed Aug 17 03:10:59 2005 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 16:01:50 2005 -0700"
      },
      "message": "[DCCP]: Send SYNCACK packets in response to SYNC packets\n\nAlso fix step 6 when receiving SYNC or SYNCACK packets, i.e. we were not using\nthe updated swl.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a1d3a35518779df0579dd9de0121354b49c68ddc",
      "tree": "1d99d52393b5eb2d46e306cecbaf86547cafbc6a",
      "parents": [
        "8649b0d4166e6e80ffa298e75abd8f2afdd491a6"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Sat Aug 13 22:42:25 2005 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:59:59 2005 -0700"
      },
      "message": "[DCCP]: Fix sparse warnings\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7690af3fff7633e40b1b9950eb8489129251d074",
      "tree": "92fa07234a7547c4a7dd74877972b5a291673fcf",
      "parents": [
        "c173437669967301facff151bfeb7bae67354e4c"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Sat Aug 13 20:34:54 2005 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:59:26 2005 -0700"
      },
      "message": "[DCCP]: Just reflow the source code to fit in 80 columns\n\nAndrew Morton should be happy now 8)\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "540722ffc3a0d7e11d97a13e1ce6f3bc23b061c1",
      "tree": "0d750a23bc5e5e65ae4fd7baef237476398ca2ec",
      "parents": [
        "6687e988d9aeaccad6774e6a8304f681f3ec0a03"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Wed Aug 10 05:54:28 2005 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:56:23 2005 -0700"
      },
      "message": "[TCPDIAG]: Implement cheapest way of supporting DCCPDIAG_GETSOCK\n\nWith ugly ifdefs, etc, but this actually:\n\n1. keeps the existing ABI, i.e. no need to recompile the iproute2\n   utilities if not interested in DCCP.\n\n2. Provides all the tcp_diag functionality in DCCP, with just a\n   small patch that makes iproute2 support DCCP.\n\nOf course I\u0027ll get this cleaned-up in time, but for now I think its\nOK to be this way to quickly get this functionality.\n\niproute2-ss050808 patch at:\n\nhttp://vger.kernel.org/~acme/iproute2-ss050808.dccp.patch\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    }
  ],
  "next": "64cf1e5d8b5f88d56509260e08fa0d8314277350"
}
