Lines Matching refs:fcoe

301 static int fcoe_interface_setup(struct fcoe_interface *fcoe,  in fcoe_interface_setup()  argument
304 struct fcoe_ctlr *fip = fcoe_to_ctlr(fcoe); in fcoe_interface_setup()
310 fcoe->netdev = netdev; in fcoe_interface_setup()
330 fcoe->realdev = real_dev; in fcoe_interface_setup()
365 fcoe->fcoe_packet_type.func = fcoe_rcv; in fcoe_interface_setup()
366 fcoe->fcoe_packet_type.type = htons(ETH_P_FCOE); in fcoe_interface_setup()
367 fcoe->fcoe_packet_type.dev = netdev; in fcoe_interface_setup()
368 dev_add_pack(&fcoe->fcoe_packet_type); in fcoe_interface_setup()
370 fcoe->fip_packet_type.func = fcoe_fip_recv; in fcoe_interface_setup()
371 fcoe->fip_packet_type.type = htons(ETH_P_FIP); in fcoe_interface_setup()
372 fcoe->fip_packet_type.dev = netdev; in fcoe_interface_setup()
373 dev_add_pack(&fcoe->fip_packet_type); in fcoe_interface_setup()
390 struct fcoe_interface *fcoe; in fcoe_interface_create() local
397 fcoe = ERR_PTR(-EBUSY); in fcoe_interface_create()
406 fcoe = ERR_PTR(-ENOMEM); in fcoe_interface_create()
412 fcoe = fcoe_ctlr_priv(ctlr); in fcoe_interface_create()
424 err = fcoe_interface_setup(fcoe, netdev); in fcoe_interface_create()
429 fcoe = ERR_PTR(err); in fcoe_interface_create()
438 return fcoe; in fcoe_interface_create()
447 static void fcoe_interface_remove(struct fcoe_interface *fcoe) in fcoe_interface_remove() argument
449 struct net_device *netdev = fcoe->netdev; in fcoe_interface_remove()
450 struct fcoe_ctlr *fip = fcoe_to_ctlr(fcoe); in fcoe_interface_remove()
460 __dev_remove_pack(&fcoe->fcoe_packet_type); in fcoe_interface_remove()
461 __dev_remove_pack(&fcoe->fip_packet_type); in fcoe_interface_remove()
482 fcoe->removed = 1; in fcoe_interface_remove()
490 static void fcoe_interface_cleanup(struct fcoe_interface *fcoe) in fcoe_interface_cleanup() argument
492 struct net_device *netdev = fcoe->netdev; in fcoe_interface_cleanup()
493 struct fcoe_ctlr *fip = fcoe_to_ctlr(fcoe); in fcoe_interface_cleanup()
496 if (!fcoe->removed) in fcoe_interface_cleanup()
497 fcoe_interface_remove(fcoe); in fcoe_interface_cleanup()
522 struct fcoe_interface *fcoe; in fcoe_fip_recv() local
525 fcoe = container_of(ptype, struct fcoe_interface, fip_packet_type); in fcoe_fip_recv()
526 ctlr = fcoe_to_ctlr(fcoe); in fcoe_fip_recv()
566 struct fcoe_interface *fcoe = port->priv; in fcoe_update_src_mac() local
569 dev_uc_del(fcoe->netdev, port->data_src_addr); in fcoe_update_src_mac()
571 dev_uc_add(fcoe->netdev, addr); in fcoe_update_src_mac()
676 struct fcoe_interface *fcoe; in fcoe_netdev_config() local
682 fcoe = port->priv; in fcoe_netdev_config()
683 ctlr = fcoe_to_ctlr(fcoe); in fcoe_netdev_config()
774 struct fcoe_interface *fcoe; in fcoe_fdmi_info() local
780 fcoe = port->priv; in fcoe_fdmi_info()
781 realdev = fcoe->realdev; in fcoe_fdmi_info()
892 struct fcoe_interface *fcoe = port->priv; in fcoe_em_config() local
912 if (fcoe->netdev->priv_flags & IFF_802_1Q_VLAN) in fcoe_em_config()
913 cur_real_dev = vlan_dev_real_dev(fcoe->netdev); in fcoe_em_config()
915 cur_real_dev = fcoe->netdev; in fcoe_em_config()
924 fcoe->oem = oldfcoe->oem; in fcoe_em_config()
929 if (fcoe->oem) { in fcoe_em_config()
930 if (!fc_exch_mgr_add(lport, fcoe->oem, fcoe_oem_match)) { in fcoe_em_config()
933 fcoe->oem, fcoe->netdev->name); in fcoe_em_config()
937 fcoe->oem = fc_exch_mgr_alloc(lport, FC_CLASS_3, in fcoe_em_config()
940 if (!fcoe->oem) { in fcoe_em_config()
943 fcoe->netdev->name); in fcoe_em_config()
956 "allocate em on interface %s\n", fcoe->netdev->name); in fcoe_em_config()
971 struct fcoe_interface *fcoe = port->priv; in fcoe_if_destroy() local
972 struct net_device *netdev = fcoe->netdev; in fcoe_if_destroy()
994 fcoe_interface_remove(fcoe); in fcoe_if_destroy()
1091 static struct fc_lport *fcoe_if_create(struct fcoe_interface *fcoe, in fcoe_if_create() argument
1094 struct fcoe_ctlr *ctlr = fcoe_to_ctlr(fcoe); in fcoe_if_create()
1095 struct net_device *netdev = fcoe->netdev; in fcoe_if_create()
1120 port->priv = fcoe; in fcoe_if_create()
1434 struct fcoe_interface *fcoe; in fcoe_rcv() local
1440 fcoe = container_of(ptype, struct fcoe_interface, fcoe_packet_type); in fcoe_rcv()
1441 ctlr = fcoe_to_ctlr(fcoe); in fcoe_rcv()
1598 struct fcoe_interface *fcoe = port->priv; in fcoe_xmit() local
1599 struct fcoe_ctlr *ctlr = fcoe_to_ctlr(fcoe); in fcoe_xmit()
1666 skb->priority = fcoe->priority; in fcoe_xmit()
1668 if (fcoe->netdev->priv_flags & IFF_802_1Q_VLAN && in fcoe_xmit()
1669 fcoe->realdev->features & NETIF_F_HW_VLAN_CTAG_TX) { in fcoe_xmit()
1671 skb->dev = fcoe->realdev; in fcoe_xmit()
1673 vlan_dev_vlan_id(fcoe->netdev)); in fcoe_xmit()
1675 skb->dev = fcoe->netdev; in fcoe_xmit()
1735 struct fcoe_interface *fcoe; in fcoe_filter_frames() local
1755 fcoe = ((struct fcoe_port *)lport_priv(lport))->priv; in fcoe_filter_frames()
1756 ctlr = fcoe_to_ctlr(fcoe); in fcoe_filter_frames()
1917 struct fcoe_interface *fcoe; in fcoe_hostlist_lookup_realdev_port() local
1920 list_for_each_entry(fcoe, &fcoe_hostlist, list) { in fcoe_hostlist_lookup_realdev_port()
1921 if (fcoe->netdev->priv_flags & IFF_802_1Q_VLAN) in fcoe_hostlist_lookup_realdev_port()
1922 real_dev = vlan_dev_real_dev(fcoe->netdev); in fcoe_hostlist_lookup_realdev_port()
1924 real_dev = fcoe->netdev; in fcoe_hostlist_lookup_realdev_port()
1927 return fcoe; in fcoe_hostlist_lookup_realdev_port()
1937 struct fcoe_interface *fcoe; in fcoe_dcb_app_notification() local
1948 fcoe = fcoe_hostlist_lookup_realdev_port(netdev); in fcoe_dcb_app_notification()
1950 if (!fcoe) in fcoe_dcb_app_notification()
1953 ctlr = fcoe_to_ctlr(fcoe); in fcoe_dcb_app_notification()
1968 fcoe->priority = prio; in fcoe_dcb_app_notification()
1990 struct fcoe_interface *fcoe; in fcoe_device_notification() local
1997 list_for_each_entry(fcoe, &fcoe_hostlist, list) { in fcoe_device_notification()
1998 if (fcoe->netdev == netdev) { in fcoe_device_notification()
1999 ctlr = fcoe_to_ctlr(fcoe); in fcoe_device_notification()
2028 list_del(&fcoe->list); in fcoe_device_notification()
2084 struct fcoe_interface *fcoe; in fcoe_disable() local
2090 fcoe = fcoe_hostlist_lookup_port(netdev); in fcoe_disable()
2093 if (fcoe) { in fcoe_disable()
2094 ctlr = fcoe_to_ctlr(fcoe); in fcoe_disable()
2115 struct fcoe_interface *fcoe; in fcoe_enable() local
2120 fcoe = fcoe_hostlist_lookup_port(netdev); in fcoe_enable()
2123 if (!fcoe) { in fcoe_enable()
2128 ctlr = fcoe_to_ctlr(fcoe); in fcoe_enable()
2176 struct fcoe_interface *fcoe; in fcoe_destroy() local
2183 fcoe = fcoe_hostlist_lookup_port(netdev); in fcoe_destroy()
2184 if (!fcoe) { in fcoe_destroy()
2188 ctlr = fcoe_to_ctlr(fcoe); in fcoe_destroy()
2191 list_del(&fcoe->list); in fcoe_destroy()
2208 struct fcoe_interface *fcoe; in fcoe_destroy_work() local
2236 fcoe = port->priv; in fcoe_destroy_work()
2237 ctlr = fcoe_to_ctlr(fcoe); in fcoe_destroy_work()
2241 fcoe_interface_cleanup(fcoe); in fcoe_destroy_work()
2268 static void fcoe_dcb_create(struct fcoe_interface *fcoe) in fcoe_dcb_create() argument
2273 struct net_device *netdev = fcoe->realdev; in fcoe_dcb_create()
2274 struct fcoe_ctlr *ctlr = fcoe_to_ctlr(fcoe); in fcoe_dcb_create()
2296 fcoe->priority = ffs(up) ? ffs(up) - 1 : 0; in fcoe_dcb_create()
2297 ctlr->priority = ffs(fup) ? ffs(fup) - 1 : fcoe->priority; in fcoe_dcb_create()
2326 struct fcoe_interface *fcoe; in _fcoe_create() local
2338 fcoe = fcoe_interface_create(netdev, fip_mode); in _fcoe_create()
2339 if (IS_ERR(fcoe)) { in _fcoe_create()
2340 rc = PTR_ERR(fcoe); in _fcoe_create()
2344 ctlr = fcoe_to_ctlr(fcoe); in _fcoe_create()
2346 lport = fcoe_if_create(fcoe, &ctlr_dev->dev, 0); in _fcoe_create()
2352 fcoe_interface_cleanup(fcoe); in _fcoe_create()
2362 fcoe_dcb_create(fcoe); in _fcoe_create()
2496 struct fcoe_interface *fcoe = port->priv; in fcoe_reset() local
2497 struct fcoe_ctlr *ctlr = fcoe_to_ctlr(fcoe); in fcoe_reset()
2520 struct fcoe_interface *fcoe; in fcoe_hostlist_lookup_port() local
2522 list_for_each_entry(fcoe, &fcoe_hostlist, list) { in fcoe_hostlist_lookup_port()
2523 if (fcoe->netdev == netdev) in fcoe_hostlist_lookup_port()
2524 return fcoe; in fcoe_hostlist_lookup_port()
2541 struct fcoe_interface *fcoe; in fcoe_hostlist_lookup() local
2543 fcoe = fcoe_hostlist_lookup_port(netdev); in fcoe_hostlist_lookup()
2544 ctlr = fcoe_to_ctlr(fcoe); in fcoe_hostlist_lookup()
2545 return (fcoe) ? ctlr->lp : NULL; in fcoe_hostlist_lookup()
2559 struct fcoe_interface *fcoe; in fcoe_hostlist_add() local
2562 fcoe = fcoe_hostlist_lookup_port(fcoe_netdev(lport)); in fcoe_hostlist_add()
2563 if (!fcoe) { in fcoe_hostlist_add()
2565 fcoe = port->priv; in fcoe_hostlist_add()
2566 list_add_tail(&fcoe->list, &fcoe_hostlist); in fcoe_hostlist_add()
2581 struct fcoe_interface *fcoe; in fcoe_hostlist_del() local
2585 fcoe = port->priv; in fcoe_hostlist_del()
2586 list_del(&fcoe->list); in fcoe_hostlist_del()
2674 struct fcoe_interface *fcoe, *tmp; in fcoe_exit() local
2685 list_for_each_entry_safe(fcoe, tmp, &fcoe_hostlist, list) { in fcoe_exit()
2686 ctlr = fcoe_to_ctlr(fcoe); in fcoe_exit()
2787 struct fcoe_interface *fcoe = port->priv; in fcoe_elsct_send() local
2788 struct fcoe_ctlr *fip = fcoe_to_ctlr(fcoe); in fcoe_elsct_send()
2820 struct fcoe_interface *fcoe = port->priv; in fcoe_vport_create() local
2821 struct net_device *netdev = fcoe->netdev; in fcoe_vport_create()
2837 vn_port = fcoe_if_create(fcoe, &vport->dev, 1); in fcoe_vport_create()
2937 struct fcoe_interface *fcoe = fcoe_ctlr_priv(ctlr); in fcoe_fcf_get_vlan_id() local
2939 fcf_dev->vlan_id = vlan_dev_vlan_id(fcoe->netdev); in fcoe_fcf_get_vlan_id()
2958 struct fcoe_interface *fcoe = port->priv; in fcoe_set_port_id() local
2959 struct fcoe_ctlr *ctlr = fcoe_to_ctlr(fcoe); in fcoe_set_port_id()