提交 cc0136c2 编写于 作者: Y Yi Zou 提交者: James Bottomley

[SCSI] fcoe: Fix using VLAN ID in creating lport's WWWN/WWPN

If the underlying netdev is a VLAN device, make sure the VLAN ID is integrated
into the WWNN/WWPN name generation. Also added/updated the comments to reflect
this change.
Signed-off-by: NYi Zou <yi.zou@intel.com>
Signed-off-by: NRobert Love <robert.w.love@intel.com>
Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
上级 349e11fa
...@@ -555,6 +555,7 @@ static int fcoe_netdev_config(struct fc_lport *lport, struct net_device *netdev) ...@@ -555,6 +555,7 @@ static int fcoe_netdev_config(struct fc_lport *lport, struct net_device *netdev)
u64 wwnn, wwpn; u64 wwnn, wwpn;
struct fcoe_interface *fcoe; struct fcoe_interface *fcoe;
struct fcoe_port *port; struct fcoe_port *port;
int vid = 0;
/* Setup lport private data to point to fcoe softc */ /* Setup lport private data to point to fcoe softc */
port = lport_priv(lport); port = lport_priv(lport);
...@@ -599,10 +600,16 @@ static int fcoe_netdev_config(struct fc_lport *lport, struct net_device *netdev) ...@@ -599,10 +600,16 @@ static int fcoe_netdev_config(struct fc_lport *lport, struct net_device *netdev)
setup_timer(&port->timer, fcoe_queue_timer, (unsigned long)lport); setup_timer(&port->timer, fcoe_queue_timer, (unsigned long)lport);
if (!lport->vport) { if (!lport->vport) {
/*
* Use NAA 1&2 (FC-FS Rev. 2.0, Sec. 15) to generate WWNN/WWPN:
* For WWNN, we use NAA 1 w/ bit 27-16 of word 0 as 0.
* For WWPN, we use NAA 2 w/ bit 27-16 of word 0 from VLAN ID
*/
if (netdev->priv_flags & IFF_802_1Q_VLAN)
vid = vlan_dev_vlan_id(netdev);
wwnn = fcoe_wwn_from_mac(fcoe->ctlr.ctl_src_addr, 1, 0); wwnn = fcoe_wwn_from_mac(fcoe->ctlr.ctl_src_addr, 1, 0);
fc_set_wwnn(lport, wwnn); fc_set_wwnn(lport, wwnn);
/* XXX - 3rd arg needs to be vlan id */ wwpn = fcoe_wwn_from_mac(fcoe->ctlr.ctl_src_addr, 2, vid);
wwpn = fcoe_wwn_from_mac(fcoe->ctlr.ctl_src_addr, 2, 0);
fc_set_wwpn(lport, wwpn); fc_set_wwpn(lport, wwpn);
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册