[Open-FCoE] [PATCH v3 03/10] libfcoe: add implementation to support fcoe transport

Zou, Yi yi.zou at intel.com
Sat Jan 15 01:37:41 UTC 2011


> 
> On Wed, 2011-01-12 at 18:19 -0800, Yi Zou wrote:
> > Add the new fcoe_transport.c file that implements basic fcoe transport
> > interface. Eventually, the sysfs entries to
> create/destroy/enable/disable
> > an FCoE instance will be coming to the fcoe transport layer, who does a
> > look-up to find the corresponding transport provide and pass the
> corresponding
> > action over to the identified provider.
> >
> > The fcoe.ko will become the default fcoe transport provider that can
> support
> > FCoE on any given netdev interfaces, as the Open-FCoE.org's default
> software
> > FCoE HBA solution. Any vendor specific FCoE HBA driver that is built on
> top
> > of Open-FCoE's kernel stack of libfc & libfcoe as well as the user land
> tool
> > of fcoe-utils can easily plug-in and start running FCoE on their
> network
> > interfaces. The fcoe.ko will be converted to act as the default
> provider if
> > no vendor specific transport provider is found, as it is always added
> to the
> > very end of the list of attached transports.
> >
> > The lookup is based on the "drv_name" to fetch the fcoe_transport
> > structure. The pointers to netdev obtained from "if_name" and the
> > fcoe_transport structure are saved in 'fcoe_netdev_mapping' and added
> to the
> > 'fcoe_netdev' list.  Subsequent destroy/disable/enable will lookup
> > fcoe_netdev_list using netdev as the key and obtain fcoe_transport
> structure,
> > and call ft->destroy, ft->disable and ft->enable.
> >
> > Signed-off-by: Yi Zou <yi.zou at intel.com>
> > Signed-off-by: Bhanu Prakash Gollapudi <bprakash at broadcom.com>
> > ---
> >
> >  drivers/scsi/fcoe/fcoe_transport.c |  540
> ++++++++++++++++++++++++++++++++++++
> >  drivers/scsi/fcoe/libfcoe.h        |    6
> >  2 files changed, 546 insertions(+), 0 deletions(-)
> >  create mode 100644 drivers/scsi/fcoe/fcoe_transport.c
> >
> > diff --git a/drivers/scsi/fcoe/fcoe_transport.c
> b/drivers/scsi/fcoe/fcoe_transport.c
> > new file mode 100644
> > index 0000000..517c29b
> > --- /dev/null
> > +++ b/drivers/scsi/fcoe/fcoe_transport.c
> > @@ -0,0 +1,540 @@
> > +#include <linux/types.h>
> > +#include <linux/module.h>
> > +#include <linux/kernel.h>
> > +#include <linux/list.h>
> > +#include <linux/spinlock.h>
> > +#include <linux/timer.h>
> > +#include <linux/netdevice.h>
> > +#include <linux/etherdevice.h>
> > +#include <linux/ethtool.h>
> > +#include <linux/if_ether.h>
> > +#include <linux/if_vlan.h>
> > +#include <linux/errno.h>
> > +#include <linux/bitops.h>
> > +#include <linux/slab.h>
> > +#include <net/rtnetlink.h>
> > +
> > +#include <scsi/fc/fc_els.h>
> > +#include <scsi/fc/fc_fs.h>
> > +#include <scsi/fc/fc_fip.h>
> > +#include <scsi/fc/fc_encaps.h>
> > +#include <scsi/fc/fc_fcoe.h>
> > +#include <scsi/fc/fc_fcp.h>
> > +
> > +#include <scsi/libfc.h>
> > +#include <scsi/libfcoe.h>
> > +
> > +#include "libfcoe.h"
> > +
> 
> I'm going to remove the following unnecessary includes.
> 
>  #include <linux/list.h>
> -#include <linux/spinlock.h>
> -#include <linux/timer.h>
>  #include <linux/netdevice.h>
> -#include <linux/etherdevice.h>
> -#include <linux/ethtool.h>
> -#include <linux/if_ether.h>
> -#include <linux/if_vlan.h>
>  #include <linux/errno.h>
> -#include <linux/bitops.h>
>  #include <linux/slab.h>
> -#include <net/rtnetlink.h>
> 
> -#include <scsi/fc/fc_els.h>
> -#include <scsi/fc/fc_fs.h>
> -#include <scsi/fc/fc_fip.h>
> -#include <scsi/fc/fc_encaps.h>
> -#include <scsi/fc/fc_fcoe.h>
> -#include <scsi/fc/fc_fcp.h>
> -
> -#include <scsi/libfc.h>
>  #include <scsi/libfcoe.h>
> 
> //Rob

Yeah, these leftovers should be taken out, thx.

yi


More information about the devel mailing list