Lines Matching defs:bat_priv
92 * @bat_priv: the bat priv with all the soft interface information
98 batadv_kobj_to_vlan(struct batadv_priv *bat_priv, struct kobject *obj)
103 hlist_for_each_entry_rcu(vlan_tmp, &bat_priv->softif_vlan_list, list) {
142 struct batadv_priv *bat_priv = netdev_priv(net_dev); \
147 &bat_priv->_name, net_dev); \
149 batadv_netlink_notify_mesh(bat_priv); \
158 struct batadv_priv *bat_priv = batadv_kobj_to_batpriv(kobj); \
162 atomic_read(&bat_priv->_name) == 0 ? \
167 * (bat_priv) on or off
181 struct batadv_priv *bat_priv = netdev_priv(net_dev); \
187 &bat_priv->_var, net_dev, \
190 batadv_netlink_notify_mesh(bat_priv); \
199 struct batadv_priv *bat_priv = batadv_kobj_to_batpriv(kobj); \
202 return sprintf(buff, "%i\n", atomic_read(&bat_priv->_var)); \
206 * (bat_priv) to an unsigned integer value
219 struct batadv_priv *bat_priv = batadv_vlan_kobj_to_batpriv(kobj);\
220 struct batadv_softif_vlan *vlan = batadv_kobj_to_vlan(bat_priv, \
224 bat_priv->soft_iface); \
228 batadv_netlink_notify_vlan(bat_priv, vlan); \
230 batadv_netlink_notify_mesh(bat_priv); \
240 struct batadv_priv *bat_priv = batadv_vlan_kobj_to_batpriv(kobj);\
241 struct batadv_softif_vlan *vlan = batadv_kobj_to_vlan(bat_priv, \
266 struct batadv_priv *bat_priv; \
281 bat_priv = netdev_priv(hard_iface->soft_iface); \
282 batadv_netlink_notify_hardif(bat_priv, hard_iface); \
440 struct batadv_priv *bat_priv = batadv_kobj_to_batpriv(kobj);
443 return sprintf(buff, "%s\n", bat_priv->algo_ops->name);
448 struct batadv_priv *bat_priv = netdev_priv(net_dev);
450 batadv_gw_reselect(bat_priv);
456 struct batadv_priv *bat_priv = batadv_kobj_to_batpriv(kobj);
464 if (!bat_priv->algo_ops->gw.get_best_gw_node ||
465 !bat_priv->algo_ops->gw.is_eligible)
468 switch (atomic_read(&bat_priv->gw.mode)) {
491 struct batadv_priv *bat_priv = netdev_priv(net_dev);
500 if (!bat_priv->algo_ops->gw.get_best_gw_node ||
501 !bat_priv->algo_ops->gw.is_eligible)
526 if (atomic_read(&bat_priv->gw.mode) == gw_mode_tmp)
529 switch (atomic_read(&bat_priv->gw.mode)) {
553 batadv_gw_reselect(bat_priv);
557 batadv_gw_check_client_stop(bat_priv);
558 atomic_set(&bat_priv->gw.mode, (unsigned int)gw_mode_tmp);
559 batadv_gw_tvlv_container_update(bat_priv);
561 batadv_netlink_notify_mesh(bat_priv);
569 struct batadv_priv *bat_priv = batadv_kobj_to_batpriv(kobj);
576 if (!bat_priv->algo_ops->gw.get_best_gw_node ||
577 !bat_priv->algo_ops->gw.is_eligible)
580 if (bat_priv->algo_ops->gw.show_sel_class)
581 return bat_priv->algo_ops->gw.show_sel_class(bat_priv, buff);
583 return sprintf(buff, "%i\n", atomic_read(&bat_priv->gw.sel_class));
590 struct batadv_priv *bat_priv = batadv_kobj_to_batpriv(kobj);
598 if (!bat_priv->algo_ops->gw.get_best_gw_node ||
599 !bat_priv->algo_ops->gw.is_eligible)
605 if (bat_priv->algo_ops->gw.store_sel_class)
606 return bat_priv->algo_ops->gw.store_sel_class(bat_priv, buff,
611 &bat_priv->gw.sel_class,
612 bat_priv->soft_iface, NULL);
614 batadv_netlink_notify_mesh(bat_priv);
622 struct batadv_priv *bat_priv = batadv_kobj_to_batpriv(kobj);
627 down = atomic_read(&bat_priv->gw.bandwidth_down);
628 up = atomic_read(&bat_priv->gw.bandwidth_up);
638 struct batadv_priv *bat_priv = batadv_kobj_to_batpriv(kobj);
649 batadv_netlink_notify_mesh(bat_priv);
666 struct batadv_priv *bat_priv = batadv_kobj_to_batpriv(kobj);
669 return sprintf(buff, "%#.8x/%#.8x\n", bat_priv->isolation_mark,
670 bat_priv->isolation_mark_mask);
688 struct batadv_priv *bat_priv = netdev_priv(net_dev);
714 bat_priv->isolation_mark_mask = mask;
716 bat_priv->isolation_mark = mark & bat_priv->isolation_mark_mask;
720 bat_priv->isolation_mark, bat_priv->isolation_mark_mask);
722 batadv_netlink_notify_mesh(bat_priv);
804 struct batadv_priv *bat_priv = netdev_priv(dev);
808 bat_priv->mesh_obj = kobject_create_and_add(BATADV_SYSFS_IF_MESH_SUBDIR,
810 if (!bat_priv->mesh_obj) {
817 err = sysfs_create_file(bat_priv->mesh_obj,
831 sysfs_remove_file(bat_priv->mesh_obj, &((*bat_attr)->attr));
833 kobject_uevent(bat_priv->mesh_obj, KOBJ_REMOVE);
834 kobject_del(bat_priv->mesh_obj);
835 kobject_put(bat_priv->mesh_obj);
836 bat_priv->mesh_obj = NULL;
847 struct batadv_priv *bat_priv = netdev_priv(dev);
851 sysfs_remove_file(bat_priv->mesh_obj, &((*bat_attr)->attr));
853 kobject_uevent(bat_priv->mesh_obj, KOBJ_REMOVE);
854 kobject_del(bat_priv->mesh_obj);
855 kobject_put(bat_priv->mesh_obj);
856 bat_priv->mesh_obj = NULL;
870 struct batadv_priv *bat_priv = netdev_priv(dev);
879 bat_priv->mesh_obj);
889 vlan->kobj = bat_priv->mesh_obj;
890 kobject_get(bat_priv->mesh_obj);
910 if (vlan->kobj != bat_priv->mesh_obj) {
922 * @bat_priv: the bat priv with all the soft interface information
925 void batadv_sysfs_del_vlan(struct batadv_priv *bat_priv,
933 if (vlan->kobj != bat_priv->mesh_obj) {
1136 struct batadv_priv *bat_priv;
1168 bat_priv = netdev_priv(hard_iface->soft_iface);
1169 batadv_netlink_notify_hardif(bat_priv, hard_iface);