Lines Matching refs:soft_iface
236 if (!hard_iface || !hard_iface->soft_iface) in batadv_get_real_netdevice()
239 net = dev_net(hard_iface->soft_iface); in batadv_get_real_netdevice()
440 batadv_hardif_get_active(const struct net_device *soft_iface) in batadv_hardif_get_active() argument
446 if (hard_iface->soft_iface != soft_iface) in batadv_hardif_get_active()
538 static void batadv_hardif_recalc_extra_skbroom(struct net_device *soft_iface) in batadv_hardif_recalc_extra_skbroom() argument
551 if (hard_iface->soft_iface != soft_iface) in batadv_hardif_recalc_extra_skbroom()
571 soft_iface->needed_headroom = needed_headroom; in batadv_hardif_recalc_extra_skbroom()
572 soft_iface->needed_tailroom = lower_tailroom; in batadv_hardif_recalc_extra_skbroom()
582 int batadv_hardif_min_mtu(struct net_device *soft_iface) in batadv_hardif_min_mtu() argument
584 struct batadv_priv *bat_priv = netdev_priv(soft_iface); in batadv_hardif_min_mtu()
594 if (hard_iface->soft_iface != soft_iface) in batadv_hardif_min_mtu()
633 void batadv_update_min_mtu(struct net_device *soft_iface) in batadv_update_min_mtu() argument
635 soft_iface->mtu = batadv_hardif_min_mtu(soft_iface); in batadv_update_min_mtu()
640 batadv_tt_local_resize_to_mtu(soft_iface); in batadv_update_min_mtu()
652 bat_priv = netdev_priv(hard_iface->soft_iface); in batadv_hardif_activate_interface()
664 batadv_info(hard_iface->soft_iface, "Interface activated: %s\n", in batadv_hardif_activate_interface()
667 batadv_update_min_mtu(hard_iface->soft_iface); in batadv_hardif_activate_interface()
686 batadv_info(hard_iface->soft_iface, "Interface deactivated: %s\n", in batadv_hardif_deactivate_interface()
689 batadv_update_min_mtu(hard_iface->soft_iface); in batadv_hardif_deactivate_interface()
729 struct net_device *soft_iface, *master; in batadv_hardif_enable_interface() local
739 soft_iface = dev_get_by_name(net, iface_name); in batadv_hardif_enable_interface()
741 if (!soft_iface) { in batadv_hardif_enable_interface()
742 soft_iface = batadv_softif_create(net, iface_name); in batadv_hardif_enable_interface()
744 if (!soft_iface) { in batadv_hardif_enable_interface()
750 dev_hold(soft_iface); in batadv_hardif_enable_interface()
753 if (!batadv_softif_is_valid(soft_iface)) { in batadv_hardif_enable_interface()
755 soft_iface->name); in batadv_hardif_enable_interface()
768 hard_iface->soft_iface = soft_iface; in batadv_hardif_enable_interface()
769 bat_priv = netdev_priv(hard_iface->soft_iface); in batadv_hardif_enable_interface()
772 soft_iface, NULL, NULL, NULL); in batadv_hardif_enable_interface()
788 batadv_info(hard_iface->soft_iface, "Adding interface: %s\n", in batadv_hardif_enable_interface()
793 batadv_info(hard_iface->soft_iface, in batadv_hardif_enable_interface()
800 batadv_info(hard_iface->soft_iface, in batadv_hardif_enable_interface()
808 batadv_err(hard_iface->soft_iface, in batadv_hardif_enable_interface()
812 batadv_hardif_recalc_extra_skbroom(soft_iface); in batadv_hardif_enable_interface()
821 netdev_upper_dev_unlink(hard_iface->net_dev, soft_iface); in batadv_hardif_enable_interface()
823 hard_iface->soft_iface = NULL; in batadv_hardif_enable_interface()
824 dev_put(soft_iface); in batadv_hardif_enable_interface()
840 static size_t batadv_hardif_cnt(const struct net_device *soft_iface) in batadv_hardif_cnt() argument
847 if (hard_iface->soft_iface != soft_iface) in batadv_hardif_cnt()
866 struct batadv_priv *bat_priv = netdev_priv(hard_iface->soft_iface); in batadv_hardif_disable_interface()
874 batadv_info(hard_iface->soft_iface, "Removing interface: %s\n", in batadv_hardif_disable_interface()
883 new_if = batadv_hardif_get_active(hard_iface->soft_iface); in batadv_hardif_disable_interface()
896 dev_put(hard_iface->soft_iface); in batadv_hardif_disable_interface()
898 netdev_upper_dev_unlink(hard_iface->net_dev, hard_iface->soft_iface); in batadv_hardif_disable_interface()
899 batadv_hardif_recalc_extra_skbroom(hard_iface->soft_iface); in batadv_hardif_disable_interface()
902 if (batadv_hardif_cnt(hard_iface->soft_iface) <= 1) { in batadv_hardif_disable_interface()
906 batadv_softif_destroy_sysfs(hard_iface->soft_iface); in batadv_hardif_disable_interface()
909 hard_iface->soft_iface = NULL; in batadv_hardif_disable_interface()
939 hard_iface->soft_iface = NULL; in batadv_hardif_add_interface()
1054 if (hard_iface->soft_iface) in batadv_hard_if_event()
1055 batadv_update_min_mtu(hard_iface->soft_iface); in batadv_hard_if_event()
1063 bat_priv = netdev_priv(hard_iface->soft_iface); in batadv_hard_if_event()