)]}'
{
  "log": [
    {
      "commit": "57c2728fa806aff08703e5739620454d723bc865",
      "tree": "4dda55f3f75f367a882718ff61b99a7e650a0e1c",
      "parents": [
        "03702689fcc985e9cb45b57099ebd5066f674739"
      ],
      "author": {
        "name": "Yi Zou",
        "email": "yi.zou@intel.com",
        "time": "Thu Dec 06 06:24:13 2012 +0000"
      },
      "committer": {
        "name": "Robert Love",
        "email": "robert.w.love@intel.com",
        "time": "Fri Dec 14 10:38:55 2012 -0800"
      },
      "message": "libfcoe, fcoe: consolidate the fcoe_ctlr_get_lesb/fcoe_get_lesb\n\nSimilarly they can be moved into libfcoe instead of being private to fcoe now.\nAlso add comments particularly on the term LESB to the corresponding function.\n\nSigned-off-by: Yi Zou \u003cyi.zou@intel.com\u003e\nCc: Bhanu Prakash Gollapudi \u003cbprakash@broadcom.com\u003e\nTested-by: Marcus Dennis \u003cmarcusx.e.dennis@intel.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\n"
    },
    {
      "commit": "03702689fcc985e9cb45b57099ebd5066f674739",
      "tree": "10079124d57a604c30ccfbda79ac697e362391e2",
      "parents": [
        "66524ec9d0aeaa8bc59077c7c5f78d09ec9eeb9d"
      ],
      "author": {
        "name": "Yi Zou",
        "email": "yi.zou@intel.com",
        "time": "Thu Dec 06 06:23:58 2012 +0000"
      },
      "committer": {
        "name": "Robert Love",
        "email": "robert.w.love@intel.com",
        "time": "Fri Dec 14 10:38:55 2012 -0800"
      },
      "message": "libfcoe, fcoe: move fcoe_link_speed_update() to libfcoe and export it\n\nWith the previous patch, fcoe_link_speed_update() can be moved into libfcoe and\nexported to used by fcoe, bnx2fc, and etc.\n\nSigned-off-by: Yi Zou \u003cyi.zou@intel.com\u003e\nCc: Bhanu Prakash Gollapudi \u003cbprakash@broadcom.com\u003e\nTested-by: Marcus Dennis \u003cmarcusx.e.dennis@intel.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\n"
    },
    {
      "commit": "66524ec9d0aeaa8bc59077c7c5f78d09ec9eeb9d",
      "tree": "dbdae89a6732c5c6dd155c84fd48bf1166589723",
      "parents": [
        "8106fb4790c33547a034db53f7658bccd3cfbf6b"
      ],
      "author": {
        "name": "Yi Zou",
        "email": "yi.zou@intel.com",
        "time": "Thu Dec 06 06:23:43 2012 +0000"
      },
      "committer": {
        "name": "Robert Love",
        "email": "robert.w.love@intel.com",
        "time": "Fri Dec 14 10:38:55 2012 -0800"
      },
      "message": "fcoe: add support to the get_netdev() for fcoe_interface\n\nAdds support to fcoe_port\u0027s newly added get_netdev fucntion pointer.\n\nSigned-off-by: Yi Zou \u003cyi.zou@intel.com\u003e\nCc: Bhanu Prakash Gollapudi \u003cbprakash@broadcom.com\u003e\nTested-by: Marcus Dennis \u003cmarcusx.e.dennis@intel.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\n"
    },
    {
      "commit": "8106fb4790c33547a034db53f7658bccd3cfbf6b",
      "tree": "6412d80ba43bbf6d6e95b57e33debd49591882ba",
      "parents": [
        "8e6c5363dc52afbc60011c2c079bf4c4d26b1272"
      ],
      "author": {
        "name": "Yi Zou",
        "email": "yi.zou@intel.com",
        "time": "Thu Dec 06 06:23:27 2012 +0000"
      },
      "committer": {
        "name": "Robert Love",
        "email": "robert.w.love@intel.com",
        "time": "Fri Dec 14 10:38:55 2012 -0800"
      },
      "message": "fcoe: prep work to start consolidate the usage of fcoe_netdev\n\nCurrently, in the default kernel fcoe driver, it is needed to get to the underlying\nprivate per fcoe transport\u0027s private structure, e.g., fcoe_interface in\nfcoe.ko, and returns the associated netdev. The similar logic exists in other\nfcoe drivers, e.g., bnx2fc, so we add a function pointer into the common\nfcoe_port struct to allow individual fcoe transport implementaion (fcoe\nand bnx2fc) to get the corresponding netdev associated with a give lport.\n\nThen a inline fcoe_get_netdev() is added as part of libfcoe for all underlying\nfcoe transport drivers to use regardless of its individual fcoe transport\ndriver, and also allows move more common code such as fcoe_link_speed_update or\nfcoe_ctlr_get_lesb to be in libfcoe, rather than specific to fcoe.\n\nThis patch is a prep work that adds aforementioned fucntion pointer, and\nfollowed by the actual code changes to make use of it.\n\nSigned-off-by: Yi Zou \u003cyi.zou@intel.com\u003e\nCc: Bhanu Prakash Gollapudi \u003cbprakash@broadcom.com\u003e\nTested-by: Marcus Dennis \u003cmarcusx.e.dennis@intel.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\n"
    },
    {
      "commit": "6a891b071b640e1de44c4a5117fa2c974dcfa84a",
      "tree": "cd40772ab35844d21ae44ad4a16fec4246b5f21f",
      "parents": [
        "3993de6183885a099163b9562a2ea9c07b994a0e"
      ],
      "author": {
        "name": "Robert Love",
        "email": "robert.w.love@intel.com",
        "time": "Tue Nov 27 06:53:30 2012 +0000"
      },
      "committer": {
        "name": "Robert Love",
        "email": "robert.w.love@intel.com",
        "time": "Fri Dec 14 10:38:54 2012 -0800"
      },
      "message": "libfcoe, fcoe, bnx2fc: Add new fcoe control interface\n\nThis patch does a few things.\n\n1) Makes /sys/bus/fcoe/ctlr_{create,destroy} interfaces.\n   These interfaces take an \u003cifname\u003e and will either\n   create an FCoE Controller or destroy an FCoE\n   Controller depending on which file is written to.\n\n   The new FCoE Controller will start in a DISABLED\n   state and will not do discovery or login until it\n   is ENABLED. This pause will allow us to configure\n   the FCoE Controller before enabling it.\n\n2) Makes the \u0027mode\u0027 attribute of a fcoe_ctlr_device\n   writale. This allows the user to configure the mode\n   in which the FCoE Controller will start in when it\n   is ENABLED.\n\n   Possible modes are \u0027Fabric\u0027, or \u0027VN2VN\u0027.\n\n   The default mode for a fcoe_ctlr{,_device} is \u0027Fabric\u0027.\n   Drivers must implement the set_fcoe_ctlr_mode routine\n   to support this feature.\n\n   libfcoe offers an exported routine to set a FCoE\n   Controller\u0027s mode. The mode can only be changed\n   when the FCoE Controller is DISABLED.\n\n   This patch also removes the get_fcoe_ctlr_mode pointer\n   in the fcoe_sysfs function template, the code in\n   fcoe_ctlr.c to get the mode and the assignment of\n   the fcoe_sysfs function pointer to the fcoe_ctlr.c\n   implementation (in fcoe and bnx2fc). fcoe_sysfs can\n   return that value for the mode without consulting the\n   LLD.\n\n3) Make a \u0027enabled\u0027 attribute of a fcoe_ctlr_device. On a\n   read, fcoe_sysfs will return the attribute\u0027s value. On\n   a write, fcoe_sysfs will call the LLD (if there is a\n   callback) to notifiy that the enalbed state has changed.\n\nThis patch maintains the old FCoE control interfaces as\nmodule parameters, but it adds comments pointing out that\nthe old interfaces are deprecated.\n\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nAcked-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\n"
    },
    {
      "commit": "31c37a6f21d86e6bca095b71d603ed543ae070ad",
      "tree": "1f0bf61ad223ec6b59aae969f62001bae5c1437f",
      "parents": [
        "bd756ddea18e02ccea8b29496b2fe3bd91af8eb7"
      ],
      "author": {
        "name": "Neerav Parikh",
        "email": "Neerav.Parikh@intel.com",
        "time": "Mon Sep 24 11:52:45 2012 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Sun Oct 07 11:49:34 2012 +0100"
      },
      "message": "[SCSI] fcoe: Fix write errors on NPIV ports\n\nSCSI errors were generated while writing to LUNs\nconnected via NPIV ports.\n\nDebugging this it was found that the FCoE packets\ntransmitted via the NPIV ports were not tagged with\ncorrect user priority as negotiated with peer by DCB\nagent. This resulted in FCoE traffic going with priority\nzero(0) that did not have priority flow control (PFC)\nenabled for it. The initiator after transferring data\nto the target never saw any reply indicating the transfer\nwas complete. This resulted in error recovery (ABTS) and\nSCSI command retries by the scsi-mid layer; eventually\nresulting in I/O errors.\n\nThis patch fixes this issue by keeping the FCoE user\npriority information in the fcoe_interface instance\nthat is common for both the physical port as well as\nNPIV ports connected to that physical port; instead\nof storing it in fcoe_port structure that has a per\nport instance.\n\nSigned-off-by: Neerav Parikh \u003cNeerav.Parikh@intel.com\u003e\nAcked-by: Yi Zou \u003cyi.zou@intel.com\u003e\nAcked-by: John Fastabend \u003cjohn.r.fastabend@intel.com\u003e\nTested-by: Marcus Dennis \u003cmarcusx.e.dennis@intel.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "8d55e507d24c6db7eb012c379c62912e642eb75e",
      "tree": "5118b221cf9eab4ad040c9e1bcabb794e57dc906",
      "parents": [
        "9a74e884ee71dbf3d0967b0321d7b4529a04826c"
      ],
      "author": {
        "name": "Robert Love",
        "email": "robert.w.love@intel.com",
        "time": "Tue May 22 19:06:26 2012 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed May 23 09:43:13 2012 +0100"
      },
      "message": "[SCSI] fcoe, bnx2fc, libfcoe: SW FCoE and bnx2fc use FCoE Syfs\n\nThis patch has the SW FCoE driver and the bnx2fc\ndriver make use of the new fcoe_sysfs API added\nearlier in this patch series.\n\nAfter this patch a fcoe_ctlr_device is allocated with\nprivate data in this order.\n\n+------------------+   +------------------+\n| fcoe_ctlr_device |   | fcoe_ctlr_device |\n+------------------+   +------------------+\n| fcoe_ctlr        |   | fcoe_ctlr        |\n+------------------+   +------------------+\n| fcoe_interface   |   | bnx2fc_interface |\n+------------------+   +------------------+\n\nlibfcoe also takes part in this new model since it\ndiscovers and manages fcoe_fcf instances. The memory\nallocation is different for FCFs. I didn\u0027t want to\nimpact libfcoe\u0027s fcoe_fcf processing, so this patch\ncreates fcoe_fcf_device instances for each discovered\nfcoe_fcf. The two are paired using a (void * priv)\nmember of the fcoe_ctlr_device. This allows libfcoe\nto continue maintaining its list of fcoe_fcf instances\nand simply attaches and detaches them from existing\nor new fcoe_fcf_device instances.\n\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nTested-by: Ross Brattain \u003cross.b.brattain@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "9a74e884ee71dbf3d0967b0321d7b4529a04826c",
      "tree": "29cf0211927a3e54908f2dffa9ebde18794d6ed6",
      "parents": [
        "fd8f89027d816cb023edf6bfd4c744f194150a05"
      ],
      "author": {
        "name": "Robert Love",
        "email": "robert.w.love@intel.com",
        "time": "Tue May 22 19:06:21 2012 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed May 23 09:40:09 2012 +0100"
      },
      "message": "[SCSI] libfcoe: Add fcoe_sysfs\n\nThis patch adds a \u0027fcoe bus\u0027 infrastructure to the kernel\nthat is driven by changes to libfcoe which allow LLDs to\npresent FIP (FCoE Initialization Protocol) discovered\nentities and their attributes to user space via sysfs.\n\nThis patch adds the following APIs-\n\nfcoe_ctlr_device_add\nfcoe_ctlr_device_delete\nfcoe_fcf_device_add\nfcoe_fcf_device_delete\n\nThey allow the LLD to expose the FCoE ENode Controller\nand any discovered FCFs (Fibre Channel Forwarders, e.g.\nFCoE switches) to the user. Each of these new devices\nhas their own bus_type so that they are grouped together\nfor easy lookup from a user space application. Each\nnew class has an attribute_group to expose attributes\nfor any created instances. The attributes are-\n\nfcoe_ctlr_device\n* fcf_dev_loss_tmo\n* lesb_link_fail\n* lesb_vlink_fail\n* lesb_miss_fka\n* lesb_symb_err\n* lesb_err_block\n* lesb_fcs_error\n\nfcoe_fcf_device\n* fabric_name\n* switch_name\n* priority\n* selected\n* fc_map\n* vfid\n* mac\n* fka_peroid\n* fabric_state\n* dev_loss_tmo\n\nA device loss infrastructre similar to the FC Transport\u0027s\nis also added by this patch. It is nice to have so that a\nlink flapping adapter doesn\u0027t continually advance the count\nused to identify the discovered FCF. FCFs will exist in a\n\"Disconnected\" state until either the timer expires or the\nFCF is rediscovered and becomes \"Connected.\"\n\nThis patch generates a few checkpatch.pl WARNINGS that\nI\u0027m not sure what to do about. They\u0027re macros modeled\naround the FC Transport attribute building macros, which\nhave the same \u0027feature\u0027 where the caller can ommit a cast\nin the argument list and no cast occurs in the code. I\u0027m\nnot sure how to keep the code condensed while keeping the\nmacros. Any advice would be appreciated.\n\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nTested-by: Ross Brattain \u003cross.b.brattain@intel.com\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "619fe4bed415e5d8a4749937f42b6a8a9031d4aa",
      "tree": "8b52f6fd4b2ba58ef898f628aba8ab49111e1aa8",
      "parents": [
        "b7e94a1686c5daef4f649f7f4f839cc294f07710"
      ],
      "author": {
        "name": "Robert Love",
        "email": "robert.w.love@intel.com",
        "time": "Tue May 22 19:06:10 2012 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed May 23 09:36:27 2012 +0100"
      },
      "message": "[SCSI] fcoe: Allocate fcoe_ctlr with fcoe_interface, not as a member\n\nCurrently the fcoe_ctlr associated with an interface is allocated\nas a member of struct fcoe_interface. This causes problems when\nattempting to use the new fcoe_sysfs APIs which allow us to allocate\nthe fcoe_interface as private data to the fcoe_ctlr_device instance.\nThe problem is that libfcoe wants to be able use pointer math to find a\nfcoe_ctlr\u0027s fcoe_ctlr_device as well as finding a fcoe_ctlr_device\u0027s\nassocated fcoe_ctlr. To do this we need to allocate the\nfcoe_ctlr_device, with private data for the LLD. The private data\ncontains the fcoe_ctlr and its private data is the fcoe_interface.\nThis patch only allocates the fcoe_interface with the fcoe_ctlr, the\nfcoe_ctlr_device will be added in a later patch, which will complete\nthe below diagram-\n\n+------------------+\n| fcoe_ctlr_device |\n+------------------+\n| fcoe_ctlr        |\n+------------------+\n| fcoe_interface   |\n+------------------+\n\nThis prep work will allow us to go from a fcoe_ctlr_device instance\nto its fcoe_ctlr as well as from a fcoe_ctlr to its fcoe_ctlr_device\nonce the fcoe_sysfs API is in use (later patches in this series).\n\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nTested-by: Ross Brattain \u003cross.b.brattain@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "81c11dd2ed154b351eb6ee3443e07094a1d53ce1",
      "tree": "e5c14fc2f3bafdb7172678a01d8f01d4d5cb1d29",
      "parents": [
        "73d67aa40b1f94a4e5edecbbc3b94d352eeeae0a"
      ],
      "author": {
        "name": "Bhanu Prakash Gollapudi",
        "email": "bprakash@broadcom.com",
        "time": "Fri Mar 09 14:50:03 2012 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed Mar 28 09:05:37 2012 +0100"
      },
      "message": "[SCSI] libfcoe: Support extra MAC descriptor to be used as FCoE MAC\n\nSome switch implementations (eg., HP virtual connect FlexFabric) send two MAC\ndescriptors in FIP FLOGI response, with first MAC descriptor (granted_mac) used\nas FPMA, and the second one (fcoe_mac) used as destination address for\nsending/receiving FCoE packets. fip_mac continues to be used for FIP traffic.\nThis patch introduces fcoe_mac in fcoe_fcf structure. For regular switches,\nboth fcoe_mac and fip_mac will be the same. For the switches that send\nadditional MAC descriptor, fcoe_mac is updated.\n\nSigned-off-by: Bhanu Prakash Gollapudi \u003cbprakash@broadcom.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "6f6c2aa33b915c574543f176dee89d7aefc115c1",
      "tree": "3c6907fe997727e92ed09c018abd8215ce26b6ba",
      "parents": [
        "a878185c3b93e692ace0d1628a47f3d75504ab4f"
      ],
      "author": {
        "name": "john fastabend",
        "email": "john.r.fastabend@intel.com",
        "time": "Fri Nov 18 13:35:56 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Thu Dec 15 11:02:07 2011 +0400"
      },
      "message": "[SCSI] fcoe: fix fcoe in a DCB environment by adding DCB notifiers to set skb priority\n\nUse DCB notifiers to set the skb priority to allow packets\nto be steered and tagged correctly over DCB enabled drivers\nthat setup traffic classes.\n\nThis allows queue_mapping() routines to be removed in these\ndrivers that were previously inspecting the ethertype of\nevery skb to mark FCoE/FIP frames.\n\nSigned-off-by: John Fastabend \u003cjohn.r.fastabend@intel.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "814740d5f67ae5f205349019bfaae38bcd0c8732",
      "tree": "4c7de90af617916dc06d44a5b5504775f3ffb211",
      "parents": [
        "fd8fa9071e49a56cc91f739813ea88f16b7c1240"
      ],
      "author": {
        "name": "Bhanu Prakash Gollapudi",
        "email": "bprakash@broadcom.com",
        "time": "Mon Oct 03 16:45:01 2011 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Sun Oct 16 10:38:01 2011 -0500"
      },
      "message": "[SCSI] fcoe,libfcoe: Move common code for fcoe_get_lesb to fcoe_transport\n\nExcept for obtaining the netdev from lport, fcoe_get_lesb is the common code\nfor the LLDs.\n\nSigned-off-by: Bhanu Prakash Gollapudi \u003cbprakash@broadcom.com\u003e\nAcked-by: Yi Zou \u003cyi.zou@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "d834895c41d34b64a1923fa631e6a64f763ed31c",
      "tree": "94a3311fed06686b4e327c894fdd1dce78b69cd9",
      "parents": [
        "3f8744d147375aca902de7a9f2632a89872565f4"
      ],
      "author": {
        "name": "Bhanu Prakash Gollapudi",
        "email": "bprakash@broadcom.com",
        "time": "Thu Aug 04 17:38:49 2011 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Sat Aug 27 08:35:46 2011 -0600"
      },
      "message": "[SCSI] fcoe: Move common functions to fcoe_transport library\n\nExport fcoe_get_wwn, fcoe_validate_vport_create and fcoe_wwn_to_str so that all\nLLDs can use these common function.\n\nSigned-off-by: Bhanu Prakash Gollapudi \u003cbprakash@broadcom.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "f4d2b2b6ea8abd0df72a31b4724522a277af6a6c",
      "tree": "4f2b83225236dddf672837340fbfed360e9e491e",
      "parents": [
        "059f04d4aa60f89b7ad6ca118856f4cb59d9257f"
      ],
      "author": {
        "name": "Bhanu Prakash Gollapudi",
        "email": "bprakash@broadcom.com",
        "time": "Fri Feb 25 15:03:12 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Mon Feb 28 18:33:12 2011 -0600"
      },
      "message": "[SCSI] libfcoe: Move FCOE_MTU definition from fcoe.h to libfcoe.h\n\nboth fcoe and bnx2fc drivers can access the common definition of\nFCOE_MTU.\n\nSigned-off-by: Bhanu Prakash Gollapudi \u003cbprakash@broadcom.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "8597ae8bfe35f5e438b00ba5df852e97ebe1ac23",
      "tree": "64020cecc7ef1bb2923109ed5afea58f59d9bcbe",
      "parents": [
        "2ca32b4848a865fb088e8c00af0dc194701c373a"
      ],
      "author": {
        "name": "Bhanu Prakash Gollapudi",
        "email": "bprakash@broadcom.com",
        "time": "Fri Jan 28 16:05:37 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sat Feb 12 11:18:18 2011 -0600"
      },
      "message": "[SCSI] libfcoe: Move common code from fcoe to libfcoe module\n\nTo facilitate LLDDs to reuse the code, skb queue related functions are moved to\nlibfcoe, so that both fcoe and bnx2fc drivers can use them. The common structures\nfcoe_port, fcoe_percpu_s are moved to libfcoe. fcoe_port will now have an\nopaque pointer that points to corresponding driver\u0027s interface structure.\nAlso, fcoe_start_io and fcoe_fc_crc are moved to libfcoe.\n\nAs part of this change, fixed fcoe_start_io to return ENOMEM if\nskb_clone fails.\n\nSigned-off-by: Bhanu Prakash Gollapudi \u003cbprakash@broadcom.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "0ade7d290b6aa8b1626a4077b853c02cd12415c2",
      "tree": "619937351ebf204f9a70b7518169cd4c50127282",
      "parents": [
        "21b7b2f557f4b105a4b7d739671d1ce6b867d3e6"
      ],
      "author": {
        "name": "Yi Zou",
        "email": "yi.zou@intel.com",
        "time": "Fri Jan 28 16:04:50 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sat Feb 12 11:05:29 2011 -0600"
      },
      "message": "[SCSI] libfcoe: add fcoe_transport structure defines to include/scsi/libfcoe.h\n\nadd the fcoe_transport struct to the common libfcoe.h header so all fcoe\ntransport provides can use it to attach itself as an fcoe transport. This\nis the header part, and the next patch will be the transport code itself.\n\nSigned-off-by: Yi Zou \u003cyi.zou@intel.com\u003e\nSigned-off-by: Bhanu Prakash Gollapudi \u003cbprakash@broadcom.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "794d98e77f5901ceded697f1633463e88f078038",
      "tree": "97ac82ba7b14821472f81400f8d1a7230e037cb7",
      "parents": [
        "b69ae0ae3f322d9a6bc4e209049b5b6e193ad652"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Nov 30 16:19:56 2010 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Tue Dec 21 12:24:32 2010 -0600"
      },
      "message": "[SCSI] libfcoe: retry rejected FLOGI to another FCF if possible\n\nSwitches using multiple-FCFs may reject FLOGI in order to\nbalance the load between multiple FCFs.  Even though the FCF\nwas available, it may have more load at the point we actually\nsend the FLOGI.\n\nIf the FLOGI fails, select a different FCF\nif possible, among those with the same priority.  If no other\nFCF is available, just deliver the reject to libfc for retry.\n\nSigned-off-by: Joe Eykholt \u003cjeykholt@cisco.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "e10f8c667b874a57512c936089092a3d1ef7ab8a",
      "tree": "8094610399133fd6e0ad26d23c46ec0a6cc91398",
      "parents": [
        "9b651da900ccfe5581befb46eb06ef781a1d7e74"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Jul 20 15:20:30 2010 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Wed Jul 28 09:05:56 2010 -0500"
      },
      "message": "[SCSI] libfcoe: fcoe: fnic: add FIP VN2VN point-to-multipoint support\n\nThe FC-BB-6 committee is proposing a new FIP usage model called\nVN_port to VN_port mode.  It allows VN_ports to discover each other\nover a loss-free L2 Ethernet without any FCF or Fibre-channel fabric\nservices.  This is point-to-multipoint.  There is also a variant\nof this called point-to-point which provides for making sure there\nis just one pair of ports operating over the Ethernet fabric.\n\nWe add these new states:  VNMP_START, _PROBE1, _PROBE2, _CLAIM, and _UP.\nThese usually go quickly in that sequence.  After waiting a random\namount of time up to 100 ms in START, we select a pseudo-random\nproposed locally-unique port ID and send out probes in states PROBE1\nand PROBE2, 100 ms apart.  If no probe responses are heard, we\nproceed to CLAIM state 400 ms later and send a claim notification.\nWe wait another 400 ms to receive claim responses, which give us\na list of the other nodes on the network, including their FC-4\ncapabilities.  After another 400 ms we go to VNMP_UP state and\nshould start interoperating with any of the nodes for whic we\nreceivec claim responses.  More details are in the spec.j\n\nAdd the new mode as FIP_MODE_VN2VN.  The driver must specify\nexplicitly that it wants to operate in this mode.  There is\nno automatic detection between point-to-multipoint and fabric\nmode, and the local port initialization is affected, so it isn\u0027t\nanticipated that there will ever be any such automatic switchover.\n\nIt may eventually be possible to have both fabric and VN2VN\nmodes on the same L2 network, which may be done by two separate\nlocal VN_ports (lports).\n\nWhen in VN2VN mode, FIP replaces libfc\u0027s fabric-oriented discovery\nmodule with its own simple code that adds remote ports as they\nare discovered from incoming claim notifications and responses.\nThese hooks are placed by fcoe_disc_init().\n\nA linear list of discovered vn_ports is maintained under the\nfcoe_ctlr struct.  It is expected to be short for now, and\naccessed infrequently.  It is kept under RCU for lock-ordering\nreasons.  The lport and/or rport mutexes may be held when we\nneed to lookup a fcoe_vnport during an ELS send.\n\nChange fcoe_ctlr_encaps() to lookup the destination vn_port in\nthe list of peers for the destination MAC address of the\nFIP-encapsulated frame.\n\nAdd a new function fcoe_disc_init() to initialize just the\ndiscovery portion of libfcoe for VN2VN mode.\n\nSigned-off-by: Joe Eykholt \u003cjeykholt@cisco.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "3d902ac09a2812b359edf633425d1327a18399e9",
      "tree": "188605c45a1502862610b03e8429a67ed3d3a7b7",
      "parents": [
        "0685230c59b5482e04ab50e7afc51119ceaba651"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Jul 20 15:19:58 2010 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Wed Jul 28 09:05:52 2010 -0500"
      },
      "message": "[SCSI] libfcoe: fcoe: fnic: change fcoe_ctlr_init interface to specify mode\n\nThere are three modes that libfcoe currently supports, and a new one\nis coming.  Change the fcoe_ctlr_init() interface to add the mode\ndesired.  This should not change any functionality.\n\nSigned-off-by: Joe Eykholt \u003cjeykholt@cisco.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "fdb068c6cd6e30d43664f856d3530715a5742713",
      "tree": "a500212cc66aee42c7a3659ff0cfecbfb9be6b18",
      "parents": [
        "f90377abcab2e305450ee76a0f9042907560c5d8"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Jul 20 15:19:47 2010 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Wed Jul 28 09:05:51 2010 -0500"
      },
      "message": "[SCSI] libfcoe: convert FIP to lock with mutex instead of spin lock\n\nIt turns out most of the FIP work is now done from worker threads\nor process context now, so there\u0027s no need to use a spin lock.\n\nChange to use mutex instead of spin lock and delayed_work instead\nof a timer.\n\nThis will make it nicer for the VN_port to VN_port feature that\nwill interact more with the libfc layers requiring that\nspinlocks not be held.\n\nSigned-off-by: Joe Eykholt \u003cjeykholt@cisco.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "519e5135e2537c9dbc1cbcc0891b0a936ff5dcd2",
      "tree": "f4b139d0e9288d65a33a43b54e74ef2a6e959d82",
      "parents": [
        "9d4cbc05f32fc0a1024de2a9d5635bc9d180e4ae"
      ],
      "author": {
        "name": "Vasu Dev",
        "email": "vasu.dev@intel.com",
        "time": "Tue Jul 20 15:19:32 2010 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Wed Jul 28 09:05:47 2010 -0500"
      },
      "message": "[SCSI] fcoe: adds src and dest mac address checking for fcoe frames\n\nThis is  per FC-BB-5 Annex-D recommendation and per that\nif address checking fails then drop the frame.\n\nFIP code paths are already doing this so only needed for fcoe\nframes.\n\nThe src address checking is limited to only fip mode since\nthis might break non-fip mode used in p2p due to used OUI\nbased addressing in some p2p code paths, going forward FIP\nwill be the only mode, therefore limited this to only FIP\nmode so that it won\u0027t break non-fip p2p mode for now.\n\n-v2\nRemoves FCOE packet type checking since fcoe_rcv is\nregistered to receive only FCoE type packets from netdev\nand it is already checked by netdev.\n\nSigned-off-by: Vasu Dev \u003cvasu.dev@intel.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "da87bfab8a7e6cfd0e1e5c5874d7fd4f7d11e64e",
      "tree": "82dbf057ac960b017bc2a477f941de7f9d75c373",
      "parents": [
        "8ba00a4bbbbcb39d077e837555dfa9ff0de4202e"
      ],
      "author": {
        "name": "Vasu Dev",
        "email": "vasu.dev@intel.com",
        "time": "Fri Apr 09 14:22:59 2010 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sun Apr 11 14:02:39 2010 -0500"
      },
      "message": "[SCSI] fcoe, fnic, libfc: increased CDB size to 16 bytes for fcoe.\n\nNo reason to restrict CDB size to 12 bytes in fcoe, so\nincreased to 16 so that 16 bytes SCSI CDB doesn\u0027t fail.\n\nUses common define to set max_cmd_len for fcoe and fnic,\nfnic is already setting max_cmd_len to 16.\n\nsg_readcap -l fails without this fix.\n\nSigned-off-by: Vasu Dev \u003cvasu.dev@intel.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "4291365784c9622c9d643cf23421f9c7b9662d71",
      "tree": "46b938bd7ea401da7d61ad7e63b80d0bcd8b0f71",
      "parents": [
        "50036bbae0ed4d4e610bd59e0ce285ed20c1bee6"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Fri Mar 12 16:08:23 2010 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sun Apr 11 09:23:38 2010 -0500"
      },
      "message": "[SCSI] libfcoe: eliminate unused link and last_link fields\n\nThe link and last_link fields in the fcoe_ctlr struct are no\nlonger useful, since they are always set to the same value,\nand FIP always calls libfc to pass link information to the lport.\n\nEliminate those fields and rename link_work to timer_work, since\nit no longer has any link change work to do.\n\nThanks to Brian Uchino for discovering this issue.\n\nSigned-off-by: Joe Eykholt \u003cjeykholt@cisco.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "8cdffdccd948ea4872b7b65280bc04f2fa93fc96",
      "tree": "7713d23f0a066e15b0f9c148bda62fd8db4fec53",
      "parents": [
        "6580bbd0afe6ba1be5d53b331e92a7690046c923"
      ],
      "author": {
        "name": "Yi Zou",
        "email": "yi.zou@intel.com",
        "time": "Fri Nov 20 14:54:57 2009 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:01:55 2009 -0600"
      },
      "message": "[SCSI] libfcoe: add checking disable flag in FIP_FKA_ADV\n\nWhen the D bit is set if the FKA_ADV_Period of the FIP Discovery\nAdvertisement, the ENode should not transmit period ENode FIP Keep Alive and\nVN_Port FIP Keep Alive (FC-BB-5 Rev2, 7.8.3.13).\n\nNote that fcf-\u003eflags is taken directly from the fip_header, I am claiming one\nbit for the purpose of the FIP_FKA_Period D bit as FIP_FL_FK_ADV_B, and use\nFIP_HEADER_FLAGS as bitmask for bits used in fip_header.\n\nSigned-off-by: Yi Zou \u003cyi.zou@intel.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "386309ce927a308d7742a6fb24a536d3383fbd49",
      "tree": "4e8ddbb895e5bd837020896a1c2505ea8bc3159b",
      "parents": [
        "e6d8a1b0b53a156979120dd0593c1867b8ea89d3"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Nov 03 11:49:16 2009 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:01:18 2009 -0600"
      },
      "message": "[SCSI] libfcoe: fcoe: simplify receive FLOGI response\n\nThere was a locking problem where the fip-\u003elock was held during\nthe call to update_mac().  The rtnl_lock() must be taken before\nthe fip-\u003elock, not the other way around.  This fixes that.\n\nNow that fcoe_ctlr_recv_flog() is called only from the response handler\nto a FLOGI request, some checking can be eliminated.  Instead of calling\nupdate_mac(), just fill in the granted_mac address for the passed-in\nframe (skb).\n\nEliminate the passed-in source MAC address since it is also in the skb.\n\nAlso, in fcoe, call fcoe_set_src_mac() directly instead of going thru\nthe fip function pointer.  This will generate less code.\nThen, since fip isn\u0027t needed for LOGO response, use lport as the arg.\n\nSigned-off-by: Joe Eykholt \u003cjeykholt@cisco.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "dd42dac4ecd1799077c132aab35d3c36b26d4d8c",
      "tree": "d3ca67f50eccef31071bfe26e09bf97c686bc088",
      "parents": [
        "1f4aed818d26eb9ed54520fbeb85d5ee691baa94"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Nov 03 11:48:27 2009 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:01:13 2009 -0600"
      },
      "message": "[SCSI] libfcoe: FIP should report link to libfc whether selected or not\n\nThe fnic driver with FIP is reporting link up, even though it\u0027s down.\n\nWhen the interface is shut down by the switch, we receive a clear\nvirtual link, and set the state reported to libfc as down, although\nwe still report it up.  Clearly wrong.  That causes the subsequent\nlink down event not to be reported, and /sys shows the host \"Online\".\n\nCurrently, in FIP mode, if an FCF times out, then link to libfc\nis reported as down, to stop FLOGIs.  That interferes with the LLD\nlink down being reported.\n\nUsers really need to know the physical link information, to diagnose\ncabling issues, so physical link status should be reported to libfc.\n\nIf the selected FCF needs to be reported, that should be done\nseparately, in a later patch.\n\nSigned-off-by: Joe Eykholt \u003cjeykholt@cisco.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "22bcd225bfe2107725228758137d2109befa942a",
      "tree": "48ae2ad5151e55f066fa8006605f06615f00a74d",
      "parents": [
        "84c3e1ad08d4be018a95e7a9964bf3dbc8cf8857"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Nov 03 11:48:11 2009 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:01:11 2009 -0600"
      },
      "message": "[SCSI] libfcoe: Allow FIP to be disabled by the driver\n\nAllow FIP to be disabled by the driver for devices\nthat want to use libfcoe in non-FIP mode.\n\nThe driver merely sets the fcoe_ctlr mode to the state which\nshould be entered when the link comes up.  The default is auto.\nNo change is needed for fcoe.c which uses auto mode.\n\nSigned-off-by: Joe Eykholt \u003cjeykholt@cisco.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "70b51aabf3b03fbf8d61c14847ccce4c69fb0cdd",
      "tree": "fbb86fc791fccbfdcd931ec37409d8da2c88c81c",
      "parents": [
        "3a3b42bf89a9b90ae9ed2c57fdc378e5473a0ef9"
      ],
      "author": {
        "name": "Robert Love",
        "email": "robert.w.love@intel.com",
        "time": "Tue Nov 03 11:47:45 2009 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:01:07 2009 -0600"
      },
      "message": "[SCSI] libfcoe: formatting and comment cleanups\n\nEnsures that there are kernel-doc style comments for all\nroutines and structures.\n\nThere were also a few instances of fc_lport\u0027s named \u0027lp\u0027\nwhich were switched to \u0027lport\u0027 as per the libfc/libfcoe/fcoe\nnaming convention.\n\nAlso, emacs \u0027indent-region\u0027 and \u0027tabify\u0027 were ran on libfcoe.c.\n\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "11b561886643d4e23d0fd58c205d830a448dd0a2",
      "tree": "3d28650e6727589dd672ea3985d2aa2643a99549",
      "parents": [
        "db36c06cc6802d03bcba08982377f7c03a3cda7f"
      ],
      "author": {
        "name": "Chris Leech",
        "email": "christopher.leech@intel.com",
        "time": "Tue Nov 03 11:46:29 2009 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:00:58 2009 -0600"
      },
      "message": "[SCSI] libfcoe, fcoe: libfcoe NPIV support\n\nThe FIP code in libfcoe needed several changes to support NPIV\n\n1) dst_src_addr needs to be managed per-n_port-ID for FPMA fabrics with NPIV\n   enabled.  Managing the MAC address is now handled in fcoe, with some slight\n   changes to update_mac() and a new get_src_addr() function pointer.\n\n2) The libfc elsct_send() hook is used to setup FCoE specific response\n   handlers for FIP encapsulated ELS exchanges.  This lets the FCoE specific\n   handling know which VN_Port the exchange is for, and doesn\u0027t require\n   tracking OX_IDs.  It might be possible to roll back to the full FIP frame\n   in these, but for now I\u0027ve just stashed the contents of the MAC address\n   descriptor in the skb context block for later use.  Also, because\n   fcoe_elsct_send() just passes control on to fc_elsct_send(), all transmits\n   still come through the normal frame_send() path.\n\n3) The NPIV changes added a mutex hold in the keep alive sending, the lport\n   mutex is protecting the vport list.  We can\u0027t take a mutex from a timer,\n   so move the FIP keep alive logic to the link work struct.\n\nSigned-off-by: Chris Leech \u003cchristopher.leech@intel.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "184dd3459bb334d9061b58faed3610d08d6c7ff8",
      "tree": "63c227d4d92dc35269214ecae4654778f966a80d",
      "parents": [
        "ab6b85c1d7a1bf6c2b27fb542a7b2404e45b7e24"
      ],
      "author": {
        "name": "Vasu Dev",
        "email": "vasu.dev@intel.com",
        "time": "Sun May 17 12:33:28 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 17 21:04:08 2009 -0700"
      },
      "message": "fcoe: adds spma mode support\n\nIf we can find a type NETDEV_HW_ADDR_T_SAN mac address from the\ncorresponding netdev for a fcoe interface then sets up added the\nfc-\u003ectlr.spma flag and stores spma mode address in ctl_src_addr.\n\nIn case the spma flag is set then:-\n\n 1. Adds spma mode MAC address in ctl_src_addr as secondary\n    MAC address, the FLOGI for FIP and pre-FIP will go out\n    using this address.\n 2. Cleans up stored spma MAC address in ctl_src_addr in\n    fcoe_netdev_cleanup.\n 3. Sets up spma bit in fip_flags for FIP solicitations along\n    with exiting FPMA bit setting.\n 4. Initialize the FLOGI FIP MAC descriptor to stored spma\n    MAC address in ctl_src_addr. This is used as proposed\n    FCoE MAC address from initiator along with both SPMA\n    and FPMA bit set in FIP solicitation, in response the\n    switch may grant any FPMA or SPMA mode MAC address to\n    initiator.\n\nRemoves FIP descriptor type checking against ELS type\nELS_FLOGI in fcoe_ctlr_encaps to update a FIP MAC descriptor,\ninstead now checks against FIP_DT_FLOGI.\n\nI\u0027ve tested this with available FPMA-only FCoE switch but\nsince data_src_addr is updated using same old code for\nboth FPMA and SPMA modes with FIP or pre-FIP links, so added\nSPMA mode will work with SPMA-only switch also provided that\nswitch grants a valid MAC address.\n\nSigned-off-by: Vasu Dev \u003cvasu.dev@intel.com\u003e\nSigned-off-by: Yi Zou \u003cyi.zou@intel.com\u003e\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "97c8389d54b9665c38105ea72a428a44b97ff2f6",
      "tree": "1548f9a3739241101f4e6f972418a16b45b52d57",
      "parents": [
        "af5f428763eefb6547d2bee055b559c903f2a749"
      ],
      "author": {
        "name": "Joe Eykholt",
        "email": "jeykholt@cisco.com",
        "time": "Tue Mar 17 11:42:40 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Fri Apr 03 09:23:08 2009 -0500"
      },
      "message": "[SCSI] fcoe, libfcoe: Add support for FIP. FCoE discovery and keep-alive.\n\nFIP is the new standard way to discover Fibre-Channel Forwarders (FCFs)\nby sending solicitations and listening for advertisements from FCFs.\n\nIt also provides for keep-alives and period advertisements so that both\nparties know they have connectivity.  If the FCF loses connectivity to\nthe storage fabric, it can send a Link Reset to inform the E_node.\n\nThis version is also compatible with pre-FIP implementations, so no\nconfigured selection between FIP mode and non-FIP mode is required.\n\nWe wait a couple seconds after sending the initial solicitation\nand then send an old-style FLOGI.  If we receive any FIP frames,\nwe use FIP only mode.  If the old FLOGI receives a response,\nwe disable FIP mode.  After every reset or link up, this\ndetermination is repeated.\n\nSigned-off-by: Joe Eykholt \u003cjeykholt@cisco.com\u003e\nSigned-off-by: Vasu Dev \u003cvasu.dev@intel.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "fdd78027fd472351783fb6110a72d991c1a07402",
      "tree": "47b4ba0804601873cb15a739a1f5c91e46660655",
      "parents": [
        "5e80f7f7c87990ffe7856a0d35a94ea52b8f4c59"
      ],
      "author": {
        "name": "Vasu Dev",
        "email": "vasu.dev@intel.com",
        "time": "Tue Mar 17 11:42:24 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Fri Apr 03 09:23:06 2009 -0500"
      },
      "message": "[SCSI] fcoe: cleans up libfcoe.h and adds fcoe.h for fcoe module\n\nRemoves no where used several inline functions prefixed with skb_*\nand be16_to_cpu.\n\nMoves fcoe module specific func prototypes to fcoe.c from libfcoe.h,\nmoved only need for build.\n\nAdds fcoe module header file fcoe.h and then moves fcoe module\nspecific fcoe_percpu_s and fcoe_softc to fcoe.h from libfcoe.h.\n\nMoves all defines from fcoe.c to fcoe.h since now fcoe module\nhas its own header file fcoe.h.\n\n[jejb: removed EXPORT_SYMBOL_GPL(fcoe_fc_crc) which caused a section mismatch]\nSigned-off-by: Vasu Dev \u003cvasu.dev@intel.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "7f3491429553cbff20367851fb897c449d028393",
      "tree": "403bc31bd97e48f6a197eb52db41b0dd827cae95",
      "parents": [
        "61e17afa89ad042c356e37d6d6f5654cba869036"
      ],
      "author": {
        "name": "Vasu Dev",
        "email": "vasu.dev@intel.com",
        "time": "Fri Mar 27 09:06:31 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Fri Apr 03 09:23:02 2009 -0500"
      },
      "message": "[SCSI] fcoe: removes default sw transport code file fcoe_sw.c\n\nMoves only required code from fcoe_sw.c to libfcoe.c towards having\njust one source file for fcoe module, this gets rid off default sw\ntransport code in a separate fcoe_sw.c file.\n\nVery minor renaming along this move, dropped _sw_ or _SW_ use\nin names and replaced them by _if_ as a auxiliary interface\nfunctions. Now some of these funcs can be removed or merged with\nother func after fcoe transport is gone, but that should be\nin another patch to keep this patch simple.\n\nNow the libfcoe.c file name for fcoe module doesn\u0027t go along well,\nso the libfcoe.c file renaming to fcoe.c as the only single fcoe\nmodule file is done in next patch to keep this patch clean\nand small for review.\n\nSigned-off-by: Vasu Dev \u003cvasu.dev@intel.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "5919a59503577c2dc6eaa8bfba0f7bde3f9924ba",
      "tree": "8b24bf78c4d21296990a598128cd334b59e4b0db",
      "parents": [
        "8976f424d43c80ea32b6e847226e1a8ccdb6e748"
      ],
      "author": {
        "name": "Vasu Dev",
        "email": "vasu.dev@intel.com",
        "time": "Fri Mar 27 09:03:29 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Fri Apr 03 09:23:00 2009 -0500"
      },
      "message": "[SCSI] fcoe: prep work to completely remove fc_transport_fcoe code\n\nThe fcoe transport code was added for generic FCoE transport\ninfrastructure to allow additional offload related module loading\non demand, this is not required anymore after recently added\ndifferent offload approach by having offload related func ops\nin netdev.\n\nThis patch removes fcoe transport related code use, calls functions\ndirectly between existing libfcoe.c and fcoe_sw.c for now, for\nexample fcoe_sw_destroy and fcoe_sw_create calling.\n\nThe fcoe_sw.c and libfcoe.c code will be further consolidated in\nlater patches and then also the default fcoe sw transport code\nfile fcoe_sw.c will be completely removed.\n\nThe fcoe transport code files are completely removed in next\npatch to keep this patch simple for reviewing.\n\n[This patch is an update to a previous patch. This update\nresolves a build error as well as fixes a defect related to\nnot calling fc_release_transport().]\n\nSigned-off-by: Vasu Dev \u003cvasu.dev@intel.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "5e5e92df49d4dfbef9ba981297c7f76d189376ac",
      "tree": "aab8a56ee9cf9721e2189e745aeb758ab58cddcc",
      "parents": [
        "38eccabd1067b93af0fedbf447ab846e7df1ca66"
      ],
      "author": {
        "name": "Robert Love",
        "email": "robert.w.love@intel.com",
        "time": "Tue Mar 17 11:41:35 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Fri Apr 03 09:22:57 2009 -0500"
      },
      "message": "[SCSI] fcoe: Use percpu kernel funcs for struct fcoe_percpu_s\n\nConvert fcoe_percpu array to use the per-cpu variables\nthat the kernel provides. Use the kernel\u0027s functions to\naccess this structure.\n\nThe cpu member of the fcoe_percpu_s is no longer needed,\nso this patch removes it too.\n\nSigned-off-by: Yi Zou \u003cyi.zou@intel.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "38eccabd1067b93af0fedbf447ab846e7df1ca66",
      "tree": "10f648d5b4cb1fc3754ec048da53be68117d467a",
      "parents": [
        "2df71b1a5bea7955872dbab5cf89183da697d0f9"
      ],
      "author": {
        "name": "Robert Love",
        "email": "robert.w.love@intel.com",
        "time": "Tue Mar 17 11:41:30 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Fri Apr 03 09:22:57 2009 -0500"
      },
      "message": "[SCSI] fcoe: Initialize all possilbe skb_queue(s) when module is loaded\n\nCurrently the skb_queue is initialized every time the associated\nCPU goes online. This patch has libfcoe initializing the skb_queue\nfor all possible CPUs when the module is loaded.\n\nThis patch also re-orders some declarations in the fcoe_rcv()\nfunction so the structure declarations are grouped before\nthe primitive declarations.\n\nLastly, this patch converts all CPU indicies to use unsigned int\nsince CPU indicies should not be negative.\n\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "b277d2aa9a4d969002c4157bf77b76b9ad9ca04a",
      "tree": "1054ff4ab2d03eaaa527919380ed6334233f632b",
      "parents": [
        "39ca9a065a5a0a6f2f0cd648090a979ba3f4f018"
      ],
      "author": {
        "name": "Yi Zou",
        "email": "yi.zou@intel.com",
        "time": "Fri Feb 27 14:07:21 2009 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Fri Mar 13 15:15:15 2009 -0500"
      },
      "message": "[SCSI] libfc: add support of large receive offload by ddp in fc_fcp\n\nWhen LLD supports direct data placement (ddp) for large receive of an scsi\ni/o coming into fc_fcp, we call into libfc_function_template\u0027s ddp_setup()\nto prepare for a ddp of large receive for this read I/O. When I/O is complete,\nwe call the corresponding ddp_done() to get the length of data ddped as well\nas to let LLD do clean up.\n\nfc_fcp_ddp_setup()/fc_fcp_ddp_done() are added to setup and complete a ddped\nread I/O described by the given fc_fcp_pkt. They would call into corresponding\nddp_setup/ddp_done implemented by the fcoe layer. Eventually, fcoe layer calls\ninto LLD\u0027s ddp_setup/ddp_done provided through net_device\n\nSigned-off-by: Yi Zou \u003cyi.zou@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "c826a3145736e3baabebccfd0aecfbb6dae059f2",
      "tree": "4c156c85a8eec039973b369cff052206da128cbe",
      "parents": [
        "e904158159e9812d06646767b7c81846dc3b05e6"
      ],
      "author": {
        "name": "Vasu Dev",
        "email": "vasu.dev@intel.com",
        "time": "Fri Feb 27 10:56:27 2009 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Tue Mar 10 09:09:21 2009 -0500"
      },
      "message": "[SCSI] fcoe: Out of order tx frames was causing several check condition SCSI status\n\nframes followed by these errors in log.\n\n\t[sdp] Result: hostbyte\u003dDID_OK driverbyte\u003dDRIVER_SENSE,SUGGEST_OK\n\t[sdp] Sense Key : Aborted Command [current]\n\t[sdp] Add. Sense: Data phase error\n\nThis was causing some test apps to exit due to write failure under heavy\nload.\n\nThis was due to a race around adding and removing tx frame skb in\nfcoe_pending_queue, Chris Leech helped me to find that brief unlocking\nperiod when pulling skb from fcoe_pending_queue in various contexts\n(fcoe_watchdog and fcoe_xmit) and then adding skb back into fcoe_pending_queue\nup on a failed fcoe_start_io could change skb/tx frame order in\nfcoe_pending_queue. Thanks Chris.\n\nThis patch allows only single context to pull skb from fcoe_pending_queue\nat any time to prevent above described ordering issue/race by use of\nfcoe_pending_queue_active flag.\n\nThis patch simplified fcoe_watchdog with modified fcoe_check_wait_queue by\nuse of FCOE_LOW_QUEUE_DEPTH instead previously used several conditionals\nto clear and set lp-\u003eqfull.\n\nI think FCOE_MAX_QUEUE_DEPTH with FCOE_LOW_QUEUE_DEPTH  will work better\nin re/setting lp-\u003eqfull and these could be fine tuned for performance.\n\nSigned-off-by: Vasu Dev \u003cvasu.dev@intel.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "fc47ff6b1b27fb736f255ed8cd490356e0cd228f",
      "tree": "6be2387ebfcff7a1a729061b35f1ea6fdd115a46",
      "parents": [
        "b2ab99c9a300e572105d6db7f6efe0a4d1572167"
      ],
      "author": {
        "name": "Robert Love",
        "email": "robert.w.love@intel.com",
        "time": "Fri Feb 27 10:55:55 2009 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Tue Mar 10 09:05:35 2009 -0500"
      },
      "message": "[SCSI] libfc, fcoe: Remove unnecessary cast by removing inline wrapper\n\nComment from \"Andrew Morton \u003cakpm@linux-foundation.org\u003e\"\n\n\u003e +{\n\u003e +     return (struct fcoe_softc *)lport_priv(lp);\n\nunneeded/undesirable cast of void*.  There are probably zillions of\ninstances of this - there always are.\n\nThis whole inline function was unnecessary. The FCoE layer knows\nthat it\u0027s data structure is stored in the lport private data, it\ncan just access it from lport_priv().\n\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "85b4aa4926a50210b683ac89326e338e7d131211",
      "tree": "127b6586573194f2d37b5a298e12c8b7d24a6fac",
      "parents": [
        "42e9a92fe6a9095bd68a379aaec7ad2be0337f7a"
      ],
      "author": {
        "name": "Robert Love",
        "email": "robert.w.love@intel.com",
        "time": "Tue Dec 09 15:10:24 2008 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Mon Dec 29 11:24:33 2008 -0600"
      },
      "message": "[SCSI] fcoe: Fibre Channel over Ethernet\n\nEncapsulation protocol for running Fibre Channel over Ethernet interfaces.\nCreates virtual Fibre Channel host adapters using libfc.\n\nThis layer is the LLD to the scsi-ml. It allocates the Scsi_Host, utilizes\nlibfc for Fibre Channel protocol processing and interacts with netdev to\nsend/receive Ethernet packets.\n\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    }
  ]
}
