)]}'
{
  "log": [
    {
      "commit": "eb063c1702a84d58eb4c05a032bbff6f1c29049d",
      "tree": "0aa15bc098e6e4ef0c84bc4944250bba971ac3ad",
      "parents": [
        "808718c1477b8350e9e329bf4a35391ac7c7f982"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Aug 28 17:01:53 2007 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:47 2007 -0700"
      },
      "message": "[MAC80211]: refactor event sending\n\nCreate a new file event.c that will contain code to send mac/mlme\nevents to userspace. For now put the Michael MIC failure condition\ninto it and remove sending of that condition via the management\ninterface, hostapd interestingly doesn\u0027t do anything when it gets\nsuch a packet besides printing a message, it reacts only on the\nprivate iwevent.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nAcked-by: Michael Wu \u003cflamingice@sourmilk.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "808718c1477b8350e9e329bf4a35391ac7c7f982",
      "tree": "93135c52721f77eafdeeeed234b5351f9be6d2d5",
      "parents": [
        "7b33a57f0f5ed9fcc87f98ff5f6aa54291bd0558"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Aug 28 17:01:53 2007 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:46 2007 -0700"
      },
      "message": "[MAC80211]: kill key_mgmt, use key_management_enabled\n\nThe key_mgmt variable for STA interfaces doesn\u0027t seem well-defined\nnor do we actually use the values other than \"NONE\", so change it to\nbe named better.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nAcked-by: Michael Wu \u003cflamingice@sourmilk.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7b33a57f0f5ed9fcc87f98ff5f6aa54291bd0558",
      "tree": "ece3ffe5f734ad00e0e91a16d6e62d96e0c33a76",
      "parents": [
        "53cb670042999b8acb70945ce522b015dcdf7b43"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Aug 28 17:01:53 2007 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:46 2007 -0700"
      },
      "message": "[MAC80211]: remove unused ioctls (3)\n\nThe ioctls\n * PRISM2_PARAM_RADAR_DETECT\n * PRISM2_PARAM_SPECTRUM_MGMT\n\nare not used by hostapd or wpa_supplicant,\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nAcked-by: Michael Wu \u003cflamingice@sourmilk.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "53cb670042999b8acb70945ce522b015dcdf7b43",
      "tree": "e114ad62facc63678dab93b541804432e52a8ba0",
      "parents": [
        "b2446b36800948586f1d1b8ef05803bba5f7489e"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Aug 28 17:01:53 2007 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:45 2007 -0700"
      },
      "message": "[MAC80211]: remove unused ioctls (2)\n\nThe ioctls\n\n * PRISM2_PARAM_STA_ANTENNA_SEL\n * PRISM2_PARAM_TX_POWER_REDUCTION\n * PRISM2_PARAM_DEFAULT_WEP_ONLY\n\nare not used by hostapd or wpa_supplicant.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nAcked-by: Michael Wu \u003cflamingice@sourmilk.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b2446b36800948586f1d1b8ef05803bba5f7489e",
      "tree": "49687896b02ae79999cd57abb629d12c8ab14fec",
      "parents": [
        "3017b80bf0c4d6a44ccf0d35db9dadf01092b54e"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Aug 28 17:01:53 2007 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:45 2007 -0700"
      },
      "message": "[MAC80211]: remove unused ioctls (1)\n\nThe ioctls\n\n * PRISM2_PARAM_ANTENNA_MODE\n * PRISM2_PARAM_STAT_TIME\n\nare not used by hostapd or wpa_supplicant.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nAcked-by: Michael Wu \u003cflamingice@sourmilk.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3017b80bf0c4d6a44ccf0d35db9dadf01092b54e",
      "tree": "c08a6688469f857276d59bf69ef19d1d37440245",
      "parents": [
        "82f716056fb1c214289fe6c284b0316858c1b70c"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Aug 28 17:01:53 2007 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:44 2007 -0700"
      },
      "message": "[MAC80211]: fix software decryption\n\nWhen doing key selection for software decryption, mac80211 gets\na few things wrong: it always uses pairwise keys if configured,\neven if the frame is addressed to a multicast address. Also, it\ndoesn\u0027t allow using a key index of zero if a pairwise key has\nalso been found.\n\nThis patch changes the key selection code to be (more) in line\nwith the 802.11 specification. I have confirmed that with this,\nmulticast frames are correctly decrypted and I\u0027ve tested with\nWEP as well.\n\nWhile at it, I\u0027ve cleaned up the semantics of the hardware flags\nIEEE80211_HW_WEP_INCLUDE_IV and IEEE80211_HW_DEVICE_HIDES_WEP\nand clarified them in the mac80211.h header; it is also now\nallowed to set the IEEE80211_HW_DEVICE_HIDES_WEP option even if\nit only applies to frames that have been decrypted by the hw,\nunencrypted frames must be dropped but encrypted frames that\nthe hardware couldn\u0027t handle can be passed up unmodified.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nAcked-by: Michael Wu \u003cflamingice@sourmilk.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "82f716056fb1c214289fe6c284b0316858c1b70c",
      "tree": "913ab04947109bfeff815d3076117842f651f26d",
      "parents": [
        "643856729e2fde781f63eb84ecb43bbad35bf1ae"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Aug 28 17:01:53 2007 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:43 2007 -0700"
      },
      "message": "[MAC80211]: remove radar stuff\n\nUnused in drivers, userspace and mac80211.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nAcked-by: Michael Wu \u003cflamingice@sourmilk.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "643856729e2fde781f63eb84ecb43bbad35bf1ae",
      "tree": "b6e6cec0284ad70d1536ae2817545fd4cd0a052b",
      "parents": [
        "1a84f3fd141d2105d80290316bfa772ba34e9c64"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Aug 28 17:01:53 2007 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:43 2007 -0700"
      },
      "message": "[MAC80211]: remove ieee80211_msg_wep_frame_unknown_key\n\nNeither hostapd nor wpa_supplicant really use it.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nAcked-by: Michael Wu \u003cflamingice@sourmilk.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "1a84f3fd141d2105d80290316bfa772ba34e9c64",
      "tree": "725c7aea7e8b88815d9c64b7a1e3f10858473574",
      "parents": [
        "aaa92e9a743c740005d8a592dbc1b3ca310d35b5"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Aug 28 17:01:52 2007 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:42 2007 -0700"
      },
      "message": "[MAC80211]: ratelimit some RX messages\n\nMany if not all of these messages can be triggered by sending\na few rogue frames which is trivially done and then we overflow\nour logs.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nAcked-by: Michael Wu \u003cflamingice@sourmilk.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "aaa92e9a743c740005d8a592dbc1b3ca310d35b5",
      "tree": "7407de05d4a0c2b9203cb00df24102e63b86848b",
      "parents": [
        "e6660d9832f62e97941492b83eccbe370dfa72ba"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Sep 06 03:36:10 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:42 2007 -0700"
      },
      "message": "[MAC80211]: remove IEEE80211_HW_DATA_NULLFUNC_ACK\n\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e6660d9832f62e97941492b83eccbe370dfa72ba",
      "tree": "3e0f5ea7d342634125114eddceb673c182887fc8",
      "parents": [
        "0ef6e49b75d0d64d5deab890c72d19fe86488f73"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Aug 28 17:01:52 2007 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:41 2007 -0700"
      },
      "message": "[MAC80211]: remove PRISM2_PARAM_RADIO_ENABLED\n\nThis now is unused in hostapd/wpa_supplicant.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nAcked-by: Michael Wu \u003cflamingice@sourmilk.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0ef6e49b75d0d64d5deab890c72d19fe86488f73",
      "tree": "bc6c02c04ddbcbe9c52a5d3aa517e5adbeb20bb8",
      "parents": [
        "4dfd1d2f6aeeac67d17d6c22052ae3a86db85c0b"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Aug 28 17:01:52 2007 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:41 2007 -0700"
      },
      "message": "[MAC80211]: remove IEEE80211_HW_HOST_GEN_BEACON flag\n\nThe flag is never checked because drivers can simply call\nieee80211_beacon_get() regardless of setting this flag.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nAcked-by: Michael Wu \u003cflamingice@sourmilk.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4dfd1d2f6aeeac67d17d6c22052ae3a86db85c0b",
      "tree": "e4bc57cb86d660d228732837de7a56ebf56a308f",
      "parents": [
        "50339a67e2d4386d8919195989371579cab8649d"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Aug 28 17:01:52 2007 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:40 2007 -0700"
      },
      "message": "[MAC80211]: remove reset callback\n\nThe callback isn\u0027t used so remove it.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nAcked-by: Michael Wu \u003cflamingice@sourmilk.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "50339a67e2d4386d8919195989371579cab8649d",
      "tree": "398fffe801706572f58ac0b7c8078112e1c3b97b",
      "parents": [
        "2a8a9a88fc1b18f5c45244d0ef8a5352f6cf761f"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Aug 28 17:01:52 2007 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:40 2007 -0700"
      },
      "message": "[MAC80211]: fix key debugfs\n\nThis fixes two issues with the key debugfs:\n 1) key index obviously isn\u0027t unique\n 2) various missing break statements led to bogus output\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nAcked-by: Michael Wu \u003cflamingice@sourmilk.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2a8a9a88fc1b18f5c45244d0ef8a5352f6cf761f",
      "tree": "be45f7673455ebceb88bc405a33ae1254bc9e62f",
      "parents": [
        "4b6aa59999a3a12dd4740a52299c6c33e85a8747"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Aug 28 17:01:52 2007 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:39 2007 -0700"
      },
      "message": "[MAC80211]: avoid copying packets to interfaces that are down\n\nDavid Woodhouse noticed that under some circumstances the number of slab\nallocations kept growing. After looking a bit, this seemed to happen\nwhen you had a management mode interface that was *down*.\n\nThe reason for this is that when the device is down, all management\nframes get queued to the in-kernel MLME (via ieee80211_sta_rx_mgmt) but\nthen the sta work is invoked but doesn\u0027t run when the netif is down.\nWhen you then bring the interface up, all such frames are freed, but if\nyou change the mode all of them are lost because the skb queue is\nreinitialised as soon as you go back to managed mode. The skb queue is\ncorrectly cleared when the interface is brought down, but the code\ndoesn\u0027t account for the fact that it may be filled while it is not up.\n\nThis patch should fix the issue by simply ignoring all interfaces that\nare down when going through the RX handlers.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nAcked-by: Michael Wu \u003cflamingice@sourmilk.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4b6aa59999a3a12dd4740a52299c6c33e85a8747",
      "tree": "827045fb6926c64d46af951fa07de398a5396e28",
      "parents": [
        "4a1d7c25cb438f96b700ac26dc5aa0a38a6d86ea"
      ],
      "author": {
        "name": "Alex Villacís Lasso",
        "email": "a_villacis@palosanto.com",
        "time": "Tue Aug 28 15:58:31 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:39 2007 -0700"
      },
      "message": "[IrDA]: Kingsun KS-959 IrDA USB driver\n\nThis dongle does not follow the usb-irda specification, so it needs its own\nspecial driver. First, it uses control URBs for data transfer, instead of\nbulk or interrupt transfers; the only interrupt endpoint exposed seems to\nbe a dummy to prevent the interface from being rejected. Second, it uses\nobfuscation and padding at the USB traffic level, for no apparent reason\nother than to make reverse engineering harder (full details on obfuscation\nin comments at beginning of source). Although it is advertised as a \"4 Mbps\nFIR dongle\", it apparently loses packets at speeds greater than 57600 bps.\n\nOn plugin, this dongle reports vendor and device IDs: 0x07d0:0x4959 .\n\nThe Windows driver that is used normally to control this dongle has a\nfilename of KS-959.SYS .\n\nSigned-off-by: Alex Villacís Lasso \u003ca_villacis@palosanto.com\u003e\nSigned-off-by: Samuel Ortiz \u003csamuel@sortiz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4a1d7c25cb438f96b700ac26dc5aa0a38a6d86ea",
      "tree": "20f8eb0f9fcef2051c96f1d9ce02eba1349f119c",
      "parents": [
        "bcb5e0eef35059af372a7bd3fc68915278d74bc0"
      ],
      "author": {
        "name": "Alex Villacís Lasso",
        "email": "a_villacis@palosanto.com",
        "time": "Tue Aug 28 15:57:50 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:38 2007 -0700"
      },
      "message": "[IrDA]: Kingsun Dazzle IrDA USB driver\n\nThis dongle does not follow the usb-irda specification, so it needs its own\nspecial driver. Just like the Kingsun/Donshine dongle, it exposes two\ninterrupt endpoints. Reception is performed through direct reads from the\ninput endpoint. Transmission requires splitting the IrDA frames into 8-byte\nsegments, in which the first byte encodes how many of the remaining 7 bytes\nare used as data. Speed change is made with a control URB just like the one\nin cypress_m8, and it seems to support up to 115200 bps.\n\nOn plugin, this dongle reports vendor and device IDs: 0x07d0:0x4100\n\nSigned-off-by: Alex Villacís Lasso \u003ca_villacis@palosanto.com\u003e\nSigned-off-by: Samuel Ortiz \u003csamuel@sortiz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bcb5e0eef35059af372a7bd3fc68915278d74bc0",
      "tree": "0d1e289f0bfa5eaa59a2b5c8d464dcd3dc28ab31",
      "parents": [
        "172589ccdde41b59861c92c4a971b95514ef24e3"
      ],
      "author": {
        "name": "Samuel Ortiz",
        "email": "samuel@sortiz.org",
        "time": "Tue Aug 28 15:57:12 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:37 2007 -0700"
      },
      "message": "[IrDA]: MSG_NOSIGNAL support for IrDA sockets\n\nSigned-off-by: Samuel Ortiz \u003csamuel@sortiz.org\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": "c45248c70125cc374fdf264659643276c72801bf",
      "tree": "fdc05bcf5c5b766a95d531fef0687688d60bfe3c",
      "parents": [
        "b163911f8abf89bafb9cc0ec02a9c43af450ea81"
      ],
      "author": {
        "name": "Robert Olsson",
        "email": "robert.olsson@its.uu.se",
        "time": "Mon Sep 17 11:47:12 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:36 2007 -0700"
      },
      "message": "[SOFTIRQ]: Remove do_softirq() symbol export.\n\nAs noted by Christoph Hellwig, pktgen was the only user so\nit can now be removed.\n\n[ Add missing cases caught by Adrian Bunk. -DaveM ]\n\nSigned-off-by: Robert Olsson \u003crobert.olsson@its.uu.se\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b163911f8abf89bafb9cc0ec02a9c43af450ea81",
      "tree": "8d7ff3027f4a43373f67b59fa200cb295e6653de",
      "parents": [
        "45b270f880d32252ded95865390e69deb714e080"
      ],
      "author": {
        "name": "Robert Olsson",
        "email": "robert.olsson@its.uu.se",
        "time": "Tue Aug 28 15:46:58 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:36 2007 -0700"
      },
      "message": "[PKTGEN]: Remove softirq scheduling.\n\nIt\u0027s not a job for pktgen.\n\nSigned-off-by: Robert Olsson \u003crobert.olsson@its.uu.se\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "45b270f880d32252ded95865390e69deb714e080",
      "tree": "23cc71f7ea17680fb6fa4952930f75ae04db6f2a",
      "parents": [
        "32b21e034be9954eaae0278df20e0251eb958ded"
      ],
      "author": {
        "name": "Robert Olsson",
        "email": "robert.olsson@its.uu.se",
        "time": "Tue Aug 28 15:45:55 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:35 2007 -0700"
      },
      "message": "[PKTGEN]: Multiqueue support.\n\nBelow some pktgen support to send into different TX queues.\nThis can of course be feed into input queues on other machines\n\nSigned-off-by: Robert Olsson \u003crobert.olsson@its.uu.se\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "32b21e034be9954eaae0278df20e0251eb958ded",
      "tree": "3a0e55f59fae96505b908b1e65a2df42e9377c41",
      "parents": [
        "f7944fb1913130ae7858008af96e52a3a6b04118"
      ],
      "author": {
        "name": "Denis Cheng",
        "email": "crquan@gmail.com",
        "time": "Tue Aug 28 15:41:11 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:35 2007 -0700"
      },
      "message": "[NETLINK]: use container_of instead\n\nThis could make future redesign of struct netlink_sock easier.\n\nSigned-off-by: Denis Cheng \u003ccrquan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f7944fb1913130ae7858008af96e52a3a6b04118",
      "tree": "757d88e7c9ed3a423f27546e23104a8daee0a34b",
      "parents": [
        "3b26a9a655ee73a87071a9f6a1fdd5311e31d7c9"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Sat Aug 25 13:46:55 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:34 2007 -0700"
      },
      "message": "[XFRM] policy: Replace magic number with XFRM_POLICY_OUT\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\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": "1e5dc146173251e7baad9a1f7586d5a009b6d9f9",
      "tree": "ed816741827aac7239e24187df09657ff6f0d21d",
      "parents": [
        "a47ed4cd8cb0709723392f5b841e9015f765d0a6"
      ],
      "author": {
        "name": "Masahide NAKAMURA",
        "email": "nakam@linux-ipv6.org",
        "time": "Fri Aug 24 19:08:55 2007 +0900"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:33 2007 -0700"
      },
      "message": "[IPV6] IPSEC: Omit redirect for tunnelled packet.\n\nIPv6 IPsec tunnel gateway incorrectly sends redirect to\nrouter or sender when network device the IPsec tunnelled packet\nis 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\nIt may be a rare case for an IPsec security gateway, however\nit is not rare when the gateway is MIPv6 Home Agent since\nthe another tunnel end-point is Mobile Node and it changes\nthe attached network.\n\nSigned-off-by: Masahide NAKAMURA \u003cnakam@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a47ed4cd8cb0709723392f5b841e9015f765d0a6",
      "tree": "6b79a4b94602bbc0e27df9a6a869253438833f74",
      "parents": [
        "e773e4faa19c54c2f32ddd16add2919588488bd9"
      ],
      "author": {
        "name": "Noriaki TAKAMIYA",
        "email": "takamiya@po.ntts.co.jp",
        "time": "Thu Sep 06 03:31:25 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:32 2007 -0700"
      },
      "message": "[IPV6] XFRM: Fix connected socket to use transformation.\n\nWhen XFRM policy and state are ready after TCP connection is started,\nthe traffic should be transformed immediately, however it does not\non IPv6 TCP.\n\nIt depends on a dst cache replacement policy with connected socket.\nIt seems that the replacement is always done for IPv4, however, on\nIPv6 case it is done only when routing cookie is changed.\n\nThis patch fix that non-transformation dst can be changed to\ntransformation one.\nThis behavior is required by MIPv6 and improves IPv6 IPsec.\n\nFixes by Masahide NAKAMURA.\n\nSigned-off-by: Noriaki TAKAMIYA \u003ctakamiya@po.ntts.co.jp\u003e\nSigned-off-by: Masahide NAKAMURA \u003cnakam@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e773e4faa19c54c2f32ddd16add2919588488bd9",
      "tree": "316395a9c687155362913ec1c588c0217233f67e",
      "parents": [
        "6f4fc423b96c8fdf6f5c8b8ad79b75b7fb5a5c59"
      ],
      "author": {
        "name": "Brian Haley",
        "email": "brian.haley@hp.com",
        "time": "Fri Aug 24 23:16:08 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:32 2007 -0700"
      },
      "message": "[IPV6]: Add v4mapped address inline\n\nAdd v4mapped address inline to avoid calls to ipv6_addr_type().\n\nSigned-off-by: Brian Haley \u003cbrian.haley@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6f4fc423b96c8fdf6f5c8b8ad79b75b7fb5a5c59",
      "tree": "e4373100b4876d02aa9bab5e0278837bce1baadc",
      "parents": [
        "32c1da70810017a98aa6c431a5494a302b6b9a30"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Mon Sep 17 11:44:25 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:31 2007 -0700"
      },
      "message": "[SHAPER]: Mark for removal.\n\nThis driver has been marked obsolete for a long time and\nis superseded by traffic schedulers.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.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": "522400623e240ad134cb4101b1fddc3245d2a7ed",
      "tree": "fb1f341426ae7cd5c977232c8084bf45819d1bea",
      "parents": [
        "23f1f4eff85d3d2ec9ed589e3fdcbba59eaa083e"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Tue Aug 28 15:22:09 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:27 2007 -0700"
      },
      "message": "[ATM]: Replace DPRINTK() with pr_debug().\n\nGet rid of using DPRINTK macro in ATM and use pr_debug (in kernel.h).\nUsing the standard macro is cleaner and forces code to check for bad arguments\nand formatting.\n\nFixes from Thomas Graf.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "23f1f4eff85d3d2ec9ed589e3fdcbba59eaa083e",
      "tree": "4d095b4f0034af776172bcdbe3e283abd4dd5518",
      "parents": [
        "fd21150a0fe10c504160db359a4eb425576f6e7d"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Fri Aug 24 22:35:44 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:26 2007 -0700"
      },
      "message": "[NET] ethernet: optimize memcpy and memset\n\nThe ethernet header management only needs to handle a fixed\nsize address (6 bytes). If the memcpy/memset are changed to\nbe passed a constant length, then compiler can optimize for\nthis case (and if it is smart eliminate string instructions).\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fd21150a0fe10c504160db359a4eb425576f6e7d",
      "tree": "fb1c912e8cb1867216f30d0c34f3b1f5427896ac",
      "parents": [
        "15901a2746e6a2dbe03043609f1575c2bcf726e8"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Thu Sep 06 03:28:08 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:26 2007 -0700"
      },
      "message": "[XFRM] netlink: Inline attach_encap_tmpl(), attach_sec_ctx(), and attach_one_addr()\n\nThese functions are only used once and are a lot easier to understand if\ninlined directly into the function.\n\nFixes by Masahide NAKAMURA.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "15901a2746e6a2dbe03043609f1575c2bcf726e8",
      "tree": "94539e2063d37082002a108e3072e93c5d09cef1",
      "parents": [
        "5424f32e484b9697808bbc0c0088dc2ead018d4f"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Wed Aug 22 14:02:39 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:25 2007 -0700"
      },
      "message": "[XFRM] netlink: Remove dependency on rtnetlink\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5424f32e484b9697808bbc0c0088dc2ead018d4f",
      "tree": "91daf130e6816a7fc7bef89932e4df45fc26fec5",
      "parents": [
        "35a7aa08bf7863dbfdb0eb69122d8aeaedd52748"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Wed Aug 22 14:01:33 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:25 2007 -0700"
      },
      "message": "[XFRM] netlink: Use nlattr instead of rtattr\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "35a7aa08bf7863dbfdb0eb69122d8aeaedd52748",
      "tree": "50f9bbc59d77a5d55ecff851d27ae1af80f10491",
      "parents": [
        "fab448991df4ecca6c244e23982c70f7e715b864"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Wed Aug 22 14:00:40 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:24 2007 -0700"
      },
      "message": "[XFRM] netlink: Rename attribute array from xfrma[] to attrs[]\n\nIncreases readability a lot.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fab448991df4ecca6c244e23982c70f7e715b864",
      "tree": "f4f0dd583f2934da4bb4b1621dfebb03c9d6a5ba",
      "parents": [
        "cf5cb79f6946063b04be3df16dcaa781e48bdbef"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Wed Aug 22 13:59:43 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:23 2007 -0700"
      },
      "message": "[XFRM] netlink: Enhance indexing of the attribute array\n\nnlmsg_parse() puts attributes at array[type] so the indexing\nmethod can be simpilfied by removing the obscuring \"- 1\".\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cf5cb79f6946063b04be3df16dcaa781e48bdbef",
      "tree": "64471b7121109b91a76481a92f6b5c037e66c421",
      "parents": [
        "a7bd9a45c8c8901f800a461a4098ebae2b8a4b78"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Wed Aug 22 13:59:04 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:23 2007 -0700"
      },
      "message": "[XFRM] netlink: Establish an attribute policy\n\nAdds a policy defining the minimal payload lengths for all the attributes\nallowing for most attribute validation checks to be removed from in\nthe middle of the code path. Makes updates more consistent as many format\nerrors are recognised earlier, before any changes have been attempted.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a7bd9a45c8c8901f800a461a4098ebae2b8a4b78",
      "tree": "825a7864c856f3dceaa002143c6c4a63c031a35a",
      "parents": [
        "7deb2264909ec82ae4696dd73d8ffce6814c9114"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Wed Aug 22 13:58:18 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:22 2007 -0700"
      },
      "message": "[XFRM] netlink: Use nlmsg_parse() to parse attributes\n\nUses nlmsg_parse() to parse the attributes. This actually changes\nbehaviour as unknown attributes (type \u003e MAXTYPE) no longer cause\nan error. Instead unknown attributes will be ignored henceforth\nto keep older kernels compatible with more recent userspace tools.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7deb2264909ec82ae4696dd73d8ffce6814c9114",
      "tree": "bee682118f12c19c2cd8cbdfe89165a221bfdc77",
      "parents": [
        "cfbfd45a8c4c0c8dd8ed491caefdeffd94acf9e4"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Wed Aug 22 13:57:39 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:22 2007 -0700"
      },
      "message": "[XFRM] netlink: Use nlmsg_new() and type-safe size calculation helpers\n\nMoves all complex message size calculation into own inlined helper\nfunctions and makes use of the type-safe netlink interface.\n\nUsing nlmsg_new() simplifies the calculation itself as it takes care\nof the netlink header length by itself.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cfbfd45a8c4c0c8dd8ed491caefdeffd94acf9e4",
      "tree": "c027768fe0768e2b502260bdd2b93c9ddcdf785f",
      "parents": [
        "c26445acbc292ab0466407db6d3bdcc5cbe1d03b"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Wed Aug 22 13:57:04 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:21 2007 -0700"
      },
      "message": "[XFRM] netlink: Clear up some of the CONFIG_XFRM_SUB_POLICY ifdef mess\n\nMoves all of the SUB_POLICY ifdefs related to the attribute size\ncalculation into a function.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c26445acbc292ab0466407db6d3bdcc5cbe1d03b",
      "tree": "15cc1f7b56929ffd269d5960d130e5c30c47277b",
      "parents": [
        "c0144beaeca42b643f4d1632f2b24fdc6c48a170"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Wed Aug 22 13:56:23 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:21 2007 -0700"
      },
      "message": "[XFRM] netlink: Move algorithm length calculation to its own function\n\nAdds alg_len() to calculate the properly padded length of an\nalgorithm attribute to simplify the code.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c0144beaeca42b643f4d1632f2b24fdc6c48a170",
      "tree": "352de55fa8ca1bab087bf2d6809310d3d4965249",
      "parents": [
        "082a1ad573b76c8342c1da9d623aaeb5901e440b"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Wed Aug 22 13:55:43 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:20 2007 -0700"
      },
      "message": "[XFRM] netlink: Use nla_put()/NLA_PUT() variantes\n\nAlso makes use of copy_sec_ctx() in another place and removes\nduplicated code.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "082a1ad573b76c8342c1da9d623aaeb5901e440b",
      "tree": "9fe3248549913d1c770efab0c4107ad2af36b8cf",
      "parents": [
        "7b67c8575f1ed0d5fd7524a33d34f5c88c52a194"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Wed Aug 22 13:54:36 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:20 2007 -0700"
      },
      "message": "[XFRM] netlink: Use nlmsg_broadcast() and nlmsg_unicast()\n\nThis simplifies successful return codes from \u003e0 to 0.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7b67c8575f1ed0d5fd7524a33d34f5c88c52a194",
      "tree": "96bb75cdc5551011650ab5de7c817137bc79d2a2",
      "parents": [
        "9825069d09d0201e547e9ee3f3b990cddef68788"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Wed Aug 22 13:53:52 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:19 2007 -0700"
      },
      "message": "[XFRM] netlink: Use nlmsg_data() instead of NLMSG_DATA()\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9825069d09d0201e547e9ee3f3b990cddef68788",
      "tree": "bb97f7aafe040f282093d51791c83ab088660203",
      "parents": [
        "79b8b7f4ab686e0f14ceb9a6fa4437eb1e73a0e5"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Wed Aug 22 12:47:26 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:18 2007 -0700"
      },
      "message": "[XFRM] netlink: Use nlmsg_end() and nlmsg_cancel()\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "79b8b7f4ab686e0f14ceb9a6fa4437eb1e73a0e5",
      "tree": "5fd922b7eaff7c0e071c14c9f1ca96ee3d6fc800",
      "parents": [
        "6168b96c07d8d40f83622cfb488ca27e4178a603"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Wed Aug 22 12:46:53 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:18 2007 -0700"
      },
      "message": "[XFRM] netlink: Use nlmsg_put() instead of NLMSG_PUT()\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6168b96c07d8d40f83622cfb488ca27e4178a603",
      "tree": "408cac4cea814262be6909d9e359c242dc590b17",
      "parents": [
        "8fb8354af9b92ce3bd41083995f1fe26024d0959"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@ghostprotocols.net",
        "time": "Sun Aug 19 17:19:44 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:17 2007 -0700"
      },
      "message": "[DCCP]: Nuke the timeval helpers now that we fully converted to ktime_t\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8fb8354af9b92ce3bd41083995f1fe26024d0959",
      "tree": "62d1920b5ed158e28d96691637d82a2a4fd58dc5",
      "parents": [
        "234748954a9880cce8a065698dcbf692f9c23918"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@ghostprotocols.net",
        "time": "Sun Aug 19 17:19:21 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:17 2007 -0700"
      },
      "message": "[DCCP]: Nuke dccp_timestamp and dccps_epoch, not used anymore\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "234748954a9880cce8a065698dcbf692f9c23918",
      "tree": "04c98174068201d9f631ed3967065a10f1664ee1",
      "parents": [
        "19ac21465e15e476220909c01b23df847b6ffa30"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@ghostprotocols.net",
        "time": "Sun Aug 19 17:18:55 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:16 2007 -0700"
      },
      "message": "[DCCP] options: convert dccp_insert_option_timestamp to ktime_t\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "19ac21465e15e476220909c01b23df847b6ffa30",
      "tree": "0f47d32208477e4150e9caa295e1badad7321628",
      "parents": [
        "0740d49c2465bdd2644455c4bc49794395b73433"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@ghostprotocols.net",
        "time": "Sun Aug 19 17:18:33 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:16 2007 -0700"
      },
      "message": "[DCCP]: Convert dccps_timestamp_time to ktime_t\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0740d49c2465bdd2644455c4bc49794395b73433",
      "tree": "2c8e2ef42b4b6d78730561f01b3607ca08888cd2",
      "parents": [
        "e7c2335794b949292ecfd01902c429e2ac3937e1"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@ghostprotocols.net",
        "time": "Sun Aug 19 17:18:13 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:15 2007 -0700"
      },
      "message": "[DCCP] packet_history: Convert dccphtx_tstamp to ktime_t\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e7c2335794b949292ecfd01902c429e2ac3937e1",
      "tree": "1e10116e6635e1b4c1da7890817fd89d6eab285d",
      "parents": [
        "b8bda9d70842dab7902f0681e1297dcf0460fc94"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@ghostprotocols.net",
        "time": "Sun Aug 19 17:17:51 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:14 2007 -0700"
      },
      "message": "[DCCP] packet_history: convert dccphrx_tstamp to ktime_t\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b8bda9d70842dab7902f0681e1297dcf0460fc94",
      "tree": "346b84f8a182f20de46b569270528e64c1455196",
      "parents": [
        "668348a4232d3dd0ee48b3dc13228b5a7eb57565"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@ghostprotocols.net",
        "time": "Sun Aug 19 17:17:25 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:14 2007 -0700"
      },
      "message": "[DCCP] ackvec: Convert to ktime_t\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "668348a4232d3dd0ee48b3dc13228b5a7eb57565",
      "tree": "901c41d72c9202a503333acf854d761cb6121e6e",
      "parents": [
        "9823b7b5542858afe5b6a1e2df83b3847c28f3d6"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@ghostprotocols.net",
        "time": "Sun Aug 19 17:17:02 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:13 2007 -0700"
      },
      "message": "[DCCP] CCID3: Stop using dccp_timestamp\n\nNow to convert the ackvec code to ktime_t so that we can get rid of\ndccp_timestamp and the epoch thing in dccp_sock.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9823b7b5542858afe5b6a1e2df83b3847c28f3d6",
      "tree": "14be62612143fbcec66cd1b28a1d76564c578453",
      "parents": [
        "a272378d1128d1c60a463a315646c86d174ff74c"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@ghostprotocols.net",
        "time": "Sun Aug 19 17:16:35 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:13 2007 -0700"
      },
      "message": "[DCCP]: Convert dccp_sample_rtt to ktime_t\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a272378d1128d1c60a463a315646c86d174ff74c",
      "tree": "f583426e350d48b216f1e09adcc01522bcc8adc9",
      "parents": [
        "e7a81c6d62cbefdeb23d92ad891f429bde1c49d2"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@ghostprotocols.net",
        "time": "Sun Aug 19 17:16:05 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:12 2007 -0700"
      },
      "message": "[KTIME]: Introduce ktime_sub_ns and ktime_sub_us\n\nFirst user will be the DCCP transport networking protocol.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e7a81c6d62cbefdeb23d92ad891f429bde1c49d2",
      "tree": "a0261c00db634bb307ee9e5a583c371307ec905d",
      "parents": [
        "1faf0a1f5d9cafe031b8faa91636b67cdca726a3"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@ghostprotocols.net",
        "time": "Sun Aug 19 17:15:37 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:12 2007 -0700"
      },
      "message": "[DCCP]: Convert ccid3hcrx_tstamp_last_feedback to ktime_t\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1faf0a1f5d9cafe031b8faa91636b67cdca726a3",
      "tree": "0bff5703afba827e3abe6c3ba713d3cd179ed84d",
      "parents": [
        "23f062af6e90654ef939462c2c060ad103dec6f2"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@ghostprotocols.net",
        "time": "Sun Aug 19 17:15:13 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:11 2007 -0700"
      },
      "message": "[DCCP]: Convert ccid3hcrx_tstamp_last_ack to ktime_t\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "23f062af6e90654ef939462c2c060ad103dec6f2",
      "tree": "d4583cbd5cae080cff0b9af699e375f2e5c1e892",
      "parents": [
        "ac198ea8d94a46830080372a539420cf4a8de4a3"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@ghostprotocols.net",
        "time": "Sun Aug 19 17:14:52 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:11 2007 -0700"
      },
      "message": "[DCCP]: Convert ccid3hctx_t_ld to ktime_t\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ac198ea8d94a46830080372a539420cf4a8de4a3",
      "tree": "c7d78474bf451d63c93f155f4d145b69f3b4371c",
      "parents": [
        "4d93df0abd50b9c9e2d4561439a1a1d21ec5e68f"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@ghostprotocols.net",
        "time": "Sun Aug 19 17:14:27 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:10 2007 -0700"
      },
      "message": "[DCCP]: Make ccid3_hc_tx_update_x get a timestamp if needed\n\nThe code was too complicated, if p \u003e 0 in ccid3_hc_tx_no_feedback_timer the\ntimestamp was being obtained to be passed to ccid3_hc_tx_update_x, where only\nif p \u003e 0 the timestamp was needed, so just leave it to ccid3_hc_tx_update_x to\nobtain the timestamp if needed.\n\nThis will help in the upcoming changesets where we\u0027ll convert t_ld to ktime_t.\nWe\u0027ll eventually try to reuse ktime_get_real() calls again.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4d93df0abd50b9c9e2d4561439a1a1d21ec5e68f",
      "tree": "47e5bde0c37ed7ce68032ffa9110f252533fc710",
      "parents": [
        "13c99b248f06e0b71d925f162d8e3b0084886a21"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Wed Aug 15 16:07:44 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:09 2007 -0700"
      },
      "message": "[SCTP]: Rewrite of sctp buffer management code\n\nThis patch introduces autotuning to the sctp buffer management code\nsimilar to the TCP.  The buffer space can be grown if the advertised\nreceive window still has room.  This might happen if small message\nsizes are used, which is common in telecom environmens.\nNew tunables are introduced that provide limits to buffer growth\nand memory pressure is entered if to much buffer spaces is used.\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "13c99b248f06e0b71d925f162d8e3b0084886a21",
      "tree": "d1fa5d91673a3325eea68487838d53f156f99e0c",
      "parents": [
        "339bf024756690949f536777b921f34186eaa8b4"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Aug 15 16:01:56 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:09 2007 -0700"
      },
      "message": "[ETHTOOL]: Internal cleanup of ethtool_value-related handlers\n\nSeveral get/set functions can be handled by a passing the ethtool_op\nfunction pointer directly to a generic function.  This permits deletion\nof a fair bit of redundant code.\n\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "339bf024756690949f536777b921f34186eaa8b4",
      "tree": "c7b18cb27dd4ce1c66bbd0260bf8dc87f50f0465",
      "parents": [
        "ff03d49f0ca1959246068b315d26e009da692ff2"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Aug 15 16:01:32 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:08 2007 -0700"
      },
      "message": "[ETHTOOL]: Introduce -\u003e{get,set}_priv_flags, ETHTOOL_[GS]PFLAGS\n\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ff03d49f0ca1959246068b315d26e009da692ff2",
      "tree": "210cf86efa9fd4430d0011c81956bef92c3d71a3",
      "parents": [
        "3ae7c0b2e3747b50c3a6c63ebb67469e0a6b3203"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Aug 15 16:01:08 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:08 2007 -0700"
      },
      "message": "[ETHTOOL]: Introduce get_sset_count. Obsolete get_stats_count, self_test_count\n\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3ae7c0b2e3747b50c3a6c63ebb67469e0a6b3203",
      "tree": "0f3bacac94b8c189f7dd87f3017babca476d0a69",
      "parents": [
        "0bcc1816188e570bde1d56a208996660f2633ae0"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Aug 15 16:00:51 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:07 2007 -0700"
      },
      "message": "[ETHTOOL]: Add ETHTOOL_[GS]FLAGS sub-ioctls\n\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0bcc1816188e570bde1d56a208996660f2633ae0",
      "tree": "8104c0b0c54a93a510b4b9b50a45cbaabad245f4",
      "parents": [
        "b5427c27173e128dda1541bd9d3b05df79af5882"
      ],
      "author": {
        "name": "Satyam Sharma",
        "email": "satyam@infradead.org",
        "time": "Fri Aug 10 15:35:05 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:06 2007 -0700"
      },
      "message": "[NET] netconsole: Support dynamic reconfiguration using configfs\n\nBased upon initial work by Keiichi Kii \u003ck-keiichi@bx.jp.nec.com\u003e.\n\nThis patch introduces support for dynamic reconfiguration (adding, removing\nand/or modifying parameters of netconsole targets at runtime) using a\nuserspace interface exported via configfs.  Documentation is also updated\naccordingly.\n\nIssues and brief design overview:\n\n(1) Kernel-initiated creation / destruction of kernel objects is not\n    possible with configfs -- the lifetimes of the \"config items\" is managed\n    exclusively from userspace.  But netconsole must support boot/module\n    params too, and these are parsed in kernel and hence netpolls must be\n    setup from the kernel.  Joel Becker suggested to separately manage the\n    lifetimes of the two kinds of netconsole_target objects -- those created\n    via configfs mkdir(2) from userspace and those specified from the\n    boot/module option string.  This adds complexity and some redundancy here\n    and also means that boot/module param-created targets are not exposed\n    through the configfs namespace (and hence cannot be updated / destroyed\n    dynamically).  However, this saves us from locking / refcounting\n    complexities that would need to be introduced in configfs to support\n    kernel-initiated item creation / destroy there.\n\n(2) In configfs, item creation takes place in the call chain of the\n    mkdir(2) syscall in the driver subsystem.  If we used an ioctl(2) to\n    create / destroy objects from userspace, the special userspace program is\n    able to fill out the structure to be passed into the ioctl and hence\n    specify attributes such as local interface that are required at the time\n    we set up the netpoll.  For configfs, this information is not available at\n    the time of mkdir(2).  So, we keep all newly-created targets (via\n    configfs) disabled by default.  The user is expected to set various\n    attributes appropriately (including the local network interface if\n    required) and then write(2) \"1\" to the \"enabled\" attribute.  Thus,\n    netpoll_setup() is then called on the set parameters in the context of\n    _this_ write(2) on the \"enabled\" attribute itself.  This design enables\n    the user to reconfigure existing netconsole targets at runtime to be\n    attached to newly-come-up interfaces that may not have existed when\n    netconsole was loaded or when the targets were actually created.  All this\n    effectively enables us to get rid of custom ioctls.\n\n(3) Ultra-paranoid configfs attribute show() and store() operations, with\n    sanity and input range checking, using only safe string primitives, and\n    compliant with the recommendations in Documentation/filesystems/sysfs.txt.\n\n(4) A new function netpoll_print_options() is created in the netpoll API,\n    that just prints out the configured parameters for a netpoll structure.\n    netpoll_parse_options() is modified to use that and it is also exported to\n    be used from netconsole.\n\nSigned-off-by: Satyam Sharma \u003csatyam@infradead.org\u003e\nAcked-by: Keiichi Kii \u003ck-keiichi@bx.jp.nec.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b5427c27173e128dda1541bd9d3b05df79af5882",
      "tree": "96d71faf39ff39002335cd4d8c9ef8ae1ad49a62",
      "parents": [
        "17951f34b0970b05e29fd93a5b93fa05ec71308b"
      ],
      "author": {
        "name": "Satyam Sharma",
        "email": "satyam@infradead.org",
        "time": "Fri Aug 10 15:33:40 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:06 2007 -0700"
      },
      "message": "[NET] netconsole: Support multiple logging targets\n\nBased upon initial work by Keiichi Kii \u003ck-keiichi@bx.jp.nec.com\u003e.\n\nThis patch introduces support for multiple targets, independent of\nCONFIG_NETCONSOLE_DYNAMIC -- this is useful even in the default case and\n(including the infrastructure introduced in previous patches) doesn\u0027t really\nadd too many bytes to module text.  All the complexity (and size) comes with\nthe dynamic reconfigurability / userspace interface patch, and so it\u0027s\nplausible users may want to keep this enabled but that disabled (say to avoid\na dependency on CONFIG_CONFIGFS_FS too).\n\nAlso update documentation to mention the use of \";\" separator to specify\nmultiple logging targets in the boot/module option string.\n\nBrief overview:\n\nWe maintain a target_list (and corresponding lock).  Get rid of the static\n\"default_target\" and introduce allocation and release functions for our\nnetconsole_target objects (but keeping sure to preserve previous behaviour\nsuch as default values).  During init_netconsole(), \";\" is used as the\nseparator to identify multiple target specifications in the boot/module option\nstring.  The target specifications are parsed and netpolls setup.  During\nexit, the target_list is torn down and all items released.\n\nSigned-off-by: Satyam Sharma \u003csatyam@infradead.org\u003e\nSigned-off-by: Keiichi Kii \u003ck-keiichi@bx.jp.nec.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "17951f34b0970b05e29fd93a5b93fa05ec71308b",
      "tree": "a9b03366b502d878389c09afcffe4d7feff884b2",
      "parents": [
        "df180e369cf54a8ef8440667ab1d13d452fc7215"
      ],
      "author": {
        "name": "Satyam Sharma",
        "email": "satyam@infradead.org",
        "time": "Fri Aug 10 15:33:01 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:05 2007 -0700"
      },
      "message": "[NET] netconsole: Introduce netconsole_netdev_notifier\n\nBased upon initial work by Keiichi Kii \u003ck-keiichi@bx.jp.nec.com\u003e.\n\nTo update fields of underlying netpoll structure at runtime on corresponding\nNETDEV_CHANGEADDR or NETDEV_CHANGENAME notifications.\n\nioctl(SIOCSIFHWADDR or SIOCSIFNAME) could be used to change the hardware/MAC\naddress or name of the local interface that our netpoll is attached to.\nWhenever this happens, netdev notifier chain is called out with the\nNETDEV_CHANGEADDR or NETDEV_CHANGENAME event message.  We respond to that and\nupdate the local_mac or dev_name field of the struct netpoll.  This makes\nsense anyway, but is especially required for dynamic netconsole because the\nnetpoll structure\u0027s internal members become user visible files when either\nsysfs or configfs are used.  So this helps us to keep up with the MAC\naddress/name changes and keep values in struct netpoll uptodate.\n\n[ Note that ioctl(SIOCSIFADDR) to change IP address of interface at\n  runtime is not handled (to update local_ip of netpoll) on purpose --\n  some setups may set the local_ip to a private address, not necessary\n  the actual IP address of the sender host, as presently allowed. ]\n\nSigned-off-by: Satyam Sharma \u003csatyam@infradead.org\u003e\nSigned-off-by: Keiichi Kii \u003ck-keiichi@bx.jp.nec.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "df180e369cf54a8ef8440667ab1d13d452fc7215",
      "tree": "5079a4b016af25f4fb2fcac4b014af8d8d891173",
      "parents": [
        "8d4ef88b5df1afe097e38aef8cab2ed35ca141ea"
      ],
      "author": {
        "name": "Satyam Sharma",
        "email": "satyam@infradead.org",
        "time": "Fri Aug 10 15:32:14 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:04 2007 -0700"
      },
      "message": "[NET] netconsole: Introduce netconsole_target\n\nBased upon initial work by Keiichi Kii \u003ck-keiichi@bx.jp.nec.com\u003e.\n\nIntroduce a wrapper structure over netpoll to represent logging targets\nconfigured in netconsole.  This will get extended with other members in\nfurther patches.\n\nThis is done independent of the (to-be-introduced) NETCONSOLE_DYNAMIC config\noption so that we\u0027re able to drastically cut down on the #ifdef complexity of\nfinal netconsole.c.  Also, struct netconsole_target would be required for\nmultiple targets support also, and not just dynamic reconfigurability.\n\nSigned-off-by: Satyam Sharma \u003csatyam@infradead.org\u003e\nSigned-off-by: Keiichi Kii \u003ck-keiichi@bx.jp.nec.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8d4ef88b5df1afe097e38aef8cab2ed35ca141ea",
      "tree": "d99fa45a05ce8ab304f2aa7e4253d61d23cbeeeb",
      "parents": [
        "0cc120bea1d4ba3893a26c70d271e89f928b8a97"
      ],
      "author": {
        "name": "Satyam Sharma",
        "email": "satyam@infradead.org",
        "time": "Fri Aug 10 15:31:19 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:04 2007 -0700"
      },
      "message": "[NET] netconsole: Add some useful tips to documentation\n\nBased upon initial work by Keiichi Kii \u003ck-keiichi@bx.jp.nec.com\u003e.\n\nAdd some useful general-purpose tips.  Also suggest solution for the frequent\nproblem of console loglevel set too low numerically (i.e.  for high priority\nmessages only) on the sender.\n\nSigned-off-by: Satyam Sharma \u003csatyam@infradead.org\u003e\nAcked-by: Keiichi Kii \u003ck-keiichi@bx.jp.nec.com\u003e\nAcked-by: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0cc120bea1d4ba3893a26c70d271e89f928b8a97",
      "tree": "5ff99a2211acc2886889b994d1dd3b9e7b1ce892",
      "parents": [
        "d2b60881e28072109601c373abd1085499ccfef0"
      ],
      "author": {
        "name": "Satyam Sharma",
        "email": "satyam@infradead.org",
        "time": "Fri Aug 10 15:30:31 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:03 2007 -0700"
      },
      "message": "[NET] netconsole: Use netif_running() in write_msg()\n\nBased upon initial work by Keiichi Kii \u003ck-keiichi@bx.jp.nec.com\u003e.\n\nAvoid unnecessarily disabling interrupts and calling netpoll_send_udp() if the\ncorresponding local interface is not up.\n\nSigned-off-by: Satyam Sharma \u003csatyam@infradead.org\u003e\nAcked-by: Keiichi Kii \u003ck-keiichi@bx.jp.nec.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d2b60881e28072109601c373abd1085499ccfef0",
      "tree": "141bc863e95a627b3e9d0e838e3e565ba5883e6c",
      "parents": [
        "d133ccbdc30c7f86459519cec1126d6473762b10"
      ],
      "author": {
        "name": "Satyam Sharma",
        "email": "satyam@infradead.org",
        "time": "Fri Aug 10 15:29:47 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:03 2007 -0700"
      },
      "message": "[NET] netconsole: Simplify boot/module option setup logic\n\nBased upon initial work by Keiichi Kii \u003ck-keiichi@bx.jp.nec.com\u003e.\n\nPresently, boot/module parameters are set up quite differently for the case of\nbuilt-in netconsole (__setup() -\u003e obsolete_checksetup() -\u003e\nnetpoll_parse_options() -\u003e strlen(config) \u003d\u003d 0 in init_netconsole()) vs\nmodular netconsole (module_param_string() -\u003e string copied to the config\nvariable -\u003e strlen(config) !\u003d 0 init_netconsole() -\u003e netpoll_parse_options()).\n\nThis patch makes both of them similar by doing exactly the equivalent of a\nmodule_param_string() in option_setup() also -- just copying the param string\npassed from the kernel command line into \"config\" variable.  So,\nstrlen(config) !\u003d 0 in both cases, and netpoll_parse_options() is always\ncalled from init_netconsole(), thus making the setup logic for both cases\nsimilar.\n\nNow, option_setup() is only ever called / used for the built-in case, so we\nput it inside a #ifndef MODULE, otherwise gcc will complain about\noption_setup() being \"defined but not used\".  Also, the \"configured\" variable\nis redundant with this patch and hence removed.\n\nSigned-off-by: Satyam Sharma \u003csatyam@infradead.org\u003e\nSigned-off-by: Keiichi Kii \u003ck-keiichi@bx.jp.nec.com\u003e\nAcked-by: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d133ccbdc30c7f86459519cec1126d6473762b10",
      "tree": "37f41671ddba891149a7aec6c3ab349c81a9a7c1",
      "parents": [
        "d39badf05b52f99169b22ce324fd31c8b44a0473"
      ],
      "author": {
        "name": "Satyam Sharma",
        "email": "satyam@infradead.org",
        "time": "Fri Aug 10 15:28:10 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:02 2007 -0700"
      },
      "message": "[NET] netconsole: Remove bogus check\n\nBased upon initial work by Keiichi Kii \u003ck-keiichi@bx.jp.nec.com\u003e.\n\nThe (!np.dev) check in write_msg() is bogus (always false), because: np.dev is\nset by netpoll_setup(), which is called by init_netconsole() before\nregister_console(), so write_msg() cannot be triggered unless netpoll_setup()\nsuccessfully set np.dev.  Also np.dev cannot go away from under us, because\nnetpoll_setup() grabs us reference on it.  So let\u0027s remove the bogus check.\n\nSigned-off-by: Satyam Sharma \u003csatyam@infradead.org\u003e\nAcked-by: Keiichi Kii \u003ck-keiichi@bx.jp.nec.com\u003e\nAcked-by: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d39badf05b52f99169b22ce324fd31c8b44a0473",
      "tree": "42a08b0253860cae60bbc54cb7b279d00aa583be",
      "parents": [
        "ab66b4a7a3969077f6e2a18a0d2d849d3b84a337"
      ],
      "author": {
        "name": "Satyam Sharma",
        "email": "satyam@infradead.org",
        "time": "Fri Aug 10 15:27:24 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:02 2007 -0700"
      },
      "message": "[NET] netconsole: Cleanups, codingstyle, prettyfication\n\nBased upon initial work by Keiichi Kii \u003ck-keiichi@bx.jp.nec.com\u003e.\n\n(1) Remove unwanted headers.\n(2) Mark __init and __exit as appropriate.\n(3) Various trivial codingstyle and prettification stuff.\n\nSigned-off-by: Satyam Sharma \u003csatyam@infradead.org\u003e\nSigned-off-by: Keiichi Kii \u003ck-keiichi@bx.jp.nec.com\u003e\nAcked-by: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\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": "13dae426318aae073028a4b3bd493104a991e800",
      "tree": "29c2265378c70c9d771c8127d960455e8d64dc27",
      "parents": [
        "e60402d0a909ca2e6e2fbdf9ed004ef0fae36d33"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Fri Aug 10 14:31:21 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:00 2007 -0700"
      },
      "message": "[TCP]: Update comment about highest_sack validity\n\nThis stale info came from the original idea, which proved to be\nunnecessarily complex, sacked_out \u003e 0 is easy to do and that when\nit\u0027s going to be needed anyway (it _can_ be valid also when\nsacked_out \u003d\u003d 0 but there\u0027s not going to be a guarantee about it\nfor 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": "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": "b9c4595bc4947faa236a849324fe3492e388d949",
      "tree": "392994d87f7e64e695bb3dbb1b5472286b1deef2",
      "parents": [
        "1b6d427bb7eb69e6dc4f194a5b0f4a382a16ff82"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Fri Jul 27 16:36:17 2007 +0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:47:59 2007 -0700"
      },
      "message": "[TCP]: Don\u0027t panic if S+L skb is detected\n\nBUG_ON is an overkill. In fact, I was mislead by BUG_TRAP\nseverity (equals to WARN_ON) which is much lower than BUG_ON\u0027s\n(that panics).\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"
    }
  ],
  "next": "d8f4f2235abc7b30cf447ca3e22ac28326b12f28"
}
