)]}'
{
  "log": [
    {
      "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": "860239c56bbc7c830bdbcec93b140f22a5a5219b",
      "tree": "52de988257064b33441f3a8341f6f2fac48a3fe4",
      "parents": [
        "18e1d836002ad970f42736bad09b7be9cfe99545"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Sat Jul 26 11:59:11 2008 +0100"
      },
      "committer": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sat Jul 26 11:59:11 2008 +0100"
      },
      "message": "dccp: Add check for truncated ICMPv6 DCCP error packets\n\nThis patch adds a minimum-length check for ICMPv6 packets, as per the previous\npatch for ICMPv4 payloads.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\n"
    },
    {
      "commit": "18e1d836002ad970f42736bad09b7be9cfe99545",
      "tree": "2e704da1e24eba0f1a09d4b983a34bcc5b51f29d",
      "parents": [
        "e0bcfb0c6a6ed9ebd68746b306298dc5797fd426"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Sat Jul 26 11:59:10 2008 +0100"
      },
      "committer": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sat Jul 26 11:59:10 2008 +0100"
      },
      "message": "dccp: Fix incorrect length check for ICMPv4 packets\n\nUnlike TCP, which only needs 8 octets of original packet data, DCCP requires\nminimally 12 or 16 bytes for ICMP-payload sequence number checks.\n\nThis patch replaces the insufficient length constant of 8 with a two-stage\ntest, making sure that 12 bytes are available, before computing the basic\nheader length required for sequence number checks.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\n"
    },
    {
      "commit": "e0bcfb0c6a6ed9ebd68746b306298dc5797fd426",
      "tree": "815e27766944fa7a54ae49d06aa241632187d968",
      "parents": [
        "d68f0866f76e2bc4ddc07e88e2cb1bc8959a6d7e"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Sat Jul 26 11:59:10 2008 +0100"
      },
      "committer": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sat Jul 26 11:59:10 2008 +0100"
      },
      "message": "dccp: Add check for sequence number in ICMPv6 message\n\nThis adds a sequence number check for ICMPv6 DCCP error packets, in the same\nmanner as it has been done for ICMPv4 in the previous patch.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nAcked-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\n"
    },
    {
      "commit": "d68f0866f76e2bc4ddc07e88e2cb1bc8959a6d7e",
      "tree": "2cab08fd8de1c81c6d5a545a5b2aa96743cb6862",
      "parents": [
        "73f18fdbca3f92b90aeaee16f5175fe30496e218"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Sat Jul 26 11:59:10 2008 +0100"
      },
      "committer": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sat Jul 26 11:59:10 2008 +0100"
      },
      "message": "dccp: Fix sequence number check for ICMPv4 packets\n\nThe payload of ICMP message is a part of the packet sent by ourself,\nso the sequence number check must use AWL and AWH, not SWL and SWH.\n\nFor example:\n     Endpoint A                  Endpoint B\n\n     DATA-ACK       --------\u003e\n     (SEQ\u003dX)\n                    \u003c--------    ICMP (Fragmentation Needed)\n                                 (SEQ\u003dX)\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nAcked-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\n"
    },
    {
      "commit": "73f18fdbca3f92b90aeaee16f5175fe30496e218",
      "tree": "855e3a9dcad54336c3b0301e09f85b39a9c2b48a",
      "parents": [
        "59435444a13ed52d3444c5df26b73d3086bcd57b"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sat Jul 26 11:59:10 2008 +0100"
      },
      "committer": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sat Jul 26 11:59:10 2008 +0100"
      },
      "message": "dccp: Bug-Fix - AWL was never updated\n\nThe AWL lower Ack validity window advances in proportion to GSS, the greatest\nsequence number sent. Updating AWL other than at connection setup (in the\nDCCP-Request sent by dccp_v{4,6}_connect()) was missing in the DCCP code.\n\nThis bug lead to syslog messages such as\n\n \"kernel: dccp_check_seqno: DCCP: Step 6 failed for DATAACK packet, [...] \n  P.ackno exists or LAWL(82947089) \u003c\u003d P.ackno(82948208)\n                                   \u003c\u003d S.AWH(82948728), sending SYNC...\"\n\nThe difference between AWL/AWH here is 1639 packets, while the expected value\n(the Sequence Window) would have been 100 (the default).  A closer look showed\nthat LAWL \u003d AWL \u003d 82947089 equalled the ISS on the Response.\n\nThe patch now updates AWL with each increase of GSS.\n\n\nFurther changes:\n----------------\nThe patch also enforces more stringent checks on the ISS sequence number:\n\n * AWL is initialised to ISS at connection setup and remains at this value;\n * AWH is then always set to GSS (via dccp_update_gss());\n * so on the first Request: AWL \u003d      AWH \u003d ISS,\n   and on the n-th Request: AWL \u003d ISS, AWH \u003d ISS + n.\n\nAs a consequence, only Response packets that refer to Requests sent by this\nhost will pass, all others are discarded. This is the intention and in effect \nimplements the initial adjustments for AWL as specified in RFC 4340, 7.5.1.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e   \nAcked-by: Ian McDonald \u003cian.mcdonald@jandi.co.nz\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": "de0744af1fe2d0a3d428f6af0f2fe1f6179b1a9c",
      "tree": "68d02820b1aa13e8fa9743c0ece5930a13d5a205",
      "parents": [
        "4e6734447dbc7a0a85e09616821c0782d9fb1141"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Jul 16 20:31:16 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 16 20:31:16 2008 -0700"
      },
      "message": "mib: add net to NET_INC_STATS_BH\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ca12a1a443a51298afcca627ad0bcbd8ad1dcddc",
      "tree": "9eebfe3f3b5812ea524d0b32223fb622a8d12bc8",
      "parents": [
        "5c52ba170f8167511bdb65b981f4582100c40675"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Jul 16 20:28:42 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 16 20:28:42 2008 -0700"
      },
      "message": "inet: prepare net on the stack for NET accounting macros\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7c73a6faffae0bfae70639113aecf06af666e714",
      "tree": "3d7910c4674b673b061f3168b140454b1950c346",
      "parents": [
        "5e38e270444f2629de7a706b5a9ca1b333d14517"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Jul 16 20:20:11 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 16 20:20:11 2008 -0700"
      },
      "message": "mib: add net to IP_INC_STATS_BH\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dcfc23cac103b54dbc00a6f52f47656ad5c75844",
      "tree": "f9a61572791da6c37a50a2d17b73b5f89a6b5fc4",
      "parents": [
        "75c939bb4d6da790f758a2a3dcc7432f6d8778ee"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Mon Jul 14 23:03:00 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 14 23:05:29 2008 -0700"
      },
      "message": "mib: add struct net to ICMP_INC_STATS_BH\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fd54d716b1f6a3551ec17a4bb34027727b2db09a",
      "tree": "c8afca51e9292740d3d2261e8a3f95e65a1135ee",
      "parents": [
        "0388b0042624714e6f8db8cc7994101a0a02d392"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Mon Jul 14 23:01:40 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 14 23:05:26 2008 -0700"
      },
      "message": "inet: toss struct net initialization around\n\nSome places, that deal with ICMP statistics already have where\nto get a struct net from, but use it directly, without declaring\na separate variable on the stack.\n\nSince I will need this net soon, I declare a struct net on the\nstack and use it in the existing places in a separate patch not\nto spoil the future ones.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2eeea7ba6b4b65ed27b7646a1bdea3b45973c861",
      "tree": "da60ba323ca324789d42d8c0513be8a26d150832",
      "parents": [
        "b552c6231f19d50165bbf59e8b34d3f713ab5c01"
      ],
      "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: Length of loss intervals\n\nThis corrects an error in the computation of the open loss interval I_0:\n  * the interval length is (highest_seqno - start_seqno) + 1\n  * and not (highest_seqno - start_seqno).\n\nThis condition was not fully clear in RFC 3448, but reflects the current\nrevision state of rfc3448bis and is also consistent with RFC 4340, 6.1.1.\n\nFurther changes:\n----------------\n * variable renamed due to line length constraints;\n * explicit typecast to `s64\u0027 to avoid implicit signed/unsigned casting.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\n"
    },
    {
      "commit": "b552c6231f19d50165bbf59e8b34d3f713ab5c01",
      "tree": "7ef572ce7356789e3152120a5b9b8621954e02af",
      "parents": [
        "5b5d0e704880addfd979c262e6441f126708539c"
      ],
      "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 a loss detection bug\n\nThis fixes a bug in the logic of the TFRC loss detection:\n * new_loss_indicated() should not be called while a loss is pending;\n * but the code allows this;\n * thus, for two subsequent gaps in the sequence space, when loss_count\n   has not yet reached NDUPACK\u003d3, the loss_count is falsely reduced to 1.\n\nTo avoid further and similar problems, all loss handling and loss detection is\nnow done inside tfrc_rx_hist_handle_loss(), using an appropriate routine to\ntrack new losses.\n\nFurther changes:\n----------------\n * added a reminder that no RX history operations should be performed when\n   rx_handle_loss() has identified a (new) loss, since the function takes\n   care of packet reordering during loss detection;\n * made tfrc_rx_hist_loss_pending() bool (thanks to an earlier suggestion\n   by Arnaldo);\t\t \n * removed unused functions.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\n"
    },
    {
      "commit": "5b5d0e704880addfd979c262e6441f126708539c",
      "tree": "1b3bff6cd378c858ab245de3a40c3510d4ba4745",
      "parents": [
        "2013c7e35aeba39777f9b3eef8a70207b3931152"
      ],
      "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: Upgrade NDP count from 3 to 6 bytes\n\nRFC 4340, 7.7 specifies up to 6 bytes for the NDP Count option, whereas the code\nis currently limited to up to 3 bytes. This seems to be a relict of an earlier \ndraft version and is brought up to date by the patch.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\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": "be4c798a41bf626cdaacf96c382f116ed2f7dbe9",
      "tree": "437f5d1e9d6a19c857d47055bc3dfc68a2b2b004",
      "parents": [
        "7deb0f851003287d7e259bf6b33548b144c0f2d5"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Wed Jun 11 11:19:10 2008 +0100"
      },
      "committer": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Wed Jun 11 11:19:10 2008 +0100"
      },
      "message": "dccp: Bug in initial acknowledgment number assignment\n\nStep 8.5 in RFC 4340 says for the newly cloned socket\n\n           Initialize S.GAR :\u003d S.ISS,\n\nbut what in fact the code (minisocks.c) does is\n\n           Initialize S.GAR :\u003d S.ISR,\n\nwhich is wrong (typo?) -- fixed by the patch.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\n"
    },
    {
      "commit": "7deb0f851003287d7e259bf6b33548b144c0f2d5",
      "tree": "8ede694c4b6cd41224f7165d09d3f5935d889fd1",
      "parents": [
        "1e8a287c79f64226541f5c44aa52d4698bb84cf5"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Wed Jun 11 11:19:10 2008 +0100"
      },
      "committer": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Wed Jun 11 11:19:10 2008 +0100"
      },
      "message": "dccp ccid-3: X truncated due to type conversion\n\nThis fixes a bug in computing the inter-packet-interval t_ipi \u003d s/X: \n\n scaled_div32(a, b) uses u32 for b, but in \"scaled_div32(s, X)\" the type of the\n sending rate `X\u0027 is u64. Since X is scaled by 2^6, this truncates rates greater\n than 2^26 Bps (~537 Mbps).\n\nUsing full 64-bit division now.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\n"
    },
    {
      "commit": "1e8a287c79f64226541f5c44aa52d4698bb84cf5",
      "tree": "a280516dae548981cd9c9f981cc7bd8ec879baf2",
      "parents": [
        "65907a433ac0ca450c4408080f24c6e4743386b2"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Wed Jun 11 11:19:10 2008 +0100"
      },
      "committer": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Wed Jun 11 11:19:10 2008 +0100"
      },
      "message": "dccp ccid-3: TFRC reverse-lookup Bug-Fix\n\nThis fixes a bug in the reverse lookup of p: given a value f(p), instead of p,\nthe function returned the smallest tabulated value f(p).\n\nThe smallest tabulated value of\n\t \n   10^6 * f(p) \u003d  sqrt(2*p/3) + 12 * sqrt(3*p/8) * (32 * p^3 + p) \n\nfor p\u003d0.0001 is 8172. \n\nSince this value is scaled by 10^6, the outcome of this bug is that a loss\nof 8172/10^6 \u003d 0.8172% was reported whenever the input was below the table\nresolution of 0.01%.\n\nThis means that the value was over 80 times too high, resulting in large spikes\nof the initial loss interval, thus unnecessarily reducing the throughput.\n\nAlso corrected the printk format (%u for u32).\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\n"
    },
    {
      "commit": "65907a433ac0ca450c4408080f24c6e4743386b2",
      "tree": "086656bf856f17038ca040a9bfb8e4c63e3707a3",
      "parents": [
        "1e2f0e5e8376f2a0ada8760fc9d3104e1a81382b"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Wed Jun 11 11:19:09 2008 +0100"
      },
      "committer": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Wed Jun 11 11:19:09 2008 +0100"
      },
      "message": "dccp ccid-2: Bug-Fix - Ack Vectors need to be ignored on request sockets\n\nThis fixes an oversight from an earlier patch, ensuring that Ack Vectors\nare not processed on request sockets.\n\nThe issue is that Ack Vectors must not be parsed on request sockets, since\nthe Ack Vector feature depends on the selection of the (TX) CCID. During the\ninitial handshake the CCIDs are undefined, and so RFC 4340, 10.3 applies:\n\n \"Using CCID-specific options and feature options during a negotiation\n  for the corresponding CCID feature is NOT RECOMMENDED [...]\"\n\nAnd it is not even possible: when the server receives the Request from the \nclient, the CCID and Ack vector features are undefined; when the Ack finalising\nthe 3-way hanshake arrives, the request socket has not been cloned yet into a\nfull socket. (This order is necessary, since otherwise the newly created socket\nwould have to be destroyed whenever an option error occurred - a malicious\nhacker could simply send garbage options and exploit this.)\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\n"
    },
    {
      "commit": "1e2f0e5e8376f2a0ada8760fc9d3104e1a81382b",
      "tree": "8e0dc375e574092814d7d020292cf6df67db5bb1",
      "parents": [
        "3294f202dc1acd82223e83ef59f272bd87bb06b2"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Wed Jun 11 11:19:09 2008 +0100"
      },
      "committer": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Wed Jun 11 11:19:09 2008 +0100"
      },
      "message": "dccp: Fix sparse warnings\n\nThis patch fixes the following sparse warnings:\n * nested min(max()) expression:\n   net/dccp/ccids/ccid3.c:91:21: warning: symbol \u0027__x\u0027 shadows an earlier one\n   net/dccp/ccids/ccid3.c:91:21: warning: symbol \u0027__y\u0027 shadows an earlier one\n   \n * Declaration of function prototypes in .c instead of .h file, resulting in\n   \"should it be static?\" warnings. \n\n * Declared \"struct dccpw\" static (local to dccp_probe).\n \n * Disabled dccp_delayed_ack() - not fully removed due to RFC 4340, 11.3\n   (\"Receivers SHOULD implement delayed acknowledgement timers ...\").\n\n * Used a different local variable name to avoid\n   net/dccp/ackvec.c:293:13: warning: symbol \u0027state\u0027 shadows an earlier one\n   net/dccp/ackvec.c:238:33: originally declared here\n\n * Removed unused functions `dccp_ackvector_print\u0027 and `dccp_ackvec_print\u0027.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\n"
    },
    {
      "commit": "3294f202dc1acd82223e83ef59f272bd87bb06b2",
      "tree": "b3841a093322afbc7cd608ccc6ae60debe8c015a",
      "parents": [
        "513fd370e6832f81ab717df4645f5ce679e44f14"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Wed Jun 11 11:19:09 2008 +0100"
      },
      "committer": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Wed Jun 11 11:19:09 2008 +0100"
      },
      "message": "dccp ccid-3: Bug-Fix - Zero RTT is possible\n\nIn commit $(825de27d9e40b3117b29a79d412b7a4b78c5d815) (from 27th May, commit\nmessage `dccp ccid-3: Fix \"t_ipi explosion\" bug\u0027), the CCID-3 window counter\ncomputation was fixed to cope with RTTs \u003c 4 microseconds.\n\nSuch RTTs can be found e.g. when running CCID-3 over loopback. The fix removed\na check against RTT \u003c 4, but introduced a divide-by-zero bug.\n\nAll steady-state RTTs in DCCP are filtered using dccp_sample_rtt(), which\nensures non-zero samples. However, a zero RTT is possible on initialisation,\nwhen there is no RTT sample from the Request/Response exchange.\n\nThe fix is to use the fallback-RTT from RFC 4340, 3.4.\n\nThis is also better than just fixing update_win_count() since it allows other\nparts of the code to always assume that the RTT is non-zero during the time\nthat the CCID is used.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\n"
    },
    {
      "commit": "ce4a7d0d48bbaed78ccbb0bafb9229651a40303a",
      "tree": "df8770ef69c71a0d6935154add3ff3f4bb8dbc3a",
      "parents": [
        "45d465bc237ab1e1ebb4c65b9b318830dafb7509"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Jun 10 12:39:35 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 10 12:39:35 2008 -0700"
      },
      "message": "inet{6}_request_sock: Init -\u003eopt and -\u003epktopts in the constructor\n\nWei Yongjun noticed that we may call reqsk_free on request sock objects where\nthe opt fields may not be initialized, fix it by introducing inet_reqsk_alloc\nwhere we initialize -\u003eopt to NULL and set -\u003epktopts to NULL in\ninet6_reqsk_alloc.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "825de27d9e40b3117b29a79d412b7a4b78c5d815",
      "tree": "95ab0dc853b2f68d529162e5f1dfd5e0cb5e37a9",
      "parents": [
        "6079a463cf95fafcc704a4e5e92a4da12444bd3c"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Tue May 27 06:33:54 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 27 06:33:54 2008 -0700"
      },
      "message": "dccp ccid-3: Fix \"t_ipi explosion\" bug\n\nThe identification of this bug is thanks to Cheng Wei and Tomasz\nGrobelny.\n\nTo avoid divide-by-zero, the implementation previously ignored RTTs\nsmaller than 4 microseconds when performing integer division RTT/4.\n\nWhen the RTT reached a value less than 4 microseconds (as observed on\nloopback), this prevented the Window Counter CCVal value from\nadvancing. As a result, the receiver stopped sending feedback. This in\nturn caused non-ending expiries of the nofeedback timer at the sender,\nso that the sending rate was progressively reduced until reaching the\nminimum of one packet per 64 seconds.\n\nThe patch fixes this bug by handling integer division more\nintelligently. Due to consistent use of dccp_sample_rtt(),\ndivide-by-zero-RTT is avoided.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6079a463cf95fafcc704a4e5e92a4da12444bd3c",
      "tree": "00080f77f8bef52b78cdbb8762c2625dac18b4fc",
      "parents": [
        "289c79a4bd350e8a25065102563ad1a183d1b402"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Tue May 27 06:22:38 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 27 06:22:38 2008 -0700"
      },
      "message": "dccp: Fix to handle short sequence numbers packet correctly\n\nRFC4340 said:\n  8.5.  Pseudocode\n       ...\n       If P.type is not Data, Ack, or DataAck and P.X \u003d\u003d 0 (the packet\n             has short sequence numbers), drop packet and return\n\nBut DCCP has some mistake to handle short sequence numbers packet, now\nit drop packet only if P.type is Data, Ack, or DataAck and P.X \u003d\u003d 0.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nAcked-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": "19443178fbfbf40db15c86012fc37df1a44ab857",
      "tree": "e41cd59c5e6aba6f5ca932c9131f73e563b02bf8",
      "parents": [
        "7a1aa309f21ea2f6c31f364341e4027ecf4e79bc"
      ],
      "author": {
        "name": "Chris Wright",
        "email": "chrisw@sous-sol.org",
        "time": "Mon May 05 13:50:24 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 05 13:50:24 2008 -0700"
      },
      "message": "dccp: return -EINVAL on invalid feature length\n\ndccp_feat_change() validates length and on error is returning 1.\nThis happens to work since call chain is checking for 0 \u003d\u003d success,\nbut this is returned to userspace, so make it a real error value.\n\nSigned-off-by: Chris Wright \u003cchrisw@sous-sol.org\u003e\nAcked-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "84994e16f25dabe234be4fc2d323ec9db95b87cb",
      "tree": "d30cc0144afe0f4640e432b4c0bd4a0f1f86c9ed",
      "parents": [
        "0c0b0aca66b3a58e12a216d992a0b534eff210e0"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Fri May 02 16:44:07 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 02 16:44:07 2008 -0700"
      },
      "message": "dccp: ccid2.c, ccid3.c use clamp(), clamp_t()\n\nMakes the intention of the nested min/max clear.\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2e561c7b7e705b619122e5386d6f99f28f2b6e5a",
      "tree": "be942c58cacd25c66cced37e1a82f269c37871de",
      "parents": [
        "2cfed60cc24676d65e01278dbf10d0069de02592",
        "653252c2302cdf2dfbca66a7e177f7db783f9efa"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 25 12:28:28 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 25 12:28:28 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (48 commits)\n  net: Fix wrong interpretation of some copy_to_user() results.\n  xfrm: alg_key_len \u0026 alg_icv_len should be unsigned\n  [netdrvr] tehuti: move ioctl perm check closer to function start\n  ipv6: Fix typo in net/ipv6/Kconfig\n  via-velocity: fix vlan receipt\n  tg3: sparse cleanup\n  forcedeth: realtek phy crossover detection\n  ibm_newemac: Increase MDIO timeouts\n  gianfar: Fix skb allocation strategy\n  netxen: reduce stack usage of netxen_nic_flash_print\n  smc911x: test after postfix decrement fails in smc911x_{reset,drop_pkt}\n  net drivers: fix platform driver hotplug/coldplug\n  forcedeth: new backoff implementation\n  ehea: make things static\n  phylib: Add support for board-level PHY fixups\n  [netdrvr] atlx: code movement: move atl1 parameter parsing\n  atlx: remove flash vendor parameter\n  korina: misc cleanup\n  korina: fix misplaced return statement\n  WAN: Fix confusing insmod error code for C101 too.\n  ...\n"
    },
    {
      "commit": "653252c2302cdf2dfbca66a7e177f7db783f9efa",
      "tree": "8d77bebbe29378c818313e4557242548b923d787",
      "parents": [
        "cc93d7d77d28d65d4f947dabc95a01c42d713ea3"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Fri Apr 25 01:49:48 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Apr 25 01:49:48 2008 -0700"
      },
      "message": "net: Fix wrong interpretation of some copy_to_user() results.\n\nI found some places, that erroneously return the value obtained from\nthe copy_to_user() call: if some amount of bytes were not able to get\nto the user (this is what this one returns) the proper behavior is to\nreturn the -EFAULT error, not that number itself.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b0d19a378a409373244088511e889957645f2a44",
      "tree": "25275409eeea845f2e7617f12c8f28801ee4198f",
      "parents": [
        "0093cb1199ec551f179562ca9fbd6f64fb750645",
        "d7d313000ba2fc94a5383511a17ff38a39bab928"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 23 12:23:45 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 23 12:23:45 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:\n  iwlwifi: Fix built-in compilation of iwlcore\n  net: Unexport move_addr_to_{kernel,user}\n  rt2x00: Select LEDS_CLASS.\n  iwlwifi: Select LEDS_CLASS.\n  leds: Do not guard NEW_LEDS with HAS_IOMEM\n  [IPSEC]: Fix catch-22 with algorithm IDs above 31\n  time: Export set_normalized_timespec.\n  tcp: Make use of before macro in tcp_input.c\n  hamradio: Remove unneeded and deprecated cli()/sti() calls in dmascc.c\n  [NETNS]: Remove empty -\u003einit callback.\n  [DCCP]: Convert do_gettimeofday() to getnstimeofday().\n  [NETNS]: Don\u0027t initialize err variable twice.\n  [NETNS]: The ip6_fib_timer can work with garbage on net namespace stop.\n  [IPV4]: Convert do_gettimeofday() to getnstimeofday().\n  [IPV4]: Make icmp_sk_init() static.\n  [IPV6]: Make struct ip6_prohibit_entry_template static.\n  tcp: Trivial fix to correct function name in a comment in net/ipv4/tcp.c\n  [NET]: Expose netdevice dev_id through sysfs\n  skbuff: fix missing kernel-doc notation\n  [ROSE]: Fix soft lockup wrt. rose_node_list_lock\n"
    },
    {
      "commit": "cdd04d98f6922f5a7ba52714f077140d42bc67c9",
      "tree": "501f645032b1becd913ef8bea8acba7232bee7fd",
      "parents": [
        "633d424bf33dab99e77b36210fbd1b996e7823df"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Mon Apr 21 14:28:45 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 21 14:28:45 2008 -0700"
      },
      "message": "[DCCP]: Convert do_gettimeofday() to getnstimeofday().\n\nWhat do_gettimeofday() does is to call getnstimeofday() and\nto convert the result from timespec{} to timeval{}.\nWe do not always need timeval{} and we can convert timespec{}\nwhen we really need (to print).\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nAcked-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5f090dcb4d4fff373ce7165bce4ba5e87534d50a",
      "tree": "7555518ce0687cc7de59aa271081cf648fc8a759",
      "parents": [
        "950e4da32426859ee4b37b2c95026d4f1efa5d05"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Fri Apr 18 22:15:50 2008 -0400"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "willy@linux.intel.com",
        "time": "Fri Apr 18 22:15:50 2008 -0400"
      },
      "message": "net: Remove unnecessary inclusions of asm/semaphore.h\n\nNone of these files use any of the functionality promised by\nasm/semaphore.h.  It\u0027s possible that they rely on it dragging in some\nunrelated header file, but I can\u0027t build all these files, so we\u0027ll have\nfix any build failures as they come up.\n\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\n"
    },
    {
      "commit": "e56d8b8a2ee5fb7f63ceba58e1c0fb3c844888a4",
      "tree": "cc145929b5b5dd3e7d2ddeb75cba6c7813a5c206",
      "parents": [
        "8b73a07c8ffaa70683022566080f4df3328ea18d"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Apr 17 23:17:34 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 17 23:17:34 2008 -0700"
      },
      "message": "[INET]: Drop the inet_inherit_port() call.\n\nAs I can see from the code, two places (tcp_v6_syn_recv_sock and\ndccp_v6_request_recv_sock) that call this one already run with\nBHs disabled, so it\u0027s safe to call __inet_inherit_port there.\n\nBesides (in case I missed smth with code review) the calltrace\ntcp_v6_syn_recv_sock\n `- tcp_v4_syn_recv_sock\n     `- __inet_inherit_port\nand the similar for DCCP are valid, but assumes BHs to be disabled.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "13f51d82acb003918d71ce4639ae77fceaa58cad",
      "tree": "cdb06ee7338e197ac449bf2439ccb270ae5861bf",
      "parents": [
        "df39e8ba56a788733d369068c7319e04b1da3cd5"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Mon Apr 14 02:38:45 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 14 02:38:45 2008 -0700"
      },
      "message": "[DCCP]: Fix comment about control sockets.\n\nThese sockets now have a bit other names and are no longer global.\n\nShame on me, I haven\u0027t provided a good comment for this when\nsending DCCP netnsization patches.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\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": "671a1c7401c6e48f5f2a77ac330727a13a9c8b63",
      "tree": "9737d14faacc2ee40fb1cc0319f04f487477ded1",
      "parents": [
        "334527d3511ecbffca68d6c8f75046262510cf41"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Sun Apr 13 22:33:06 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 13 22:33:06 2008 -0700"
      },
      "message": "[NETNS][DCCPV6]: Make per-net socket lookup.\n\nThe inet6_lookup family of functions requires a net to lookup\na socket in, so give a proper one to them.\n\nNo more things to do for dccpv6, since routing is OK and the\nipv4-like transport layer filtering is not done for ipv6.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "334527d3511ecbffca68d6c8f75046262510cf41",
      "tree": "ff57da540599a21bb547f01631c474b189837fa1",
      "parents": [
        "0204774191d3e7bc69e3ae6bbf328b635607505a"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Sun Apr 13 22:32:45 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 13 22:32:45 2008 -0700"
      },
      "message": "[NETNS][DCCPV6]: Actually create ctl socket on each net and use it.\n\nMove the call to inet_ctl_sock_create to init callback (and\ninet_ctl_sock_destroy to exit one) and use proper ctl sock\nin dccp_v6_ctl_send_reset.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@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": "0204774191d3e7bc69e3ae6bbf328b635607505a",
      "tree": "b26ac01c17f2acc3feb6b92d36564d13609e9a1f",
      "parents": [
        "8231bd270df435f2d4d85b284dd9dbd48521dd84"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Sun Apr 13 22:32:25 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 13 22:32:25 2008 -0700"
      },
      "message": "[NETNS][DCCPV6]: Move the dccp_v6_ctl_sk on the struct net.\n\nAnd replace all its usage with init_net\u0027s socket.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@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": "8231bd270df435f2d4d85b284dd9dbd48521dd84",
      "tree": "910c5d067af572ae28809df7ed7501b10c399d57",
      "parents": [
        "68d185980f70413b353df99cdf5e667510036668"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Sun Apr 13 22:32:02 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 13 22:32:02 2008 -0700"
      },
      "message": "[NETNS][DCCPV6]: Add dummy per-net operations.\n\nThey will be responsible for ctl socket initialization, but\ncurrently they are void.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@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": "68d185980f70413b353df99cdf5e667510036668",
      "tree": "3bbea21c14f6cd0f6feb28a66249bdeead9e3011",
      "parents": [
        "fc5f8580d31d52890f17526ea739b124bd4e56f4"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Sun Apr 13 22:31:32 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 13 22:31:32 2008 -0700"
      },
      "message": "[NETNS][DCCPV6]: Don\u0027t pass NULL to ip6_dst_lookup.\n\nThis call uses the sock to get the net to lookup the routing\nin. With CONFIG_NET_NS this code will OOPS, since the sk ptr\nis NULL.\n\nAfter looking inside the ip6_dst_lookup and drawing the analogy\nwith respective ipv6 code, it seems, that the dccp ctl socket \nis a good candidate for the first argument.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@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": "fc5f8580d31d52890f17526ea739b124bd4e56f4",
      "tree": "dddbaef88fca366dcff053af94e75c97cec12a09",
      "parents": [
        "b9901a84c98fe27c6a598c0f3ec944a7f17a5f97"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Sun Apr 13 22:31:05 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 13 22:31:05 2008 -0700"
      },
      "message": "[NETNS][DCCPV4]: Enable DCCPv4 in net namespaces.\n\nThis enables sockets creation with IPPROTO_DCCP and enables\nthe ip level to pass DCCP packets to the DCCP level.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@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": "b9901a84c98fe27c6a598c0f3ec944a7f17a5f97",
      "tree": "42e43b306154705ee17ccb350914e486308040ca",
      "parents": [
        "f54873982c6aac9bc5c7eef62a9ce4d52b1dfc19"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Sun Apr 13 22:30:43 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 13 22:30:43 2008 -0700"
      },
      "message": "[NETNS][DCCPV4]: Make per-net socket lookup.\n\nThe inet_lookup family of functions requires a net to lookup\na socket in, so give a proper one to them.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@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": "f54873982c6aac9bc5c7eef62a9ce4d52b1dfc19",
      "tree": "df285d76f0ada79cd588f607a276757b2a4630ec",
      "parents": [
        "b76c4b27fee9c88294d3152784291fc6f6d23401"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Sun Apr 13 22:30:19 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 13 22:30:19 2008 -0700"
      },
      "message": "[NETNS][DCCPV4]: Use proper net to route the reset packet.\n\nThe dccp_v4_route_skb used in dccp_v4_ctl_send_reset, currently\nworks with init_net\u0027s routing tables - fix it.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@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": "b76c4b27fee9c88294d3152784291fc6f6d23401",
      "tree": "afdaf5706f8d930d9ac5441ebdb6245e1a136fa7",
      "parents": [
        "7b1cffa8c90269dc3dc721d084d1e0d742d87c31"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Sun Apr 13 22:29:59 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 13 22:29:59 2008 -0700"
      },
      "message": "[NETNS][DCCPV4]: Actually create ctl socket on each net and use it.\n\nMove the call to inet_ctl_sock_create to init callback (and\ninet_ctl_sock_destroy to exit one) and use proper ctl sock\nin dccp_v4_ctl_send_reset.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@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": "7b1cffa8c90269dc3dc721d084d1e0d742d87c31",
      "tree": "790914a5574a2cf33a7ee3672629bf0a31f77b71",
      "parents": [
        "72a2d6138224298a576bcdc33d7d0004de604856"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Sun Apr 13 22:29:37 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 13 22:29:37 2008 -0700"
      },
      "message": "[NETNS][DCCPV4]: Move the dccp_v4_ctl_sk on the struct net.\n\nAnd replace all its usage with init_net\u0027s socket.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@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": "72a2d6138224298a576bcdc33d7d0004de604856",
      "tree": "f2bebe6490dd58214140046945d55c8519aa44e0",
      "parents": [
        "67019cc9ee3f4868c8e5e493b2873c4722306019"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Sun Apr 13 22:29:13 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 13 22:29:13 2008 -0700"
      },
      "message": "[NETNS][DCCPV4]: Add dummy per-net operations.\n\nThey will be responsible for ctl socket initialization, but\ncurrently they are void.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@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": "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": "24e8b7e48471514c9311c733b3f399bd20d014fe",
      "tree": "6563b3ac632b01d71909313c6feb0ff704862d4f",
      "parents": [
        "387a5487f5a1f8bfc3b2c5818e50dfd19eeb4f3f"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Thu Apr 10 03:48:43 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 10 03:48:43 2008 -0700"
      },
      "message": "[DCCP]: Use snmp_mib_{init,free}().\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nAcked-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5677242f432102dea9e6eceec1dc089e2f709ca4",
      "tree": "73036437b91f2e8cd5427be48a588bff3af587eb",
      "parents": [
        "eee4fe4ded6e9c196168aee8f9787771f4df9c90"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Thu Apr 03 14:28:30 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 03 14:28:30 2008 -0700"
      },
      "message": "[NETNS]: Inet control socket should not hold a namespace.\n\nThis is a generic requirement, so make inet_ctl_sock_create namespace\naware and create a inet_ctl_sock_destroy wrapper around\nsk_release_kernel.\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": "eee4fe4ded6e9c196168aee8f9787771f4df9c90",
      "tree": "271a5837eef0a7f25bf7c8e1e36f413271dd70c7",
      "parents": [
        "8258175c811440e93baa15ab1962a5905686dda3"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Thu Apr 03 14:27:58 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 03 14:27:58 2008 -0700"
      },
      "message": "[INET]: Let inet_ctl_sock_create return sock rather than socket.\n\nAll upper protocol layers are already use sock internally.\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": "3d58b5fa8e4c461ab09afdacd3d1754fccca06ad",
      "tree": "b5793c1cc2f0d41657c5e5d101cc00e07c515a60",
      "parents": [
        "4f049b4f33d07bd11335c3a074ebef14213a3e37"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Thu Apr 03 14:22:32 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 03 14:22:32 2008 -0700"
      },
      "message": "[INET]: Rename inet_csk_ctl_sock_create to inet_ctl_sock_create.\n\nThis call is nothing common with INET connection sockets code. It\nsimply creates an unhashes kernel sockets for protocol messages.\n\nMove the new call into af_inet.c after the rename.\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": "4f049b4f33d07bd11335c3a074ebef14213a3e37",
      "tree": "01b9ce8cee9e75cf69269779b457c82b4c32cb77",
      "parents": [
        "7630f026810a63464e47391ab1e03674c33eb1b8"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Thu Apr 03 14:21:33 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 03 14:21:33 2008 -0700"
      },
      "message": "[DCCP]: dccp_v(4|6)_ctl_socket is leaked.\n\nThis seems a purism as module can\u0027t be unloaded, but though if cleanup\nmethod is present it should be correct and clean all staff created.\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": "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": "bdcde3d71a67e97f25e851f3ca97c9bb5ef03e7f",
      "tree": "eab4a66777582718ffe2eff9038324331106ec18",
      "parents": [
        "60e7663d462af3994f292cb3691ea4f7371a9220"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Fri Mar 28 16:39:33 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 28 16:39:33 2008 -0700"
      },
      "message": "[SOCK]: Drop inuse pcounter from struct proto (v2).\n\nAn uppercut - do not use the pcounter on struct proto.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nAcked-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "39d8cda76cfb1178455f9d196b39e773878e6c05",
      "tree": "b58af892ccb3fd232078a87148c1dc9622be0c84",
      "parents": [
        "22aba383ce52f8ca8740f9a74dc66b1b68138813"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Sat Mar 22 16:50:58 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 22 16:50:58 2008 -0700"
      },
      "message": "[SOCK]: Add udp_hash member to struct proto.\n\nInspired by the commit ab1e0a13 ([SOCK] proto: Add hashinfo member to \nstruct proto) from Arnaldo, I made similar thing for UDP/-Lite IPv4 \nand -v6 protocols.\n\nThe result is not that exciting, but it removes some levels of\nindirection in udpxxx_get_port and saves some space in code and text.\n\nThe first step is to union existing hashinfo and new udp_hash on the\nstruct proto and give a name to this union, since future initialization \nof tcpxxx_prot, dccp_vx_protinfo and udpxxx_protinfo will cause gcc \nwarning about inability to initialize anonymous member this way.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\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": "ee6b967301b4aa5d4a4b61e2f682f086266db9fb",
      "tree": "197c2430f87733dc80d00d1971f1be2a0e562358",
      "parents": [
        "a05c44f6d5fb6cd29da04f96bf5ffaa05f545ac5"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Wed Mar 05 18:30:47 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 05 18:30:47 2008 -0800"
      },
      "message": "[IPV4]: Add \u0027rtable\u0027 field in struct sk_buff to alias \u0027dst\u0027 and avoid casts\n\n(Anonymous) unions can help us to avoid ugly casts.\n\nA common cast it the (struct rtable *)skb-\u003edst one.\n\nDefining an union like  :\nunion {\n     struct dst_entry *dst;\n     struct rtable *rtable;\n};\npermits to use skb-\u003ertable in place.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fd80eb942ad9761f241c9b287b3b9a342b20690d",
      "tree": "664b7a2351dab82419ccf7fa91e6f89ede52065c",
      "parents": [
        "58fbbed4fbc0094fc808a568fe99a915f85402ee"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Fri Feb 29 11:43:03 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Feb 29 11:43:03 2008 -0800"
      },
      "message": "[INET]: Remove struct dst_entry *dst from request_sock_ops.rtx_syn_ack.\n\nIt looks like dst parameter is used in this API due to historical\nreasons.  Actually, it is really used in the direct call to\ntcp_v4_send_synack only.  So, create a wrapper for tcp_v4_send_synack\nand remove dst from rtx_syn_ack.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\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": "d86e0dac2ce412715181f792aa0749fe3effff11",
      "tree": "bc9197a7316c7d7641112d5f5975d8b91afdbd08",
      "parents": [
        "c67499c0e772064b37ad75eb69b28fc218752636"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Jan 31 05:07:21 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 31 19:28:20 2008 -0800"
      },
      "message": "[NETNS]: Tcp-v6 sockets per-net lookup.\n\nAdd a net argument to inet6_lookup and propagate it further.\nActually, this is tcp-v6 implementation of what was done for\ntcp-v4 sockets in a previous patch.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c67499c0e772064b37ad75eb69b28fc218752636",
      "tree": "7d2873308f16080c0c3801d6024881360dd8e196",
      "parents": [
        "941b1d22cc035ad58b3d9b44a1c74efac2d7e499"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Jan 31 05:06:40 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 31 19:28:19 2008 -0800"
      },
      "message": "[NETNS]: Tcp-v4 sockets per-net lookup.\n\nAdd a net argument to inet_lookup and propagate it further\ninto lookup calls. Plus tune the __inet_check_established.\n\nThe dccp and inet_diag, which use that lookup functions\npass the init_net into them.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f1b050bf7a88910f9f00c9c8989c1bf5a67dd140",
      "tree": "37e8dce4268cb657a75e5074a38db48264f1e42f",
      "parents": [
        "611c183ebcb5af384df3a4ddb391034a1b6ac255"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Tue Jan 22 22:07:10 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:11:06 2008 -0800"
      },
      "message": "[NETNS]: Add namespace parameter to ip_route_output_flow.\n\nNeeded to propagate it down to the __ip_route_output_key.\n\nSigned_off_by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b5ccd792fa413f9336273cb8fa3b9dd3a7ec1735",
      "tree": "64b23972fdf667baa74a0895bf403b22eb7de86c",
      "parents": [
        "cb7928a528264a69b29b6001b490b64607ed0557"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Jan 09 00:30:05 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:01:07 2008 -0800"
      },
      "message": "[NET]: Simple ctl_table to ctl_path conversions.\n\nThis patch includes many places, that only required\nreplacing the ctl_table-s with appropriate ctl_paths\nand call register_sysctl_paths().\n\nNothing special was done with them.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c4e18dade1f878db33ed38927de22e63d550970d",
      "tree": "514e2321c39618ae4c7ad4b15f7ae0d65eefb66c",
      "parents": [
        "cf35f43e6e41b160d8dedd80a127210fd3be9ada"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Sat Jan 05 23:13:58 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:00:44 2008 -0800"
      },
      "message": "[CCID3]: Kill some bloat\n\nWithout a number of CONFIG.*DEBUG:\n\nnet/dccp/ccids/ccid3.c:\n  ccid3_hc_tx_update_x          | -170\n  ccid3_hc_tx_packet_sent       | -175\n  ccid3_hc_tx_packet_recv       | -169\n  ccid3_hc_tx_no_feedback_timer | -192\n  ccid3_hc_tx_send_packet       | -144\n 5 functions changed, 850 bytes removed, diff: -850\n\nnet/dccp/ccids/ccid3.c:\n  ccid3_update_send_interval | +191\n 1 function changed, 191 bytes added, diff: +191\n\nnet/dccp/ccids/ccid3.o:\n 6 functions changed, 191 bytes added, 850 bytes removed, diff: -659\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "152da81deb9a4870aeac352336184b2b14d4b2ba",
      "tree": "63db8e49be92e7f23667d8c3356177840287118f",
      "parents": [
        "d6701191329b51793bc56724548f0863d2149c29"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Dec 20 15:31:33 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:59:26 2008 -0800"
      },
      "message": "[INET]: Uninline the __inet_hash function.\n\nThis one is used in quite many places in the networking code and\nseems to big to be inline.\n\nAfter the patch net/ipv4/build-in.o loses ~650 bytes:\nadd/remove: 2/0 grow/shrink: 0/5 up/down: 461/-1114 (-653)\nfunction                                     old     new   delta\n__inet_hash_nolisten                           -     282    +282\n__inet_hash                                    -     179    +179\ntcp_sacktag_write_queue                     2255    2254      -1\n__inet_lookup_listener                       284     274     -10\ntcp_v4_syn_recv_sock                         755     493    -262\ntcp_v4_hash                                  389      35    -354\ninet_hash_connect                           1086     599    -487\n\nThis version addresses the issue pointed by Eric, that\nwhile being inline this function was optimized by gcc\nin respect to the \u0027listen_possible\u0027 argument.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "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": "52515e77a7a69867c479db4c9efb6be832b82179",
      "tree": "d4246af065a53f7e2ae92070ec07d59ba892baf6",
      "parents": [
        "d8d1252f744cb7cebd6ba3a4b7feec31ff23ccde"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Mon Dec 17 12:57:43 2007 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:58:23 2008 -0800"
      },
      "message": "[CCID3]: Nofeedback timer according to rfc3448bis\n\nThis implements the changes to the nofeedback timer handling suggested\nin draft rfc3448bis00, section 4.4. In particular, these changes mean:\n\n * better handling of the lossless case (p \u003d\u003d 0)\n * the timestamp for computing t_ld becomes obsolete\n * much more recent document (RFC 3448 is almost 5 years old)\n * concepts in rfc3448bis arose from a real, working implementation\n   (cf. sec. 12)\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": "d8d1252f744cb7cebd6ba3a4b7feec31ff23ccde",
      "tree": "acb47c9a5e654a6b5ca3ebf60c8c60d783fb3a65",
      "parents": [
        "5bd370a63daf62bb5520c258f04e91a4d9d274dd"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Mon Dec 17 12:48:47 2007 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:58:22 2008 -0800"
      },
      "message": "[CCID3]: Implement rfc3448bis changes to feedback reception\n\nThis implements the algorithm to update the allowed sending rate X upon\nreceiving feedback packets, as described in draft rfc3448bis, 4.2/4.3.\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": "5bd370a63daf62bb5520c258f04e91a4d9d274dd",
      "tree": "acec316f81c7d2b4e87373a229875a2f78b6ca96",
      "parents": [
        "8e138e7949490eebdccbd65b1f660a0488149a6b"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Mon Dec 17 10:25:06 2007 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:58:22 2008 -0800"
      },
      "message": "[CCID3]: Remove two irrelevant states in TX feedback handling\n\n * the NO_SENT state is only triggered in bidirectional mode,\n   costing unnecessary processing.\n * the TERM (terminating) state is irrelevant.\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": "8e138e7949490eebdccbd65b1f660a0488149a6b",
      "tree": "8013f8f699f3bac8daa9747183a704854150c496",
      "parents": [
        "17159b0b494ad27f397f914d6eab1b91faf57630"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Mon Dec 17 10:07:44 2007 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:58:21 2008 -0800"
      },
      "message": "[CCID3]: Use a function to update p_inv, and p is never used\n\nThis patch\n 1) concentrates previously scattered computation of p_inv into one function;\n 2) removes the `p\u0027 element of the CCID3 RX sock (it is redundant);\n 3) makes the tfrc_rx_info structure standalone, only used on demand.\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": "6179983ad30c43313e153b35af52bd9ebd7745c3",
      "tree": "1b1fcbad582d7aef0505910bdbfecaf833726357",
      "parents": [
        "84a97b0af8c29aa5a47cc5271968a9c6004fb91e"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Thu Dec 13 23:37:55 2007 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:57:59 2008 -0800"
      },
      "message": "[DCCP]: Introducing CCMPS\n\nThis introduces a CCMPS field for setting a CCID-specific upper bound on the application payload\nsize, as is defined in RFC 4340, section 14.\n\nOnly the TX CCID is considered in setting this limit, since the RX CCID generates comparatively\nsmall (DCCP-Ack) feedback packets. The CCMPS field includes network and transport layer header\nlengths. The only current CCMPS customer is CCID4 (via RFC 4828).\n\nA wrapper is used to allow querying the CCMPS even at times where the CCID modules may not have\nbeen fully negotiated yet.\n\nIn dccp_sync_mss() the variable `mss_now\u0027 has been renamed into `cur_mps\u0027, to reflect that we are\ndealing with an MPS, but not an MSS.\nSince the DCCP code closely follows the TCP code, the identifiers `dccp_sync_mss\u0027 and\n`dccps_mss_cache\u0027 have been kept, as they have direct TCP counterparts.\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": "84a97b0af8c29aa5a47cc5271968a9c6004fb91e",
      "tree": "8fb3da66a7c0cc0933b714de884f210f0ecb90e0",
      "parents": [
        "9cb2345a8c49ea380437d02bb9fd9f291c0a005d"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Thu Dec 13 23:33:25 2007 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:57:58 2008 -0800"
      },
      "message": "[CCID]: More informative registration\n\nThe patch makes the registration messages of CCID 2/3 a bit more\ninformative: instead of repeating the CCID number as currently done,\n\n        \"CCID: Registered CCID 2 (ccid2)\"  or\n        \"CCID: Registered CCID 3 (ccid3)\",\n\nthe descriptive names of the CCID\u0027s (from RFCs) are now used:\n\n\t\"CCID: Registered CCID 2 (TCP-like)\" and\n\t\"CCID: Registered CCID 3 (TCP-Friendly Rate Control)\".\n\nTo allow spaces in the name, the slab name string has been changed to\nrefer to the numeric CCID identifier, using the same format as before.\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": "9cb2345a8c49ea380437d02bb9fd9f291c0a005d",
      "tree": "d9305b7be0f0a29bdfc252285b7c1079c18a29cf",
      "parents": [
        "f5026fabda54e5ab5d469d8cfac5f46b4d321ce9"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Thu Dec 13 23:31:14 2007 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:57:58 2008 -0800"
      },
      "message": "[DCCP]: Documentation for CCID operations\n\nThis adds documentation for the ccid_operations structure.\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": "cf86314cb7460423b0b7e611edad80a52dc90d10",
      "tree": "19c9389017f08828f2bcbbf1652904fa64aa8e84",
      "parents": [
        "5cdae198de33184c01226395b840f44f9834233a"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Thu Dec 13 12:48:19 2007 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:57:54 2008 -0800"
      },
      "message": "[DCCP]: Ignore feature negotiation on Data packets\n\nThis implements [RFC 4340, p. 32]: \"any feature negotiation options received\non DCCP-Data packets MUST be ignored\".\n\nAlso added a FIXME for further processing, since the code currently (wrongly)\nclassifies empty Confirm options as invalid - this needs to be resolved in\na separate 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": "5cdae198de33184c01226395b840f44f9834233a",
      "tree": "581c70dcbb31fb2494f18191a7cf815fd2ed05e4",
      "parents": [
        "dd6303df095d18b0c524a76a42f57bcc679b2039"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Thu Dec 13 12:41:46 2007 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:57:53 2008 -0800"
      },
      "message": "[DCCP]: Make code assumptions explicit\n\nThis removes several `XXX\u0027 references which indicate a missing support\nfor non-1-byte feature values: this is unnecessary, as all currently known\n(standardised) SP feature values are 1-byte quantities.\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": "dd6303df095d18b0c524a76a42f57bcc679b2039",
      "tree": "7bb19426bb87c895b3b0cdcb3639623481abbcea",
      "parents": [
        "af3b867e2f6b72422bc7aacb1f1e26f47a9649bc"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Thu Dec 13 12:40:40 2007 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:57:52 2008 -0800"
      },
      "message": "[DCCP]: Remove unused and redundant validation functions\n\nThis removes two inlines which were both called in a single function only:\n\n 1) dccp_feat_change() is always called with either DCCPO_CHANGE_L or DCCPO_CHANGE_R as argument\n    * from dccp_set_socktopt_change() via do_dccp_setsockopt() with DCCP_SOCKOPT_CHANGE_R/L\n    * from __dccp_feat_init() via dccp_feat_init() also with DCCP_SOCKOPT_CHANGE_R/L.\n\n    Hence the dccp_feat_is_valid_type() is completely unnecessary and always returns true.\n\n 2) Due to (1), the length test reduces to \u0027len \u003e\u003d 4\u0027, which in turn makes\n    dccp_feat_is_valid_length() unnecessary.\n\nFurthermore, the inline function dccp_feat_is_reserved() was unfolded,\nsince only called in a single place.\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": "b4d4f7c70fd3361c6c889752e08ea9be304cf5f4",
      "tree": "b84c712184dfcdde4b68980f4eff21bcaefbfcf3",
      "parents": [
        "8109616e2ef978d142ea45850efd4f102b9bdce4"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Thu Dec 13 12:37:19 2007 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:57:51 2008 -0800"
      },
      "message": "[DCCP]: Handle timestamps on Request/Response exchange separately\n\nIn DCCP, timestamps can occur on packets anytime, CCID3 uses a timestamp(/echo) on the Request/Response\nexchange. This patch addresses the following situation:\n\t* timestamps are recorded on the listening socket;\n\t* Responses are sent from dccp_request_sockets;\n\t* suppose two connections reach the listening socket with very small time in between:\n\t* the first timestamp value gets overwritten by the second connection request.\n\nThis is not really good, so this patch separates timestamps into\n * those which are received by the server during the initial handshake (on dccp_request_sock);\n * those which are received by the client or the client after connection establishment.\n\nAs before, a timestamp of 0 is regarded as indicating that no (meaningful) timestamp has been\nreceived (in addition, a warning message is printed if hosts send 0-valued timestamps).\n\nThe timestamp-echoing now works as follows:\n * when a timestamp is present on the initial Request, it is placed into dreq, due to the\n   call to dccp_parse_options in dccp_v{4,6}_conn_request;\n * when a timestamp is present on the Ack leading from RESPOND \u003d\u003e OPEN, it is copied over\n   from the request_sock into the child cocket in dccp_create_openreq_child;\n * timestamps received on an (established) dccp_sock are treated as before.\n\nSince Elapsed Time is measured in hundredths of milliseconds (13.2), the new dccp_timestamp()\nfunction is used, as it is expected that the time between receiving the timestamp and\nsending the timestamp echo will be very small against the wrap-around time. As a byproduct,\nthis allows smaller timestamping-time fields.\n\nFurthermore, inserting the Timestamp Echo option has been taken out of the block starting with\n\u0027!dccp_packet_without_ack()\u0027, since Timestamp Echo can be carried on any packet (5.8 and 13.3).\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": "8109616e2ef978d142ea45850efd4f102b9bdce4",
      "tree": "338aa4e2bf9d9424090b0d698d20b3c465cf229c",
      "parents": [
        "8b819412481494fb6861c08d360b75fabcbbfbbf"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Thu Dec 13 12:31:26 2007 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:57:50 2008 -0800"
      },
      "message": "[DCCP]: Add (missing) option parsing to request_sock processing\n\nThis adds option-parsing code to processing of Acks in the listening state\non request_socks on the server, serving two purposes\n (i)  resolves a FIXME (removed);\n (ii) paves the way for feature-negotiation during connection-setup.\n\nThere is an intended subtlety here with regard to dccp_check_req:\n\n Parsing options happens only after testing whether the received packet is\n a retransmitted Request.  Otherwise, if the Request contained (a possibly\n large number of) feature-negotiation options, recomputing state would have to\n happen each time a retransmitted Request arrives, which opens the door to an\n easy DoS attack.  Since in a genuine retransmission the options should not be\n different from the original, reusing the already computed state seems better.\n\n The other point is - if there are timestamp options on the Request, they will\n not be answered; which means that in the presence of retransmission (likely\n due to loss and/or other problems), the use of Request/Response RTT sampling\n is suspended, so that startup problems here do not propagate.\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": "8b819412481494fb6861c08d360b75fabcbbfbbf",
      "tree": "ddd9f976f051fb5cff794992b38613bbbfcb9cc1",
      "parents": [
        "7913350663e2756ecb91dd3a7c773806b943426e"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Thu Dec 13 12:29:24 2007 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:57:50 2008 -0800"
      },
      "message": "[DCCP]: Allow to parse options on Request Sockets\n\nThe option parsing code currently only parses on full sk\u0027s. This causes a problem for\noptions sent during the initial handshake (in particular timestamps and feature-negotiation\noptions). Therefore, this patch extends the option parsing code with an additional argument\nfor request_socks: if it is non-NULL, options are parsed on the request socket, otherwise\nthe normal path (parsing on the sk) is used.\n\nSubsequent patches, which implement feature negotiation during connection setup, make use\nof this facility.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nSigned-off-by: Ian McDonald \u003cian.mcdonald@jandi.co.nz\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7913350663e2756ecb91dd3a7c773806b943426e",
      "tree": "3fcb07f5465930633526affa050571527ecd5c5a",
      "parents": [
        "b8599d20708fa3bde1e414689f3474560c2d990b"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Thu Dec 13 12:27:14 2007 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:57:49 2008 -0800"
      },
      "message": "[DCCP]: Collapse repeated `len\u0027 statements into one\n\nThis replaces 4 individual assignments for `len\u0027 with a single\none, placed where the control flow of those 4 leads to.\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": "b8599d20708fa3bde1e414689f3474560c2d990b",
      "tree": "adeb51da63a75b03fa55ddbc4712c8359240a3bf",
      "parents": [
        "28be5440044d5b19b0331f79fb3e81845ad6d77e"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Thu Dec 13 12:25:01 2007 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:57:48 2008 -0800"
      },
      "message": "[DCCP]: Support for server holding timewait state\n\nThis adds a socket option and signalling support for the case where the server\nholds timewait state on closing the connection, as described in RFC 4340, 8.3.\n\nSince holding timewait state at the server is the non-usual case, it is enabled\nvia a socket option. Documentation for this socket option has been added.\n\nThe setsockopt statement has been made resilient against different possible cases\nof expressing boolean `true\u0027 values using a suggestion by Ian McDonald.\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": "92d31920b84f258badf206eea8aaf5ac677ac535",
      "tree": "b61c5a87ccd5110638df0a4d44924d8dffacbcf1",
      "parents": [
        "09f7709f4929666006931f1d4efc498a6d419bbc"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Thu Dec 13 12:02:43 2007 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:57:47 2008 -0800"
      },
      "message": "[DCCP]: Shift the retransmit timer for active-close into output.c\n\nWhen performing active close, RFC 4340, 8.3. requires to retransmit the\nClose/CloseReq with a backoff-retransmit timer starting at intially 2 RTTs.\n\nThis patch shifts the existing code for active-close retransmit timer\ninto output.c, so that the retransmit timer is started when the first\nClose/CloseReq is sent. Previously, the timer was started when, after\nreleasing the socket in dccp_close(), the actively-closing side had not yet\nreached the CLOSED/TIMEWAIT state.\n\nThe patch further reduces the initial timeout from 3 seconds to the required\n2 RTTs, where - in absence of a known RTT - the fallback value specified in\nRFC 4340, 3.4 is used.\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": "69567d0b63b7f4ffeb53fe746c87bd6efe1c284b",
      "tree": "d2ce8ff37ecc6481684cddd386bc302f47a0a468",
      "parents": [
        "96eba69dbac767f4e287df39e6fa489d37f1aa7b"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Thu Dec 13 11:28:43 2007 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:57:45 2008 -0800"
      },
      "message": "[DCCP]: Perform SHUT_RD and SHUT_WR on receiving close\n\nThis patch performs two changes:\n\n1) Close the write-end in addition to the read-end when a fin-like segment\n  (Close or CloseReq) is received by DCCP. This accounts for the fact that DCCP,\n  in contrast to TCP, does not have a half-close. RFC 4340 says in this respect\n  that when a fin-like segment has been sent there is no guarantee at all that\n  any   further data will be processed.\n  Thus this patch performs SHUT_WR in addition to the SHUT_RD when a fin-like\n  segment is encountered.\n\n2) Minor change: I noted that code appears twice in different places and think it\n   makes sense to put this into a self-contained function (dccp_enqueue()).\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": "bb72845e699d3c84e5f861b51db686107a51dea5",
      "tree": "a4a84343cbcc96e86c83954dc82f2a5ee0ce787d",
      "parents": [
        "7233b9f33e72ca477034ff5cf901c89efba3a5bc"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Dec 12 18:48:58 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:57:42 2008 -0800"
      },
      "message": "[IPSEC]: Make callers of xfrm_lookup to use XFRM_LOOKUP_WAIT\n\nThis patch converts all callers of xfrm_lookup that used an\nexplicit value of 1 to indiciate blocking to use the new flag\nXFRM_LOOKUP_WAIT.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3f71c81ac37b27b824e9ce18fe17438dc2af4a16",
      "tree": "0291ca60c033aec233443faec78777f603e5e419",
      "parents": [
        "954c2db868ce896325dced91d5fba5e2226897a4"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Wed Dec 12 14:23:08 2007 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:57:20 2008 -0800"
      },
      "message": "[TFRC]: Remove previous loss intervals implementation\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": "de0d411cb8ea51175f52d935faead5c542b6e007",
      "tree": "d26398b1da10d52a4138728ff11e955d9d1fba04",
      "parents": [
        "db64196038e79b0460245d558e54ff4a21a52d1f"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Wed Dec 12 14:03:01 2007 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:57:19 2008 -0800"
      },
      "message": "[TFRC]: CCID3 (and CCID4) needs to access these inlines\n\nThis moves two inlines back to packet_history.h: these are not private\nto packet_history.c, but are needed by CCID3/4 to detect whether a new\nloss is indicated, or whether a loss is already pending.\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": "db64196038e79b0460245d558e54ff4a21a52d1f",
      "tree": "c24ee13b726832a85a95a2824f01293fe84dcc75",
      "parents": [
        "8a9c7e92e0ca97632126feee32ba2698b4eb6c8f"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Wed Dec 12 13:57:14 2007 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:57:18 2008 -0800"
      },
      "message": "[CCID3]: Redundant debugging output / documentation\n\nEach time feedback is sent two lines are printed:\n\n\tccid3_hc_rx_send_feedback: client ... - entry\n\tccid3_hc_rx_send_feedback: Interval ...usec, X_recv\u003d..., 1/p\u003d...\n\nThe first line is redundant and thus removed.\n\nFurther, documentation of ccid3_hc_rx_sock (capitalisation) is made consistent.\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": "8a9c7e92e0ca97632126feee32ba2698b4eb6c8f",
      "tree": "b569d6e39f3630f7a973814a925502035c63904b",
      "parents": [
        "8995a238ef6869bc5c80240440bc58452c7af283"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Wed Dec 12 13:50:51 2007 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:57:18 2008 -0800"
      },
      "message": "[TFRC]: Ringbuffer to track loss interval history\n\nA ringbuffer-based implementation of loss interval history is easier to\nmaintain, allocate, and update.\n\nThe `swap\u0027 routine to keep the RX history sorted is due to and was written\nby Arnaldo Carvalho de Melo, simplifying an earlier macro-based variant.\n\nDetails:\n * access to the Loss Interval Records via macro wrappers (with safety checks);\n * simplified, on-demand allocation of entries (no extra memory consumption on\n   lossless links); cache allocation is local to the module / exported as service;\n * provision of RFC-compliant algorithm to re-compute average loss interval;\n * provision of comprehensive, new loss detection algorithm\n \t- support for all cases of loss, including re-ordered/duplicate packets;\n \t- waiting for NDUPACK\u003d3 packets to fill the hole;\n\t- updating loss records when a late-arriving packet fills a hole.\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": "8995a238ef6869bc5c80240440bc58452c7af283",
      "tree": "40850acfd1042ecdf9bf3f745358871ef42772bb",
      "parents": [
        "df8f83fdd6369e1ba85f089fd6fe26bb2ddcb36f"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Wed Dec 12 12:28:40 2007 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:57:16 2008 -0800"
      },
      "message": "[TFRC]: Loss interval code needs the macros/inlines that were moved\n\nThis moves the inlines (which were previously declared as macros) back into\npacket_history.h since the loss detection code needs to be able to read entries\nfrom the RX history in order to create the relevant loss entries: it needs at\nleast tfrc_rx_hist_loss_prev() and tfrc_rx_hist_last_rcv(), which in turn\nrequire the definition of the other inlines (macros).\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": "df8f83fdd6369e1ba85f089fd6fe26bb2ddcb36f",
      "tree": "8ddb2e0b70d5ed99837919ada6664e70c876f119",
      "parents": [
        "2aaef4e47fef8a6c0bc7fc5d9d3eea4af290e04c"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Wed Dec 12 12:24:49 2007 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:57:15 2008 -0800"
      },
      "message": "[TFRC]: Put RX/TX initialisation into tfrc.c\n\nThis separates RX/TX initialisation and puts all packet history / loss intervals\ninitialisation into tfrc.c.\nThe organisation is uniform: slab declaration -\u003e {rx,tx}_init() -\u003e {rx,tx}_exit()\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": "385ac2e3f226c09cb71733df1899658e33a7850f",
      "tree": "d3b9754ec75c550b784ef51ab02b25e00aa70c34",
      "parents": [
        "797eba424d4332f6aff5b741600b61e3d4b3d3f2"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sat Dec 08 16:26:59 2007 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:57:04 2008 -0800"
      },
      "message": "[CCID3]: HC-receiver should not insert timestamps as HC-sender doesn\u0027t uses it\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": "797eba424d4332f6aff5b741600b61e3d4b3d3f2",
      "tree": "f29150076bb9032eb1e11a9a83c974b7875b3553",
      "parents": [
        "78282d2af598a1840934e2049a5c196885647f6a"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sat Dec 08 16:08:41 2007 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:57:03 2008 -0800"
      },
      "message": "[TFRC]: The function tfrc_rx_hist_entry_delete() is not used anymore\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": "78282d2af598a1840934e2049a5c196885647f6a",
      "tree": "19f2a626bc2a8741b3740a44ccaa9f0e02e21d34",
      "parents": [
        "c69bce20dda7f79160856a338298d65a284ba303"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sat Dec 08 15:08:08 2007 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:57:03 2008 -0800"
      },
      "message": "[TFRC]: Move comment.\n\nMoved up the comment \"Receiver routines\" above the first occurrence of\nRX history routines.\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": "b84a2189c4e1835c51fd6b974a0497be9bc4ba87",
      "tree": "d488b0a45618ac37c605b10b093f8f03a050a7fc",
      "parents": [
        "30a0eacd479f1c7c15fe0496585ff29f76de3378"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Thu Dec 06 13:18:11 2007 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:56:43 2008 -0800"
      },
      "message": "[TFRC]: New rx history code\n\nCredit here goes to Gerrit Renker, that provided the initial implementation for\nthis new codebase.\n\nI modified it just to try to make it closer to the existing API, renaming some\nfunctions, add namespacing and fix one bug where the tfrc_rx_hist_alloc was not\nfreeing the allocated ring entries on the error path.\n\nOriginal changeset comment from Gerrit:\n      -----------\nThis provides a new, self-contained and generic RX history service for TFRC\nbased protocols.\n\nDetails:\n * new data structure, initialisation and cleanup routines;\n * allocation of dccp_rx_hist entries local to packet_history.c,\n   as a service exported by the dccp_tfrc_lib module.\n * interface to automatically track highest-received seqno;\n * receiver-based RTT estimation (needed for instance by RFC 3448, 6.3.1);\n * a generic function to test for `data packets\u0027 as per  RFC 4340, sec. 7.7.\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": "30a0eacd479f1c7c15fe0496585ff29f76de3378",
      "tree": "eed98813afd0814e0d0999428b50477c5d36471e",
      "parents": [
        "d58d1af03a6a3ddf296ae3aeb4ff234af4b15958"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Thu Dec 06 12:29:07 2007 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:56:43 2008 -0800"
      },
      "message": "[CCID3]: The receiver of a half-connection does not set window counter values\n\nOnly the sender sets window counters [RFC 4342, sections 5 and 8.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"
    }
  ],
  "next": "d58d1af03a6a3ddf296ae3aeb4ff234af4b15958"
}
