Lines Matching refs:failover_dev
459 struct net_device *failover_dev)
465 nfo_info = netdev_priv(failover_dev);
468 slave_is_standby = slave_dev->dev.parent == failover_dev->dev.parent;
470 netdev_err(failover_dev, "%s attempting to register as slave dev when %s already present\n",
484 if (failover_dev->features & NETIF_F_VLAN_CHALLENGED &&
485 vlan_uses_dev(failover_dev)) {
486 netdev_err(failover_dev, "Device %s is VLAN challenged and failover device has VLAN set up\n",
487 failover_dev->name);
495 struct net_device *failover_dev)
505 err = dev_set_mtu(slave_dev, failover_dev->mtu);
507 netdev_err(failover_dev, "unable to change mtu of %s to %u register failed\n",
508 slave_dev->name, failover_dev->mtu);
514 if (netif_running(failover_dev)) {
517 netdev_err(failover_dev, "Opening slave %s failed err:%d\n",
523 netif_addr_lock_bh(failover_dev);
524 dev_uc_sync_multiple(slave_dev, failover_dev);
525 dev_mc_sync_multiple(slave_dev, failover_dev);
526 netif_addr_unlock_bh(failover_dev);
528 err = vlan_vids_add_by_dev(slave_dev, failover_dev);
530 netdev_err(failover_dev, "Failed to add vlan ids to device %s err:%d\n",
535 nfo_info = netdev_priv(failover_dev);
538 slave_is_standby = slave_dev->dev.parent == failover_dev->dev.parent;
548 failover_dev->min_mtu = slave_dev->min_mtu;
549 failover_dev->max_mtu = slave_dev->max_mtu;
553 net_failover_compute_features(failover_dev);
557 netdev_info(failover_dev, "failover %s slave:%s registered\n",
563 dev_uc_unsync(slave_dev, failover_dev);
564 dev_mc_unsync(slave_dev, failover_dev);
574 struct net_device *failover_dev)
579 nfo_info = netdev_priv(failover_dev);
590 struct net_device *failover_dev)
596 nfo_info = netdev_priv(failover_dev);
603 vlan_vids_del_by_dev(slave_dev, failover_dev);
604 dev_uc_unsync(slave_dev, failover_dev);
605 dev_mc_unsync(slave_dev, failover_dev);
608 nfo_info = netdev_priv(failover_dev);
609 dev_get_stats(failover_dev, &nfo_info->failover_stats);
611 slave_is_standby = slave_dev->dev.parent == failover_dev->dev.parent;
617 failover_dev->min_mtu = standby_dev->min_mtu;
618 failover_dev->max_mtu = standby_dev->max_mtu;
624 net_failover_compute_features(failover_dev);
626 netdev_info(failover_dev, "failover %s slave:%s unregistered\n",
633 struct net_device *failover_dev)
638 nfo_info = netdev_priv(failover_dev);
648 netif_carrier_on(failover_dev);
649 netif_tx_wake_all_queues(failover_dev);
651 dev_get_stats(failover_dev, &nfo_info->failover_stats);
652 netif_carrier_off(failover_dev);
653 netif_tx_stop_all_queues(failover_dev);
662 struct net_device *failover_dev)
667 nfo_info = netdev_priv(failover_dev);
709 struct net_device *failover_dev;
716 failover_dev = alloc_etherdev_mq(sizeof(struct net_failover_info), 16);
717 if (!failover_dev) {
722 dev_net_set(failover_dev, dev_net(standby_dev));
723 SET_NETDEV_DEV(failover_dev, dev);
725 failover_dev->netdev_ops = &failover_dev_ops;
726 failover_dev->ethtool_ops = &failover_ethtool_ops;
729 failover_dev->priv_flags |= IFF_UNICAST_FLT | IFF_NO_QUEUE;
730 failover_dev->priv_flags &= ~(IFF_XMIT_DST_RELEASE |
734 failover_dev->features |= NETIF_F_LLTX;
737 failover_dev->features |= NETIF_F_NETNS_LOCAL;
739 failover_dev->hw_features = FAILOVER_VLAN_FEATURES |
744 failover_dev->hw_features |= NETIF_F_GSO_ENCAP_ALL;
745 failover_dev->features |= failover_dev->hw_features;
747 memcpy(failover_dev->dev_addr, standby_dev->dev_addr,
748 failover_dev->addr_len);
750 failover_dev->min_mtu = standby_dev->min_mtu;
751 failover_dev->max_mtu = standby_dev->max_mtu;
753 err = register_netdev(failover_dev);
755 dev_err(dev, "Unable to register failover_dev!\n");
759 netif_carrier_off(failover_dev);
761 failover = failover_register(failover_dev, &net_failover_ops);
770 unregister_netdev(failover_dev);
772 free_netdev(failover_dev);
792 struct net_device *failover_dev;
798 failover_dev = rcu_dereference(failover->failover_dev);
799 nfo_info = netdev_priv(failover_dev);
801 netif_device_detach(failover_dev);
815 unregister_netdevice(failover_dev);
819 free_netdev(failover_dev);