|
@@ -272,6 +272,13 @@ static ssize_t store_vis_mode(struct kobject *kobj, struct attribute *attr,
|
|
|
return count;
|
|
|
}
|
|
|
|
|
|
+static ssize_t show_bat_algo(struct kobject *kobj, struct attribute *attr,
|
|
|
+ char *buff)
|
|
|
+{
|
|
|
+ struct bat_priv *bat_priv = kobj_to_batpriv(kobj);
|
|
|
+ return sprintf(buff, "%s\n", bat_priv->bat_algo_ops->name);
|
|
|
+}
|
|
|
+
|
|
|
static void post_gw_deselect(struct net_device *net_dev)
|
|
|
{
|
|
|
struct bat_priv *bat_priv = netdev_priv(net_dev);
|
|
@@ -382,6 +389,7 @@ BAT_ATTR_BOOL(bonding, S_IRUGO | S_IWUSR, NULL);
|
|
|
BAT_ATTR_BOOL(fragmentation, S_IRUGO | S_IWUSR, update_min_mtu);
|
|
|
BAT_ATTR_BOOL(ap_isolation, S_IRUGO | S_IWUSR, NULL);
|
|
|
static BAT_ATTR(vis_mode, S_IRUGO | S_IWUSR, show_vis_mode, store_vis_mode);
|
|
|
+static BAT_ATTR(routing_algo, S_IRUGO, show_bat_algo, NULL);
|
|
|
static BAT_ATTR(gw_mode, S_IRUGO | S_IWUSR, show_gw_mode, store_gw_mode);
|
|
|
BAT_ATTR_UINT(orig_interval, S_IRUGO | S_IWUSR, 2 * JITTER, INT_MAX, NULL);
|
|
|
BAT_ATTR_UINT(hop_penalty, S_IRUGO | S_IWUSR, 0, TQ_MAX_VALUE, NULL);
|
|
@@ -399,6 +407,7 @@ static struct bat_attribute *mesh_attrs[] = {
|
|
|
&bat_attr_fragmentation,
|
|
|
&bat_attr_ap_isolation,
|
|
|
&bat_attr_vis_mode,
|
|
|
+ &bat_attr_routing_algo,
|
|
|
&bat_attr_gw_mode,
|
|
|
&bat_attr_orig_interval,
|
|
|
&bat_attr_hop_penalty,
|