batman-adv: Prefix local defines with BATADV_
Reported-by: Martin Hundebøll <martin@hundeboll.net> Signed-off-by: Sven Eckelmann <sven@narfation.org>
This commit is contained in:
parent
d4f4469255
commit
347c80f0fb
@ -35,14 +35,14 @@
|
|||||||
static struct dentry *batadv_debugfs;
|
static struct dentry *batadv_debugfs;
|
||||||
|
|
||||||
#ifdef CONFIG_BATMAN_ADV_DEBUG
|
#ifdef CONFIG_BATMAN_ADV_DEBUG
|
||||||
#define LOG_BUFF_MASK (batadv_log_buff_len - 1)
|
#define BATADV_LOG_BUFF_MASK (batadv_log_buff_len - 1)
|
||||||
#define LOG_BUFF(idx) (debug_log->log_buff[(idx) & LOG_BUFF_MASK])
|
#define BATADV_LOG_BUFF(idx) (debug_log->log_buff[(idx) & BATADV_LOG_BUFF_MASK])
|
||||||
|
|
||||||
static int batadv_log_buff_len = LOG_BUF_LEN;
|
static int batadv_log_buff_len = LOG_BUF_LEN;
|
||||||
|
|
||||||
static void batadv_emit_log_char(struct debug_log *debug_log, char c)
|
static void batadv_emit_log_char(struct debug_log *debug_log, char c)
|
||||||
{
|
{
|
||||||
LOG_BUFF(debug_log->log_end) = c;
|
BATADV_LOG_BUFF(debug_log->log_end) = c;
|
||||||
debug_log->log_end++;
|
debug_log->log_end++;
|
||||||
|
|
||||||
if (debug_log->log_end - debug_log->log_start > batadv_log_buff_len)
|
if (debug_log->log_end - debug_log->log_start > batadv_log_buff_len)
|
||||||
@ -133,7 +133,7 @@ static ssize_t batadv_log_read(struct file *file, char __user *buf,
|
|||||||
|
|
||||||
while ((!error) && (i < count) &&
|
while ((!error) && (i < count) &&
|
||||||
(debug_log->log_start != debug_log->log_end)) {
|
(debug_log->log_start != debug_log->log_end)) {
|
||||||
c = LOG_BUFF(debug_log->log_start);
|
c = BATADV_LOG_BUFF(debug_log->log_start);
|
||||||
|
|
||||||
debug_log->log_start++;
|
debug_log->log_start++;
|
||||||
|
|
||||||
@ -270,7 +270,7 @@ struct bat_debuginfo {
|
|||||||
const struct file_operations fops;
|
const struct file_operations fops;
|
||||||
};
|
};
|
||||||
|
|
||||||
#define BAT_DEBUGINFO(_name, _mode, _open) \
|
#define BATADV_DEBUGINFO(_name, _mode, _open) \
|
||||||
struct bat_debuginfo batadv_debuginfo_##_name = { \
|
struct bat_debuginfo batadv_debuginfo_##_name = { \
|
||||||
.attr = { .name = __stringify(_name), \
|
.attr = { .name = __stringify(_name), \
|
||||||
.mode = _mode, }, \
|
.mode = _mode, }, \
|
||||||
@ -282,15 +282,17 @@ struct bat_debuginfo batadv_debuginfo_##_name = { \
|
|||||||
} \
|
} \
|
||||||
};
|
};
|
||||||
|
|
||||||
static BAT_DEBUGINFO(routing_algos, S_IRUGO, batadv_algorithms_open);
|
static BATADV_DEBUGINFO(routing_algos, S_IRUGO, batadv_algorithms_open);
|
||||||
static BAT_DEBUGINFO(originators, S_IRUGO, batadv_originators_open);
|
static BATADV_DEBUGINFO(originators, S_IRUGO, batadv_originators_open);
|
||||||
static BAT_DEBUGINFO(gateways, S_IRUGO, batadv_gateways_open);
|
static BATADV_DEBUGINFO(gateways, S_IRUGO, batadv_gateways_open);
|
||||||
static BAT_DEBUGINFO(transtable_global, S_IRUGO, batadv_transtable_global_open);
|
static BATADV_DEBUGINFO(transtable_global, S_IRUGO,
|
||||||
|
batadv_transtable_global_open);
|
||||||
#ifdef CONFIG_BATMAN_ADV_BLA
|
#ifdef CONFIG_BATMAN_ADV_BLA
|
||||||
static BAT_DEBUGINFO(bla_claim_table, S_IRUGO, batadv_bla_claim_table_open);
|
static BATADV_DEBUGINFO(bla_claim_table, S_IRUGO, batadv_bla_claim_table_open);
|
||||||
#endif
|
#endif
|
||||||
static BAT_DEBUGINFO(transtable_local, S_IRUGO, batadv_transtable_local_open);
|
static BATADV_DEBUGINFO(transtable_local, S_IRUGO,
|
||||||
static BAT_DEBUGINFO(vis_data, S_IRUGO, batadv_vis_data_open);
|
batadv_transtable_local_open);
|
||||||
|
static BATADV_DEBUGINFO(vis_data, S_IRUGO, batadv_vis_data_open);
|
||||||
|
|
||||||
static struct bat_debuginfo *batadv_mesh_debuginfos[] = {
|
static struct bat_debuginfo *batadv_mesh_debuginfos[] = {
|
||||||
&batadv_debuginfo_originators,
|
&batadv_debuginfo_originators,
|
||||||
|
@ -38,9 +38,9 @@ static struct bat_priv *batadv_kobj_to_batpriv(struct kobject *obj)
|
|||||||
return netdev_priv(net_dev);
|
return netdev_priv(net_dev);
|
||||||
}
|
}
|
||||||
|
|
||||||
#define UEV_TYPE_VAR "BATTYPE="
|
#define BATADV_UEV_TYPE_VAR "BATTYPE="
|
||||||
#define UEV_ACTION_VAR "BATACTION="
|
#define BATADV_UEV_ACTION_VAR "BATACTION="
|
||||||
#define UEV_DATA_VAR "BATDATA="
|
#define BATADV_UEV_DATA_VAR "BATDATA="
|
||||||
|
|
||||||
static char *batadv_uev_action_str[] = {
|
static char *batadv_uev_action_str[] = {
|
||||||
"add",
|
"add",
|
||||||
@ -53,15 +53,15 @@ static char *batadv_uev_type_str[] = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
/* Use this, if you have customized show and store functions */
|
/* Use this, if you have customized show and store functions */
|
||||||
#define BAT_ATTR(_name, _mode, _show, _store) \
|
#define BATADV_ATTR(_name, _mode, _show, _store) \
|
||||||
struct bat_attribute batadv_attr_##_name = { \
|
struct bat_attribute batadv_attr_##_name = { \
|
||||||
.attr = {.name = __stringify(_name), \
|
.attr = {.name = __stringify(_name), \
|
||||||
.mode = _mode }, \
|
.mode = _mode }, \
|
||||||
.show = _show, \
|
.show = _show, \
|
||||||
.store = _store, \
|
.store = _store, \
|
||||||
};
|
};
|
||||||
|
|
||||||
#define BAT_ATTR_SIF_STORE_BOOL(_name, _post_func) \
|
#define BATADV_ATTR_SIF_STORE_BOOL(_name, _post_func) \
|
||||||
ssize_t batadv_store_##_name(struct kobject *kobj, \
|
ssize_t batadv_store_##_name(struct kobject *kobj, \
|
||||||
struct attribute *attr, char *buff, \
|
struct attribute *attr, char *buff, \
|
||||||
size_t count) \
|
size_t count) \
|
||||||
@ -72,7 +72,7 @@ ssize_t batadv_store_##_name(struct kobject *kobj, \
|
|||||||
&bat_priv->_name, net_dev); \
|
&bat_priv->_name, net_dev); \
|
||||||
}
|
}
|
||||||
|
|
||||||
#define BAT_ATTR_SIF_SHOW_BOOL(_name) \
|
#define BATADV_ATTR_SIF_SHOW_BOOL(_name) \
|
||||||
ssize_t batadv_show_##_name(struct kobject *kobj, \
|
ssize_t batadv_show_##_name(struct kobject *kobj, \
|
||||||
struct attribute *attr, char *buff) \
|
struct attribute *attr, char *buff) \
|
||||||
{ \
|
{ \
|
||||||
@ -85,14 +85,14 @@ ssize_t batadv_show_##_name(struct kobject *kobj, \
|
|||||||
/* Use this, if you are going to turn a [name] in the soft-interface
|
/* Use this, if you are going to turn a [name] in the soft-interface
|
||||||
* (bat_priv) on or off
|
* (bat_priv) on or off
|
||||||
*/
|
*/
|
||||||
#define BAT_ATTR_SIF_BOOL(_name, _mode, _post_func) \
|
#define BATADV_ATTR_SIF_BOOL(_name, _mode, _post_func) \
|
||||||
static BAT_ATTR_SIF_STORE_BOOL(_name, _post_func) \
|
static BATADV_ATTR_SIF_STORE_BOOL(_name, _post_func) \
|
||||||
static BAT_ATTR_SIF_SHOW_BOOL(_name) \
|
static BATADV_ATTR_SIF_SHOW_BOOL(_name) \
|
||||||
static BAT_ATTR(_name, _mode, batadv_show_##_name, \
|
static BATADV_ATTR(_name, _mode, batadv_show_##_name, \
|
||||||
batadv_store_##_name)
|
batadv_store_##_name)
|
||||||
|
|
||||||
|
|
||||||
#define BAT_ATTR_SIF_STORE_UINT(_name, _min, _max, _post_func) \
|
#define BATADV_ATTR_SIF_STORE_UINT(_name, _min, _max, _post_func) \
|
||||||
ssize_t batadv_store_##_name(struct kobject *kobj, \
|
ssize_t batadv_store_##_name(struct kobject *kobj, \
|
||||||
struct attribute *attr, char *buff, \
|
struct attribute *attr, char *buff, \
|
||||||
size_t count) \
|
size_t count) \
|
||||||
@ -104,7 +104,7 @@ ssize_t batadv_store_##_name(struct kobject *kobj, \
|
|||||||
&bat_priv->_name, net_dev); \
|
&bat_priv->_name, net_dev); \
|
||||||
}
|
}
|
||||||
|
|
||||||
#define BAT_ATTR_SIF_SHOW_UINT(_name) \
|
#define BATADV_ATTR_SIF_SHOW_UINT(_name) \
|
||||||
ssize_t batadv_show_##_name(struct kobject *kobj, \
|
ssize_t batadv_show_##_name(struct kobject *kobj, \
|
||||||
struct attribute *attr, char *buff) \
|
struct attribute *attr, char *buff) \
|
||||||
{ \
|
{ \
|
||||||
@ -115,14 +115,14 @@ ssize_t batadv_show_##_name(struct kobject *kobj, \
|
|||||||
/* Use this, if you are going to set [name] in the soft-interface
|
/* Use this, if you are going to set [name] in the soft-interface
|
||||||
* (bat_priv) to an unsigned integer value
|
* (bat_priv) to an unsigned integer value
|
||||||
*/
|
*/
|
||||||
#define BAT_ATTR_SIF_UINT(_name, _mode, _min, _max, _post_func) \
|
#define BATADV_ATTR_SIF_UINT(_name, _mode, _min, _max, _post_func) \
|
||||||
static BAT_ATTR_SIF_STORE_UINT(_name, _min, _max, _post_func) \
|
static BATADV_ATTR_SIF_STORE_UINT(_name, _min, _max, _post_func)\
|
||||||
static BAT_ATTR_SIF_SHOW_UINT(_name) \
|
static BATADV_ATTR_SIF_SHOW_UINT(_name) \
|
||||||
static BAT_ATTR(_name, _mode, batadv_show_##_name, \
|
static BATADV_ATTR(_name, _mode, batadv_show_##_name, \
|
||||||
batadv_store_##_name)
|
batadv_store_##_name)
|
||||||
|
|
||||||
|
|
||||||
#define BAT_ATTR_HIF_STORE_UINT(_name, _min, _max, _post_func) \
|
#define BATADV_ATTR_HIF_STORE_UINT(_name, _min, _max, _post_func) \
|
||||||
ssize_t batadv_store_##_name(struct kobject *kobj, \
|
ssize_t batadv_store_##_name(struct kobject *kobj, \
|
||||||
struct attribute *attr, char *buff, \
|
struct attribute *attr, char *buff, \
|
||||||
size_t count) \
|
size_t count) \
|
||||||
@ -143,7 +143,7 @@ ssize_t batadv_store_##_name(struct kobject *kobj, \
|
|||||||
return length; \
|
return length; \
|
||||||
}
|
}
|
||||||
|
|
||||||
#define BAT_ATTR_HIF_SHOW_UINT(_name) \
|
#define BATADV_ATTR_HIF_SHOW_UINT(_name) \
|
||||||
ssize_t batadv_show_##_name(struct kobject *kobj, \
|
ssize_t batadv_show_##_name(struct kobject *kobj, \
|
||||||
struct attribute *attr, char *buff) \
|
struct attribute *attr, char *buff) \
|
||||||
{ \
|
{ \
|
||||||
@ -164,11 +164,11 @@ ssize_t batadv_show_##_name(struct kobject *kobj, \
|
|||||||
/* Use this, if you are going to set [name] in hard_iface to an
|
/* Use this, if you are going to set [name] in hard_iface to an
|
||||||
* unsigned integer value
|
* unsigned integer value
|
||||||
*/
|
*/
|
||||||
#define BAT_ATTR_HIF_UINT(_name, _mode, _min, _max, _post_func) \
|
#define BATADV_ATTR_HIF_UINT(_name, _mode, _min, _max, _post_func) \
|
||||||
static BAT_ATTR_HIF_STORE_UINT(_name, _min, _max, _post_func) \
|
static BATADV_ATTR_HIF_STORE_UINT(_name, _min, _max, _post_func)\
|
||||||
static BAT_ATTR_HIF_SHOW_UINT(_name) \
|
static BATADV_ATTR_HIF_SHOW_UINT(_name) \
|
||||||
static BAT_ATTR(_name, _mode, batadv_show_##_name, \
|
static BATADV_ATTR(_name, _mode, batadv_show_##_name, \
|
||||||
batadv_store_##_name)
|
batadv_store_##_name)
|
||||||
|
|
||||||
|
|
||||||
static int batadv_store_bool_attr(char *buff, size_t count,
|
static int batadv_store_bool_attr(char *buff, size_t count,
|
||||||
@ -454,26 +454,27 @@ static ssize_t batadv_store_gw_bwidth(struct kobject *kobj,
|
|||||||
return batadv_gw_bandwidth_set(net_dev, buff, count);
|
return batadv_gw_bandwidth_set(net_dev, buff, count);
|
||||||
}
|
}
|
||||||
|
|
||||||
BAT_ATTR_SIF_BOOL(aggregated_ogms, S_IRUGO | S_IWUSR, NULL);
|
BATADV_ATTR_SIF_BOOL(aggregated_ogms, S_IRUGO | S_IWUSR, NULL);
|
||||||
BAT_ATTR_SIF_BOOL(bonding, S_IRUGO | S_IWUSR, NULL);
|
BATADV_ATTR_SIF_BOOL(bonding, S_IRUGO | S_IWUSR, NULL);
|
||||||
#ifdef CONFIG_BATMAN_ADV_BLA
|
#ifdef CONFIG_BATMAN_ADV_BLA
|
||||||
BAT_ATTR_SIF_BOOL(bridge_loop_avoidance, S_IRUGO | S_IWUSR, NULL);
|
BATADV_ATTR_SIF_BOOL(bridge_loop_avoidance, S_IRUGO | S_IWUSR, NULL);
|
||||||
#endif
|
#endif
|
||||||
BAT_ATTR_SIF_BOOL(fragmentation, S_IRUGO | S_IWUSR, batadv_update_min_mtu);
|
BATADV_ATTR_SIF_BOOL(fragmentation, S_IRUGO | S_IWUSR, batadv_update_min_mtu);
|
||||||
BAT_ATTR_SIF_BOOL(ap_isolation, S_IRUGO | S_IWUSR, NULL);
|
BATADV_ATTR_SIF_BOOL(ap_isolation, S_IRUGO | S_IWUSR, NULL);
|
||||||
static BAT_ATTR(vis_mode, S_IRUGO | S_IWUSR, batadv_show_vis_mode,
|
static BATADV_ATTR(vis_mode, S_IRUGO | S_IWUSR, batadv_show_vis_mode,
|
||||||
batadv_store_vis_mode);
|
batadv_store_vis_mode);
|
||||||
static BAT_ATTR(routing_algo, S_IRUGO, batadv_show_bat_algo, NULL);
|
static BATADV_ATTR(routing_algo, S_IRUGO, batadv_show_bat_algo, NULL);
|
||||||
static BAT_ATTR(gw_mode, S_IRUGO | S_IWUSR, batadv_show_gw_mode,
|
static BATADV_ATTR(gw_mode, S_IRUGO | S_IWUSR, batadv_show_gw_mode,
|
||||||
batadv_store_gw_mode);
|
batadv_store_gw_mode);
|
||||||
BAT_ATTR_SIF_UINT(orig_interval, S_IRUGO | S_IWUSR, 2 * JITTER, INT_MAX, NULL);
|
BATADV_ATTR_SIF_UINT(orig_interval, S_IRUGO | S_IWUSR, 2 * JITTER, INT_MAX,
|
||||||
BAT_ATTR_SIF_UINT(hop_penalty, S_IRUGO | S_IWUSR, 0, TQ_MAX_VALUE, NULL);
|
NULL);
|
||||||
BAT_ATTR_SIF_UINT(gw_sel_class, S_IRUGO | S_IWUSR, 1, TQ_MAX_VALUE,
|
BATADV_ATTR_SIF_UINT(hop_penalty, S_IRUGO | S_IWUSR, 0, TQ_MAX_VALUE, NULL);
|
||||||
batadv_post_gw_deselect);
|
BATADV_ATTR_SIF_UINT(gw_sel_class, S_IRUGO | S_IWUSR, 1, TQ_MAX_VALUE,
|
||||||
static BAT_ATTR(gw_bandwidth, S_IRUGO | S_IWUSR, batadv_show_gw_bwidth,
|
batadv_post_gw_deselect);
|
||||||
batadv_store_gw_bwidth);
|
static BATADV_ATTR(gw_bandwidth, S_IRUGO | S_IWUSR, batadv_show_gw_bwidth,
|
||||||
|
batadv_store_gw_bwidth);
|
||||||
#ifdef CONFIG_BATMAN_ADV_DEBUG
|
#ifdef CONFIG_BATMAN_ADV_DEBUG
|
||||||
BAT_ATTR_SIF_UINT(log_level, S_IRUGO | S_IWUSR, 0, DBG_ALL, NULL);
|
BATADV_ATTR_SIF_UINT(log_level, S_IRUGO | S_IWUSR, 0, DBG_ALL, NULL);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static struct bat_attribute *batadv_mesh_attrs[] = {
|
static struct bat_attribute *batadv_mesh_attrs[] = {
|
||||||
@ -656,9 +657,9 @@ static ssize_t batadv_show_iface_status(struct kobject *kobj,
|
|||||||
return length;
|
return length;
|
||||||
}
|
}
|
||||||
|
|
||||||
static BAT_ATTR(mesh_iface, S_IRUGO | S_IWUSR,
|
static BATADV_ATTR(mesh_iface, S_IRUGO | S_IWUSR, batadv_show_mesh_iface,
|
||||||
batadv_show_mesh_iface, batadv_store_mesh_iface);
|
batadv_store_mesh_iface);
|
||||||
static BAT_ATTR(iface_status, S_IRUGO, batadv_show_iface_status, NULL);
|
static BATADV_ATTR(iface_status, S_IRUGO, batadv_show_iface_status, NULL);
|
||||||
|
|
||||||
static struct bat_attribute *batadv_batman_attrs[] = {
|
static struct bat_attribute *batadv_batman_attrs[] = {
|
||||||
&batadv_attr_mesh_iface,
|
&batadv_attr_mesh_iface,
|
||||||
@ -720,31 +721,32 @@ int batadv_throw_uevent(struct bat_priv *bat_priv, enum uev_type type,
|
|||||||
|
|
||||||
bat_kobj = &primary_if->soft_iface->dev.kobj;
|
bat_kobj = &primary_if->soft_iface->dev.kobj;
|
||||||
|
|
||||||
uevent_env[0] = kmalloc(strlen(UEV_TYPE_VAR) +
|
uevent_env[0] = kmalloc(strlen(BATADV_UEV_TYPE_VAR) +
|
||||||
strlen(batadv_uev_type_str[type]) + 1,
|
strlen(batadv_uev_type_str[type]) + 1,
|
||||||
GFP_ATOMIC);
|
GFP_ATOMIC);
|
||||||
if (!uevent_env[0])
|
if (!uevent_env[0])
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
sprintf(uevent_env[0], "%s%s", UEV_TYPE_VAR, batadv_uev_type_str[type]);
|
sprintf(uevent_env[0], "%s%s", BATADV_UEV_TYPE_VAR,
|
||||||
|
batadv_uev_type_str[type]);
|
||||||
|
|
||||||
uevent_env[1] = kmalloc(strlen(UEV_ACTION_VAR) +
|
uevent_env[1] = kmalloc(strlen(BATADV_UEV_ACTION_VAR) +
|
||||||
strlen(batadv_uev_action_str[action]) + 1,
|
strlen(batadv_uev_action_str[action]) + 1,
|
||||||
GFP_ATOMIC);
|
GFP_ATOMIC);
|
||||||
if (!uevent_env[1])
|
if (!uevent_env[1])
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
sprintf(uevent_env[1], "%s%s", UEV_ACTION_VAR,
|
sprintf(uevent_env[1], "%s%s", BATADV_UEV_ACTION_VAR,
|
||||||
batadv_uev_action_str[action]);
|
batadv_uev_action_str[action]);
|
||||||
|
|
||||||
/* If the event is DEL, ignore the data field */
|
/* If the event is DEL, ignore the data field */
|
||||||
if (action != UEV_DEL) {
|
if (action != UEV_DEL) {
|
||||||
uevent_env[2] = kmalloc(strlen(UEV_DATA_VAR) +
|
uevent_env[2] = kmalloc(strlen(BATADV_UEV_DATA_VAR) +
|
||||||
strlen(data) + 1, GFP_ATOMIC);
|
strlen(data) + 1, GFP_ATOMIC);
|
||||||
if (!uevent_env[2])
|
if (!uevent_env[2])
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
sprintf(uevent_env[2], "%s%s", UEV_DATA_VAR, data);
|
sprintf(uevent_env[2], "%s%s", BATADV_UEV_DATA_VAR, data);
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = kobject_uevent_env(bat_kobj, KOBJ_CHANGE, uevent_env);
|
ret = kobject_uevent_env(bat_kobj, KOBJ_CHANGE, uevent_env);
|
||||||
|
@ -33,8 +33,8 @@
|
|||||||
/* This is the offset of the options field in a dhcp packet starting at
|
/* This is the offset of the options field in a dhcp packet starting at
|
||||||
* the beginning of the dhcp header
|
* the beginning of the dhcp header
|
||||||
*/
|
*/
|
||||||
#define DHCP_OPTIONS_OFFSET 240
|
#define BATADV_DHCP_OPTIONS_OFFSET 240
|
||||||
#define DHCP_REQUEST 3
|
#define BATADV_DHCP_REQUEST 3
|
||||||
|
|
||||||
static void batadv_gw_node_free_ref(struct gw_node *gw_node)
|
static void batadv_gw_node_free_ref(struct gw_node *gw_node)
|
||||||
{
|
{
|
||||||
@ -521,11 +521,11 @@ static bool batadv_is_type_dhcprequest(struct sk_buff *skb, int header_len)
|
|||||||
|
|
||||||
pkt_len = skb_headlen(skb);
|
pkt_len = skb_headlen(skb);
|
||||||
|
|
||||||
if (pkt_len < header_len + DHCP_OPTIONS_OFFSET + 1)
|
if (pkt_len < header_len + BATADV_DHCP_OPTIONS_OFFSET + 1)
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
p = skb->data + header_len + DHCP_OPTIONS_OFFSET;
|
p = skb->data + header_len + BATADV_DHCP_OPTIONS_OFFSET;
|
||||||
pkt_len -= header_len + DHCP_OPTIONS_OFFSET + 1;
|
pkt_len -= header_len + BATADV_DHCP_OPTIONS_OFFSET + 1;
|
||||||
|
|
||||||
/* Access the dhcp option lists. Each entry is made up by:
|
/* Access the dhcp option lists. Each entry is made up by:
|
||||||
* - octet 1: option type
|
* - octet 1: option type
|
||||||
@ -543,7 +543,7 @@ static bool batadv_is_type_dhcprequest(struct sk_buff *skb, int header_len)
|
|||||||
p += 2;
|
p += 2;
|
||||||
|
|
||||||
/* check if the message type is what we need */
|
/* check if the message type is what we need */
|
||||||
if (*p == DHCP_REQUEST)
|
if (*p == BATADV_DHCP_REQUEST)
|
||||||
ret = true;
|
ret = true;
|
||||||
break;
|
break;
|
||||||
} else if (*p == 0) {
|
} else if (*p == 0) {
|
||||||
|
@ -26,7 +26,7 @@
|
|||||||
#include "hash.h"
|
#include "hash.h"
|
||||||
#include "originator.h"
|
#include "originator.h"
|
||||||
|
|
||||||
#define MAX_VIS_PACKET_SIZE 1000
|
#define BATADV_MAX_VIS_PACKET_SIZE 1000
|
||||||
|
|
||||||
static void batadv_start_vis_timer(struct bat_priv *bat_priv);
|
static void batadv_start_vis_timer(struct bat_priv *bat_priv);
|
||||||
|
|
||||||
@ -544,10 +544,12 @@ static int batadv_find_best_vis_server(struct bat_priv *bat_priv,
|
|||||||
static bool batadv_vis_packet_full(const struct vis_info *info)
|
static bool batadv_vis_packet_full(const struct vis_info *info)
|
||||||
{
|
{
|
||||||
const struct vis_packet *packet;
|
const struct vis_packet *packet;
|
||||||
packet = (struct vis_packet *)info->skb_packet->data;
|
size_t num_items;
|
||||||
|
|
||||||
if (MAX_VIS_PACKET_SIZE / sizeof(struct vis_info_entry)
|
packet = (struct vis_packet *)info->skb_packet->data;
|
||||||
< packet->entries + 1)
|
num_items = BATADV_MAX_VIS_PACKET_SIZE / sizeof(struct vis_info_entry);
|
||||||
|
|
||||||
|
if (num_items < packet->entries + 1)
|
||||||
return true;
|
return true;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -838,6 +840,7 @@ int batadv_vis_init(struct bat_priv *bat_priv)
|
|||||||
{
|
{
|
||||||
struct vis_packet *packet;
|
struct vis_packet *packet;
|
||||||
int hash_added;
|
int hash_added;
|
||||||
|
unsigned int len;
|
||||||
|
|
||||||
if (bat_priv->vis_hash)
|
if (bat_priv->vis_hash)
|
||||||
return 0;
|
return 0;
|
||||||
@ -850,13 +853,12 @@ int batadv_vis_init(struct bat_priv *bat_priv)
|
|||||||
goto err;
|
goto err;
|
||||||
}
|
}
|
||||||
|
|
||||||
bat_priv->my_vis_info = kmalloc(MAX_VIS_PACKET_SIZE, GFP_ATOMIC);
|
bat_priv->my_vis_info = kmalloc(BATADV_MAX_VIS_PACKET_SIZE, GFP_ATOMIC);
|
||||||
if (!bat_priv->my_vis_info)
|
if (!bat_priv->my_vis_info)
|
||||||
goto err;
|
goto err;
|
||||||
|
|
||||||
bat_priv->my_vis_info->skb_packet = dev_alloc_skb(sizeof(*packet) +
|
len = sizeof(*packet) + BATADV_MAX_VIS_PACKET_SIZE + ETH_HLEN;
|
||||||
MAX_VIS_PACKET_SIZE +
|
bat_priv->my_vis_info->skb_packet = dev_alloc_skb(len);
|
||||||
ETH_HLEN);
|
|
||||||
if (!bat_priv->my_vis_info->skb_packet)
|
if (!bat_priv->my_vis_info->skb_packet)
|
||||||
goto free_info;
|
goto free_info;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user