diff options
Diffstat (limited to 'net/batman-adv/sysfs.c')
| -rw-r--r-- | net/batman-adv/sysfs.c | 58 | 
1 files changed, 8 insertions, 50 deletions
| diff --git a/net/batman-adv/sysfs.c b/net/batman-adv/sysfs.c index 66518c75c217..84a55cb19b0b 100644 --- a/net/batman-adv/sysfs.c +++ b/net/batman-adv/sysfs.c @@ -20,6 +20,7 @@  #include "main.h"  #include "sysfs.h"  #include "translation-table.h" +#include "distributed-arp-table.h"  #include "originator.h"  #include "hard-interface.h"  #include "gateway_common.h" @@ -122,55 +123,6 @@ ssize_t batadv_show_##_name(struct kobject *kobj,			\  			   batadv_store_##_name) -#define BATADV_ATTR_HIF_STORE_UINT(_name, _min, _max, _post_func)	\ -ssize_t batadv_store_##_name(struct kobject *kobj,			\ -			     struct attribute *attr, char *buff,	\ -			     size_t count)				\ -{									\ -	struct net_device *net_dev = batadv_kobj_to_netdev(kobj);	\ -	struct batadv_hard_iface *hard_iface;				\ -	ssize_t length;							\ -									\ -	hard_iface = batadv_hardif_get_by_netdev(net_dev);		\ -	if (!hard_iface)						\ -		return 0;						\ -									\ -	length = __batadv_store_uint_attr(buff, count, _min, _max,	\ -					  _post_func, attr,		\ -					  &hard_iface->_name, net_dev);	\ -									\ -	batadv_hardif_free_ref(hard_iface);				\ -	return length;							\ -} - -#define BATADV_ATTR_HIF_SHOW_UINT(_name)				\ -ssize_t batadv_show_##_name(struct kobject *kobj,			\ -			    struct attribute *attr, char *buff)		\ -{									\ -	struct net_device *net_dev = batadv_kobj_to_netdev(kobj);	\ -	struct batadv_hard_iface *hard_iface;				\ -	ssize_t length;							\ -									\ -	hard_iface = batadv_hardif_get_by_netdev(net_dev);		\ -	if (!hard_iface)						\ -		return 0;						\ -									\ -	length = sprintf(buff, "%i\n", atomic_read(&hard_iface->_name));\ -									\ -	batadv_hardif_free_ref(hard_iface);				\ -	return length;							\ -} - -/* Use this, if you are going to set [name] in hard_iface to an - * unsigned integer value - */ -#define BATADV_ATTR_HIF_UINT(_name, _mode, _min, _max, _post_func)	\ -	static BATADV_ATTR_HIF_STORE_UINT(_name, _min, _max, _post_func)\ -	static BATADV_ATTR_HIF_SHOW_UINT(_name)				\ -	static BATADV_ATTR(_name, _mode, batadv_show_##_name,		\ -			   batadv_store_##_name) - -  static int batadv_store_bool_attr(char *buff, size_t count,  				  struct net_device *net_dev,  				  const char *attr_name, atomic_t *attr) @@ -469,6 +421,9 @@ BATADV_ATTR_SIF_BOOL(bonding, S_IRUGO | S_IWUSR, NULL);  #ifdef CONFIG_BATMAN_ADV_BLA  BATADV_ATTR_SIF_BOOL(bridge_loop_avoidance, S_IRUGO | S_IWUSR, NULL);  #endif +#ifdef CONFIG_BATMAN_ADV_DAT +BATADV_ATTR_SIF_BOOL(distributed_arp_table, S_IRUGO | S_IWUSR, NULL); +#endif  BATADV_ATTR_SIF_BOOL(fragmentation, S_IRUGO | S_IWUSR, batadv_update_min_mtu);  BATADV_ATTR_SIF_BOOL(ap_isolation, S_IRUGO | S_IWUSR, NULL);  static BATADV_ATTR(vis_mode, S_IRUGO | S_IWUSR, batadv_show_vis_mode, @@ -494,6 +449,9 @@ static struct batadv_attribute *batadv_mesh_attrs[] = {  #ifdef CONFIG_BATMAN_ADV_BLA  	&batadv_attr_bridge_loop_avoidance,  #endif +#ifdef CONFIG_BATMAN_ADV_DAT +	&batadv_attr_distributed_arp_table, +#endif  	&batadv_attr_fragmentation,  	&batadv_attr_ap_isolation,  	&batadv_attr_vis_mode, @@ -730,7 +688,7 @@ int batadv_throw_uevent(struct batadv_priv *bat_priv, enum batadv_uev_type type,  			enum batadv_uev_action action, const char *data)  {  	int ret = -ENOMEM; -	struct batadv_hard_iface *primary_if = NULL; +	struct batadv_hard_iface *primary_if;  	struct kobject *bat_kobj;  	char *uevent_env[4] = { NULL, NULL, NULL, NULL }; |