@@ -86,49 +86,54 @@ int ixgbe_cna_enable(struct ixgbe_adapter *adapter)
netdev = adapter->netdev;
adapter->cnadev = cnadev;
cnadev->priv = adapter;
cnadev->open = &ixgbe_cna_open;
cnadev->stop = &ixgbe_cna_close;
cnadev->change_mtu = &ixgbe_cna_change_mtu;
cnadev->do_ioctl = netdev->do_ioctl;
cnadev->hard_start_xmit = netdev->hard_start_xmit;
#ifdef NETIF_F_HW_VLAN_TX
cnadev->vlan_rx_register = netdev->vlan_rx_register;
cnadev->vlan_rx_add_vid = netdev->vlan_rx_add_vid;
cnadev->vlan_rx_kill_vid = netdev->vlan_rx_kill_vid;
#endif
ixgbe_set_ethtool_ops(cnadev);
#ifdef CONFIG_DCB
cnadev->dcbnl_ops = netdev->dcbnl_ops;
cnadev->mtu = netdev->mtu;
cnadev->pdev = netdev->pdev;
cnadev->gso_max_size = GSO_MAX_SIZE;
#ifdef __VMKLNX__
cnadev->features = netdev->features | NETIF_F_CNA |
NETIF_F_HW_VLAN_FILTER;
#else
cnadev->features = netdev->features | NETIF_F_CNA;
#endif /*__VMKLNX__*/
/* set the MAC address to SAN mac address */
if (ixgbe_validate_mac_addr(adapter->hw.mac.san_addr) == 0)
memcpy(cnadev->dev_addr,
adapter->hw.mac.san_addr,
cnadev->addr_len);
if (adapter->hw.mac.type == ixgbe_mac_82599EB) {
if (adapter->flags & IXGBE_FLAG_FCOE_ENABLED) {
ixgbe_get_device_caps(&adapter->hw, &device_caps);
if (!(device_caps & IXGBE_DEVICE_CAPS_FCOE_OFFLOADS)) {
cnadev->features |= NETIF_F_FCOE_CRC;
cnadev->ndo_fcoe_ddp_setup = &ixgbe_fcoe_ddp_get;
cnadev->ndo_fcoe_ddp_done = &ixgbe_fcoe_ddp_put;
cnadev->features |= NETIF_F_FSO;
cnadev->features |= NETIF_F_FCOE_MTU;
cnadev->fcoe_ddp_xid = IXGBE_FCOE_DDP_MAX - 1;
}
netif_carrier_off(cnadev);
netif_tx_stop_all_queues(cnadev);