batman-adv: export used routing algorithm via sysfs
authorMarek Lindner <lindner_marek@yahoo.de>
Mon, 28 Nov 2011 16:15:37 +0000 (00:15 +0800)
committerMarek Lindner <lindner_marek@yahoo.de>
Thu, 16 Feb 2012 18:50:20 +0000 (02:50 +0800)
Signed-off-by: Marek Lindner <lindner_marek@yahoo.de>
Documentation/ABI/testing/sysfs-class-net-mesh
net/batman-adv/bat_sysfs.c

index b020014..b218e0f 100644 (file)
@@ -65,6 +65,13 @@ Description:
                Defines the penalty which will be applied to an
                originator message's tq-field on every hop.
 
+What:          /sys/class/net/<mesh_iface>/mesh/routing_algo
+Date:          Dec 2011
+Contact:       Marek Lindner <lindner_marek@yahoo.de>
+Description:
+               Defines the routing procotol this mesh instance
+               uses to find the optimal paths through the mesh.
+
 What:           /sys/class/net/<mesh_iface>/mesh/vis_mode
 Date:           May 2010
 Contact:        Marek Lindner <lindner_marek@yahoo.de>
index c25492f..480ae0a 100644 (file)
@@ -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,