)]}'
{
  "log": [
    {
      "commit": "bb29624614c2afe2873ee8ee97cf09df42701694",
      "tree": "aea85e4cd6643fb47beba987849378c0e80166a0",
      "parents": [
        "8ad50d96db58c58ba67ec1c6f9d3dae0db52338a"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sun Apr 11 02:15:55 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 11 15:29:09 2010 -0700"
      },
      "message": "inet: Remove unused send_check length argument\n\ninet: Remove unused send_check length argument\n\nThis patch removes the unused length argument from the send_check\nfunction in struct inet_connection_sock_af_ops.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nTested-by: Yinghai \u003cyinghai.lu@oracle.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ec733b15a3ef0b5759141a177f8044a2f40c41e7",
      "tree": "41af80ea4dcc89cc049bd36cbd882916a6469263",
      "parents": [
        "62c97ac04a67c120ec37a9bfd445a8d5dbbc1ed2"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Mar 18 20:36:06 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Mar 21 18:34:16 2010 -0700"
      },
      "message": "net: snmp mib cleanup\n\nThere is no point to align or pad mibs to cache lines, they are per cpu\nallocated with a 8 bytes alignment anyway.\nThis wastes space for no gain. This patch removes __SNMP_MIB_ALIGN__\n\nSince SNMP mibs contain \"unsigned long\" fields only, we can relax the\nallocation alignment from \"unsigned long long\" to \"unsigned long\"\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b7058842c940ad2c08dd829b21e5c92ebe3b8758",
      "tree": "5fe78d599fc345ca0bcd4b083b79095a54b2921b",
      "parents": [
        "eb1cf0f8f7a9e5a6d573d5bd72c015686a042db0"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 30 16:12:20 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 30 16:12:20 2009 -0700"
      },
      "message": "net: Make setsockopt() optlen be unsigned.\n\nThis provides safety against negative optlen at the type\nlevel instead of depending upon (sometimes non-trivial)\nchecks against this sprinkled all over the the place, in\neach and every implementation.\n\nBased upon work done by Arjan van de Ven and feedback\nfrom Linus Torvalds.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "86739fb96e8c8269fc5b3d300c959bede272a6f6",
      "tree": "5bbb9c976a86996064d5e740e2c31da281c61a3f",
      "parents": [
        "361a5c1dd0bd7bb2b90e7fe9127b366d3566522e"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Fri Feb 27 22:38:29 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 02 03:07:23 2009 -0800"
      },
      "message": "dccp: Do not let initial option overhead shrink the MPS\n\nThis fixes a problem caused by the overlap of the connection-setup and\nestablished-state phases of DCCP connections.\n\nDuring connection setup, the client retransmits Confirm Feature-Negotiation\noptions until a response from the server signals that it can move from the\nhalf-established PARTOPEN into the OPEN state, whereupon the connection is\nfully established on both ends (RFC 4340, 8.1.5).\n\nHowever, since the client may already send data while it is in the PARTOPEN\nstate, consequences arise for the Maximum Packet Size: the problem is that the\ninitial option overhead is much higher than for the subsequent established\nphase, as it involves potentially many variable-length list-type options\n(server-priority options, RFC 4340, 6.4).\n\nApplying the standard MPS is insufficient here: especially with larger\npayloads this can lead to annoying, counter-intuitive EMSGSIZE errors.\n\nOn the other hand, reducing the MPS available for the established phase by\nthe added initial overhead is highly wasteful and inefficient.\n\nThe solution chosen therefore is a two-phase strategy:\n\n   If the payload length of the DataAck in PARTOPEN is too large, an Ack is sent\n   to carry the options, and the feature-negotiation list is then flushed.\n\n   This means that the server gets two Acks for one Response. If both Acks get\n   lost, it is probably better to restart the connection anyway and devising yet\n   another special-case does not seem worth the extra complexity.\n\nThe result is a higher utilisation of the available packet space for the data\ntransmission phase (established state) of a connection.\n\nThe patch (over-)estimates the initial overhead to be 32*4 bytes -- commonly\nseen values were around 90 bytes for initial feature-negotiation options.\n\nIt uses sizeof(u32) to mean \"aligned units of 4 bytes\".\nFor consistency, another use of 4-byte alignment is adapted.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f3f3abb62ccb1a1c77bcce855c04e12356e6ac95",
      "tree": "6b3e73207a047e600ab44bfe126132c538f4d772",
      "parents": [
        "883ca833e5fb814fb03426c9d35e5489ce43e8da"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Fri Jan 16 23:36:33 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 21 14:34:05 2009 -0800"
      },
      "message": "dccp: Debugging functions for feature negotiation\n\nSince all feature-negotiation processing now takes place in feat.c,\nfunctions for producing verbose debugging output are concentrated\nthere.\n\nNew functions to print out values, entry records, and options are\nprovided, and also a macro is defined to not always have the function\nname in the output line.\n\nThanks a lot to Wei Yongjun and Giuseppe Galeota for help and\ndiscussion with an earlier revision of this patch.\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: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "883ca833e5fb814fb03426c9d35e5489ce43e8da",
      "tree": "dcf361291b79e57195f8d89ca493c15c835b14cf",
      "parents": [
        "792b48780e8b6435d017cef4b5c304876a48653e"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Fri Jan 16 23:36:32 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 21 14:34:05 2009 -0800"
      },
      "message": "dccp: Initialisation and type-checking of feature sysctls\n\nThis patch takes care of initialising and type-checking sysctls\nrelated to feature negotiation. Type checking is important since some\nof the sysctls now directly impact the feature-negotiation process.\n\nThe sysctls are initialised with the known default values for each\nfeature.  For the type-checking the value constraints from RFC 4340\nare used:\n\n * Sequence Window uses the specified Wmin\u003d32, the maximum is ulong (4 bytes),\n   tested and confirmed that it works up to 4294967295 - for Gbps speed;\n * Ack Ratio is between 0 .. 0xffff (2-byte unsigned integer);\n * CCIDs are between 0 .. 255;\n * request_retries, retries1, retries2 also between 0..255 for good measure;\n * tx_qlen is checked to be non-negative;\n * sync_ratelimit remains as before.\n\nNotes:\n------\n 1. Die s@sysctl_dccp_feat@sysctl_dccp@g since the sysctls are now in feat.c.\n 2. As pointed out by Arnaldo, the pattern of type-checking repeats itself in\n    other places, sometimes with exactly the same kind of definitions (e.g.\n    \"static int zero;\"). It may be a good idea (kernel janitors?) to consolidate\n    type checking. For the sake of keeping the changeset small and in order not\n    to affect other subsystems, I have not strived to generalise here.\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: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "792b48780e8b6435d017cef4b5c304876a48653e",
      "tree": "6949d6058f4d84f171a339e580ca906d30d67fad",
      "parents": [
        "f90f92eed74251034f251e3cdf4fa5c4c1f09df0"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Fri Jan 16 23:36:31 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 21 14:34:04 2009 -0800"
      },
      "message": "dccp: Implement both feature-local and feature-remote Sequence Window feature\n\nThis adds full support for local/remote Sequence Window feature, from which the\n  * sequence-number-validity (W) and\n  * acknowledgment-number-validity (W\u0027) windows\nderive as specified in RFC 4340, 7.5.3.\n\nSpecifically, the following is contained in this patch:\n  * integrated new socket fields into dccp_sk;\n  * updated the update_gsr/gss routines with regard to these fields;\n  * updated handler code: the Sequence Window feature is located at the TX side,\n    so the local feature is meant if the handler-rx flag is false;\n  * the initialisation of `rcv_wnd\u0027 in reqsk is removed, since\n    - rcv_wnd is not used by the code anywhere;\n    - sequence number checks are not done in the LISTEN state (cf. 7.5.3);\n    - dccp_check_req checks the Ack number validity more rigorously;\n  * the `struct dccp_minisock\u0027 became empty and is now removed.\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: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ddebc973c56b51b4e5d84d606f0430d81b895d67",
      "tree": "cebe0e4461346072b2063132fc1d9cf8c3e148f1",
      "parents": [
        "6ea2fde13abd3444008ab5e9585f9ed249e6047e"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sun Jan 04 21:42:53 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jan 04 21:42:53 2009 -0800"
      },
      "message": "dccp: Lockless integration of CCID congestion-control plugins\n\nBased on Arnaldo\u0027s earlier patch, this patch integrates the standardised\nCCID congestion control plugins (CCID-2 and CCID-3) of DCCP with dccp.ko:\n\n * enables a faster connection path by eliminating the need to always go \n   through the CCID registration lock;\n\n * updates the implementation to use only a single array whose size equals\n   the number of configured CCIDs instead of the maximum (256);\n\n * since the CCIDs are now fixed array elements, synchronization is no\n   longer needed, simplifying use and implementation.\n\nCCID-2 is suggested as minimum for a basic DCCP implementation (RFC 4340, 10);\nCCID-3 is a standards-track CCID supported by RFC 4342 and RFC 5348.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6fdd34d43bff8be9bb925b49d87a0ee144d2ab07",
      "tree": "547cf602983db37d573d3d191ac11660f1698e8f",
      "parents": [
        "4098dce5be537a157eed4a326efd464109825b8b"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Mon Dec 08 01:19:06 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Dec 08 01:19:06 2008 -0800"
      },
      "message": "dccp ccid-2: Phase out the use of boolean Ack Vector sysctl\n\nThis removes the use of the sysctl and the minisock variable for the Send Ack\nVector feature, as it now is handled fully dynamically via feature negotiation\n(i.e. when CCID-2 is enabled, Ack Vectors are automatically enabled as per\n RFC 4341, 4.).\n\nUsing a sysctl in parallel to this implementation would open the door to\ncrashes, since much of the code relies on tests of the boolean minisock /\nsysctl variable. Thus, this patch replaces all tests of type\n\n\tif (dccp_msk(sk)-\u003edccpms_send_ack_vector)\n\t\t/* ... */\nwith\n\tif (dp-\u003edccps_hc_rx_ackvec !\u003d NULL)\n\t\t/* ... */\n\nThe dccps_hc_rx_ackvec is allocated by the dccp_hdlr_ackvec() when feature\nnegotiation concluded that Ack Vectors are to be used on the half-connection.\nOtherwise, it is NULL (due to dccp_init_sock/dccp_create_openreq_child),\nso that the test is a valid one.\n\nThe activation handler for Ack Vectors is called as soon as the feature\nnegotiation has concluded at the\n * server when the Ack marking the transition RESPOND \u003d\u003e OPEN arrives;\n * client after it has sent its ACK, marking the transition REQUEST \u003d\u003e PARTOPEN.\n\nAdding the sequence number of the Response packet to the Ack Vector has been\nremoved, since\n (a) connection establishment implies that the Response has been received;\n (b) the CCIDs only look at packets received in the (PART)OPEN state, i.e.\n     this entry will always be ignored;\n (c) it can not be used for anything useful - to detect loss for instance, only\n     packets received after the loss can serve as pseudo-dupacks.\n\nThere was a FIXME to change the error code when dccp_ackvec_add() fails.\nI removed this after finding out that:\n * the check whether ackno \u003c ISN is already made earlier,\n * this Response is likely the 1st packet with an Ackno that the client gets,\n * so when dccp_ackvec_add() fails, the reason is likely not a packet error.\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: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4098dce5be537a157eed4a326efd464109825b8b",
      "tree": "f7116e98853d805eb874c4f2345c3cce2acbfaa7",
      "parents": [
        "0049bab5e765aa74cf767a834fa336e19453fc5e"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Mon Dec 08 01:18:37 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Dec 08 01:18:37 2008 -0800"
      },
      "message": "dccp: Remove manual influence on NDP Count feature\n\nUpdating the NDP count feature is handled automatically now:\n * for CCID-2 it is disabled, since the code does not use NDP counts;\n * for CCID-3 it is enabled, as NDP counts are used to determine loss lengths.\n\nAllowing the user to change NDP values leads to unpredictable and failing\nbehaviour, since it is then possible to disable NDP counts even when they\nare needed (e.g. in CCID-3).\n\nThis means that only those user settings are sensible that agree with the\nvalues for Send NDP Count implied by the choice of CCID. But those settings\nare already activated by the feature negotiation (CCID dependency tracking),\nhence this form of support is redundant.\n\nAt startup the initialisation of the NDP count feature uses the default\nvalue of 0, which is done implicitly by the zeroing-out of the socket when\nit is allocated. If the choice of CCID or feature negotiation enables NDP\ncount, this will then be updated via the NDP activation 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: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "422d9cdcb85b3622d08a590fed66021af7aea333",
      "tree": "e40520346933d4c1d27ad7712f09bcd45fb25fca",
      "parents": [
        "b1ad00422ecba0449f8e3a8f2ec9267bc994bf8f"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Mon Dec 01 23:34:01 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Dec 01 23:34:01 2008 -0800"
      },
      "message": "dccp: Feature activation handlers\n\nThis patch provides the post-processing of feature negotiation state, after\nthe negotiation has completed.\n\nTo this purpose, handlers are used and added to the dccp_feat_table. Each\nhandler is passed a boolean flag whether the RX or TX side of the feature\nis meant.\n\nSeveral handlers are provided already, new handlers can easily be added.\n\nThe initialisation is now fully dynamic, i.e. CCIDs are activated only\nafter the feature negotiation. The integration of this dynamic activation\nis done in the subsequent patches.\n\nThanks to Wei Yongjun for pointing out the necessity of skipping over empty\nConfirm options while copying the negotiated feature values.\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: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0971d17ca3d80f61863f4750091a64448bf91600",
      "tree": "4f4a4f334b382c873462788adf915e85230f5363",
      "parents": [
        "25f13048bce61f33f6a102e0bf377fd3922ed364"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Mon Dec 01 23:27:31 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Dec 01 23:27:31 2008 -0800"
      },
      "message": "dccp: Insert feature-negotiation options into skb\n\nThis patch replaces the earlier insertion routine from options.c, so that\ncode specific to feature negotiation can remain in feat.c. This is possible\nby calling a function already existing in options.c.\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: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dd24c00191d5e4a1ae896aafe33c6b8095ab4bd1",
      "tree": "e955c09e0b288e50c706b6ee409229d5a930c80c",
      "parents": [
        "1748376b6626acf59c24e9592ac67b3fe2a0e026"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Tue Nov 25 21:17:14 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 21:17:14 2008 -0800"
      },
      "message": "net: Use a percpu_counter for orphan_count\n\nInstead of using one atomic_t per protocol, use a percpu_counter\nfor \"orphan_count\", to reduce cache line contention on\nheavy duty network servers. \n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dd9c0e363cef32b7d6f23d4c87e8dfe4f91fd1c5",
      "tree": "2ae48a033a925169f0fd71bdc18a683a308f46c4",
      "parents": [
        "29450559849da7066813601effb7666966869853"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sun Nov 16 22:55:08 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 16 22:55:08 2008 -0800"
      },
      "message": "dccp: Deprecate Ack Ratio sysctl\n\nThis patch deprecates the Ack Ratio sysctl, since\n * Ack Ratio is entirely ignored by CCID-3 and CCID-4,\n * Ack Ratio currently doesn\u0027t work in CCID-2 (i.e. is always set to 1);\n * even if it would work in CCID-2, there is no point for a user to change it:\n   - Ack Ratio is constrained by cwnd (RFC 4341, 6.1.2),\n   - if Ack Ratio \u003e cwnd, the system resorts to spurious RTO timeouts\n     (since waiting for Acks which will never arrive in this window),\n   - cwnd is not a user-configurable value.\n\nThe only reasonable place for Ack Ratio is to print it for debugging. It is\nplanned to do this later on, as part of e.g. dccp_probe.\n\nWith this patch Ack Ratio is now under full control of feature negotiation:\n * Ack Ratio is resolved as a dependency of the selected CCID;\n * if the chosen CCID supports it (i.e. CCID \u003d\u003d CCID-2), Ack Ratio is set to\n   the default of 2, following RFC 4340, 11.3 - \"New connections start with Ack\n   Ratio 2 for both endpoints\";\n * what happens then is part of another patch set, since it concerns the\n   dynamic update of Ack Ratio while the connection is in full flight.\n\nThanks to Tomasz Grobelny for discussion leading up to this patch.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nAcked-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0c1168398ecbfacbb27203b281bde20ec9f78017",
      "tree": "3298379e950bba174b46e53102f265829340fa6d",
      "parents": [
        "3f2c31d90327f21d76d296af34aa4ca547932ff4"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sun Nov 16 22:49:52 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 16 22:49:52 2008 -0800"
      },
      "message": "dccp: Mechanism to resolve CCID dependencies\n\nThis adds a hook to resolve features whose value depends on the choice of\nCCID. It is done at the server since it can only be done after the CCID\nvalues have been negotiated; i.e. the client will add its CCID preference\nlist on the Change options sent in the Request, which will be reconciled\nwith the local preference list of the server.\n\nThe concept is documented on\nhttp://www.erg.abdn.ac.uk/users/gerrit/dccp/notes/feature_negotiation/\\\n\t\t\t\timplementation_notes.html#ccid_dependencies\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: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9eca0a47dee201a73967026985b5f0a79a46bd36",
      "tree": "beb39fbd3c28865705d7409aa35fd59914257da9",
      "parents": [
        "d90ebcbfa7f5a8b4e20518c9f94c5c4e4cd3c2e5"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Wed Nov 12 00:48:44 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 12 00:48:44 2008 -0800"
      },
      "message": "dccp: Resolve dependencies of features on choice of CCID\n\nThis provides a missing link in the code chain, as several features implicitly\ndepend and/or rely on the choice of CCID. Most notably, this is the Send Ack Vector\nfeature, but also Ack Ratio and Send Loss Event Rate (also taken care of).\n\nFor Send Ack Vector, the situation is as follows:\n * since CCID2 mandates the use of Ack Vectors, there is no point in allowing \n   endpoints which use CCID2 to disable Ack Vector features such a connection;\n\n * a peer with a TX CCID of CCID2 will always expect Ack Vectors, and a peer\n   with a RX CCID of CCID2 must always send Ack Vectors (RFC 4341, sec. 4);\n\n * for all other CCIDs, the use of (Send) Ack Vector is optional and thus\n   negotiable. However, this implies that the code negotiating the use of Ack\n   Vectors also supports it (i.e. is able to supply and to either parse or\n   ignore received Ack Vectors). Since this is not the case (CCID-3 has no Ack\n   Vector support), the use of Ack Vectors is here disabled, with a comment\n   in the source code.\n\nAn analogous consideration arises for the Send Loss Event Rate feature,\nsince the CCID-3 implementation does not support the loss interval options\nof RFC 4342. To make such use explicit, corresponding feature-negotiation\noptions are inserted which signal the use of the loss event rate option,\nas it is used by the CCID3 code.\n\nLastly, the values of the Ack Ratio feature are matched to the choice of CCID.\n\nThe patch implements this as a function which is called after the user has\nmade all other registrations for changing default values of features.\n\nThe table is variable-length, the reserved (and hence for feature-negotiation\ninvalid, confirmed by considering section 19.4 of RFC 4340) feature number `0\u0027\nis used to mark the end of the table.\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: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ac75773c2742d82cbcb078708df406e9017224b7",
      "tree": "7e7b1aa5131c4a61aabd9d86d7332eca98d66a89",
      "parents": [
        "61e6473efbd6087e1db3aaa93a5266c5bfd8aa99"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Tue Nov 04 23:55:49 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 04 23:55:49 2008 -0800"
      },
      "message": "dccp: Per-socket initialisation of feature negotiation\n\nThis provides feature-negotiation initialisation for both DCCP sockets\nand DCCP request_sockets, to support feature negotiation during\nconnection setup.\n\nIt also resolves a FIXME regarding the congestion control\ninitialisation.\n\nThanks to Wei Yongjun for help with the IPv6 side of this patch.\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: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "61e6473efbd6087e1db3aaa93a5266c5bfd8aa99",
      "tree": "4717cfb41ad603d5def3db557628e5d96a918e63",
      "parents": [
        "7d43d1a0f2cf535167ec7247f110a1f85cecac43"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Tue Nov 04 23:54:04 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 04 23:54:04 2008 -0800"
      },
      "message": "dccp: List management for new feature negotiation\n\nThis adds list initial fields and list management functions for the\nnew feature negotiation implementation.\n\nThanks to Arnaldo for suggestions and improvements.\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: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6edafaaf6f5e70ef1e620ff01bd6bacebe1e0718",
      "tree": "a470cdfd59d88ccf4acf4726db6b5d8d4df88da7",
      "parents": [
        "ee7af8264dafa0c8c76a8dc596803966c2e29ebc"
      ],
      "author": {
        "name": "Gui Jianfeng",
        "email": "guijianfeng@cn.fujitsu.com",
        "time": "Wed Aug 06 23:50:04 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 06 23:50:04 2008 -0700"
      },
      "message": "tcp: Fix kernel panic when calling tcp_v(4/6)_md5_do_lookup\n\nIf the following packet flow happen, kernel will panic.\nMathineA\t\t\tMathineB\n\t\tSYN\n\t----------------------\u003e    \n        \tSYN+ACK\n\t\u003c----------------------\n\t\tACK(bad seq)\n\t----------------------\u003e\nWhen a bad seq ACK is received, tcp_v4_md5_do_lookup(skb-\u003esk, ip_hdr(skb)-\u003edaddr))\nis finally called by tcp_v4_reqsk_send_ack(), but the first parameter(skb-\u003esk) is \nNULL at that moment, so kernel panic happens.\nThis patch fixes this bug.\n\nOOPS output is as following:\n[  302.812793] IP: [\u003cc05cfaa6\u003e] tcp_v4_md5_do_lookup+0x12/0x42\n[  302.817075] Oops: 0000 [#1] SMP \n[  302.819815] Modules linked in: ipv6 loop dm_multipath rtc_cmos rtc_core rtc_lib pcspkr pcnet32 mii i2c_piix4 parport_pc i2c_core parport ac button ata_piix libata dm_mod mptspi mptscsih mptbase scsi_transport_spi sd_mod scsi_mod crc_t10dif ext3 jbd mbcache uhci_hcd ohci_hcd ehci_hcd [last unloaded: scsi_wait_scan]\n[  302.849946] \n[  302.851198] Pid: 0, comm: swapper Not tainted (2.6.27-rc1-guijf #5)\n[  302.855184] EIP: 0060:[\u003cc05cfaa6\u003e] EFLAGS: 00010296 CPU: 0\n[  302.858296] EIP is at tcp_v4_md5_do_lookup+0x12/0x42\n[  302.861027] EAX: 0000001e EBX: 00000000 ECX: 00000046 EDX: 00000046\n[  302.864867] ESI: ceb69e00 EDI: 1467a8c0 EBP: cf75f180 ESP: c0792e54\n[  302.868333]  DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068\n[  302.871287] Process swapper (pid: 0, ti\u003dc0792000 task\u003dc0712340 task.ti\u003dc0746000)\n[  302.875592] Stack: c06f413a 00000000 cf75f180 ceb69e00 00000000 c05d0d86 000016d0 ceac5400 \n[  302.883275]        c05d28f8 000016d0 ceb69e00 ceb69e20 681bf6e3 00001000 00000000 0a67a8c0 \n[  302.890971]        ceac5400 c04250a3 c06f413a c0792eb0 c0792edc cf59a620 cf59a620 cf59a634 \n[  302.900140] Call Trace:\n[  302.902392]  [\u003cc05d0d86\u003e] tcp_v4_reqsk_send_ack+0x17/0x35\n[  302.907060]  [\u003cc05d28f8\u003e] tcp_check_req+0x156/0x372\n[  302.910082]  [\u003cc04250a3\u003e] printk+0x14/0x18\n[  302.912868]  [\u003cc05d0aa1\u003e] tcp_v4_do_rcv+0x1d3/0x2bf\n[  302.917423]  [\u003cc05d26be\u003e] tcp_v4_rcv+0x563/0x5b9\n[  302.920453]  [\u003cc05bb20f\u003e] ip_local_deliver_finish+0xe8/0x183\n[  302.923865]  [\u003cc05bb10a\u003e] ip_rcv_finish+0x286/0x2a3\n[  302.928569]  [\u003cc059e438\u003e] dev_alloc_skb+0x11/0x25\n[  302.931563]  [\u003cc05a211f\u003e] netif_receive_skb+0x2d6/0x33a\n[  302.934914]  [\u003cd0917941\u003e] pcnet32_poll+0x333/0x680 [pcnet32]\n[  302.938735]  [\u003cc05a3b48\u003e] net_rx_action+0x5c/0xfe\n[  302.941792]  [\u003cc042856b\u003e] __do_softirq+0x5d/0xc1\n[  302.944788]  [\u003cc042850e\u003e] __do_softirq+0x0/0xc1\n[  302.948999]  [\u003cc040564b\u003e] do_softirq+0x55/0x88\n[  302.951870]  [\u003cc04501b1\u003e] handle_fasteoi_irq+0x0/0xa4\n[  302.954986]  [\u003cc04284da\u003e] irq_exit+0x35/0x69\n[  302.959081]  [\u003cc0405717\u003e] do_IRQ+0x99/0xae\n[  302.961896]  [\u003cc040422b\u003e] common_interrupt+0x23/0x28\n[  302.966279]  [\u003cc040819d\u003e] default_idle+0x2a/0x3d\n[  302.969212]  [\u003cc0402552\u003e] cpu_idle+0xb2/0xd2\n[  302.972169]  \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n[  302.974274] Code: fc ff 84 d2 0f 84 df fd ff ff e9 34 fe ff ff 83 c4 0c 5b 5e 5f 5d c3 90 90 57 89 d7 56 53 89 c3 50 68 3a 41 6f c0 e8 e9 55 e5 ff \u003c8b\u003e 93 9c 04 00 00 58 85 d2 59 74 1e 8b 72 10 31 db 31 c9 85 f6 \n[  303.011610] EIP: [\u003cc05cfaa6\u003e] tcp_v4_md5_do_lookup+0x12/0x42 SS:ESP 0068:c0792e54\n[  303.018360] Kernel panic - not syncing: Fatal exception in interrupt\n\nSigned-off-by: Gui Jianfeng \u003cguijianfeng@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "59435444a13ed52d3444c5df26b73d3086bcd57b",
      "tree": "72846dbcb8c6c41e6d630bcb81297801dfe7fb16",
      "parents": [
        "cdec7e50a4896c5197d5575d9ca635eea6825149"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sat Jul 26 11:59:09 2008 +0100"
      },
      "committer": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sat Jul 26 11:59:09 2008 +0100"
      },
      "message": "dccp: Allow to distinguish original and retransmitted packets\n\nThis patch allows the sender to distinguish original and retransmitted packets,\nwhich is in particular needed for the retransmission of DCCP-Requests:\n * the first Request uses ISS (generated in net/dccp/ip*.c), and sets GSS \u003d ISS;\n * all retransmitted Requests use GSS\u0027 \u003d GSS + 1, so that the n-th retransmitted\n   Request has sequence number ISS + n (mod 48).\n\nTo add generic support, the patch reorganises existing code so that:\n * icsk_retransmits \u003d\u003d 0     for the original packet and\n * icsk_retransmits \u003d n \u003e 0  for the n-th retransmitted packet\nat the time dccp_transmit_skb() is called, via dccp_retransmit_skb().\n \nThanks to Wei Yongjun for pointing this problem out.\n\nFurther changes:\n----------------\n * removed the `skb\u0027 argument from dccp_retransmit_skb(), since sk_send_head\n   is used for all retransmissions (the exception is client-Acks in PARTOPEN\n   state, but these do not use sk_send_head);\n * since sk_send_head always contains the original skb (via dccp_entail()),\n   skb_cloned() never evaluated to true and thus pskb_copy() was never used.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\n"
    },
    {
      "commit": "547b792cac0a038b9dbf958d3c120df3740b5572",
      "tree": "08554d083b0ca7d65739dc1ce12f9b12a9b8e1f8",
      "parents": [
        "53e5e96ec18da6f65e89f05674711e1c93d8df67"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Fri Jul 25 21:43:18 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 25 21:43:18 2008 -0700"
      },
      "message": "net: convert BUG_TRAP to generic WARN_ON\n\nRemoves legacy reinvent-the-wheel type thing. The generic\nmachinery integrates much better to automated debugging aids\nsuch as kerneloops.org (and others), and is unambiguous due to\nbetter naming. Non-intuively BUG_TRAP() is actually equal to\nWARN_ON() rather than BUG_ON() though some might actually be\npromoted to BUG_ON() but I left that to future.\n\nI could make at least one BUILD_BUG_ON conversion.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2013c7e35aeba39777f9b3eef8a70207b3931152",
      "tree": "5d63ce9f8c512ffd17b8084002e6dc0e0f998b84",
      "parents": [
        "79d16385c7f287a33ea771c4dbe60ae43f791b49"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sun Jul 13 11:51:40 2008 +0100"
      },
      "committer": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sun Jul 13 11:51:40 2008 +0100"
      },
      "message": "dccp ccid-3: Fix error in loss detection\n\nThe TFRC loss detection code used the wrong loss condition (RFC 4340, 7.7.1):\n * the difference between sequence numbers s1 and s2 instead of \n * the number of packets missing between s1 and s2 (one less than the distance).\n\nSince this condition appears in many places of the code, it has been put into a\nseparate function, dccp_loss_free().\n\nFurther changes:\n----------------\n * tidied up incorrect typing (it was using `int\u0027 for u64/s64 types);\n * optimised conditional statements for common case of non-reordered packets;\n * rewrote comments/documentation to match the changes.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\n"
    },
    {
      "commit": "7d06b2e053d2d536348e3a0f6bb02982a41bea37",
      "tree": "ec6a5c3f448e84cd431a0397b9e2a87ca25aec17",
      "parents": [
        "4ae127d1b6c71f9240dd4245f240e6dd8fc98014"
      ],
      "author": {
        "name": "Brian Haley",
        "email": "brian.haley@hp.com",
        "time": "Sat Jun 14 17:04:49 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jun 14 17:04:49 2008 -0700"
      },
      "message": "net: change proto destroy method to return void\n\nChange struct proto destroy function pointer to return void.  Noticed\nby Al Viro.\n\nSigned-off-by: Brian Haley \u003cbrian.haley@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "df39e8ba56a788733d369068c7319e04b1da3cd5",
      "tree": "1e9be853bdb455e341cdbf957656f342cfa2eb9e",
      "parents": [
        "f5572855ec492334d8c3ec0e0e86c31865d5cf07",
        "159d83363b629c91d020734207c1bc788b96af5a"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 14 02:30:23 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 14 02:30:23 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\n\tdrivers/net/ehea/ehea_main.c\n\tdrivers/net/wireless/iwlwifi/Kconfig\n\tdrivers/net/wireless/rt2x00/rt61pci.c\n\tnet/ipv4/inet_timewait_sock.c\n\tnet/ipv6/raw.c\n\tnet/mac80211/ieee80211_sta.c\n"
    },
    {
      "commit": "028b027524b162eef90839a92ba4b8bddf23e06c",
      "tree": "5c128717f73ff6fb93c361cfae6961267ed52082",
      "parents": [
        "ae1b6a31b1f9ef2c7ba5ef89799f210a9ba6937c"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Sat Apr 12 18:35:41 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Apr 12 18:35:41 2008 -0700"
      },
      "message": "[DCCP]: Fix skb-\u003ecb conflicts with IP\n\ndev_queue_xmit() and the other IP output functions expect to get a skb\nwith clear or properly initialized skb-\u003ecb. Unlike TCP and UDP, the\ndccp_skb_cb doesn\u0027t contain a struct inet_skb_parm at the beginning,\nso the DCCP-specific data is interpreted by the IP output functions.\nThis can cause false negatives for the conditional POST_ROUTING hook\ninvocation, making the packet bypass the hook.\n\nAdd a inet_skb_parm/inet6_skb_parm union to the beginning of\ndccp_skb_cb to avoid clashes. Also add a BUILD_BUG_ON to make\nsure it fits in the cb.\n\n[ Combined with patch from Gerrit Renker to remove two now unnecessary\n  memsets of IPCB(skb)-\u003eopt ]\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nAcked-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7630f026810a63464e47391ab1e03674c33eb1b8",
      "tree": "05ff3b2f6a750e659de4484c4b825953ecce1659",
      "parents": [
        "14c0c8e8e0fb85e7a57e88606c009377746b39d9"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Thu Apr 03 14:20:52 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 03 14:20:52 2008 -0700"
      },
      "message": "[DCCP]: Replace socket with sock for reset sending.\n\nReplace dccp_v(4|6)_ctl_socket with sock to unify a code with TCP/ICMP.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nAcked-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0dc47877a3de00ceadea0005189656ae8dc52669",
      "tree": "7440a87385fe318cb42f0ae161be195f5e967d82",
      "parents": [
        "6387c4bed539539b05fa773cf2ff26529dc3074c"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Wed Mar 05 20:47:47 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 05 20:47:47 2008 -0800"
      },
      "message": "net: replace remaining __FUNCTION__ occurrences\n\n__FUNCTION__ is gcc-specific, use __func__\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ab1e0a13d70299e792fd0527cefd070c1405fa5b",
      "tree": "d470e7b94b0e33ea59b12713366f1bee0b94f78c",
      "parents": [
        "9dc7f30e3bac329998a2a9bb814bd0abc7cb58e2"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Sun Feb 03 04:06:04 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Feb 03 04:28:52 2008 -0800"
      },
      "message": "[SOCK] proto: Add hashinfo member to struct proto\n\nThis way we can remove TCP and DCCP specific versions of\n\nsk-\u003esk_prot-\u003eget_port: both v4 and v6 use inet_csk_get_port\nsk-\u003esk_prot-\u003ehash:     inet_hash is directly used, only v6 need\n                       a specific version to deal with mapped sockets\nsk-\u003esk_prot-\u003eunhash:   both v4 and v6 use inet_hash directly\n\nstruct inet_connection_sock_af_ops also gets a new member, bind_conflict, so\nthat inet_csk_get_port can find the per family routine.\n\nNow only the lookup routines receive as a parameter a struct inet_hashtable.\n\nWith this we further reuse code, reducing the difference among INET transport\nprotocols.\n\nEventually work has to be done on UDP and SCTP to make them share this\ninfrastructure and get as a bonus inet_diag interfaces so that iproute can be\nused with these protocols.\n\nnet-2.6/net/ipv4/inet_hashtables.c:\n  struct proto\t\t\t     |   +8\n  struct inet_connection_sock_af_ops |   +8\n 2 structs changed\n  __inet_hash_nolisten               |  +18\n  __inet_hash                        | -210\n  inet_put_port                      |   +8\n  inet_bind_bucket_create            |   +1\n  __inet_hash_connect                |   -8\n 5 functions changed, 27 bytes added, 218 bytes removed, diff: -191\n\nnet-2.6/net/core/sock.c:\n  proto_seq_show                     |   +3\n 1 function changed, 3 bytes added, diff: +3\n\nnet-2.6/net/ipv4/inet_connection_sock.c:\n  inet_csk_get_port                  |  +15\n 1 function changed, 15 bytes added, diff: +15\n\nnet-2.6/net/ipv4/tcp.c:\n  tcp_set_state                      |   -7\n 1 function changed, 7 bytes removed, diff: -7\n\nnet-2.6/net/ipv4/tcp_ipv4.c:\n  tcp_v4_get_port                    |  -31\n  tcp_v4_hash                        |  -48\n  tcp_v4_destroy_sock                |   -7\n  tcp_v4_syn_recv_sock               |   -2\n  tcp_unhash                         | -179\n 5 functions changed, 267 bytes removed, diff: -267\n\nnet-2.6/net/ipv6/inet6_hashtables.c:\n  __inet6_hash |   +8\n 1 function changed, 8 bytes added, diff: +8\n\nnet-2.6/net/ipv4/inet_hashtables.c:\n  inet_unhash                        | +190\n  inet_hash                          | +242\n 2 functions changed, 432 bytes added, diff: +432\n\nvmlinux:\n 16 functions changed, 485 bytes added, 492 bytes removed, diff: -7\n\n/home/acme/git/net-2.6/net/ipv6/tcp_ipv6.c:\n  tcp_v6_get_port                    |  -31\n  tcp_v6_hash                        |   -7\n  tcp_v6_syn_recv_sock               |   -9\n 3 functions changed, 47 bytes removed, diff: -47\n\n/home/acme/git/net-2.6/net/dccp/proto.c:\n  dccp_destroy_sock                  |   -7\n  dccp_unhash                        | -179\n  dccp_hash                          |  -49\n  dccp_set_state                     |   -7\n  dccp_done                          |   +1\n 5 functions changed, 1 bytes added, 242 bytes removed, diff: -241\n\n/home/acme/git/net-2.6/net/dccp/ipv4.c:\n  dccp_v4_get_port                   |  -31\n  dccp_v4_request_recv_sock          |   -2\n 2 functions changed, 33 bytes removed, diff: -33\n\n/home/acme/git/net-2.6/net/dccp/ipv6.c:\n  dccp_v6_get_port                   |  -31\n  dccp_v6_hash                       |   -7\n  dccp_v6_request_recv_sock          |   +5\n 3 functions changed, 5 bytes added, 38 bytes removed, diff: -33\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a07a5a86d091699fd5e791765b8a79e6b1ef96cb",
      "tree": "95540f4a233271a8066b01f339c853a8277f12fe",
      "parents": [
        "52515e77a7a69867c479db4c9efb6be832b82179"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Mon Dec 17 12:58:04 2007 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:58:24 2008 -0800"
      },
      "message": "[DCCP]: Remove unused inline function\n\nThe function follows48(), which is a special-case of dccp_delta_seqno(),\nis nowhere used in the DCCP code, thus removed 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": "af3b867e2f6b72422bc7aacb1f1e26f47a9649bc",
      "tree": "c675b01b9f1ae5099ea0be7c13942f6e2a98a676",
      "parents": [
        "b4d4f7c70fd3361c6c889752e08ea9be304cf5f4"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Thu Dec 13 12:38:11 2007 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:57:52 2008 -0800"
      },
      "message": "[DCCP]: Support inserting options during the 3-way handshake\n\nThis provides a separate routine to insert options during the initial handshake.\nThe main purpose is to conduct feature negotiation, for the moment the only user\nis the timestamp echo needed for the (CCID3) handshake RTT sample.\n\nPadding of options has been put into a small separate routine, to be shared among\nthe two functions. This could also be used as a generic routine to finish inserting\noptions.\n\nAlso removed an `XXX\u0027 comment since its content was obvious.\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": "28be5440044d5b19b0331f79fb3e81845ad6d77e",
      "tree": "859ca1c5cc4fe3787b67e26e6b19f0a6b4900278",
      "parents": [
        "92d31920b84f258badf206eea8aaf5ac677ac535"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Thu Dec 13 12:16:23 2007 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:57:47 2008 -0800"
      },
      "message": "[DCCP]: Use maximum-RTO backoff from DCCP spec\n\nThis removes another Fixme, using the TCP maximum RTO rather than the value\nspecified by the DCCP specification. Across the sections in RFC 4340, 64\nseconds is consistently suggested as maximum RTO backoff value; and this is\nthe value which is now used.\n\nI have checked both termination cases for retransmissions of Close/CloseReq:\nwith the default value 15 of `retries2\u0027, and an initial icsk_retransmit \u003d 0,\nit takes about 614 seconds to declare a non-responding peer as dead, after\nwhich the final terminating Reset is sent. With the TCP maximum RTO value of\n120 seconds it takes (as might be expected) almost twice as long, about 23\nminutes.\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": "954c2db868ce896325dced91d5fba5e2226897a4",
      "tree": "d74b480530878c25eb770293d786f2e78ace90e7",
      "parents": [
        "de0d411cb8ea51175f52d935faead5c542b6e007"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Wed Dec 12 14:06:14 2007 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:57:20 2008 -0800"
      },
      "message": "[CCID3]: Interface CCID3 code with newer Loss Intervals Database\n\nThis hooks up the TFRC Loss Interval database with CCID 3 packet reception.\nIn addition, it makes the CCID-specific computation of the first loss\ninterval (which requires access to all the guts of CCID3) local to ccid3.c.\n\nThe patch also fixes an omission in the DCCP code, that of a default /\nfallback RTT value (defined in section 3.4 of RFC 4340 as 0.2 sec); while\nat it, the  upper bound of 4 seconds for an RTT sample has  been reduced to\nmatch the initial TCP RTO value of 3 seconds from[RFC 1122, 4.2.3.1].\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": "2180c41ca5c1a36c67f4140e80154699333109d2",
      "tree": "77438292f56f848fea4cb44f097234a1f3c9acf7",
      "parents": [
        "c40616c597bf02a2346cbf2f120283734b436245"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Thu Dec 06 12:27:15 2007 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:56:40 2008 -0800"
      },
      "message": "[DCCP]: Introduce generic function to test for `data packets\u0027\n\nas per  RFC 4340, sec. 7.7.\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": "a94f0f970549e63e54c80c4509db299c514d8c11",
      "tree": "3b9421fc70e00c16ed57ef4330b24504b04ae309",
      "parents": [
        "ee1a15922d356aff0e31bf9bb9088ab346b8033a"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Wed Sep 26 11:31:49 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:52:43 2007 -0700"
      },
      "message": "[DCCP]: Rate-limit DCCP-Syncs\n\nThis implements a SHOULD from RFC 4340, 7.5.4:\n \"To protect against denial-of-service attacks, DCCP implementations SHOULD\n  impose a rate limit on DCCP-Syncs sent in response to sequence-invalid packets,\n  such as not more than eight DCCP-Syncs per second.\"\n\nThe rate-limit is maintained on a per-socket basis. This is a more stringent\npolicy than enforcing the rate-limit on a per-source-address basis and\nprotects against attacks with forged source addresses.\n\nMoreover, the mechanism is deliberately kept simple. In contrast to\nxrlim_allow(), bursts of Sync packets in reply to sequence-invalid packets\nare not supported.  This foils such attacks where the receipt of a Sync\ntriggers further sequence-invalid packets. (I have tested this mechanism against\nxrlim_allow algorithm for Syncs, permitting bursts just increases the problems.)\n\nIn order to keep flexibility, the timeout parameter can be set via sysctl; and\nthe whole mechanism can even be disabled (which is however not recommended).\n\nThe algorithm in this patch has been improved with regard to wrapping issues\nthanks to a suggestion by Arnaldo.\n\nCommiter note: Rate limited the step 6 DCCP_WARN too, as it says we\u0027re\n               sending a sync.\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": "0430ee3451f4589b68f522552b1896825f2043b3",
      "tree": "f96e46fa079d90a51a4fc5b912d271470b489668",
      "parents": [
        "727ecc5faaf6e976fc841649821c865ebd1e822d"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Wed Sep 26 11:27:56 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:52:42 2007 -0700"
      },
      "message": "[DCCP]: Add Support for Data 1 .. 3 fields of Reset packets\n\nThis adds fields to support the informational Data 1..3 fields of the\nDCCP-Reset packets (RFC 4340, 5.6), and makes minor cosmetic changes\nto documentation.\nCode which fills in these fields follows in subsequent patches, it is\nprimarily used for reporting option-processing and feature-negotiation\nerrors.\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": "727ecc5faaf6e976fc841649821c865ebd1e822d",
      "tree": "7e12432db774b0278fb641b44f4528f523094ad4",
      "parents": [
        "2e86908f7dfb71b67ca4739d9a6c678b83b01078"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Wed Sep 26 11:26:04 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:52:41 2007 -0700"
      },
      "message": "[DCCP]: Add FIXME for send_delayed_ack\n\nThis adds a FIXME to signal that the function dccp_send_delayed_ack is nowhere\nused in the entire DCCP/CCID code.\n\nUsing a delayed Ack timer is suggested in 11.3 of RFC 4340, but it has also\nrather subtle implications for the Ack-Ratio-accounting.\n\nCCID2 does not use this (maybe it should).\n\nI think leaving the function in is good, in case someone wants to implement\nthis.\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": "3393da8241ae3a53e183ba15f8bd822995ec97cd",
      "tree": "28e6d2823d901976844982319e4c53b76a55967c",
      "parents": [
        "4c70f383e0c0273c4092c4efdb414be0966978b7"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Tue Sep 25 22:40:44 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:52:35 2007 -0700"
      },
      "message": "[DCCP]: Simplify interface of dccp_sample_rtt\n\nThe third parameter of dccp_sample_rtt now becomes useless and is removed.\n\nAlso combined the subtraction of the timestamp echo and the elapsed time.\nThis is safe, since (a) presence of timestamp echo is tested first and (b)\nelapsed time is either present and non-zero or it is not set and equals 0\ndue to the memset in dccp_parse_options.\n\nTo avoid measuring option-processing time, the timestamp for measuring the\ninitial Request/Response RTT sample is taken directly when the function is\ncalled (the Linux implementation always adds a timestamp on the Request,\nso there is no loss in doing this).\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\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4c70f383e0c0273c4092c4efdb414be0966978b7",
      "tree": "733cc2497ec68c74d42ed6d8f6978b24152a3de0",
      "parents": [
        "aa97efd97acefb7d3dcd864adb878c7ce34061b3"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Tue Sep 25 22:40:13 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:52:35 2007 -0700"
      },
      "message": "[DCCP]: Provide 10s of microsecond timesource\n\nThis provides a timesource, conveniently used for DCCP timestamps, which\nreturns the elapsed time in 10s of microseconds since initialisation.\nThis makes for a wrap-around time of about 11.9 hours, which should be\nsufficient for most applications.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6168b96c07d8d40f83622cfb488ca27e4178a603",
      "tree": "408cac4cea814262be6909d9e359c242dc590b17",
      "parents": [
        "8fb8354af9b92ce3bd41083995f1fe26024d0959"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@ghostprotocols.net",
        "time": "Sun Aug 19 17:19:44 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:17 2007 -0700"
      },
      "message": "[DCCP]: Nuke the timeval helpers now that we fully converted to ktime_t\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8fb8354af9b92ce3bd41083995f1fe26024d0959",
      "tree": "62d1920b5ed158e28d96691637d82a2a4fd58dc5",
      "parents": [
        "234748954a9880cce8a065698dcbf692f9c23918"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@ghostprotocols.net",
        "time": "Sun Aug 19 17:19:21 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:17 2007 -0700"
      },
      "message": "[DCCP]: Nuke dccp_timestamp and dccps_epoch, not used anymore\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9823b7b5542858afe5b6a1e2df83b3847c28f3d6",
      "tree": "14be62612143fbcec66cd1b28a1d76564c578453",
      "parents": [
        "a272378d1128d1c60a463a315646c86d174ff74c"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@ghostprotocols.net",
        "time": "Sun Aug 19 17:16:35 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:13 2007 -0700"
      },
      "message": "[DCCP]: Convert dccp_sample_rtt to ktime_t\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e961811fcde4202ae5c3c9ce81dcfc244e8959bb",
      "tree": "8d289d7c5c4f0724e454170b16fb42889587d541",
      "parents": [
        "b2f41ff4139c0df8d06f352acc962a62fc07a0c3"
      ],
      "author": {
        "name": "Ian McDonald",
        "email": "ian.mcdonald@jandi.co.nz",
        "time": "Mon May 28 16:32:26 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jul 10 22:15:05 2007 -0700"
      },
      "message": "Fix dccp_sum_coverage\n\nWhen compiling with EXTRA_CFLAGS\u003d-W notice that we have signed/unsigned issue\nin dccp.h.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nSigned-off-by: Ian McDonald \u003cian.mcdonald@jandi.co.nz\u003e\n"
    },
    {
      "commit": "4712a792ee661921374c163eb6a4d06e33fd305f",
      "tree": "0c5ecf7973a195bff36101904417bb7b90fd18aa",
      "parents": [
        "0c150efb280986db7958cf2a559b91d826241e59"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Tue Mar 20 15:23:18 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:27:00 2007 -0700"
      },
      "message": "[DCCP]: Provide function for RTT sampling\n\nA recurring problem, in particular in the CCID code, is that RTT samples\nfrom packets with timestamp echo and elapsed time options need to be taken.\n\nThis service is provided via a new function dccp_sample_rtt in this patch.\nFurthermore, to protect against `insane\u0027 RTT samples, the sampled value\nis bounded between 100 microseconds and 4 seconds - for which u32 is sufficient.\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": "ac12b0c49571fe4c3a2f4957ed494da316d558be",
      "tree": "47f6b91bb2c36f954800ae795344288ee3755a9a",
      "parents": [
        "1266adee12d25385a25e1c57b1e3ff05a90bb4d7"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Tue Mar 20 14:59:23 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:53 2007 -0700"
      },
      "message": "[DCCP]: Always use debug-toggle parameters\n\nCurrently debugging output (when configured) is automatically enabled when\nDCCP modules are compiled into the kernel rather than built as loadable modules.\nThis is not necessary, since the module parameters in this case become kernel\ncommandline parameters, e.g. DCCP or CCID3 debug output can be enabled for a\nstatic build by appending the following at the boot prompt:\n\n\tdccp.dccp_debug\u003d1 \tdccp_ccid3.ccid3_debug\u003d1\n\nThis patch therefore does away with the more complicated way of always enabling\ndebug output for static builds\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b16be51b5e5d75cec71b18ebc75f15a4734c62ad",
      "tree": "2e7cd0225a4d30895d0b188c97e563de149cbe72",
      "parents": [
        "d52de17b8cf36d43a9d6977e7861a9f415541c6b"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Tue Mar 20 13:03:47 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:45 2007 -0700"
      },
      "message": "[DCCP]: Fix for follows48\n\nThe follows48 relation identifies whether 48-bit sequence number\nx is the direct successor of y. Currently, it does not handle cases\nof the following type correctly:\n\n\tfollows48(0x(prefix)10000LL, 0x(prefix)0FFFFLL)\n\nwhere prefix is an arbitrary hex sequence of up to 7 digits.\n\nThis is fixed by reusing the new dccp_delta_seqno function.\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\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d52de17b8cf36d43a9d6977e7861a9f415541c6b",
      "tree": "9746b89deb8b48b043a2de4016145c97f45765ad",
      "parents": [
        "0aec51c86986f61de26dd04913667af544a8b8eb"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Tue Mar 20 13:00:26 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:44 2007 -0700"
      },
      "message": "[DCCP]: Make `before\u0027 relation unambiguous\n\nProblem:\n"
    },
    {
      "commit": "0aec51c86986f61de26dd04913667af544a8b8eb",
      "tree": "41c39d76acc58b8cebf7e36d69b7b528bb245289",
      "parents": [
        "6b811d43f6cc9eccdfc011a99f8571df2abc46d1"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Tue Mar 20 12:45:59 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:43 2007 -0700"
      },
      "message": "[DCCP]: Make dccp_delta_seqno return signed numbers\n\nProblem:\n"
    },
    {
      "commit": "6b811d43f6cc9eccdfc011a99f8571df2abc46d1",
      "tree": "58e7f27415faf9ad6761bab6e51a7003139190f9",
      "parents": [
        "8b5be26831b973d8013e8b4c9860d9694310cdc6"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Tue Mar 20 12:26:51 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:42 2007 -0700"
      },
      "message": "[DCCP]: 48-bit sequence number arithmetic\n\nThis patch\n * organizes the sequence arithmetic functions into one corner of dccp.h\n * performs a small modification of dccp_set_seqno to make it more widely reusable\n   (now it is safe to use any number, since it performs modulo-2^48 assignment)\n * adds functions and generic macros for 48-bit sequence arithmetic:\n \t--48 bit complement\n \t--modulo-48 addition and modulo-48 subtraction\n\t--dccp_inc_seqno now a special case of add48\nConstants renamed following a suggestion by Arnaldo.\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\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c93a882ebe673b5e6da0a70fd433f7517e032d23",
      "tree": "94a18636932628ce0b0cbf8e17e93a0d5a6b82f9",
      "parents": [
        "20bd7dd4cabfd0d6b6b70b99e88df901480a9841"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Sat Mar 24 21:01:31 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sun Mar 25 18:48:10 2007 -0700"
      },
      "message": "[DCCP]: make dccp_write_xmit_timer() static again\n\ndccp_write_xmit_timer() needlessly became global.\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "aabb601b0f08b909b650f1a7bfa1e8d9b5a8d999",
      "tree": "c3060d0005f6b035b43fe4e5855a1d514b43e589",
      "parents": [
        "c4e38f41e34ad853651d66227aae23e48457dce0"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Fri Mar 09 13:47:58 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 09 13:47:58 2007 -0800"
      },
      "message": "[DCCP]: Initialise write_xmit_timer also on passive sockets\n\nThe TX CCID needs the write_xmit_timer for delaying packet sends. Previously\nthis timer was only activated on active (connecting) sockets.\n\nThis patch initialises the write_xmit_timer in sync with the other timers, i.e.\nthe timer will be ready on any socket. This is used by applications with a\nlistening socket which start to stream after receiving an initiation by the\nclient.  The write_xmit_timer is stopped when the application closes, as before.\n\nWas tested to work and to remove the timer bug reported on dccp@vger.\n\nAlso moved timer initialisation into timer.c (static). \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: 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": "0f9e5b573f7249b0e04a03457b55081d1f60f2bf",
      "tree": "fa33e3252d5df520348bb22d2a14aeac0e6b2bfc",
      "parents": [
        "bfe24a6cc222d27e1491f850802fa6932232b8ef"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sun Dec 10 00:03:51 2006 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Dec 11 14:34:45 2006 -0800"
      },
      "message": "[DCCP]: Debug timeval operations\n\nProblem:\n\n Most target types in the CCID3 code are u32, so subtle conversion errors\n can occur if signed time calculations yield negative results: the original\n values are lost in the conversion to unsigned, calculation errors go undetected.\n\n This patch therefore\n   * sets all critical time types from unsigned to suseconds_t\n   * avoids comparison between signed/unsigned via type-casting\n   * provides ample warning messages in case time calculations are negative\n\n These warning messages can be removed at a later stage when the code\n has undergone more testing.\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@mandriva.com\u003e\n"
    },
    {
      "commit": "5cc3741d6cc9f07d8ddd9c45cb5088460ce3364f",
      "tree": "7f7f1e51e54e7f34025b60cf93e284de72740ba5",
      "parents": [
        "e37b8d931936f88e4b2af66304eb44e69510b86c"
      ],
      "author": {
        "name": "Ian McDonald",
        "email": "ian.mcdonald@jandi.co.nz",
        "time": "Sat Dec 09 23:56:09 2006 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Dec 11 14:34:37 2006 -0800"
      },
      "message": "[DCCP]: Remove timeo from output.c\n\nIt simplifies waiting for the CCID module to signal that a packet\nis ready to be sent.  Other simplifications flow on from this such as\nremoving constants.\n\nAs a result of this EAGAIN is not returned any more by dccp_wait_for_ccid\n(which would otherwise lead to unnecessarily discarding the packet in\ndccp_write_xmit).\n\nSigned-off-by: Ian McDonald \u003cian.mcdonald@jandi.co.nz\u003e\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\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": "b1308dc015eb09cf094ca169296738a13ae049ad",
      "tree": "9c408412fc94671bb7f23b356ef328489c433d1f",
      "parents": [
        "56724aa434e9b4d73548021ede7a1474f533f3fe"
      ],
      "author": {
        "name": "Ian McDonald",
        "email": "ian.mcdonald@jandi.co.nz",
        "time": "Mon Nov 20 18:30:17 2006 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:24:37 2006 -0800"
      },
      "message": "[DCCP]: Set TX Queue Length Bounds via Sysctl\n\nPreviously the transmit queue was unbounded.\n\nThis patch:\n\t* puts a limit on transmit queue length\n\t  and sends back EAGAIN if the buffer is full\n\t* sets the TX queue length to a sensible default\n\t* implements tx buffer sysctls for DCCP\n\nSigned-off-by: Ian McDonald \u003cian.mcdonald@jandi.co.nz\u003e\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\n"
    },
    {
      "commit": "84116716cc9404356f775443b460f76766f08f65",
      "tree": "627662e0ac97542de873ed2071561ba2c2f0ba8e",
      "parents": [
        "f123bc5f800d528e59684c7faffda88b4dd2d38c"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Mon Nov 20 18:26:03 2006 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:24:35 2006 -0800"
      },
      "message": "[DCCP]: enable debug messages also for static builds\n\nThis patch\n  * makes debugging (when configured) work both for static / module build\n  * provides generic debugging macros for use in other DCCP / CCID modules\n  * adds missing information about debug parameters to Kconfig\n  * performs some code tidy-up\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": "3c6952624a8f600f9a0fbc1f5db5560a7ef9b13e",
      "tree": "294924e950000cd786b0cdaf026ed58b2f81102d",
      "parents": [
        "6bb100b9fc8f1ce330231b360028ab705a9f0378"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Wed Nov 15 21:27:47 2006 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:23:49 2006 -0800"
      },
      "message": "[DCCP]: Introduce DCCP_{BUG{_ON},CRIT} macros, use enum:8 for the ccid3 states\n\nThis patch tackles the following problem:\n       * the ccid3_hc_{t,r}x_sock define ccid3hc{t,r}x_state as `u8\u0027, but\n         in reality there can only be a few, pre-defined enum names\n       * this necessitates addiditional checking for unexpected values\n         which would otherwise be caught by the compiler\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": "2e2e9e92bd723244ea20fa488b1780111f2b05e1",
      "tree": "2e859b2b0aa17d2e18927fe110cdefad6c4f5fe6",
      "parents": [
        "e11d9d30802278af22e78d8c10f348b683670cd9"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Mon Nov 13 13:23:52 2006 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:22:18 2006 -0800"
      },
      "message": "[DCCP]: Add sysctls to control retransmission behaviour\n\nThis adds 3 sysctls which govern the retransmission behaviour of DCCP control\npackets (3way handshake, feature negotiation).\n\nIt removes 4 FIXMEs from the code.\n\nThe close resemblance of sysctl variables to their TCP analogues is emphasised\nnot only by their name, but also by giving them the same initial values.\nThis is useful since there is not much practical experience with DCCP yet.\n\nFurthermore, with regard to the previous patch, it is now possible to limit\nthe number of keepalive-Responses by setting net.dccp.default.request_retries\n(also a bit like in TCP).\n\nLastly, added documentation of all existing DCCP sysctls.\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": "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": "f45b3ec481581f24719d8ab0bc812c02fcedc2bc",
      "tree": "fd3907c220fe75055494466f1f3664a13ac095d4",
      "parents": [
        "fec5b80e4924f638418c21b09165dce8b79fee86"
      ],
      "author": {
        "name": "Ian McDonald",
        "email": "ian.mcdonald@jandi.co.nz",
        "time": "Fri Nov 10 13:09:10 2006 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:22:02 2006 -0800"
      },
      "message": "[DCCP]: Fix logfile overflow\n\nThis patch fixes data being spewed into the logs continually. As the\ncode stood if there was a large queue and long delays timeo would go\ndown to zero and never get reset.\n\nThis fixes it by resetting timeo. Put constant into header as well.\n\nSigned-off-by: Ian McDonald \u003cian.mcdonald@jandi.co.nz\u003e\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": "f6484f7c7ad22e4bb018875c386d6a7aaa441426",
      "tree": "ef85d9e6bdafff17bdf383df73e7a87de584c4aa",
      "parents": [
        "d23c7107bfbaac955289685c522c7ff99dad3780"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Fri Nov 10 12:01:52 2006 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:21:57 2006 -0800"
      },
      "message": "[DCCP] timewait: Remove leftover extern declarations\n\nGerrit Renker noticed dccp_tw_deschedule and submitted a patch with a FIXME,\nbut as he suggests in the same patch the best thing is to just ditch this\ndeclaration, while doing that also noticed that tcp_tw_count is as well not\ndefined anywhere, so ditch it too.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\n"
    },
    {
      "commit": "60361be1be7854cbffb6dc268d1bc094da33431c",
      "tree": "58109e5c2020acfafd3c3e140620b7a93f0384ac",
      "parents": [
        "931731123a103cfb3f70ac4b7abfc71d94ba1f03"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Fri Nov 10 02:13:56 2006 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:21:53 2006 -0800"
      },
      "message": "[DCCP]: set safe upper bound for option length\n\nThis is a re-send from\nhttp://www.mail-archive.com/dccp@vger.kernel.org/msg00553.html\n\nIt is the same patch as before, but I have built in Arnaldo\u0027s suggestions\npointed out in that posting.\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": "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": "97e5848dd39e7e76bd6077735ebb5473763ab9c5",
      "tree": "f1292b7bb558df8f27016fbac31a3b017bdba438",
      "parents": [
        "2a0109a707d2b0ae48f124d3be0fdf1715c0107a"
      ],
      "author": {
        "name": "Ian McDonald",
        "email": "ian.mcdonald@jandi.co.nz",
        "time": "Sat Aug 26 19:16:45 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Sep 22 15:18:17 2006 -0700"
      },
      "message": "[DCCP]: Introduce tx buffering\n\nThis adds transmit buffering to DCCP.\n\nI have tested with CCID2/3 and with loss and rate limiting.\n\nSigned off by: Ian McDonald \u003cian.mcdonald@jandi.co.nz\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "837d107cd101fbf734e9ea2bbb5c7336a329e432",
      "tree": "0a292efbba9272136365b62cf4d915a16ac0a130",
      "parents": [
        "e6bccd357343e98db9e1fd0d487f4f924e1a7921"
      ],
      "author": {
        "name": "Ian McDonald",
        "email": "ian.mcdonald@jandi.co.nz",
        "time": "Sat Aug 26 19:06:42 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Aug 26 19:06:42 2006 -0700"
      },
      "message": "[DCCP]: Introduces follows48 function\n\nThis adds a new function to see if two sequence numbers follow each\nother.\n\nSigned off by: Ian McDonald \u003cian.mcdonald@jandi.co.nz\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e6bccd357343e98db9e1fd0d487f4f924e1a7921",
      "tree": "21155efb0a977e9a408b0e6013b44bacff4b1881",
      "parents": [
        "f3166c07175c1639687288006aeabed363a921f3"
      ],
      "author": {
        "name": "Ian McDonald",
        "email": "ian.mcdonald@jandi.co.nz",
        "time": "Sat Aug 26 19:01:30 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Aug 26 19:01:30 2006 -0700"
      },
      "message": "[DCCP]: Update contact details and copyright\n\nJust updating copyright and contacts\n\nSigned off by: Ian McDonald \u003cian.mcdonald@jandi.co.nz\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": "a4bf3902427a128455b8de299ff0918072b2e974",
      "tree": "5269cd4d84702a0a728b390e08242be01252d20d",
      "parents": [
        "e6f507196c2b50243beb09b1bfa4639f999d4d1e"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Mon Mar 20 22:50:58 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 20 22:50:58 2006 -0800"
      },
      "message": "[DCCP] minisock: Rename struct dccp_options to struct dccp_minisock\n\nThis will later be included in struct dccp_request_sock so that we can\nhave per connection feature negotiation state while in the 3way\nhandshake, when we clone the DCCP_ROLE_LISTEN socket (in\ndccp_create_openreq_child) we\u0027ll just copy this state from\ndreq_minisock to dccps_minisock.\n\nAlso the feature negotiation and option parsing code will mostly touch\ndccps_minisock, which will simplify some stuff.\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": "2d0817d11eaec57435feb61493331a763f732a2b",
      "tree": "7c42229b1cc64e67efe8ed21b82cdc513e638f82",
      "parents": [
        "110bae4efb5ed5565257a0fb9f6d26e6125a1c4b"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Mon Mar 20 22:32:06 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 20 22:32:06 2006 -0800"
      },
      "message": "[DCCP] options: Make dccp_insert_options \u0026 friends yell on error\n\nAnd not the silly LIMIT_NETDEBUG and silently return without inserting\nthe option requested.\n\nAlso drop some old debugging messages associated to option insertion.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "110bae4efb5ed5565257a0fb9f6d26e6125a1c4b",
      "tree": "99a2b24856928a9445185446f118b5d5605c216f",
      "parents": [
        "c5fed1597ebb2c1bf55a7334cce2d0e8d18ef5b7"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Mon Mar 20 22:31:46 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 20 22:31:46 2006 -0800"
      },
      "message": "[DCCP]: Remove leftover dccp_send_response prototype\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": "c25a18ba347f091d1ce620ba33e6772b60a528e1",
      "tree": "788c596356e150a26e0a67243ffc68213abdd493",
      "parents": [
        "5e0817f84c33285c2ac7d3848e8896d025b5deff"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Mon Mar 20 21:58:56 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 20 21:58:56 2006 -0800"
      },
      "message": "[DCCP]: Uninline some functions\n\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": "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": "e55d912f5b75723159348a7fc7692f869a86636a",
      "tree": "c00be180cac20e4247ffda446ad266d885a1a811",
      "parents": [
        "04e2661e9c00386412b64612549cf24c8baef67c"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Mon Mar 20 19:25:02 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 20 19:25:02 2006 -0800"
      },
      "message": "[DCCP] feat: Introduce sysctls for the default features\n\n[root@qemu ~]# for a in /proc/sys/net/dccp/default/* ; do echo $a ; cat $a ; done\n/proc/sys/net/dccp/default/ack_ratio\n2\n/proc/sys/net/dccp/default/rx_ccid\n3\n/proc/sys/net/dccp/default/send_ackvec\n1\n/proc/sys/net/dccp/default/send_ndp\n1\n/proc/sys/net/dccp/default/seq_window\n100\n/proc/sys/net/dccp/default/tx_ccid\n3\n[root@qemu ~]#\n\nSo if wanting to test ccid3 as the tx CCID one can just do:\n\n[root@qemu ~]# echo 3 \u003e /proc/sys/net/dccp/default/tx_ccid\n[root@qemu ~]# echo 2 \u003e /proc/sys/net/dccp/default/rx_ccid\n[root@qemu ~]# cat /proc/sys/net/dccp/default/[tr]x_ccid\n2\n3\n[root@qemu ~]#\n\nOf course we also need the setsockopt for each app to tell its preferences, but\nfor testing or defining something other than CCID2 as the default for apps that\ndon\u0027t explicitely set their preference the sysctl interface is handy.\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": "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": "48918a4dbd6c599d6af30bd64cb355fadca708eb",
      "tree": "31893d50f1e21ba19e1acc59c117e220ff57205b",
      "parents": [
        "9d17f218936a0fee43ad9493a841136589c942cd"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sun Oct 30 11:20:59 2005 +1100"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Mon Oct 31 19:26:17 2005 -0200"
      },
      "message": "[DCCP]: Simplify skb_set_owner_w semantics\n  \nWhile we\u0027re at it let\u0027s reorganise the set_owner_w calls a little so that:\n  \n1) dccp_transmit_skb sets the owner for all packets except data packets.\n2) Add dccp_skb_entail to set owner for packets queued for retransmission.\n3) Make dccp_transmit_skb static.\n  \nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\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": "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": "b6ee3d4ada4e85d9b9b9164c1327ef0850c79d5e",
      "tree": "26dfc68ab042ebb8186fe3a93a34723cb1faaae1",
      "parents": [
        "1f2333aea3269e196c44ae9a220e714cc1427792"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Sat Aug 27 18:18:18 2005 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 16:11:56 2005 -0700"
      },
      "message": "[CCID3]: Reorganise timeval handling\n\nIntroducing functions to add to or subtract from a timeval variable\nand renaming now_delta to timeval_new_delta that calls do_gettimeofday\nand then timeval_delta, that should be used when there are several\ndeltas made relative to the current time or setting variables to it,\nso as to avoid calling do_gettimeofday excessively.\n\nI\u0027m leaving these \"timeval_\" prefixed funcions internal to DCCP for a\nwhile till we\u0027re sure there are no subtle bugs in it.\n\nIt also is more correct as it checks if the number of usecs added to\nor subtracted from a tv_usec field is more than 2 seconds.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d6809c12b3334a929c39bf08ea63bd819e0500f7",
      "tree": "47fc3aa37c35ae6a83bc41b1ecf4a78c1189a00b",
      "parents": [
        "75b3f207b433dcb807fcf0f47de1c8398571ba5f"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Sat Aug 27 03:06:35 2005 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 16:11:38 2005 -0700"
      },
      "message": "[DCCP]: Introduce dccp_wait_for_ccid and use it in dccp_write_xmit\n\nThis is not quite what I think we should have long term but improves\nperformance for now, so lets use it till we get CCID3 working well,\nthen we can think about using sk_write_queue, perhaps using some ideas\nfrom Juwen Lai\u0027s old stack for 2.4.20.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d4b81ff70547b40c9b0742b163e8354560003cc0",
      "tree": "dde55db47394af881411a33e06843ff8ab3fd3d8",
      "parents": [
        "012e13eac7579fcc7618df4ca1d5af3cdc03748c"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Tue Aug 23 21:51:36 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 16:04:53 2005 -0700"
      },
      "message": "[DCCP]: Export dccp_insert_option_timestamp to CCIDs\n\nAnd don\u0027t insert a TIMESTAMP option in all packets, leave the decision\nto the CCIDs.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7ad07e7cf343181002c10c39d3f57a88e4903d4f",
      "tree": "c22067f3f443faebdcd3403fa8ce7c5c89662c60",
      "parents": [
        "58e45131dc269eff0983c6d44494f9e687686900"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Tue Aug 23 21:50:06 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 16:04:31 2005 -0700"
      },
      "message": "[DCCP]: Implement the CLOSING timer\n\nSo that we retransmit CLOSE/CLOSEREQ packets till they elicit an\nanswer or we hit a timeout.\n\nMost of the machinery uses TCP approaches, this code has to be\npolished \u0026 audited, but this is better than we had before.\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": "1bc0986957b63a2fbbc46ab95d3d1d72830bda83",
      "tree": "8be8f0e0e19f58cc5cc9cb7d789f3283436712ed",
      "parents": [
        "bf0ff9e578ba7dd8331005f00ad7310122011f43"
      ],
      "author": {
        "name": "Ian McDonald",
        "email": "iam4@cs.waikato.ac.nz",
        "time": "Sat Aug 20 00:23:43 2005 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 16:02:34 2005 -0700"
      },
      "message": "[DCCP]: Fix the timestamp options\n\nThis changes timestamp, timestamp echo, and elapsed time to use units of 10\nusecs as per DCCP spec. This has been tested to verify that times are correct.\nAlso fixed up length and used hton/ntoh more.\n\nStill to add in later patches:\n- actually use elapsed time to adjust RTT\n(commented out as was prior to this patch)\n- send options at times more closely following the spec\n(content is now correct)\n\nSigned-off-by: Ian McDonald \u003ciam4@cs.waikato.ac.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": "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": "a10cedd4b905236603c6c4fd77cf338ebbfb1a60",
      "tree": "118dd7b2c02317220b5d275edb8c1d04cd9cbe51",
      "parents": [
        "a1d3a35518779df0579dd9de0121354b49c68ddc"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Sun Aug 14 21:05:53 2005 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 16:00:12 2005 -0700"
      },
      "message": "[DCCP]: Fix compiler warnings\n\nmay be a false warning if there always is something on ccid3hcrx_hist:\n\nnet/dccp/ccids/ccid3.c: In function \u0027ccid3_hc_rx_packet_recv\u0027:\nnet/dccp/ccids/ccid3.c:1634: warning: \u0027tstamp.tv_usec\u0027 may be used uninitialized in this function\nnet/dccp/ccids/ccid3.c:1634: warning: \u0027tstamp.tv_sec\u0027 may be used uninitialized in this function\n\nconst on inline functions doesn\u0027t have any effect:\n\nnet/dccp/dccp.h:64: warning: type qualifiers ignored on function return type\nnet/dccp/dccp.h:70: warning: type qualifiers ignored on function return type\nnet/dccp/dccp.h:76: warning: type qualifiers ignored on function return type\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\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": "725ba8eee3881e619c8e5a0116f1bdb6480ac2d9",
      "tree": "e4d92f0fcbac811ae5954f771794165225b0726f",
      "parents": [
        "531669a0a9041d60d13920973ef8aa4f743c14a0"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Sat Aug 13 20:35:39 2005 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:59:43 2005 -0700"
      },
      "message": "[DCCP]: Introduce the DCCP Kernel hacking menu\n\nOnly available if CONFIG_DEBUG_KERNEL is enabled in the \"Kernel\nHacking\" Menu.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    }
  ],
  "next": "7690af3fff7633e40b1b9950eb8489129251d074"
}
