Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 142102
b: refs/heads/master
c: 5e80f7f
h: refs/heads/master
v: v3
  • Loading branch information
Vasu Dev authored and James Bottomley committed Apr 3, 2009
1 parent f2ba3ba commit 49c8d34
Show file tree
Hide file tree
Showing 3 changed files with 68 additions and 65 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 9b34ecffd59d6ed66fdd6906e8a092a33e7c8564
refs/heads/master: 5e80f7f7c87990ffe7856a0d35a94ea52b8f4c59
64 changes: 0 additions & 64 deletions trunk/drivers/scsi/fcoe/fcoe.c
Original file line number Diff line number Diff line change
Expand Up @@ -1765,47 +1765,6 @@ int fcoe_reset(struct Scsi_Host *shost)
}
EXPORT_SYMBOL_GPL(fcoe_reset);

/**
* fcoe_wwn_from_mac() - Converts 48-bit IEEE MAC address to 64-bit FC WWN.
* @mac: mac address
* @scheme: check port
* @port: port indicator for converting
*
* Returns: u64 fc world wide name
*/
u64 fcoe_wwn_from_mac(unsigned char mac[MAX_ADDR_LEN],
unsigned int scheme, unsigned int port)
{
u64 wwn;
u64 host_mac;

/* The MAC is in NO, so flip only the low 48 bits */
host_mac = ((u64) mac[0] << 40) |
((u64) mac[1] << 32) |
((u64) mac[2] << 24) |
((u64) mac[3] << 16) |
((u64) mac[4] << 8) |
(u64) mac[5];

WARN_ON(host_mac >= (1ULL << 48));
wwn = host_mac | ((u64) scheme << 60);
switch (scheme) {
case 1:
WARN_ON(port != 0);
break;
case 2:
WARN_ON(port >= 0xfff);
wwn |= (u64) port << 48;
break;
default:
WARN_ON(1);
break;
}

return wwn;
}
EXPORT_SYMBOL_GPL(fcoe_wwn_from_mac);

/**
* fcoe_hostlist_lookup_softc() - find the corresponding lport by a given device
* @device: this is currently ptr to net_device
Expand Down Expand Up @@ -1885,29 +1844,6 @@ int fcoe_hostlist_remove(const struct fc_lport *lp)
}
EXPORT_SYMBOL_GPL(fcoe_hostlist_remove);

/**
* fcoe_libfc_config() - sets up libfc related properties for lport
* @lp: ptr to the fc_lport
* @tt: libfc function template
*
* Returns : 0 for success
*/
int fcoe_libfc_config(struct fc_lport *lp, struct libfc_function_template *tt)
{
/* Set the function pointers set by the LLDD */
memcpy(&lp->tt, tt, sizeof(*tt));
if (fc_fcp_init(lp))
return -ENOMEM;
fc_exch_init(lp);
fc_elsct_init(lp);
fc_lport_init(lp);
fc_rport_init(lp);
fc_disc_init(lp);

return 0;
}
EXPORT_SYMBOL_GPL(fcoe_libfc_config);

/**
* fcoe_init() - fcoe module loading initialization
*
Expand Down
67 changes: 67 additions & 0 deletions trunk/drivers/scsi/fcoe/libfcoe.c
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,74 @@
*/

#include <linux/module.h>
#include <linux/netdevice.h>

#include <scsi/libfc.h>

MODULE_AUTHOR("Open-FCoE.org");
MODULE_DESCRIPTION("FCoE");
MODULE_LICENSE("GPL v2");

/**
* fcoe_wwn_from_mac() - Converts 48-bit IEEE MAC address to 64-bit FC WWN.
* @mac: mac address
* @scheme: check port
* @port: port indicator for converting
*
* Returns: u64 fc world wide name
*/
u64 fcoe_wwn_from_mac(unsigned char mac[MAX_ADDR_LEN],
unsigned int scheme, unsigned int port)
{
u64 wwn;
u64 host_mac;

/* The MAC is in NO, so flip only the low 48 bits */
host_mac = ((u64) mac[0] << 40) |
((u64) mac[1] << 32) |
((u64) mac[2] << 24) |
((u64) mac[3] << 16) |
((u64) mac[4] << 8) |
(u64) mac[5];

WARN_ON(host_mac >= (1ULL << 48));
wwn = host_mac | ((u64) scheme << 60);
switch (scheme) {
case 1:
WARN_ON(port != 0);
break;
case 2:
WARN_ON(port >= 0xfff);
wwn |= (u64) port << 48;
break;
default:
WARN_ON(1);
break;
}

return wwn;
}
EXPORT_SYMBOL_GPL(fcoe_wwn_from_mac);

/**
* fcoe_libfc_config() - sets up libfc related properties for lport
* @lp: ptr to the fc_lport
* @tt: libfc function template
*
* Returns : 0 for success
*/
int fcoe_libfc_config(struct fc_lport *lp, struct libfc_function_template *tt)
{
/* Set the function pointers set by the LLDD */
memcpy(&lp->tt, tt, sizeof(*tt));
if (fc_fcp_init(lp))
return -ENOMEM;
fc_exch_init(lp);
fc_elsct_init(lp);
fc_lport_init(lp);
fc_rport_init(lp);
fc_disc_init(lp);

return 0;
}
EXPORT_SYMBOL_GPL(fcoe_libfc_config);

0 comments on commit 49c8d34

Please sign in to comment.