)]}'
{
  "log": [
    {
      "commit": "3de96471bd7fb76406e975ef6387abe3a0698149",
      "tree": "e075e0ce74b97d906bdca160fe02b60e3cb9d907",
      "parents": [
        "0e835331e3111e5a92eb3a852405ea71ca8fff97"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Mon Oct 01 15:28:48 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:54:00 2007 -0700"
      },
      "message": "[TCP]: Wrap-safed reordering detection FRTO check\n\nIn case somebody has a suggestion about a better place for this\ncheck, which must guarantee execution \"early enough\" (i.e,\nbefore the wrap can occur), I\u0027m very open to them.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0e835331e3111e5a92eb3a852405ea71ca8fff97",
      "tree": "e7c1445866cf4ed306ffd39e1fd520f2b761566a",
      "parents": [
        "95eacd27e2a0924f1435654c06712cee6be099ad"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Mon Oct 01 15:28:17 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:53:59 2007 -0700"
      },
      "message": "[TCP]: Update comment of SACK block validator\n\nJust came across what RFC2018 states about generation of valid\nSACK blocks in case of reneging. Alter comment a bit to point\nout clearly.\n\nIMHO, there isn\u0027t any reason to change code because the\nvalidation is there for a purpose (counters will inform user\nabout decision TCP made if this case ever surfaces).\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "95eacd27e2a0924f1435654c06712cee6be099ad",
      "tree": "4e044b983176ed0a3141d733c6d9ff6d61e954e2",
      "parents": [
        "dc86967b54aaf64fb053cce83c05a4476d48583b"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Mon Oct 01 15:27:42 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:53:59 2007 -0700"
      },
      "message": "[TCP]: fix comments that got messed up during code move\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dc86967b54aaf64fb053cce83c05a4476d48583b",
      "tree": "a87709ce0ce71151e0c6de25304762b2f63c0e8b",
      "parents": [
        "8336793baf962163c9fab5a3f39614295fdbab27"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Mon Oct 01 15:27:19 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:53:58 2007 -0700"
      },
      "message": "[TCP]: No fackets_out/highest_sack tuning when SACK isn\u0027t enabled\n\nThis was found due to bug report from Cedric Le Goater though\nit turned this turned out to be unrelated bug.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f73e924cdd166360e8cc9a1b193008fdc9b3e3e2",
      "tree": "48fbf4b0f9101359e05fb53eabe194495f8214d1",
      "parents": [
        "5bf758539388fa9383afd539d052ae93229544b9"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Sep 28 14:39:55 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:53:35 2007 -0700"
      },
      "message": "[NETFILTER]: ctnetlink: use netlink policy\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fdf708322d4658daa6eb795d1a835b97efdb335e",
      "tree": "101258e5e2316c139106d7d69726b8370c1bc1a2",
      "parents": [
        "df6fb868d6118686805c2fa566e213a8f31c8e4f"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Sep 28 14:37:41 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:53:32 2007 -0700"
      },
      "message": "[NETFILTER]: nfnetlink: rename functions containing \u0027nfattr\u0027\n\nThere is no struct nfattr anymore, rename functions to \u0027nlattr\u0027.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "df6fb868d6118686805c2fa566e213a8f31c8e4f",
      "tree": "3a0d7d7e9c7d2d8c2d7a06b32e02702eecbfddf6",
      "parents": [
        "7c8d4cb4198d199e65a6ced8c81f71e3ac3f4cfc"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Sep 28 14:37:03 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:53:31 2007 -0700"
      },
      "message": "[NETFILTER]: nfnetlink: convert to generic netlink attribute functions\n\nGet rid of the duplicated rtnetlink macros and use the generic netlink\nattribute functions. The old duplicated stuff is moved to a new header\nfile that exists just for userspace.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3b04ddde02cf1b6f14f2697da5c20eca5715017f",
      "tree": "9da1341a5a399a507b5ea6bf5a3047506b8d8f8f",
      "parents": [
        "b95cce3576813ac3f86bafa6b5daaaaf7574b0fe"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Tue Oct 09 01:40:57 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:52:52 2007 -0700"
      },
      "message": "[NET]: Move hardware header operations out of netdevice.\n\nSince hardware header operations are part of the protocol class\nnot the device instance, make them into a separate object and\nsave memory.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b95cce3576813ac3f86bafa6b5daaaaf7574b0fe",
      "tree": "54da3f245ee145722623a8e0eaab5fc49ea78511",
      "parents": [
        "0c4e85813d0a94eeb8bf813397a4907bdd7bb610"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Wed Sep 26 22:13:38 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:52:51 2007 -0700"
      },
      "message": "[NET]: Wrap hard_header_parse\n\nWrap the hard_header_parse function to simplify next step of\nheader_ops conversion.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0c4e85813d0a94eeb8bf813397a4907bdd7bb610",
      "tree": "53ee948abc930bb1c5cd270c490f87fda5eb45b3",
      "parents": [
        "4c94f8c0c9a82fad84bc5df453aff755cfed70b7"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Tue Oct 09 01:36:32 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:52:50 2007 -0700"
      },
      "message": "[NET]: Wrap netdevice hardware header creation.\n\nAdd inline for common usage of hardware header creation, and\nfix bug in IPV6 mcast where the assumption about negative return is\nan errno. Negative return from hard_header means not enough space\nwas available,(ie -N bytes).\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2774c7aba6c97a2535be3309a2209770953780b3",
      "tree": "9327c795707f6d723c6395c31e1c060e70b5e0db",
      "parents": [
        "0cc217e16cb8ca8ef2544363571fce94259900e0"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Sep 26 22:10:56 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:52:49 2007 -0700"
      },
      "message": "[NET]: Make the loopback device per network namespace.\n\nThis patch makes loopback_dev per network namespace.  Adding\ncode to create a different loopback device for each network\nnamespace and adding the code to free a loopback device\nwhen a network namespace exits.\n\nThis patch modifies all users the loopback_dev so they\naccess it as init_net.loopback_dev, keeping all of the\ncode compiling and working.  A later pass will be needed to\nupdate the users to use something other than the initial network\nnamespace.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0cc217e16cb8ca8ef2544363571fce94259900e0",
      "tree": "05d7ef10fd9971fffa3f3870a4c3e66077bb1dc2",
      "parents": [
        "5967789dbc8aafdba5813fa8e8cfce3c90516f83"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Sep 26 22:10:06 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:52:48 2007 -0700"
      },
      "message": "[IPV4]: When possible test for IFF_LOOPBACK and not dev \u003d\u003d loopback_dev\n\nNow that multiple loopback devices are becoming possible it makes\nthe code a little cleaner and more maintainable to test if a deivice\nis th a loopback device by testing dev-\u003eflags \u0026 IFF_LOOPBACK instead\nof dev \u003d\u003d loopback_dev.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5967789dbc8aafdba5813fa8e8cfce3c90516f83",
      "tree": "0ea20278a6210297812cb8b3ed962e38d98ce3b8",
      "parents": [
        "5f6d88b9149d537f3db0798f7d312be632422e15"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Sep 26 22:09:25 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:52:48 2007 -0700"
      },
      "message": "[IPV4]: Remove unnecessary test for the loopback device from inetdev_destroy\n\nCurrently we never call unregister_netdev for the loopback device so\nit is impossible for us to reach inetdev_destroy with the loopback\ndevice.  So the test in inetdev_destroy is unnecessary.\n\nFurther when testing with my network namespace patches removing\nunregistering the loopback device and calling inetdev_destroy works\nfine so there appears to be no reason for avoiding unregistering the\nloopback device.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "912d8f0b1f17b7e851ebbfeb17a16de9f9c7cb88",
      "tree": "176cf4f23aaae9790d947579473da1f8d349a942",
      "parents": [
        "93e680202929802558f783fbd96c41697ae65472"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Tue Sep 25 22:47:31 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:52:39 2007 -0700"
      },
      "message": "[TCP] MIB: Count FRTO\u0027s successfully detected spurious RTOs\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "93e680202929802558f783fbd96c41697ae65472",
      "tree": "e1d94c916f4f8da5ba86dd2f855efc9b546839ef",
      "parents": [
        "a6963a6b3d2d3921b60f45e0cf18be26495d5ad1"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Tue Sep 25 22:46:50 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:52:38 2007 -0700"
      },
      "message": "[TCP]: Reordered ACK\u0027s (old) SACKs not included to discarded MIB\n\nIn case of ACK reordering, the SACK block might be valid in it\u0027s\ntime but is already obsoleted since we\u0027ve received another kind\nof confirmation about arrival of the segments through snd_una\nadvancement of an earlier packet.\n\nI didn\u0027t bother to build distinguishing of valid and invalid\nSACK blocks but simply made reordered SACK blocks that are too\nold always not counted regardless of their \"real\" validity which\ncould be determined by using the ack field of the reordered\npacket (won\u0027t be significant IMHO).\n\nDSACKs can very well be considered useful even in this situation,\nso won\u0027t do any of this for them.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a6963a6b3d2d3921b60f45e0cf18be26495d5ad1",
      "tree": "4eb7bb05c4173d87bc94926ac852fb95d8837c27",
      "parents": [
        "b0d045ca45a44d9f8bd66d0a10558b10c60f895a"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Tue Sep 25 22:44:14 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:52:38 2007 -0700"
      },
      "message": "[TCP]: Re-place highest_sack check to a more robust position\n\nI previously added checking to position that is rather poor as\nstate has already been adjusted quite a bit. Re-placing it above\nall state changes should be more robust though the return should\nnever ever get executed regardless of its place :-).\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "de3cb747ffac5f2a4a6bb156e7e2fd5229e688e5",
      "tree": "fe79764b8093843934c9b9f82f573e7a92cef406",
      "parents": [
        "556829657397b9b05baec6691ead4e22ee8d1567"
      ],
      "author": {
        "name": "Daniel Lezcano",
        "email": "dlezcano@fr.ibm.com",
        "time": "Tue Sep 25 19:16:28 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:52:14 2007 -0700"
      },
      "message": "[NET]: Dynamically allocate the loopback device, part 1.\n\nThis patch replaces all occurences to the static variable\nloopback_dev to a pointer loopback_dev. That provides the\nmindless, trivial, uninteressting change part for the dynamic\nallocation for the loopback.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Daniel Lezcano \u003cdlezcano@fr.ibm.com\u003e\nAcked-By: Kirill Korotaev \u003cdev@sw.ru\u003e\nAcked-by: Benjamin Thery \u003cbenjamin.thery@bull.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b76892051cf1c04d95872838e70146f65e3b9d75",
      "tree": "475050b8e41eb317144465b1e2b9255fbad188b4",
      "parents": [
        "c96fd3d461fa495400df24be3b3b66f0e0b152f9"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Thu Sep 20 11:37:19 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:52:12 2007 -0700"
      },
      "message": "[TCP]: Avoid clearing sacktag hint in trivial situations\n\nThere\u0027s no reason to clear the sacktag skb hint when small part\nof the rexmit queue changes. Account changes (if any) instead when\nfragmenting/collapsing. RTO/FRTO do not touch SACKED_ACKED bits so\nno need to discard SACK tag hint at all.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c96fd3d461fa495400df24be3b3b66f0e0b152f9",
      "tree": "b1fd9564bc0fefd634ff0043b29da98c409da30e",
      "parents": [
        "cd99889c616afe1e8addcf28da505600c04f065a"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Thu Sep 20 11:36:37 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:52:12 2007 -0700"
      },
      "message": "[TCP]: Enable SACK enhanced FRTO (RFC4138) by default\n\nMost of the description that follows comes from my mail to\nnetdev (some editing done):\n\nMain obstacle to FRTO use is its deployment as it has to be on\nthe sender side where as wireless link is often the receiver\u0027s\naccess link. Take initiative on behalf of unlucky receivers and\nenable it by default in future Linux TCP senders. Also IETF\nseems to interested in advancing FRTO from experimental [1].\n\nHow does FRTO help?\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nFRTO detects spurious RTOs and avoids a number of unnecessary\nretransmissions and a couple of other problems that can arise\ndue to incorrect guess made at RTO (i.e., that segments were\nlost when they actually got delayed which is likely to occur\ne.g. in wireless environments with link-layer retransmission).\nThough FRTO cannot prevent the first (potentially unnecessary)\nretransmission at RTO, I suspect that it won\u0027t cost that much\neven if you have to pay for each bit (won\u0027t be that high\npercentage out of all packets after all :-)). However, usually\nwhen you have a spurious RTO, not only the first segment\nunnecessarily retransmitted but the *whole window*. It goes like\nthis: all cumulative ACKs got delayed due to in-order delivery,\nthen TCP will actually send 1.5*original cwnd worth of data in\nthe RTO\u0027s slow-start when the delayed ACKs arrive (basically the\noriginal cwnd worth of it unnecessarily). In case one is\ninterested in minimizing unnecessary retransmissions e.g. due to\ncost, those rexmissions must never see daylight. Besides, in the\nworst case the generated burst overloads the bottleneck buffers\nwhich is likely to significantly delay the further progress of\nthe flow. In case of ll rexmissions, ACK compression often\noccurs at the same time making the burst very \"sharp edged\" (in\nthat case TCP often loses most of the segments above high_seq\n\u003d\u003e very bad performance too). When FRTO is enabled, those\nunnecessary retransmissions are fully avoided except for the\nfirst segment and the cwnd behavior after detected spurious RTO\nis determined by the response (one can tune that by sysctl).\n\nBasic version (non-SACK enhanced one), FRTO can fail to detect\nspurious RTO as spurious and falls back to conservative\nbehavior. ACK lossage is much less significant than reordering,\nusually the FRTO can detect spurious RTO if at least 2\ncumulative ACKs from original window are preserved (excluding\nthe ACK that advances to high_seq). With SACK-enhanced version,\nthe detection is quite robust.\n\nFRTO should remove the need to set a high lower bound for the\nRTO estimator due to delay spikes that occur relatively common\nin some environments (esp. in wireless/cellular ones).\n\n[1] http://www1.ietf.org/mail-archive/web/tcpm/current/msg02862.html\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "009a2e3e4ec395a290b9e4c7c9ff99296fd6b7d8",
      "tree": "65aba1ad44fb5519a0a043b7a97d76242b4d663f",
      "parents": [
        "7c46a03e67d11d917d6c3dbf501b465b2ca97a6f"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Thu Sep 20 11:34:38 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:52:11 2007 -0700"
      },
      "message": "[TCP] FRTO: Improve interoperability with other undo_marker users\n\nBasically this change enables it, previously other undo_marker\nusers were left with nothing. Reverse undo_marker logic\ncompletely to get it set right in CA_Loss. On the other hand,\nwhen spurious RTO is detected, clear it. Clearing might be too\nheavy for some scenarios but seems safe enough starting point\nfor now and shouldn\u0027t have much effect except in majority of\ncases (if in any).\n\nBy adding a new FLAG_ we avoid looping through write_queue when\nRTO occurs.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7c46a03e67d11d917d6c3dbf501b465b2ca97a6f",
      "tree": "57c719d14349406bd654b78007876da6d4e48eec",
      "parents": [
        "13fcf850cc20373db4dd8a5c9f349583ab3817c4"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Thu Sep 20 11:33:43 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:52:10 2007 -0700"
      },
      "message": "[TCP]: Cleanup tcp_tso_acked and tcp_clean_rtx_queue\n\nImplements following cleanups:\n- Comment re-placement (CodingStyle)\n- tcp_tso_acked() local (wrapper-like) variable removal\n  (readability)\n- __-types removed (IMHO they make local variables jumpy looking\n  and just was space)\n- acked -\u003e flag (naming conventions elsewhere in TCP code)\n- linebreak adjustments (readability)\n- nested if()s combined (reduced indentation)\n- clarifying newlines added\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "13fcf850cc20373db4dd8a5c9f349583ab3817c4",
      "tree": "a3ef44d94215babe1362c267f84e04ecffeb3dbb",
      "parents": [
        "5af4ec236f7c98f3671fb26731457a172d85e0e6"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Tue Oct 09 01:28:45 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:52:09 2007 -0700"
      },
      "message": "[TCP]: Move accounting from tso_acked to clean_rtx_queue\n\nThe accounting code is pretty much the same, so it\u0027s a shame\nwe do it in two places.\n\nI\u0027m not too sure if added fully_acked check in MTU probing is\nreally what we want perhaps the added end_seq could be used in\nthe after() comparison.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5af4ec236f7c98f3671fb26731457a172d85e0e6",
      "tree": "04219129f5db8662c4a876e0f686e7a56fb4459c",
      "parents": [
        "91fed7a15c9222af29a653ecb0ee72cff178fdd8"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Thu Sep 20 11:30:48 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:52:09 2007 -0700"
      },
      "message": "[TCP]: clear_all_retrans_hints prefixed by tcp_\n\nIn addition, fix its function comment spacing.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\n"
    },
    {
      "commit": "91fed7a15c9222af29a653ecb0ee72cff178fdd8",
      "tree": "53c72bd6c1bf3216e46565761bc34ea066f5b995",
      "parents": [
        "0dde7b5404a3d52dcd9ce66d46197f6c3ca97dda"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Tue Oct 09 01:24:15 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:52:08 2007 -0700"
      },
      "message": "[TCP]: Make fackets_out accurate\n\nSubstraction for fackets_out is unconditional when snd_una\nadvances, thus there\u0027s no need to do it inside the loop. Just\nmake sure correct bounds are honored.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0dde7b5404a3d52dcd9ce66d46197f6c3ca97dda",
      "tree": "e2f6baf2552d5b844763d09d7430010183be80d6",
      "parents": [
        "1a09404a2338163f181d170c7abdc2242b6c6f03"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Thu Sep 20 11:28:05 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:52:08 2007 -0700"
      },
      "message": "[TCP]: Maintain highest_sack accurately to the highest skb\n\nIn general, it should not be necessary to call tcp_fragment for\nalready SACKed skbs, but it\u0027s better to be safe than sorry. And\nindeed, it can be called from sacktag when a DSACK arrives or\nsome ACK (with SACK) reordering occurs (sacktag could be made\nto avoid the call in the latter case though I\u0027m not sure if it\u0027s\nworth of the trouble and added complexity to cover such marginal\ncase).\n\nThe collapse case has return for SACKED_ACKED case earlier, so\njust WARN_ON if internal inconsistency is detected for some\nreason.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5ee3afba88f5a79d0bff07ddd87af45919259f91",
      "tree": "b0117be47ea4f84abf56996f39792362c15909d7",
      "parents": [
        "768f3591e2b1cc309fd6f10d6579b216026d7817"
      ],
      "author": {
        "name": "Rick Jones",
        "email": "rick.jones2@hp.com",
        "time": "Tue Sep 18 13:26:31 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:51:35 2007 -0700"
      },
      "message": "[TCP]: Return useful listenq info in tcp_info and INET_DIAG_INFO.\n\nReturn some useful information such as the maximum listen backlog and\nthe current listen backlog in the tcp_info structure and\nINET_DIAG_INFO.\n\nSigned-off-by: Rick Jones \u003crick.jones2@hp.com\u003e\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "96793b482540f3a26e2188eaf75cb56b7829d3e3",
      "tree": "3dfc2871b69cc358ed55dc2adc3bfeef47382cb3",
      "parents": [
        "14878f75abd5bf1d38becb405801cd491ee215dc"
      ],
      "author": {
        "name": "David L Stevens",
        "email": "dlstevens@us.ibm.com",
        "time": "Mon Sep 17 09:57:33 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:51:28 2007 -0700"
      },
      "message": "[IPV4]: Add ICMPMsgStats MIB (RFC 4293)\n\nBackground: RFC 4293 deprecates existing individual, named ICMP\ntype counters to be replaced with the ICMPMsgStatsTable. This table\nincludes entries for both IPv4 and IPv6, and requires counting of all\nICMP types, whether or not the machine implements the type.\n\nThese patches \"remove\" (but not really) the existing counters, and\nreplace them with the ICMPMsgStats tables for v4 and v6.\nIt includes the named counters in the /proc places they were, but gets the\nvalues for them from the new tables. It also counts packets generated\nfrom raw socket output (e.g., OutEchoes, MLD queries, RA\u0027s from\nradvd, etc).\n\nChanges:\n1) create icmpmsg_statistics mib\n2) create icmpv6msg_statistics mib\n3) modify existing counters to use these\n4) modify /proc/net/snmp to add \"IcmpMsg\" with all ICMP types\n        listed by number for easy SNMP parsing\n5) modify /proc/net/snmp printing for \"Icmp\" to get the named data\n        from new counters.\n\nSigned-off-by: David L Stevens \u003cdlstevens@us.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c40f6fff401f693f627d3d44ef7663b993943517",
      "tree": "7f562348e35f53b654eb0d805137df2e434faa3a",
      "parents": [
        "26ff5ddc5ab11e37ab3db469f24324e0ef1d6f63"
      ],
      "author": {
        "name": "Denis Cheng",
        "email": "crquan@gmail.com",
        "time": "Sun Sep 16 16:39:25 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:51:26 2007 -0700"
      },
      "message": "[IPV4] af_inet.c: use ARRAY_SIZE macro from kernel.h instead\n\nSigned-off-by: Denis Cheng \u003ccrquan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0cfad07555312468296ea3bbbcdf99038f58678b",
      "tree": "a95c432bcafaf22e965dcaf27bfd4a61723d1d64",
      "parents": [
        "007e3936bdaaa012483c9fe06ca71c272458c710"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sun Sep 16 16:24:44 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:51:24 2007 -0700"
      },
      "message": "[NETLINK]: Avoid pointer in netlink_run_queue\n\nI was looking at Patrick\u0027s fix to inet_diag and it occured\nto me that we\u0027re using a pointer argument to return values\nunnecessarily in netlink_run_queue.  Changing it to return\nthe value will allow the compiler to generate better code\nsince the value won\u0027t have to be memory-backed.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "76c72d4f44ec5fb7f88eda8a0d3aa30922c891d1",
      "tree": "0c773487ff11d098a70fddbc631f153260614bdb",
      "parents": [
        "056925ab3145713e5e83cf8e05ae6fb2f4ace41e"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Sun Sep 16 15:44:27 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:51:22 2007 -0700"
      },
      "message": "[IPV4/IPV6/DECNET]: Small cleanup for fib rules.\n\nThis patch slightly cleanups FIB rules framework. rules_list as a pointer\non struct fib_rules_ops is useless. It is always assigned with a static\nper/subsystem list in IPv4, IPv6 and DecNet.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nAcked-by: Alexey Kuznetsov \u003ckuznet@ms2.inr.ac.ru\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "63d804eade298208037045ab6728c933f2b6c27d",
      "tree": "570c9b4a19abea4f9a12907368b59a50a4a16913",
      "parents": [
        "88d3aafdae5c5e1d2dd9489a5c8a24e29d335f2e"
      ],
      "author": {
        "name": "Paul Moore",
        "email": "paul.moore@hp.com",
        "time": "Sat Sep 15 21:45:13 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:51:17 2007 -0700"
      },
      "message": "[CIPSO]: remove duplicated code in the cipso_v4_*_getattr() functions\n\nThe bulk of the CIPSO option parsing/processing in the cipso_v4_sock_getattr()\nand cipso_v4_skb_getattr() functions are identical, the only real difference\nbeing where the functions obtain the CIPSO option itself.  This patch creates\na new function, cipso_v4_getattr(), which contains the common CIPSO option\nparsing/processing code and modifies the existing functions to call this new\nhelper function.\n\nSigned-off-by: Paul Moore \u003cpaul.moore@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "10d024c1b2fd58af8362670d7d6e5ae52fc33353",
      "tree": "dbfb03c539986e2c1270385eb0083aaf0dfca8ab",
      "parents": [
        "596c5c97431eab8465739c169401ea611127b9ad"
      ],
      "author": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Mon Sep 17 13:11:17 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:51:13 2007 -0700"
      },
      "message": "[NET]: Nuke SET_MODULE_OWNER macro.\n\nIt\u0027s been a useless no-op for long enough in 2.6 so I figured it\u0027s time to\nremove it.  The number of people that could object because they\u0027re\nmaintaining unified 2.4 and 2.6 drivers is probably rather small.\n\n[ Handled drivers added by netdev tree and some missed IRDA cases... -DaveM ]\n\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "39c90ece7565f5c47110c2fa77409d7a9478bd5b",
      "tree": "220bf734ed470024901226675550501d45192f0e",
      "parents": [
        "dac24ab396fc92985060d5cb3c467d2d0ffc0c20"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Sat Sep 15 10:55:54 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:25 2007 -0700"
      },
      "message": "[IPV4]: Convert rt_check_expire() from softirq processing to workqueue.\n\nOn loaded/big hosts, rt_check_expire() if of litle use, because it\ngenerally breaks out of its main loop because of a jiffies change.\n\nIt can take a long time (read : timer invocations) to actually\nscan the whole hash table, freeing unused entries.\n\nConverting it to use a workqueue instead of softirq is a nice\nmove because we can allow rt_check_expire() to do the scan\nit is supposed to do, without hogging the CPU.\n\nThis has an impact on the average number of entries in cache,\nreducing ram usage. Cache is more responsive to parameter\nchanges (/proc/sys/net/ipv4/route/gc_timeout and\n/proc/sys/net/ipv4/route/gc_interval)\n\nNote: Maybe the default value of gc_interval (60 seconds)\nis too high, since this means we actually need 5 (300/60)\ninvocations to scan the whole table.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8f4c1f9b049df3be11090f1c2c4738700302acae",
      "tree": "51271d32096e4419173072d120176b4428e52a11",
      "parents": [
        "9d5010db7ecfd6ec00119d3b185c4c0cd3265167"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Wed Sep 12 14:44:36 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:16 2007 -0700"
      },
      "message": "[NETLINK]: Introduce nested and byteorder flag to netlink attribute\n\nThis change allows the generic attribute interface to be used within\nthe netfilter subsystem where this flag was initially introduced.\n\nThe byte-order flag is yet unused, it\u0027s intended use is to\nallow automatic byte order convertions for all atomic types.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "881d966b48b035ab3f3aeaae0f3d3f9b584f45b2",
      "tree": "c579d59a4107cbbe9e2b85939bc0d496b815c887",
      "parents": [
        "b4b510290b056b86611757ce1175a230f1080f53"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Sep 17 11:56:21 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:10 2007 -0700"
      },
      "message": "[NET]: Make the device list and device lookups per namespace.\n\nThis patch makes most of the generic device layer network\nnamespace safe.  This patch makes dev_base_head a\nnetwork namespace variable, and then it picks up\na few associated variables.  The functions:\ndev_getbyhwaddr\ndev_getfirsthwbytype\ndev_get_by_flags\ndev_get_by_name\n__dev_get_by_name\ndev_get_by_index\n__dev_get_by_index\ndev_ioctl\ndev_ethtool\ndev_load\nwireless_process_ioctl\n\nwere modified to take a network namespace argument, and\ndeal with it.\n\nvlan_ioctl_set and brioctl_set were modified so their\nhooks will receive a network namespace argument.\n\nSo basically anthing in the core of the network stack that was\naffected to by the change of dev_base was modified to handle\nmultiple network namespaces.  The rest of the network stack was\nsimply modified to explicitly use \u0026init_net the initial network\nnamespace.  This can be fixed when those components of the network\nstack are modified to handle multiple network namespaces.\n\nFor now the ifindex generator is left global.\n\nFundametally ifindex numbers are per namespace, or else\nwe will have corner case problems with migration when\nwe get that far.\n\nAt the same time there are assumptions in the network stack\nthat the ifindex of a network device won\u0027t change.  Making\nthe ifindex number global seems a good compromise until\nthe network stack can cope with ifindex changes when\nyou change namespaces, and the like.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b4b510290b056b86611757ce1175a230f1080f53",
      "tree": "7bd1d45855ac7457be6d50338c60751f19e436d9",
      "parents": [
        "e9dc86534051b78e41e5b746cccc291b57a3a311"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Sep 12 13:05:38 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:09 2007 -0700"
      },
      "message": "[NET]: Support multiple network namespaces with netlink\n\nEach netlink socket will live in exactly one network namespace,\nthis includes the controlling kernel sockets.\n\nThis patch updates all of the existing netlink protocols\nto only support the initial network namespace.  Request\nby clients in other namespaces will get -ECONREFUSED.\nAs they would if the kernel did not have the support for\nthat netlink protocol compiled in.\n\nAs each netlink protocol is updated to be multiple network\nnamespace safe it can register multiple kernel sockets\nto acquire a presence in the rest of the network namespaces.\n\nThe implementation in af_netlink is a simple filter implementation\nat hash table insertion and hash table look up time.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e9dc86534051b78e41e5b746cccc291b57a3a311",
      "tree": "1cd4a1dde4c51b6311749428a22cc8a8f5436825",
      "parents": [
        "e730c15519d09ea528b4d2f1103681fa5937c0e6"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Sep 12 13:02:17 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:09 2007 -0700"
      },
      "message": "[NET]: Make device event notification network namespace safe\n\nEvery user of the network device notifiers is either a protocol\nstack or a pseudo device.  If a protocol stack that does not have\nsupport for multiple network namespaces receives an event for a\ndevice that is not in the initial network namespace it quite possibly\ncan get confused and do the wrong thing.\n\nTo avoid problems until all of the protocol stacks are converted\nthis patch modifies all netdev event handlers to ignore events on\ndevices that are not in the initial network namespace.\n\nAs the rest of the code is made network namespace aware these\nchecks can be removed.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e730c15519d09ea528b4d2f1103681fa5937c0e6",
      "tree": "c117294523f4d004fb1d740610b6403e5744cdfc",
      "parents": [
        "6d34b1c27a72d5d1c73c567b2f6b1fde316e0eae"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Sep 17 11:53:39 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:08 2007 -0700"
      },
      "message": "[NET]: Make packet reception network namespace safe\n\nThis patch modifies every packet receive function\nregistered with dev_add_pack() to drop packets if they\nare not from the initial network namespace.\n\nThis should ensure that the various network stacks do\nnot receive packets in a anything but the initial network\nnamespace until the code has been converted and is ready\nfor them.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1b8d7ae42d02e483ad94035cca851e4f7fbecb40",
      "tree": "81f8cc0ee49ef99cc67dfed3dc7b7ecb510abf8b",
      "parents": [
        "457c4cbc5a3dde259d2a1f15d5f9785290397267"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Oct 08 23:24:22 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:07 2007 -0700"
      },
      "message": "[NET]: Make socket creation namespace safe.\n\nThis patch passes in the namespace a new socket should be created in\nand has the socket code do the appropriate reference counting.  By\nvirtue of this all socket create methods are touched.  In addition\nthe socket create methods are modified so that they will fail if\nyou attempt to create a socket in a non-default network namespace.\n\nFailing if we attempt to create a socket outside of the default\nnetwork namespace ensures that as we incrementally make the network stack\nnetwork namespace aware we will not export functionality that someone\nhas not audited and made certain is network namespace safe.\nAllowing us to partially enable network namespaces before all of the\nexotic protocols are supported.\n\nAny protocol layers I have missed will fail to compile because I now\npass an extra parameter into the socket creation code.\n\n[ Integrated AF_IUCV build fixes from Andrew Morton... -DaveM ]\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "457c4cbc5a3dde259d2a1f15d5f9785290397267",
      "tree": "a2ceee88780cbce27433b9a4434b3e9251efd81a",
      "parents": [
        "07feaebfcc10cd35e745c7073667935246494bee"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Sep 12 12:01:34 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:06 2007 -0700"
      },
      "message": "[NET]: Make /proc/net per network namespace\n\nThis patch makes /proc/net per network namespace.  It modifies the global\nvariables proc_net and proc_net_stat to be per network namespace.\nThe proc_net file helpers are modified to take a network namespace argument,\nand all of their callers are fixed to pass \u0026init_net for that argument.\nThis ensures that all of the /proc/net files are only visible and\nusable in the initial network namespace until the code behind them\nhas been updated to be handle multiple network namespaces.\n\nMaking /proc/net per namespace is necessary as at least some files\nin /proc/net depend upon the set of network devices which is per\nnetwork namespace, and even more files in /proc/net have contents\nthat are relevant to a single network namespace.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "172589ccdde41b59861c92c4a971b95514ef24e3",
      "tree": "ae775e6db4cb85aad1c74b6d93ba359f9dfe88ea",
      "parents": [
        "c45248c70125cc374fdf264659643276c72801bf"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Tue Aug 28 15:50:33 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:37 2007 -0700"
      },
      "message": "[NET]: DIV_ROUND_UP cleanup (part two)\n\nHopefully captured all single statement cases under net/. I\u0027m\nnot too sure if there is some policy about #includes that are\n\"guaranteed\" (ie., in the current tree) to be available through\nsome other #included header, so I just added linux/kernel.h to\neach changed file that didn\u0027t #include it previously.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3b26a9a655ee73a87071a9f6a1fdd5311e31d7c9",
      "tree": "c59ebe35c750e21ed7a3b10707fc4d9da1ca41c3",
      "parents": [
        "1e5dc146173251e7baad9a1f7586d5a009b6d9f9"
      ],
      "author": {
        "name": "Masahide NAKAMURA",
        "email": "nakam@linux-ipv6.org",
        "time": "Fri Aug 24 23:33:01 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:33 2007 -0700"
      },
      "message": "[IPV4] IPSEC: Omit redirect for tunnelled packet.\n\nIPv4 IPsec tunnel gateway incorrectly sends redirect to\nsender if it is onlink host when network device the IPsec tunnelled\npacket is arrived is the same as the one the decapsulated packet\nis sent.\n\nWith this patch, it omits to send the redirect when the forwarding\nskbuff carries secpath, since such skbuff should be assumed as\na decapsulated packet from IPsec tunnel by own.\n\nRequest for comments:\nAlternatively we\u0027d have another way to change net/ipv4/route.c\n(__mkroute_input) to use RTCF_DOREDIRECT flag unless skbuff\nhas no secpath. It is better than this patch at performance\npoint of view because IPv4 redirect judgement is done at\nrouting slow-path. However, it should be taken care of resource\nchanges between SAD(XFRM states) and routing table. In other words,\nWhen IPv4 SAD is changed does the related routing entry go to its\nslow-path? If not, it is reasonable to apply this patch.\n\nSigned-off-by: Masahide NAKAMURA \u003cnakam@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "32c1da70810017a98aa6c431a5494a302b6b9a30",
      "tree": "8583fe356829dd0265c673798262453d4bc36869",
      "parents": [
        "356f89e12e301376f26795643f3b5931c81c9cd5"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Fri Aug 24 23:09:41 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:31 2007 -0700"
      },
      "message": "[UDP]: Randomize port selection.\n\nThis patch causes UDP port allocation to be randomized like TCP.\nThe earlier code would always choose same port (ie first empty list).\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "356f89e12e301376f26795643f3b5931c81c9cd5",
      "tree": "e9e180c3d39ea97e28e5b81e1ca26b32b1ff6e66",
      "parents": [
        "18f02545a9a16c9a89778b91a162ad16d510bb32"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Fri Aug 24 23:00:31 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:30 2007 -0700"
      },
      "message": "[NET] Cleanup: DIV_ROUND_UP\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "18f02545a9a16c9a89778b91a162ad16d510bb32",
      "tree": "2b1c67a8168b695630d26216b7dd3be17179ca5c",
      "parents": [
        "5b3c98821a8753239aefc1c217409aa3e5c90787"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Fri Aug 24 22:55:52 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:30 2007 -0700"
      },
      "message": "[TCP] MIB: Add counters for discarded SACK blocks\n\nIn DSACK case, some events are not extraordinary, such as packet\nduplication generated DSACK. They can arrive easily below\nsnd_una when undo_marker is not set (TCP being in CA_Open),\ncounting such DSACKs amoung SACK discards will likely just\nmislead if they occur in some scenario when there are other\nproblems as well. Similarly, excessively delayed packets could\ncause \"normal\" DSACKs. Therefore, separate counters are\nallocated for DSACK events.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5b3c98821a8753239aefc1c217409aa3e5c90787",
      "tree": "39d4d2bc47ad533cd084a900fa94542ef1b6e8bf",
      "parents": [
        "6728e7dc3e577241f36921c720cfb4eb8f5aed1a"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Fri Aug 24 22:54:44 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:29 2007 -0700"
      },
      "message": "[TCP]: Discard fuzzy SACK blocks\n\nSACK processing code has been a sort of russian roulette as no\nvalidation of SACK blocks is previously attempted. Besides, it\nis not very clear what all kinds of broken SACK blocks really\nmean (e.g., one that has start and end sequence numbers\nreversed). So now close the roulette once and for all.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6728e7dc3e577241f36921c720cfb4eb8f5aed1a",
      "tree": "5918fe156766d3495898ba2e37b825275f1785fb",
      "parents": [
        "6ff03ac355cc6c10f7b1f44dd466d41213acebca"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Fri Aug 24 22:53:26 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:28 2007 -0700"
      },
      "message": "[TCP]: Rename tcp_ack_packets_out -\u003e tcp_rearm_rto\n\nOnly thing that tiny function does is rearming the RTO (if\nnecessary), name it accordingly.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6ff03ac355cc6c10f7b1f44dd466d41213acebca",
      "tree": "9057f7839df5bc65ea73148eee4148114f6f45c9",
      "parents": [
        "e9144bd8da80f3136b23c615609798e371e885ac"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Fri Aug 24 22:44:06 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:28 2007 -0700"
      },
      "message": "[TCP]: tcp_packets_out_inc to tcp_output.c (no callers elsewhere)\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e9144bd8da80f3136b23c615609798e371e885ac",
      "tree": "4ca84a95f2dd7f2e4d49bc8f1868bdfee3deea82",
      "parents": [
        "522400623e240ad134cb4101b1fddc3245d2a7ed"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Fri Aug 24 22:43:14 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:27 2007 -0700"
      },
      "message": "[TCP]: Remove unnecessary wrapper tcp_packets_out_dec\n\nMakes caller side more obvious, there\u0027s no need to have\na wrapper for this oneliner!\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ab66b4a7a3969077f6e2a18a0d2d849d3b84a337",
      "tree": "03418252b556fa94eb0daad2d8fc2a59ad79ce78",
      "parents": [
        "0680191642c27c81c9be4557d9c6aa3487c15f69"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Fri Aug 10 15:22:58 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:01 2007 -0700"
      },
      "message": "[IPV4] fib_trie: macro cleanup\n\nThis patch converts the messy macro for MASK_PFX to inline function\nand expands TKEY_GET_MASK in the one place it is used.\n\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0680191642c27c81c9be4557d9c6aa3487c15f69",
      "tree": "f855b0f46b006be011cc720c343e3484c4b63825",
      "parents": [
        "13dae426318aae073028a4b3bd493104a991e800"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Fri Aug 10 15:22:13 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:01 2007 -0700"
      },
      "message": "[IPV4] fib_trie: cleanup\n\nTry this out:\n     * replace macro\u0027s with inlines\n     * get rid of places doing multiple evaluations of NODE_PARENT\n\n[akpm@linux-foundation.org: rcu_dereference wants an lval]\n\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e60402d0a909ca2e6e2fbdf9ed004ef0fae36d33",
      "tree": "b40a00b801cf44f81bebd7dadddb19c0086b145c",
      "parents": [
        "b9c4595bc4947faa236a849324fe3492e388d949"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Thu Aug 09 15:14:46 2007 +0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:00 2007 -0700"
      },
      "message": "[TCP]: Move sack_ok access to obviously named funcs \u0026 cleanup\n\nPreviously code had IsReno/IsFack defined as macros that were\nlocal to tcp_input.c though sack_ok field has user elsewhere too\nfor the same purpose. This changes them to static inlines as\npreferred according the current coding style and unifies the\naccess to sack_ok across multiple files. Magic bitops of sack_ok\nfor FACK and DSACK are also abstracted to functions with\nappropriate names.\n\nNote:\n- One sack_ok \u003d 1 remains but that\u0027s self explanary, i.e., it\n  enables sack\n- Couple of !IsReno cases are changed to tcp_is_sack\n- There were no users for IsDSack \u003d\u003e I dropped it\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1b6d427bb7eb69e6dc4f194a5b0f4a382a16ff82",
      "tree": "d67f6ea9a5f581f83b4d8228fc2964c70f940d5a",
      "parents": [
        "d02596e32925edaeccee0af8eb6c229b5615de42"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Thu Aug 09 14:53:36 2007 +0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:47:58 2007 -0700"
      },
      "message": "[TCP]: Reduce sacked_out with reno when purging write_queue\n\nPreviously TCP had a transitional state during which reno\ncounted segments that are already below the current window into\nsacked_out, which is now prevented. In addition, re-try now\nthe unconditional S+L skb catching.\n\nThis approach conservatively calls just remove_sack and leaves\nreset_sack() calls alone. The best solution to the whole problem\nwould be to first calculate the new sacked_out fully (this patch\ndoes not move reno_sack_reset calls from original sites and thus\ndoes not implement this). However, that would require very\ninvasive change to fastretrans_alert (perhaps even slicing it to\ntwo halves). Alternatively, all callers of tcp_packets_in_flight\n(i.e., users that depend on sacked_out) should be postponed\nuntil the new sacked_out has been calculated but it isn\u0027t any\nsimpler alternative.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d02596e32925edaeccee0af8eb6c229b5615de42",
      "tree": "a15271083fa0b8d8da21297cfa1fc02089c62070",
      "parents": [
        "86426c22d24e0c904012711a14cb5021f4a167dc"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Sat Jul 07 13:39:02 2007 +0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:47:58 2007 -0700"
      },
      "message": "[TCP]: Keep state in Disorder also if only lost_out \u003e 0\n\nThis happens rather infrequently and is only possible during\nFRTO. We must not allow TCP to slip to Open state because\ntcp_fastretrans_alert might then not be called on it\u0027s time\nwhen FRTO has exited. This become a problem when left_out\ngot removed and was replaced by just sacked_out.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "86426c22d24e0c904012711a14cb5021f4a167dc",
      "tree": "7f91ac32273e0b1b568a704dbde5b360bc94f65f",
      "parents": [
        "005903bc3a0e8473fef809e8775db52dcd3cde63"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Thu Aug 09 14:45:17 2007 +0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:47:57 2007 -0700"
      },
      "message": "[TCP]: Restore over-zealous tcp_sync_left_out-like removals\n\ntcp_verify_left_out is useful for verifying S+L condition, so\nadd it back to couple of places in where the code was not\ncalling to tcp_sync_left_out but used own ad-hoc solution\n(before the tcp_sync_left_out got removed).\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "005903bc3a0e8473fef809e8775db52dcd3cde63",
      "tree": "4fd945740a3615dbd5493fa0ded13f0352e21b2c",
      "parents": [
        "83ae40885f33e406c87c86b0bd4b6fd31a741f12"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Thu Aug 09 14:44:16 2007 +0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:47:57 2007 -0700"
      },
      "message": "[TCP]: Left out sync-\u003everify (the new meaning of it) \u0026 definify\n\nLeft_out was dropped a while ago, thus leaving verifying\nconsistency of the \"left out\" as only task for the function in\nquestion. Thus make it\u0027s name more appropriate.\n\nIn addition, it is intentionally converted to #define instead\nof static inline because the location of the invariant failure\nis the most important thing to have if this ever triggers. I\nthink it would have been helpful e.g. in this case where the\nlocation of the failure point had to be based on some quesswork:\n    http://lkml.org/lkml/2007/5/2/464\n...Luckily the guesswork seems to have proved to be correct.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "83ae40885f33e406c87c86b0bd4b6fd31a741f12",
      "tree": "659de08c231db85ec46f0c3bc1b86252a6561e21",
      "parents": [
        "b5860bbac7be1381626f3dc8a0cb970a60fcefb4"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Thu Aug 09 14:37:30 2007 +0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:47:56 2007 -0700"
      },
      "message": "[TCP]: Add tcp_left_out(tp) \"back\" to get cleaner looking lines\n\ntp-\u003eleft_out got removed but nothing came to replace it back\nthen (users just did addition by themselves), so add function\nfor users now.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b5860bbac7be1381626f3dc8a0cb970a60fcefb4",
      "tree": "53034429084f92fdb55c062498e1f4255be9bd4a",
      "parents": [
        "35e8694198ba94b62df8aa35fa6e52a1cfb86df2"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Thu Aug 09 14:33:18 2007 +0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:47:55 2007 -0700"
      },
      "message": "[TCP]: Tighten tcp_sock\u0027s belt, drop left_out\n\nIt is easily calculable when needed and user are not that many\nafter all.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "35e8694198ba94b62df8aa35fa6e52a1cfb86df2",
      "tree": "9f7d2882f4216478853cc1f520982dae37e9a635",
      "parents": [
        "af610b4ca19f513a50d47ea93ed57241383c8081"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Thu May 31 10:16:47 2007 +0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:47:55 2007 -0700"
      },
      "message": "[TCP]: Remove num_acked\u003e0 checks from cong.ctrl mods pkts_acked\n\nThere is no need for such check in pkts_acked because the\ncallback is not invoked unless at least one segment got fully\nACKed (i.e., the snd_una moved past skb\u0027s end_seq) by the\ncumulative ACK\u0027s snd_una advancement.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "af610b4ca19f513a50d47ea93ed57241383c8081",
      "tree": "b7bc4e7f7969b10a2a8d3e3de7375f64df93dd4e",
      "parents": [
        "bdf1ee5d3bd38d0c44bd7baa74e07adcbe4ceab1"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Fri Jun 15 12:58:38 2007 +0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:47:54 2007 -0700"
      },
      "message": "[TCP]: Add tcp_dec_pcount_approx int variant\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bdf1ee5d3bd38d0c44bd7baa74e07adcbe4ceab1",
      "tree": "c14e3433624e03b7db6a9f30142581342e848ad6",
      "parents": [
        "539d243fdd7900fa5a544c7c154dc3ddf627e840"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Sun May 27 02:04:16 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:47:54 2007 -0700"
      },
      "message": "[TCP]: Move code from tcp_ecn.h to tcp*.c and tcp.h \u0026 remove it\n\nNo other users exist for tcp_ecn.h. Very few things remain in\ntcp.h, for most TCP ECN functions callers reside within a\nsingle .c file and can be placed there.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "539d243fdd7900fa5a544c7c154dc3ddf627e840",
      "tree": "68972054f318d614692bdfe76d6d920ae2698a21",
      "parents": [
        "9bff40fda015c4d0b57b444626cdcbf66066dbe7"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Sun May 27 02:03:20 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:47:53 2007 -0700"
      },
      "message": "[TCP]: Access to highest_sack obsoletes forward_cnt_hint\n\nIn addition, added a reference about the purpose of the loop.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9bff40fda015c4d0b57b444626cdcbf66066dbe7",
      "tree": "eae9e6d12754dadfc4ad5f0b87e9de3b37ad252b",
      "parents": [
        "4ddf66769d2df868071420e2e0106746c6204ea3"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Sun May 27 01:53:49 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:47:53 2007 -0700"
      },
      "message": "[TCP] FRTO: remove unnecessary fackets/sacked_out recounting\n\nF-RTO does not touch SACKED_ACKED bits at all, so there is no\nneed to recount them in tcp_enter_frto_loss. After removal of\nthe else branch, nested ifs can be combined.\n\nThis must also reset sacked_out when SACK is not in use as TCP\ncould have received some duplicate ACKs prior RTO. To achieve\nthat in a sane manner, tcp_reset_reno_sack was re-placed by the\nprevious patch.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4ddf66769d2df868071420e2e0106746c6204ea3",
      "tree": "4a962ac4d1e2d441c89eb3be7bfa799b15177405",
      "parents": [
        "d06e021d71d95aae402340dc3d9f79f9c8ad11d7"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Sun May 27 01:52:00 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:47:52 2007 -0700"
      },
      "message": "[TCP]: Move Reno SACKed_out counter functions earlier\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d06e021d71d95aae402340dc3d9f79f9c8ad11d7",
      "tree": "c0f785af4d4449d70f802a556e36382e5ed5a07f",
      "parents": [
        "19b2b486580f5939688d3e225acdc0f4b291ed0d"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 18 22:43:06 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:47:51 2007 -0700"
      },
      "message": "[TCP]: Extract DSACK detection code from tcp_sacktag_write_queue().\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "19b2b486580f5939688d3e225acdc0f4b291ed0d",
      "tree": "7d6803d9decb958769344a28b5ea8e8d65c0d9ca",
      "parents": [
        "d8f4f2235abc7b30cf447ca3e22ac28326b12f28"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Wed Mar 28 12:06:37 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:47:51 2007 -0700"
      },
      "message": "[TCP]: Rexmit hint must be cleared instead of setting it\n\nStupid error from my side. Even though now that I noticed this,\nI hoped it would have been an optimization but no, the counter\nhint is then incorrect. Thus clearing is necessary for now (I\nstill suspect though that this path is never executed).\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d8f4f2235abc7b30cf447ca3e22ac28326b12f28",
      "tree": "1f408031fd56c06f2321fa7a6fe5bc8a5ff729fe",
      "parents": [
        "d738cd8fca948e45d53120247cb7a5f5be3ca09e"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Fri Apr 20 22:56:38 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:47:50 2007 -0700"
      },
      "message": "[TCP]: Extracted rexmit hint clearing from the LOST marking code\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d738cd8fca948e45d53120247cb7a5f5be3ca09e",
      "tree": "b2136bcfa2802a21b41de72eb4f6dc338a0bd321",
      "parents": [
        "d961db358f41033a8fc7b62948bc7cff1b4bb1fe"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Sat Mar 24 21:03:23 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:47:50 2007 -0700"
      },
      "message": "[TCP]: Add highest_sack seqno, points to globally highest SACK\n\nIt is guaranteed to be valid only when !tp-\u003esacked_out. In most\ncases this seqno is available in the last ACK but there is no\nguarantee for that. The new fast recovery loss marking algorithm\nneeds this as entry point.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "71c87e0cedca843162206c698cfa02e5fea9e2e3",
      "tree": "8f0138754aaee3c15d1b00c4d2774b5e12da2c78",
      "parents": [
        "e314dbdc1c0dc6a548ecf0afce28ecfd538ff568"
      ],
      "author": {
        "name": "Jan-Bernd Themann",
        "email": "themann@de.ibm.com",
        "time": "Wed Aug 08 22:38:05 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:47:46 2007 -0700"
      },
      "message": "[NET]: Generic Large Receive Offload for TCP traffic\n\nThis patch provides generic Large Receive Offload (LRO) functionality\nfor IPv4/TCP traffic.\n\nLRO combines received tcp packets to a single larger tcp packet and\npasses them then to the network stack in order to increase performance\n(throughput). The interface supports two modes: Drivers can either\npass SKBs or fragment lists to the LRO engine.\n\nSigned-off-by: Jan-Bernd Themann \u003cthemann@de.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "48611c47d09023d9356e78550d1cadb8d61da9c8",
      "tree": "1e118a43db7143f8091b5b0a95e6d6f85dc5b2f9",
      "parents": [
        "3eb215de26e6e94bf5fed9cb77230c383b30e53b"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Sun Oct 07 23:43:10 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Oct 07 23:43:10 2007 -0700"
      },
      "message": "[TCP]: Fix fastpath_cnt_hint when GSO skb is partially ACKed\n\nWhen only GSO skb was partially ACKed, no hints are reset,\ntherefore fastpath_cnt_hint must be tweaked too or else it can\ncorrupt fackets_out. The corruption to occur, one must have\nnon-trivial ACK/SACK sequence, so this bug is not very often\nthat harmful. There\u0027s a fackets_out state reset in TCP because\nfackets_out is known to be inaccurate and that fixes the issue\neventually anyway.\n\nIn case there was also at least one skb that got fully ACKed,\nthe fastpath_skb_hint is set to NULL which causes a recount for\nfastpath_cnt_hint (the old value won\u0027t be accessed anymore),\nthus it can safely be decremented without additional checking.\n\nReported by Cedric Le Goater \u003cclg@fr.ibm.com\u003e\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f8ab18d2d987a59ccbf0495032b2aef05b730037",
      "tree": "7a24c79632c91e22235888875813950c6c30d929",
      "parents": [
        "e79ad711a0108475c1b3a03815527e7237020b08"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Sep 28 15:18:35 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Sep 28 15:18:35 2007 -0700"
      },
      "message": "[TCP]: Fix MD5 signature handling on big-endian.\n\nBased upon a report and initial patch by Peter Lieven.\n\ntcp4_md5sig_key and tcp6_md5sig_key need to start with\nthe exact same members as tcp_md5sig_key.  Because they\nare both cast to that type by tcp_v{4,6}_md5_do_lookup().\n\nUnfortunately tcp{4,6}_md5sig_key use a u16 for the key\nlength instead of a u8, which is what tcp_md5sig_key\nuses.  This just so happens to work by accident on\nlittle-endian, but on big-endian it doesn\u0027t.\n\nInstead of casting, just place tcp_md5sig_key as the first member of\nthe address-family specific structures, adjust the access sites, and\nkill off the ugly casts.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2a0c6c980d209827e5d69017fa736f107a744d1d",
      "tree": "dff735fe15844667577fd25bf87bae470d50306b",
      "parents": [
        "cd562c9859f648d78224e9fc0dafa5a3d5000fdb"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Fri Sep 14 17:15:19 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 14 17:15:19 2007 -0700"
      },
      "message": "[IPV4]: Just increment OutDatagrams once per a datagram.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0a9c73014415d2a84dac346c1e12169142a6ad37",
      "tree": "8cac662fe643df9e73c8b25c98cdb71f7bafe0ea",
      "parents": [
        "e1f52208bb968291f7d9142eff60b62984b4a511"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Sep 11 11:33:28 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 11 11:33:28 2007 +0200"
      },
      "message": "[INET_DIAG]: Fix oops in netlink_rcv_skb\n\nnetlink_run_queue() doesn\u0027t handle multiple processes processing the\nqueue concurrently. Serialize queue processing in inet_diag to fix\na oops in netlink_rcv_skb caused by netlink_run_queue passing a\nNULL for the skb.\n\nBUG: unable to handle kernel NULL pointer dereference at virtual address 00000054\n[349587.500454]  printing eip:\n[349587.500457] c03318ae\n[349587.500459] *pde \u003d 00000000\n[349587.500464] Oops: 0000 [#1]\n[349587.500466] PREEMPT SMP\n[349587.500474] Modules linked in: w83627hf hwmon_vid i2c_isa\n[349587.500483] CPU:    0\n[349587.500485] EIP:    0060:[\u003cc03318ae\u003e]    Not tainted VLI\n[349587.500487] EFLAGS: 00010246   (2.6.22.3 #1)\n[349587.500499] EIP is at netlink_rcv_skb+0xa/0x7e\n[349587.500506] eax: 00000000   ebx: 00000000   ecx: c148d2a0   edx: c0398819\n[349587.500510] esi: 00000000   edi: c0398819   ebp: c7a21c8c   esp: c7a21c80\n[349587.500517] ds: 007b   es: 007b   fs: 00d8  gs: 0033  ss: 0068\n[349587.500521] Process oidentd (pid: 17943, ti\u003dc7a20000 task\u003dcee231c0 task.ti\u003dc7a20000)\n[349587.500527] Stack: 00000000 c7a21cac f7c8ba78 c7a21ca4 c0331962 c0398819 f7c8ba00 0000004c\n[349587.500542]        f736f000 c7a21cb4 c03988e3 00000001 f7c8ba00 c7a21cc4 c03312a5 0000004c\n[349587.500558]        f7c8ba00 c7a21cd4 c0330681 f7c8ba00 e4695280 c7a21d00 c03307c6 7fffffff\n[349587.500578] Call Trace:\n[349587.500581]  [\u003cc010361a\u003e] show_trace_log_lvl+0x1c/0x33\n[349587.500591]  [\u003cc01036d4\u003e] show_stack_log_lvl+0x8d/0xaa\n[349587.500595]  [\u003cc010390e\u003e] show_registers+0x1cb/0x321\n[349587.500604]  [\u003cc0103bff\u003e] die+0x112/0x1e1\n[349587.500607]  [\u003cc01132d2\u003e] do_page_fault+0x229/0x565\n[349587.500618]  [\u003cc03c8d3a\u003e] error_code+0x72/0x78\n[349587.500625]  [\u003cc0331962\u003e] netlink_run_queue+0x40/0x76\n[349587.500632]  [\u003cc03988e3\u003e] inet_diag_rcv+0x1f/0x2c\n[349587.500639]  [\u003cc03312a5\u003e] netlink_data_ready+0x57/0x59\n[349587.500643]  [\u003cc0330681\u003e] netlink_sendskb+0x24/0x45\n[349587.500651]  [\u003cc03307c6\u003e] netlink_unicast+0x100/0x116\n[349587.500656]  [\u003cc0330f83\u003e] netlink_sendmsg+0x1c2/0x280\n[349587.500664]  [\u003cc02fcce9\u003e] sock_sendmsg+0xba/0xd5\n[349587.500671]  [\u003cc02fe4d1\u003e] sys_sendmsg+0x17b/0x1e8\n[349587.500676]  [\u003cc02fe92d\u003e] sys_socketcall+0x230/0x24d\n[349587.500684]  [\u003cc01028d2\u003e] syscall_call+0x7/0xb\n[349587.500691]  \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n[349587.500693] Code: f0 ff 4e 18 0f 94 c0 84 c0 0f 84 66 ff ff ff 89 f0 e8 86 e2 fc ff e9 5a ff ff ff f0 ff 40 10 eb be 55 89 e5 57 89 d7 56 89 c6 53 \u003c8b\u003e 50 54 83 fa 10 72 55 8b 9e 9c 00 00 00 31 c9 8b 03 83 f8 0f\n\nReported by Athanasius \u003clink@miggy.org\u003e\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "16fcec35e7d7c4faaa4709f6434a4a25b06d25e3",
      "tree": "5febf4d688f2c32ed55e02bc20246388b74d85e4",
      "parents": [
        "0fb96701376874c9f1f80322f89a5bf4457c709f"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Tue Sep 11 11:28:26 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 11 11:28:26 2007 +0200"
      },
      "message": "[NETFILTER]: Fix/improve deadlock condition on module removal netfilter\n\nSo I\u0027ve had a deadlock reported to me.  I\u0027ve found that the sequence of\nevents goes like this:\n\n1) process A (modprobe) runs to remove ip_tables.ko\n\n2) process B (iptables-restore) runs and calls setsockopt on a netfilter socket,\nincreasing the ip_tables socket_ops use count\n\n3) process A acquires a file lock on the file ip_tables.ko, calls remove_module\nin the kernel, which in turn executes the ip_tables module cleanup routine,\nwhich calls nf_unregister_sockopt\n\n4) nf_unregister_sockopt, seeing that the use count is non-zero, puts the\ncalling process into uninterruptible sleep, expecting the process using the\nsocket option code to wake it up when it exits the kernel\n\n4) the user of the socket option code (process B) in do_ipt_get_ctl, calls\nipt_find_table_lock, which in this case calls request_module to load\nip_tables_nat.ko\n\n5) request_module forks a copy of modprobe (process C) to load the module and\nblocks until modprobe exits.\n\n6) Process C. forked by request_module process the dependencies of\nip_tables_nat.ko, of which ip_tables.ko is one.\n\n7) Process C attempts to lock the request module and all its dependencies, it\nblocks when it attempts to lock ip_tables.ko (which was previously locked in\nstep 3)\n\nTheres not really any great permanent solution to this that I can see, but I\u0027ve\ndeveloped a two part solution that corrects the problem\n\nPart 1) Modifies the nf_sockopt registration code so that, instead of using a\nuse counter internal to the nf_sockopt_ops structure, we instead use a pointer\nto the registering modules owner to do module reference counting when nf_sockopt\ncalls a modules set/get routine.  This prevents the deadlock by preventing set 4\nfrom happening.\n\nPart 2) Enhances the modprobe utilty so that by default it preforms non-blocking\nremove operations (the same way rmmod does), and add an option to explicity\nrequest blocking operation.  So if you select blocking operation in modprobe you\ncan still cause the above deadlock, but only if you explicity try (and since\nroot can do any old stupid thing it would like....  :)  ).\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0fb96701376874c9f1f80322f89a5bf4457c709f",
      "tree": "d62aa99af2e68d0d2ac1191af6f402aafa25ffce",
      "parents": [
        "66eb50d5c972cc16df2be730497b7f06d75d8132"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Sep 11 11:27:01 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 11 11:27:01 2007 +0200"
      },
      "message": "[NETFILTER]: nf_conntrack_ipv4: fix \"Frag of proto ...\" messages\n\nSince we\u0027re now using a generic tuple decoding function in ICMP\nconnection tracking, ipv4_get_l4proto() might get called with a\nfragmented packet from within an ICMP error. Remove the error\nmessage we used to print when this happens.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "596e41509550447b030f7b16adaeb0138ab585a8",
      "tree": "eafb66a4e5dcd5d15a8dc8187aef8d7d483b83d6",
      "parents": [
        "ef8aef55ce61fd0e2af798695f7386ac756ae1e7"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Tue Sep 11 10:41:04 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 11 10:41:04 2007 +0200"
      },
      "message": "[IPV4] devinet: show all addresses assigned to interface\n\nBug: http://bugzilla.kernel.org/show_bug.cgi?id\u003d8876\n\nNot all ips are shown by \"ip addr show\" command when IPs number assigned to an\ninterface is more than 60-80 (in fact it depends on broadcast/label etc\npresence on each address).\n\nSteps to reproduce:\nIt\u0027s terribly simple to reproduce:\n\n# for i in $(seq 1 100); do ip ad add 10.0.$i.1/24 dev eth10 ; done\n# ip addr show\n\nthis will _not_ show all IPs.\nLooks like the problem is in netlink/ipv4 message processing.\n\nThis is fix from bug submitter, it looks correct.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5c127c58ae9bf196d787815b1bd6b0aec5aee816",
      "tree": "9edf6e04fe5ac494d024da4f7581ce6afaa44e63",
      "parents": [
        "88282c6ecf0dacefda6090b0289d35e8a3cc6221"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Aug 31 14:39:44 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Aug 31 14:39:44 2007 -0700"
      },
      "message": "[TCP]: \u0027dst\u0027 can be NULL in tcp_rto_min()\n\nReported by Rick Jones.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "05bb1fad1cde025a864a90cfeb98dcbefe78a44a",
      "tree": "d4146d601e960599a5a1249317beb45692619396",
      "parents": [
        "378be2c08314fc46e3f814fa264ff8ebdb79712f"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Aug 30 22:10:28 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Aug 30 22:10:28 2007 -0700"
      },
      "message": "[TCP]: Allow minimum RTO to be configurable via routing metrics.\n\nCell phone networks do link layer retransmissions and other\nthings that cause unnecessary timeout retransmits.  So allow\nthe minimum RTO to be inflated per-route to deal with this.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "26722873a460703e319462afa7ebb8ed3a036c07",
      "tree": "d621eb098a252a8e91d74d635d33eb30ee05aa21",
      "parents": [
        "a96fb49be3dd2031f722bf32af6ed7db965b60f7"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Aug 24 22:21:50 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sun Aug 26 18:35:36 2007 -0700"
      },
      "message": "[TCP]: Describe tcp_init_cwnd() thoroughly in a comment.\n\nPeople often get tripped up by this function and think that\nit does not implemented the prescribed algorithms from\nRFC2414 and RFC3390, even though it does.\n\nSo add a comment to head off such misunderstandings in the\nfuture.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a96fb49be3dd2031f722bf32af6ed7db965b60f7",
      "tree": "3c02106c65a3013990007d9bdf2708616bc9ba6e",
      "parents": [
        "36d98d3edce12c8f9ffd33f8f5d23ce728380925"
      ],
      "author": {
        "name": "Flavio Leitner",
        "email": "fleitner@redhat.com",
        "time": "Fri Aug 24 22:16:39 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sun Aug 26 18:35:35 2007 -0700"
      },
      "message": "[NET]: Fix IP_ADD/DROP_MEMBERSHIP to handle only connectionless\n\nFix IP[V6]_ADD_MEMBERSHIP and IP[V6]_DROP_MEMBERSHIP to\nreturn -EPROTO for connection oriented sockets.\n\nSigned-off-by: Flavio Leitner \u003cfleitner@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "96fe1c0237224b24a0dfaaee6467a5767902ba4a",
      "tree": "6fb801473d339ec36843c76c4a0beaa0ae3921cf",
      "parents": [
        "50c46637aa894f904e2fb39086a3d7732f68bd50"
      ],
      "author": {
        "name": "Nick Bowler",
        "email": "nbowler@ellipticsemi.com",
        "time": "Wed Aug 22 12:33:51 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sun Aug 26 18:35:33 2007 -0700"
      },
      "message": "[IPSEC] AH4: Update IPv4 options handling to conform to RFC 4302.\n\nIn testing our ESP/AH offload hardware, I discovered an issue with how\nAH handles mutable fields in IPv4.  RFC 4302 (AH) states the following\non the subject:\n\n        For IPv4, the entire option is viewed as a unit; so even\n        though the type and length fields within most options are immutable\n        in transit, if an option is classified as mutable, the entire option\n        is zeroed for ICV computation purposes.\n\nThe current implementation does not zero the type and length fields,\nresulting in authentication failures when communicating with hosts\nthat do (i.e. FreeBSD).\n\nI have tested record route and timestamp options (ping -R and ping -T)\non a small network involving Windows XP, FreeBSD 6.2, and Linux hosts,\nwith one router.  In the presence of these options, the FreeBSD and\nLinux hosts (with the patch or with the hardware) can communicate.\nThe Windows XP host simply fails to accept these packets with or\nwithout the patch.\n\nI have also been trying to test source routing options (using\ntraceroute -g), but haven\u0027t had much luck getting this option to work\n*without* AH, let alone with.\n\nSigned-off-by: Nick Bowler \u003cnbowler@ellipticsemi.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "45241a7a07537266eec363593ef377a1e6b7db7f",
      "tree": "d7f467775f6406764d547bd01c3f513f09557bd6",
      "parents": [
        "aa584eda5d2002097de9f608b362d9150730abd7"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Aug 14 13:14:58 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 14 13:14:58 2007 -0700"
      },
      "message": "[NETFILTER]: nf_nat_sip: don\u0027t drop short packets\n\nDon\u0027t drop packets shorter than \"SIP/2.0\", just ignore them. Keep-alives\ncan validly be shorter for example.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cae7ca3d3de48851e929de9469397749638df779",
      "tree": "2919ea031c5dcc43668f080faa3a463ac04cfed6",
      "parents": [
        "7f353bf29e162459f2f1e2ca25e41011fae65241"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Fri Aug 10 15:50:30 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 13 22:52:15 2007 -0700"
      },
      "message": "[IPVS]: Use IP_VS_WAIT_WHILE when encessary.\n\nFor architectures that don\u0027t have a volatile atomic_ts constructs like\nwhile (atomic_read(\u0026something)); might result in endless loops since a\nbarrier() is missing which forces the compiler to generate code that\nactually reads memory contents.\nFix this in ipvs by using the IP_VS_WAIT_WHILE macro which resolves to\nwhile (expr) { cpu_relax(); }\n(why isn\u0027t this open coded btw?)\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f49f9967b263cc88b48d912172afdc621bcb0a3c",
      "tree": "a1c0a27da646f589703f62624c1891c70465111b",
      "parents": [
        "6869a35b365c027b7acf50585c5bb34e34d4c41c"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jesper.juhl@gmail.com",
        "time": "Fri Aug 10 15:17:24 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 13 22:52:02 2007 -0700"
      },
      "message": "[IPV4]: Clean up duplicate includes in net/ipv4/\n\nThis patch cleans up duplicate includes in\n\tnet/ipv4/\n\nSigned-off-by: Jesper Juhl \u003cjesper.juhl@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": "dcbdc93c6c64daf20622d6deae774d1e740efb8d",
      "tree": "e4f5282bca6cbd8f20272892d7ee72f8f711a7fe",
      "parents": [
        "8aee929eda10b2502fd76c0bf2003f89f7992820"
      ],
      "author": {
        "name": "Joakim Tjernlund",
        "email": "joakim.tjernlund@transmode.se",
        "time": "Fri Aug 10 15:14:54 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 13 22:51:59 2007 -0700"
      },
      "message": "[IPCONFIG]: ip_auto_config fix\n\nThe following commandline:\n\n root\u003d/dev/mtdblock6 rw rootfstype\u003djffs2 ip\u003d192.168.1.10:::255.255.255.0:localhost.localdomain:eth1:off console\u003dttyS0,115200\n\nmakes ip_auto_config fall back to DHCP and complain \"IP-Config: Incomplete\nnetwork configuration information.\" depending on if CONFIG_IP_PNP_DHCP is\nset or not.\n\nThe only way I can make ip_auto_config accept my IP config is to add an\nentry for the server IP:\n\nip\u003d192.168.1.10:192.168.1.15::255.255.255.0:localhost.localdomain:eth1:off\n\nI think this is a bug since I am not using a NFS root FS.\n\nThe following patch fixes the above problem.\n\nFrom: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n\nDavem said (in February!):\n\n  Well, first of all the change in question is not in 2.4.x either.  I just\n  checked the current 2.4.x GIT tree and the test is exactly:\n\n\tif (ic_myaddr \u003d\u003d INADDR_NONE ||\n#ifdef CONFIG_ROOT_NFS\n\t    (MAJOR(ROOT_DEV) \u003d\u003d UNNAMED_MAJOR\n\t     \u0026\u0026 root_server_addr \u003d\u003d INADDR_NONE\n\t     \u0026\u0026 ic_servaddr \u003d\u003d INADDR_NONE) ||\n#endif\n\t    ic_first_dev-\u003enext) {\n\n  which matches 2.6.x\n\n  I even checked 2.4.x when it was branched for 2.5.x and the test was the\n  same at the point in time too.\n\n  Looking at the proposed change a bit it appears that it is probably\n  correct, as it\u0027s trying to check that ROOT_DEV is nfs root.  But if it is\n  correct then the UNNAMED_MAJOR comparison in the same code block should be\n  removed as it becomes superfluous.\n\n  I\u0027m happy to apply this patch with that modification made.\n\nSigned-off-by: Joakim Tjernlund \u003cjoakim.tjernlund@transmode.se\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f34d1955dff5a5769d24614d137003f0316406f3",
      "tree": "4787a616396aa8ea32bdb262043e7b784861cbeb",
      "parents": [
        "591e620693e71e24fb3450a4084217e44b7a60b6"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Tue Aug 07 18:29:05 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 07 18:29:05 2007 -0700"
      },
      "message": "[TCP]: H-TCP maxRTT estimation at startup\n\nSmall patch to H-TCP from Douglas Leith. \n\nFix estimation of maxRTT.  The original code ignores rtt measurements\nduring slow start (via the check tp-\u003esnd_ssthresh \u003c 0xFFFF) yet this\nis probably a good time to try to estimate max rtt as delayed acking\nis disabled and slow start will only exit on a loss which presumably\ncorresponds to a maxrtt measurement.  Second, the original code (via\nthe check htcp_ccount(ca) \u003e 3) ignores rtt data during what it\nestimates to be the first 3 round-trip times.  This seems like an\nunnecessary check now that the RCV timestamp are no longer used\nfor rtt estimation.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "591e620693e71e24fb3450a4084217e44b7a60b6",
      "tree": "e651e7beaca45a99b89bd63d33419c5b97477a28",
      "parents": [
        "ff4ca8273eafbba875a86d333e059e78f292107f"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Aug 07 18:12:01 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 07 18:12:01 2007 -0700"
      },
      "message": "[NETFILTER]: nf_nat: add symbolic dependency on IPv4 conntrack\n\nLoading nf_nat causes the conntrack core to be loaded, but we need IPv4 as\nwell.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3af8e31cf57646284b5f77f9d57d2c22fa77485a",
      "tree": "4c39d509d0c6db9e2bfdbabc8f4be66d3795d308",
      "parents": [
        "864c5a4d37b1f25e3c36dd00a09158eae455a8fd"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jesper.juhl@gmail.com",
        "time": "Tue Aug 07 18:10:54 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 07 18:10:54 2007 -0700"
      },
      "message": "[NETFILTER]: ipt_recent: avoid a possible NULL pointer deref in recent_seq_open()\n\nIf the call to seq_open() returns !\u003d 0 then the code calls \nkfree(st) but then on the very next line proceeds to \ndereference the pointer - not good.\n\nProblem spotted by the Coverity checker.\n\nSigned-off-by: Jesper Juhl \u003cjesper.juhl@gmail.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "49ff4bb4cd4c04acf8f9e3d3ec2148305a1db445",
      "tree": "3e443a0cf902c02d8046617c24700745a1afecd0",
      "parents": [
        "2e6052941ae1f2f875d7d9092acb8836af1e0193"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Thu Aug 02 19:47:59 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Aug 02 19:47:59 2007 -0700"
      },
      "message": "[TCP]: DSACK signals data receival, be conservative\n\nIn case a DSACK is received, it\u0027s better to lower cwnd as it\u0027s\na sign of data receival.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2e6052941ae1f2f875d7d9092acb8836af1e0193",
      "tree": "ade0bd7235403397b6165a5a2e788dd739912d94",
      "parents": [
        "3a97aeb5c199070f136c085f8b0f9338d19c4148"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Thu Aug 02 19:46:58 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Aug 02 19:46:58 2007 -0700"
      },
      "message": "[TCP]: Also handle snd_una changes in tcp_cwnd_down\n\ntcp_cwnd_down must check for it too as it should be conservative\nin case of collapse stuff and also when receiver is trying to\nlie (though that wouldn\u0027t be very successful/useful anyway).\n\nNote:\n- Separated also is_dupack and do_lost in fast_retransalert\n\t* Much cleaner look-and-feel now\n\t* This time it really fixes cumulative ACK with many new\n\t  SACK blocks recovery entry (I claimed this fixes with\n\t  last patch but it wasn\u0027t). TCP will now call\n\t  tcp_update_scoreboard regardless of is_dupack when\n\t  in recovery as long as there is enough fackets_out.\n- Introduce FLAG_SND_UNA_ADVANCED\n\t* Some prior_snd_una arguments are unnecessary after it\n- Added helper FLAG_ANY_PROGRESS to avoid long FLAG...|FLAG...\n  constructs\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3516ffb0fef710749daf288c0fe146503e0cf9d4",
      "tree": "f3e3cd29dd541a457e61152560fe4416642a69bc",
      "parents": [
        "1bcabbdb0bdfe8b15b05150a7857646430aaa7f8"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Aug 02 19:23:56 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Aug 02 19:42:28 2007 -0700"
      },
      "message": "[TCP]: Invoke tcp_sendmsg() directly, do not use inet_sendmsg().\n\nAs discovered by Evegniy Polyakov, if we try to sendmsg after\na connection reset, we can do incredibly stupid things.\n\nThe core issue is that inet_sendmsg() tries to autobind the\nsocket, but we should never do that for TCP.  Instead we should\njust go straight into TCP\u0027s sendmsg() code which will do all\nof the necessary state and pending socket error checks.\n\nTCP\u0027s sendpage already directly vectors to tcp_sendpage(), so this\nmerely brings sendmsg() in line with that.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1bcabbdb0bdfe8b15b05150a7857646430aaa7f8",
      "tree": "6a6534c8ac22ab69498c85dc02d07ef1206e2e11",
      "parents": [
        "4487b2f657a4d204c35a7afaa45fc8569c9069ca"
      ],
      "author": {
        "name": "Mariusz Kozlowski",
        "email": "m.kozlowski@tuxland.pl",
        "time": "Wed Aug 01 21:54:27 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Aug 02 19:42:27 2007 -0700"
      },
      "message": "[IPV4] route.c: mostly kmalloc + memset conversion to k[cz]alloc\n\nSigned-off-by: Mariusz Kozlowski \u003cm.kozlowski@tuxland.pl\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4487b2f657a4d204c35a7afaa45fc8569c9069ca",
      "tree": "41b1a1c1e1cc3796477756151db67b63e35ea9f2",
      "parents": [
        "8adc5465525f28be1f728b6fa600d327e1d49f55"
      ],
      "author": {
        "name": "Mariusz Kozlowski",
        "email": "m.kozlowski@tuxland.pl",
        "time": "Wed Aug 01 21:53:57 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Aug 02 19:42:26 2007 -0700"
      },
      "message": "[IPV4] raw.c: kmalloc + memset conversion to kzalloc\n\nSigned-off-by: Mariusz Kozlowski \u003cm.kozlowski@tuxland.pl\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8adc5465525f28be1f728b6fa600d327e1d49f55",
      "tree": "e5ffd70d74f30957c18cfa8e1d9e5d8c37ea157a",
      "parents": [
        "9f0d1a004d8d8c33d337d2b1cc9f0dc941cab627"
      ],
      "author": {
        "name": "Mariusz Kozlowski",
        "email": "m.kozlowski@tuxland.pl",
        "time": "Wed Aug 01 21:53:24 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Aug 02 19:42:24 2007 -0700"
      },
      "message": "[NETFILTER] nf_conntrack_l3proto_ipv4_compat.c: kmalloc + memset conversion to kzalloc\n\nSigned-off-by: Mariusz Kozlowski \u003cm.kozlowski@tuxland.pl\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "376407039c26caacc3e433437d25516ba8f3adc9",
      "tree": "a00e2680ca45584415c692d0aed3346c2b77ba3c",
      "parents": [
        "f87966541ef15d28572c8a3caaec359801625228"
      ],
      "author": {
        "name": "Mariusz Kozlowski",
        "email": "m.kozlowski@tuxland.pl",
        "time": "Tue Jul 31 14:06:45 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 31 14:06:45 2007 -0700"
      },
      "message": "[IPV4] ip_options.c: kmalloc + memset conversion to kzalloc\n\nSigned-off-by: Mariusz Kozlowski \u003cm.kozlowski@tuxland.pl\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b8ed601cefe7a4014b93560bd846caf44f25b1c1",
      "tree": "37df7bdfa7cb88195502e36440a21ce3897c9e40",
      "parents": [
        "1e757f9996114f713a79d3fbcd08739efcfc5c34"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Mon Jul 30 19:51:12 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jul 31 02:28:31 2007 -0700"
      },
      "message": "[TCP]: Bidir flow must not disregard SACK blocks for lost marking\n\nIt\u0027s possible that new SACK blocks that should trigger new LOST\nmarkings arrive with new data (which previously made is_dupack\nfalse). In addition, I think this fixes a case where we get\na cumulative ACK with enough SACK blocks to trigger the fast\nrecovery (is_dupack would be false there too).\n\nI\u0027m not completely pleased with this solution because readability\nof the code is somewhat questionable as \u0027is_dupack\u0027 in SACK case\nis no longer about dupacks only but would mean something like\n\u0027lost_marker_work_todo\u0027 too... But because of Eifel stuff done\nin CA_Recovery, the FLAG_DATA_SACKED check cannot be placed to\nthe if statement which seems attractive solution. Nevertheless,\nI didn\u0027t like adding another variable just for that either... :-)\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1e757f9996114f713a79d3fbcd08739efcfc5c34",
      "tree": "169b4399c718ec6bf178ad1d77d8b8bf27d1d714",
      "parents": [
        "143cf35324548df54563b19d0444e0fe170027f8"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Mon Jul 30 19:48:37 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jul 31 02:28:30 2007 -0700"
      },
      "message": "[TCP]: Fix ratehalving with bidirectional flows\n\nActually, the ratehalving seems to work too well, as cwnd is\nreduced on every second ACK even though the packets in flight\nremains unchanged. Recoveries in a bidirectional flows suffer\nquite badly because of this, both NewReno and SACK are affected.\n\nAfter this patch, rate halving is performed for ACK only if\npackets in flight was supposedly changed too.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b217d616a15fcfb3caf2a72c1a071c6d3f182f8d",
      "tree": "301422d7c0fba653dfb5e32c80fedc2cede627e3",
      "parents": [
        "fcc5a03ac42564e9e255c1134dda47442289e466"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Jul 30 17:04:52 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jul 31 02:28:16 2007 -0700"
      },
      "message": "[IPV4/IPV6]: Fail registration if inet device construction fails\n\nNow that netdev notifications can fail, we can use this to signal\nerrors during registration for IPv4/IPv6.  In particular, if we\nfail to allocate memory for the inet device, we can fail the netdev\nregistration.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ccc7911fbd1c5af9b60453d3a8cca0a36402fee5",
      "tree": "ceceb86b2a888385c89fbf607b9853346ffa2117",
      "parents": [
        "25a8b2545bfb2238f6f66da8032d768c6870c863"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Jul 30 16:20:12 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jul 31 02:28:11 2007 -0700"
      },
      "message": "[IPVS]: Use skb_forward_csum\n\nAs a path that forwards packets, IPVS should be using\nskb_forward_csum instead of directly setting ip_summed\nto CHECKSUM_NONE.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "113bbbd8d2da61b50417a1dd06d8e7c19047e54b",
      "tree": "a120314c2a7b648d1a2b04788f6d0de37d20b974",
      "parents": [
        "e7d0c88586a66cf03e70750a8119d984fdedf2aa"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Wed Jul 25 23:50:28 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jul 31 02:27:59 2007 -0700"
      },
      "message": "[TCP]: htcp - use measured rtt\n\nChange HTCP to use measured RTT rather than smooth RTT.\nSrtt is computed using the TCP receive timestamp\noptions, so it is vulnerable to hostile receivers. To avoid any problems\nthis might cause use the measured RTT instead.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    }
  ],
  "next": "e7d0c88586a66cf03e70750a8119d984fdedf2aa"
}
