Lines Matching refs:failover_dev

463 					   struct net_device *failover_dev)  in net_failover_slave_pre_register()  argument
469 nfo_info = netdev_priv(failover_dev); in net_failover_slave_pre_register()
472 slave_is_standby = slave_dev->dev.parent == failover_dev->dev.parent; in net_failover_slave_pre_register()
474 netdev_err(failover_dev, "%s attempting to register as slave dev when %s already present\n", in net_failover_slave_pre_register()
488 if (failover_dev->features & NETIF_F_VLAN_CHALLENGED && in net_failover_slave_pre_register()
489 vlan_uses_dev(failover_dev)) { in net_failover_slave_pre_register()
490 netdev_err(failover_dev, "Device %s is VLAN challenged and failover device has VLAN set up\n", in net_failover_slave_pre_register()
491 failover_dev->name); in net_failover_slave_pre_register()
499 struct net_device *failover_dev) in net_failover_slave_register() argument
509 err = dev_set_mtu(slave_dev, failover_dev->mtu); in net_failover_slave_register()
511 netdev_err(failover_dev, "unable to change mtu of %s to %u register failed\n", in net_failover_slave_register()
512 slave_dev->name, failover_dev->mtu); in net_failover_slave_register()
518 if (netif_running(failover_dev)) { in net_failover_slave_register()
521 netdev_err(failover_dev, "Opening slave %s failed err:%d\n", in net_failover_slave_register()
527 netif_addr_lock_bh(failover_dev); in net_failover_slave_register()
528 dev_uc_sync_multiple(slave_dev, failover_dev); in net_failover_slave_register()
529 dev_mc_sync_multiple(slave_dev, failover_dev); in net_failover_slave_register()
530 netif_addr_unlock_bh(failover_dev); in net_failover_slave_register()
532 err = vlan_vids_add_by_dev(slave_dev, failover_dev); in net_failover_slave_register()
534 netdev_err(failover_dev, "Failed to add vlan ids to device %s err:%d\n", in net_failover_slave_register()
539 nfo_info = netdev_priv(failover_dev); in net_failover_slave_register()
542 slave_is_standby = slave_dev->dev.parent == failover_dev->dev.parent; in net_failover_slave_register()
552 failover_dev->min_mtu = slave_dev->min_mtu; in net_failover_slave_register()
553 failover_dev->max_mtu = slave_dev->max_mtu; in net_failover_slave_register()
557 net_failover_compute_features(failover_dev); in net_failover_slave_register()
561 netdev_info(failover_dev, "failover %s slave:%s registered\n", in net_failover_slave_register()
567 dev_uc_unsync(slave_dev, failover_dev); in net_failover_slave_register()
568 dev_mc_unsync(slave_dev, failover_dev); in net_failover_slave_register()
578 struct net_device *failover_dev) in net_failover_slave_pre_unregister() argument
583 nfo_info = netdev_priv(failover_dev); in net_failover_slave_pre_unregister()
594 struct net_device *failover_dev) in net_failover_slave_unregister() argument
600 nfo_info = netdev_priv(failover_dev); in net_failover_slave_unregister()
607 vlan_vids_del_by_dev(slave_dev, failover_dev); in net_failover_slave_unregister()
608 dev_uc_unsync(slave_dev, failover_dev); in net_failover_slave_unregister()
609 dev_mc_unsync(slave_dev, failover_dev); in net_failover_slave_unregister()
612 nfo_info = netdev_priv(failover_dev); in net_failover_slave_unregister()
613 dev_get_stats(failover_dev, &nfo_info->failover_stats); in net_failover_slave_unregister()
615 slave_is_standby = slave_dev->dev.parent == failover_dev->dev.parent; in net_failover_slave_unregister()
621 failover_dev->min_mtu = standby_dev->min_mtu; in net_failover_slave_unregister()
622 failover_dev->max_mtu = standby_dev->max_mtu; in net_failover_slave_unregister()
628 net_failover_compute_features(failover_dev); in net_failover_slave_unregister()
630 netdev_info(failover_dev, "failover %s slave:%s unregistered\n", in net_failover_slave_unregister()
637 struct net_device *failover_dev) in net_failover_slave_link_change() argument
642 nfo_info = netdev_priv(failover_dev); in net_failover_slave_link_change()
652 netif_carrier_on(failover_dev); in net_failover_slave_link_change()
653 netif_tx_wake_all_queues(failover_dev); in net_failover_slave_link_change()
655 dev_get_stats(failover_dev, &nfo_info->failover_stats); in net_failover_slave_link_change()
656 netif_carrier_off(failover_dev); in net_failover_slave_link_change()
657 netif_tx_stop_all_queues(failover_dev); in net_failover_slave_link_change()
666 struct net_device *failover_dev) in net_failover_slave_name_change() argument
671 nfo_info = netdev_priv(failover_dev); in net_failover_slave_name_change()
713 struct net_device *failover_dev; in net_failover_create() local
720 failover_dev = alloc_etherdev_mq(sizeof(struct net_failover_info), 16); in net_failover_create()
721 if (!failover_dev) { in net_failover_create()
726 dev_net_set(failover_dev, dev_net(standby_dev)); in net_failover_create()
727 SET_NETDEV_DEV(failover_dev, dev); in net_failover_create()
729 failover_dev->netdev_ops = &failover_dev_ops; in net_failover_create()
730 failover_dev->ethtool_ops = &failover_ethtool_ops; in net_failover_create()
733 failover_dev->priv_flags |= IFF_UNICAST_FLT | IFF_NO_QUEUE; in net_failover_create()
734 failover_dev->priv_flags &= ~(IFF_XMIT_DST_RELEASE | in net_failover_create()
738 failover_dev->features |= NETIF_F_LLTX; in net_failover_create()
741 failover_dev->features |= NETIF_F_NETNS_LOCAL; in net_failover_create()
743 failover_dev->hw_features = FAILOVER_VLAN_FEATURES | in net_failover_create()
748 failover_dev->hw_features |= NETIF_F_GSO_ENCAP_ALL; in net_failover_create()
749 failover_dev->features |= failover_dev->hw_features; in net_failover_create()
751 dev_addr_set(failover_dev, standby_dev->dev_addr); in net_failover_create()
753 failover_dev->min_mtu = standby_dev->min_mtu; in net_failover_create()
754 failover_dev->max_mtu = standby_dev->max_mtu; in net_failover_create()
756 err = register_netdev(failover_dev); in net_failover_create()
762 netif_carrier_off(failover_dev); in net_failover_create()
764 failover = failover_register(failover_dev, &net_failover_ops); in net_failover_create()
773 unregister_netdev(failover_dev); in net_failover_create()
775 free_netdev(failover_dev); in net_failover_create()
795 struct net_device *failover_dev; in net_failover_destroy() local
801 failover_dev = rcu_dereference(failover->failover_dev); in net_failover_destroy()
802 nfo_info = netdev_priv(failover_dev); in net_failover_destroy()
804 netif_device_detach(failover_dev); in net_failover_destroy()
818 unregister_netdevice(failover_dev); in net_failover_destroy()
822 free_netdev(failover_dev); in net_failover_destroy()