• Home
  • Raw
  • Download

Lines Matching refs:fcoe

290 static int fcoe_interface_setup(struct fcoe_interface *fcoe,  in fcoe_interface_setup()  argument
293 struct fcoe_ctlr *fip = fcoe_to_ctlr(fcoe); in fcoe_interface_setup()
299 fcoe->netdev = netdev; in fcoe_interface_setup()
318 fcoe->realdev = real_dev; in fcoe_interface_setup()
353 fcoe->fcoe_packet_type.func = fcoe_rcv; in fcoe_interface_setup()
354 fcoe->fcoe_packet_type.type = htons(ETH_P_FCOE); in fcoe_interface_setup()
355 fcoe->fcoe_packet_type.dev = netdev; in fcoe_interface_setup()
356 dev_add_pack(&fcoe->fcoe_packet_type); in fcoe_interface_setup()
358 fcoe->fip_packet_type.func = fcoe_fip_recv; in fcoe_interface_setup()
359 fcoe->fip_packet_type.type = htons(ETH_P_FIP); in fcoe_interface_setup()
360 fcoe->fip_packet_type.dev = netdev; in fcoe_interface_setup()
361 dev_add_pack(&fcoe->fip_packet_type); in fcoe_interface_setup()
364 fcoe->fip_vlan_packet_type.func = fcoe_fip_vlan_recv; in fcoe_interface_setup()
365 fcoe->fip_vlan_packet_type.type = htons(ETH_P_FIP); in fcoe_interface_setup()
366 fcoe->fip_vlan_packet_type.dev = real_dev; in fcoe_interface_setup()
367 dev_add_pack(&fcoe->fip_vlan_packet_type); in fcoe_interface_setup()
384 struct fcoe_interface *fcoe; in fcoe_interface_create() local
391 fcoe = ERR_PTR(-EBUSY); in fcoe_interface_create()
400 fcoe = ERR_PTR(-ENOMEM); in fcoe_interface_create()
406 fcoe = fcoe_ctlr_priv(ctlr); in fcoe_interface_create()
418 err = fcoe_interface_setup(fcoe, netdev); in fcoe_interface_create()
423 fcoe = ERR_PTR(err); in fcoe_interface_create()
432 return fcoe; in fcoe_interface_create()
441 static void fcoe_interface_remove(struct fcoe_interface *fcoe) in fcoe_interface_remove() argument
443 struct net_device *netdev = fcoe->netdev; in fcoe_interface_remove()
444 struct fcoe_ctlr *fip = fcoe_to_ctlr(fcoe); in fcoe_interface_remove()
454 __dev_remove_pack(&fcoe->fcoe_packet_type); in fcoe_interface_remove()
455 __dev_remove_pack(&fcoe->fip_packet_type); in fcoe_interface_remove()
456 if (netdev != fcoe->realdev) in fcoe_interface_remove()
457 __dev_remove_pack(&fcoe->fip_vlan_packet_type); in fcoe_interface_remove()
478 fcoe->removed = 1; in fcoe_interface_remove()
486 static void fcoe_interface_cleanup(struct fcoe_interface *fcoe) in fcoe_interface_cleanup() argument
488 struct net_device *netdev = fcoe->netdev; in fcoe_interface_cleanup()
489 struct fcoe_ctlr *fip = fcoe_to_ctlr(fcoe); in fcoe_interface_cleanup()
513 struct fcoe_interface *fcoe; in fcoe_fip_recv() local
516 fcoe = container_of(ptype, struct fcoe_interface, fip_packet_type); in fcoe_fip_recv()
517 ctlr = fcoe_to_ctlr(fcoe); in fcoe_fip_recv()
536 struct fcoe_interface *fcoe; in fcoe_fip_vlan_recv() local
539 fcoe = container_of(ptype, struct fcoe_interface, fip_vlan_packet_type); in fcoe_fip_vlan_recv()
540 ctlr = fcoe_to_ctlr(fcoe); in fcoe_fip_vlan_recv()
565 struct fcoe_interface *fcoe = fcoe_from_ctlr(fip); in fcoe_fip_send() local
577 fcoe->realdev != fcoe->netdev) in fcoe_fip_send()
578 skb->dev = fcoe->realdev; in fcoe_fip_send()
580 skb->dev = fcoe->netdev; in fcoe_fip_send()
595 struct fcoe_interface *fcoe = port->priv; in fcoe_update_src_mac() local
598 dev_uc_del(fcoe->netdev, port->data_src_addr); in fcoe_update_src_mac()
600 dev_uc_add(fcoe->netdev, addr); in fcoe_update_src_mac()
705 struct fcoe_interface *fcoe; in fcoe_netdev_config() local
711 fcoe = port->priv; in fcoe_netdev_config()
712 ctlr = fcoe_to_ctlr(fcoe); in fcoe_netdev_config()
809 struct fcoe_interface *fcoe; in fcoe_fdmi_info() local
815 fcoe = port->priv; in fcoe_fdmi_info()
816 realdev = fcoe->realdev; in fcoe_fdmi_info()
924 struct fcoe_interface *fcoe = port->priv; in fcoe_em_config() local
944 if (is_vlan_dev(fcoe->netdev)) in fcoe_em_config()
945 cur_real_dev = vlan_dev_real_dev(fcoe->netdev); in fcoe_em_config()
947 cur_real_dev = fcoe->netdev; in fcoe_em_config()
956 fcoe->oem = oldfcoe->oem; in fcoe_em_config()
961 if (fcoe->oem) { in fcoe_em_config()
962 if (!fc_exch_mgr_add(lport, fcoe->oem, fcoe_oem_match)) { in fcoe_em_config()
965 fcoe->oem, fcoe->netdev->name); in fcoe_em_config()
969 fcoe->oem = fc_exch_mgr_alloc(lport, FC_CLASS_3, in fcoe_em_config()
972 if (!fcoe->oem) { in fcoe_em_config()
975 fcoe->netdev->name); in fcoe_em_config()
988 "allocate em on interface %s\n", fcoe->netdev->name); in fcoe_em_config()
1005 struct fcoe_interface *fcoe = port->priv; in fcoe_if_destroy() local
1006 struct net_device *netdev = fcoe->netdev; in fcoe_if_destroy()
1027 fcoe_interface_remove(fcoe); in fcoe_if_destroy()
1123 static struct fc_lport *fcoe_if_create(struct fcoe_interface *fcoe, in fcoe_if_create() argument
1126 struct fcoe_ctlr *ctlr = fcoe_to_ctlr(fcoe); in fcoe_if_create()
1127 struct net_device *netdev = fcoe->netdev; in fcoe_if_create()
1152 port->priv = fcoe; in fcoe_if_create()
1341 struct fcoe_interface *fcoe; in fcoe_rcv() local
1347 fcoe = container_of(ptype, struct fcoe_interface, fcoe_packet_type); in fcoe_rcv()
1348 ctlr = fcoe_to_ctlr(fcoe); in fcoe_rcv()
1484 struct fcoe_interface *fcoe = port->priv; in fcoe_xmit() local
1485 struct fcoe_ctlr *ctlr = fcoe_to_ctlr(fcoe); in fcoe_xmit()
1551 skb->priority = fcoe->priority; in fcoe_xmit()
1553 if (is_vlan_dev(fcoe->netdev) && in fcoe_xmit()
1554 fcoe->realdev->features & NETIF_F_HW_VLAN_CTAG_TX) { in fcoe_xmit()
1556 skb->dev = fcoe->realdev; in fcoe_xmit()
1558 vlan_dev_vlan_id(fcoe->netdev)); in fcoe_xmit()
1560 skb->dev = fcoe->netdev; in fcoe_xmit()
1611 struct fcoe_interface *fcoe; in fcoe_filter_frames() local
1630 fcoe = ((struct fcoe_port *)lport_priv(lport))->priv; in fcoe_filter_frames()
1631 ctlr = fcoe_to_ctlr(fcoe); in fcoe_filter_frames()
1777 struct fcoe_interface *fcoe; in fcoe_hostlist_lookup_realdev_port() local
1780 list_for_each_entry(fcoe, &fcoe_hostlist, list) { in fcoe_hostlist_lookup_realdev_port()
1781 if (is_vlan_dev(fcoe->netdev)) in fcoe_hostlist_lookup_realdev_port()
1782 real_dev = vlan_dev_real_dev(fcoe->netdev); in fcoe_hostlist_lookup_realdev_port()
1784 real_dev = fcoe->netdev; in fcoe_hostlist_lookup_realdev_port()
1787 return fcoe; in fcoe_hostlist_lookup_realdev_port()
1797 struct fcoe_interface *fcoe; in fcoe_dcb_app_notification() local
1808 fcoe = fcoe_hostlist_lookup_realdev_port(netdev); in fcoe_dcb_app_notification()
1810 if (!fcoe) in fcoe_dcb_app_notification()
1813 ctlr = fcoe_to_ctlr(fcoe); in fcoe_dcb_app_notification()
1828 fcoe->priority = prio; in fcoe_dcb_app_notification()
1850 struct fcoe_interface *fcoe; in fcoe_device_notification() local
1856 list_for_each_entry(fcoe, &fcoe_hostlist, list) { in fcoe_device_notification()
1857 if (fcoe->netdev == netdev) { in fcoe_device_notification()
1858 ctlr = fcoe_to_ctlr(fcoe); in fcoe_device_notification()
1887 list_del(&fcoe->list); in fcoe_device_notification()
1891 if (!fcoe->removed) in fcoe_device_notification()
1892 fcoe_interface_remove(fcoe); in fcoe_device_notification()
1893 fcoe_interface_cleanup(fcoe); in fcoe_device_notification()
1949 struct fcoe_interface *fcoe; in fcoe_disable() local
1955 fcoe = fcoe_hostlist_lookup_port(netdev); in fcoe_disable()
1958 if (fcoe) { in fcoe_disable()
1959 ctlr = fcoe_to_ctlr(fcoe); in fcoe_disable()
1980 struct fcoe_interface *fcoe; in fcoe_enable() local
1985 fcoe = fcoe_hostlist_lookup_port(netdev); in fcoe_enable()
1988 if (!fcoe) { in fcoe_enable()
1993 ctlr = fcoe_to_ctlr(fcoe); in fcoe_enable()
2041 struct fcoe_interface *fcoe = fcoe_ctlr_priv(ctlr); in fcoe_ctlr_mode() local
2045 dev_mc_del(fcoe->netdev, FIP_ALL_ENODE_MACS); in fcoe_ctlr_mode()
2046 dev_mc_add(fcoe->netdev, FIP_ALL_VN2VN_MACS); in fcoe_ctlr_mode()
2047 dev_mc_add(fcoe->netdev, FIP_ALL_P2P_MACS); in fcoe_ctlr_mode()
2049 dev_mc_del(fcoe->netdev, FIP_ALL_VN2VN_MACS); in fcoe_ctlr_mode()
2050 dev_mc_del(fcoe->netdev, FIP_ALL_P2P_MACS); in fcoe_ctlr_mode()
2051 dev_mc_add(fcoe->netdev, FIP_ALL_ENODE_MACS); in fcoe_ctlr_mode()
2067 struct fcoe_interface *fcoe; in fcoe_destroy() local
2074 fcoe = fcoe_hostlist_lookup_port(netdev); in fcoe_destroy()
2075 if (!fcoe) { in fcoe_destroy()
2079 ctlr = fcoe_to_ctlr(fcoe); in fcoe_destroy()
2082 list_del(&fcoe->list); in fcoe_destroy()
2099 struct fcoe_interface *fcoe; in fcoe_destroy_work() local
2107 fcoe = port->priv; in fcoe_destroy_work()
2108 ctlr = fcoe_to_ctlr(fcoe); in fcoe_destroy_work()
2113 if (!fcoe->removed) in fcoe_destroy_work()
2114 fcoe_interface_remove(fcoe); in fcoe_destroy_work()
2116 fcoe_interface_cleanup(fcoe); in fcoe_destroy_work()
2143 static void fcoe_dcb_create(struct fcoe_interface *fcoe) in fcoe_dcb_create() argument
2147 struct fcoe_ctlr *ctlr = fcoe_to_ctlr(fcoe); in fcoe_dcb_create()
2151 struct net_device *netdev = fcoe->realdev; in fcoe_dcb_create()
2177 fcoe->priority = fcoe_prio; in fcoe_dcb_create()
2205 struct fcoe_interface *fcoe; in _fcoe_create() local
2217 fcoe = fcoe_interface_create(netdev, fip_mode); in _fcoe_create()
2218 if (IS_ERR(fcoe)) { in _fcoe_create()
2219 rc = PTR_ERR(fcoe); in _fcoe_create()
2223 ctlr = fcoe_to_ctlr(fcoe); in _fcoe_create()
2225 lport = fcoe_if_create(fcoe, &ctlr_dev->dev, 0); in _fcoe_create()
2230 if (!fcoe->removed) in _fcoe_create()
2231 fcoe_interface_remove(fcoe); in _fcoe_create()
2233 fcoe_interface_cleanup(fcoe); in _fcoe_create()
2243 fcoe_dcb_create(fcoe); in _fcoe_create()
2360 struct fcoe_interface *fcoe = port->priv; in fcoe_reset() local
2361 struct fcoe_ctlr *ctlr = fcoe_to_ctlr(fcoe); in fcoe_reset()
2384 struct fcoe_interface *fcoe; in fcoe_hostlist_lookup_port() local
2386 list_for_each_entry(fcoe, &fcoe_hostlist, list) { in fcoe_hostlist_lookup_port()
2387 if (fcoe->netdev == netdev) in fcoe_hostlist_lookup_port()
2388 return fcoe; in fcoe_hostlist_lookup_port()
2405 struct fcoe_interface *fcoe; in fcoe_hostlist_lookup() local
2407 fcoe = fcoe_hostlist_lookup_port(netdev); in fcoe_hostlist_lookup()
2408 ctlr = fcoe_to_ctlr(fcoe); in fcoe_hostlist_lookup()
2409 return (fcoe) ? ctlr->lp : NULL; in fcoe_hostlist_lookup()
2423 struct fcoe_interface *fcoe; in fcoe_hostlist_add() local
2426 fcoe = fcoe_hostlist_lookup_port(fcoe_netdev(lport)); in fcoe_hostlist_add()
2427 if (!fcoe) { in fcoe_hostlist_add()
2429 fcoe = port->priv; in fcoe_hostlist_add()
2430 list_add_tail(&fcoe->list, &fcoe_hostlist); in fcoe_hostlist_add()
2445 struct fcoe_interface *fcoe; in fcoe_hostlist_del() local
2449 fcoe = port->priv; in fcoe_hostlist_del()
2450 list_del(&fcoe->list); in fcoe_hostlist_del()
2522 struct fcoe_interface *fcoe, *tmp; in fcoe_exit() local
2533 list_for_each_entry_safe(fcoe, tmp, &fcoe_hostlist, list) { in fcoe_exit()
2534 ctlr = fcoe_to_ctlr(fcoe); in fcoe_exit()
2629 struct fcoe_interface *fcoe = port->priv; in fcoe_elsct_send() local
2630 struct fcoe_ctlr *fip = fcoe_to_ctlr(fcoe); in fcoe_elsct_send()
2662 struct fcoe_interface *fcoe = port->priv; in fcoe_vport_create() local
2663 struct net_device *netdev = fcoe->netdev; in fcoe_vport_create()
2679 vn_port = fcoe_if_create(fcoe, &vport->dev, 1); in fcoe_vport_create()
2812 struct fcoe_interface *fcoe = fcoe_ctlr_priv(ctlr); in fcoe_fcf_get_vlan_id() local
2814 fcf_dev->vlan_id = vlan_dev_vlan_id(fcoe->netdev); in fcoe_fcf_get_vlan_id()
2833 struct fcoe_interface *fcoe = port->priv; in fcoe_set_port_id() local
2834 struct fcoe_ctlr *ctlr = fcoe_to_ctlr(fcoe); in fcoe_set_port_id()