• Vasu Dev's avatar
    fcoe: consolidates netdev related config and cleanup for spma mode · ab6b85c1
    Vasu Dev authored
    Currently fcoe_netdev_config adds netdev pkt handler for fcoe pkts,
    fcoe_if_create adds netdev pkt handler for fip packets, a secondary
    MAC address is added by fcoe_netdev_config and then later cleanup
    for these netdev related config/adds is done only during
    fcoe_if_destroy and no cleanup done on error during fcoe interface
    creation after above netdev config calling in fcoe_if_create.
    
    So this patch adds single func for above mentioned cleanup the
    fcoe_netdev_cleanup and then calls this func on either fcoe interface
    destroy or exiting from fcoe_if_create due to an error after fcoe/fip
    related above netdev config is done.
    
    Moved netdev pkt handler addition code blocks for fip pkts close to
    similar code block for foce pkt in fcoe_netdev_config, so that added
    fcoe_netdev_cleanup could be called on error from fcoe_netdev_config
    to undo these both additions for fcoe/fip pkt handlers. This move
    required reference to fcoe_fip_recv in fcoe_netdev_config, so moved
    fip related functions fcoe_fip_recv, fcoe_fip_send and
    fcoe_update_src_mac above fcoe_netdev_config.
    
    This consolidation will enable spma mode support in next patch to
    easily add or delete spma mode mac address beside fixing current
    no cleanup issue during error.
    Signed-off-by: default avatarVasu Dev <vasu.dev@intel.com>
    Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    ab6b85c1
fcoe.c 46 KB