forked from Minki/linux
Included changes:
- checkpatch fixes - code cleanup - debugfs component is now compiled only if DEBUG_FS is selected - update copyright years - disable by default not-so-user-safe features -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQIcBAABCAAGBQJVaCjMAAoJEOb/4TMchkvfQS0QANDW/0eOT8azlbik5+MZTC5i d+K1Xbc7Qn7ebo5F27eRGNrgV5a8Wwx1JUCANXhAfjSURItj3KoHbjLYN2lJLn5L mBoU7IWwqUzX2garm7xKm94TTaN3Q6t/NGYVeQqJXNcWBDJQcNAr7ECg8tpV16Ec +o6FPsuZBX1dKNijvcy77VNGAaauhAbfMuAYRJDx6CtCIyWg+f/vcAeTR2PCmbMD FP2qD2zHBnR5feQF9YtrCOUHX3SzKlnCBQ1DyUzWbC40eGJWQPZiml+CC0r7fNrI buOlk2yDI1Pc0/TIDrm3B3f0LqoQhmC4h0EDP/tazoiHAe/Vh06D4dmsC81XBM+H 9wEzU+C20DUjDVIyTzboIDjcSNwTN5TxK0dG72vc+yDfSSAmJVtLQ8dqQevRp6cd NPVebjCyJKXoBZWd1o7KO0s41dTbFBVHrA5ZLaEu5TcCMpKHzicJJyMr+OLgqTQE tqLMzqR+7VPmJfIwXuHX+wqHlsJCkrU1zyiuOyBn6uQ4rvbg503eadJffOAaLeCH FpOtKkQ34HNDUchgmiFVWWV1w6r3Si3/a7WRJN55B49sIZqJxxQfB2Evlk8vYNzT sVDFsNk8QnbaL2yCwxJEXj/Kgyfxj/PLAoxDnkt+cHWOF6nbGPHyIdDJQGSAHFrp NcZisqImn5iJS+2QV68a =2UBm -----END PGP SIGNATURE----- Merge tag 'batman-adv-for-davem' of git://git.open-mesh.org/linux-merge Antonio Quartulli says: ==================== Included changes: - checkpatch fixes - code cleanup - debugfs component is now compiled only if DEBUG_FS is selected - update copyright years - disable by default not-so-user-safe features ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
commit
a9ab2184f4
@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (C) 2007-2014 B.A.T.M.A.N. contributors:
|
||||
# Copyright (C) 2007-2015 B.A.T.M.A.N. contributors:
|
||||
#
|
||||
# Marek Lindner, Simon Wunderlich
|
||||
#
|
||||
@ -20,7 +20,7 @@ obj-$(CONFIG_BATMAN_ADV) += batman-adv.o
|
||||
batman-adv-y += bat_iv_ogm.o
|
||||
batman-adv-y += bitarray.o
|
||||
batman-adv-$(CONFIG_BATMAN_ADV_BLA) += bridge_loop_avoidance.o
|
||||
batman-adv-y += debugfs.o
|
||||
batman-adv-$(CONFIG_DEBUG_FS) += debugfs.o
|
||||
batman-adv-$(CONFIG_BATMAN_ADV_DAT) += distributed-arp-table.o
|
||||
batman-adv-y += fragmentation.o
|
||||
batman-adv-y += gateway_client.o
|
||||
@ -29,6 +29,7 @@ batman-adv-y += hard-interface.o
|
||||
batman-adv-y += hash.o
|
||||
batman-adv-y += icmp_socket.o
|
||||
batman-adv-y += main.o
|
||||
batman-adv-$(CONFIG_BATMAN_ADV_MCAST) += multicast.o
|
||||
batman-adv-$(CONFIG_BATMAN_ADV_NC) += network-coding.o
|
||||
batman-adv-y += originator.o
|
||||
batman-adv-y += routing.o
|
||||
@ -36,4 +37,3 @@ batman-adv-y += send.o
|
||||
batman-adv-y += soft-interface.o
|
||||
batman-adv-y += sysfs.o
|
||||
batman-adv-y += translation-table.o
|
||||
batman-adv-$(CONFIG_BATMAN_ADV_MCAST) += multicast.o
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 2011-2014 B.A.T.M.A.N. contributors:
|
||||
/* Copyright (C) 2011-2015 B.A.T.M.A.N. contributors:
|
||||
*
|
||||
* Marek Lindner
|
||||
*
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 2007-2014 B.A.T.M.A.N. contributors:
|
||||
/* Copyright (C) 2007-2015 B.A.T.M.A.N. contributors:
|
||||
*
|
||||
* Marek Lindner, Simon Wunderlich
|
||||
*
|
||||
@ -308,7 +308,6 @@ static int batadv_iv_ogm_iface_enable(struct batadv_hard_iface *hard_iface)
|
||||
struct batadv_ogm_packet *batadv_ogm_packet;
|
||||
unsigned char *ogm_buff;
|
||||
uint32_t random_seqno;
|
||||
int res = -ENOMEM;
|
||||
|
||||
/* randomize initial seqno to avoid collision */
|
||||
get_random_bytes(&random_seqno, sizeof(random_seqno));
|
||||
@ -317,7 +316,7 @@ static int batadv_iv_ogm_iface_enable(struct batadv_hard_iface *hard_iface)
|
||||
hard_iface->bat_iv.ogm_buff_len = BATADV_OGM_HLEN;
|
||||
ogm_buff = kmalloc(hard_iface->bat_iv.ogm_buff_len, GFP_ATOMIC);
|
||||
if (!ogm_buff)
|
||||
goto out;
|
||||
return -ENOMEM;
|
||||
|
||||
hard_iface->bat_iv.ogm_buff = ogm_buff;
|
||||
|
||||
@ -329,10 +328,7 @@ static int batadv_iv_ogm_iface_enable(struct batadv_hard_iface *hard_iface)
|
||||
batadv_ogm_packet->reserved = 0;
|
||||
batadv_ogm_packet->tq = BATADV_TQ_MAX_VALUE;
|
||||
|
||||
res = 0;
|
||||
|
||||
out:
|
||||
return res;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void batadv_iv_ogm_iface_disable(struct batadv_hard_iface *hard_iface)
|
||||
@ -396,8 +392,8 @@ static uint8_t batadv_hop_penalty(uint8_t tq,
|
||||
}
|
||||
|
||||
/* is there another aggregated packet here? */
|
||||
static int batadv_iv_ogm_aggr_packet(int buff_pos, int packet_len,
|
||||
__be16 tvlv_len)
|
||||
static bool batadv_iv_ogm_aggr_packet(int buff_pos, int packet_len,
|
||||
__be16 tvlv_len)
|
||||
{
|
||||
int next_buff_pos = 0;
|
||||
|
||||
@ -413,7 +409,7 @@ static void batadv_iv_ogm_send_to_if(struct batadv_forw_packet *forw_packet,
|
||||
struct batadv_hard_iface *hard_iface)
|
||||
{
|
||||
struct batadv_priv *bat_priv = netdev_priv(hard_iface->soft_iface);
|
||||
char *fwd_str;
|
||||
const char *fwd_str;
|
||||
uint8_t packet_num;
|
||||
int16_t buff_pos;
|
||||
struct batadv_ogm_packet *batadv_ogm_packet;
|
||||
@ -548,58 +544,62 @@ batadv_iv_ogm_can_aggregate(const struct batadv_ogm_packet *new_bat_ogm_packet,
|
||||
* - the send time is within our MAX_AGGREGATION_MS time
|
||||
* - the resulting packet wont be bigger than
|
||||
* MAX_AGGREGATION_BYTES
|
||||
* otherwise aggregation is not possible
|
||||
*/
|
||||
if (time_before(send_time, forw_packet->send_time) &&
|
||||
time_after_eq(aggregation_end_time, forw_packet->send_time) &&
|
||||
(aggregated_bytes <= BATADV_MAX_AGGREGATION_BYTES)) {
|
||||
/* check aggregation compatibility
|
||||
* -> direct link packets are broadcasted on
|
||||
* their interface only
|
||||
* -> aggregate packet if the current packet is
|
||||
* a "global" packet as well as the base
|
||||
* packet
|
||||
*/
|
||||
primary_if = batadv_primary_if_get_selected(bat_priv);
|
||||
if (!primary_if)
|
||||
goto out;
|
||||
if (!time_before(send_time, forw_packet->send_time) ||
|
||||
!time_after_eq(aggregation_end_time, forw_packet->send_time))
|
||||
return false;
|
||||
|
||||
/* packet is not leaving on the same interface. */
|
||||
if (forw_packet->if_outgoing != if_outgoing)
|
||||
goto out;
|
||||
if (aggregated_bytes > BATADV_MAX_AGGREGATION_BYTES)
|
||||
return false;
|
||||
|
||||
/* packets without direct link flag and high TTL
|
||||
* are flooded through the net
|
||||
*/
|
||||
if ((!directlink) &&
|
||||
(!(batadv_ogm_packet->flags & BATADV_DIRECTLINK)) &&
|
||||
(batadv_ogm_packet->ttl != 1) &&
|
||||
/* packet is not leaving on the same interface. */
|
||||
if (forw_packet->if_outgoing != if_outgoing)
|
||||
return false;
|
||||
|
||||
/* own packets originating non-primary
|
||||
* interfaces leave only that interface
|
||||
*/
|
||||
((!forw_packet->own) ||
|
||||
(forw_packet->if_incoming == primary_if))) {
|
||||
res = true;
|
||||
goto out;
|
||||
}
|
||||
/* check aggregation compatibility
|
||||
* -> direct link packets are broadcasted on
|
||||
* their interface only
|
||||
* -> aggregate packet if the current packet is
|
||||
* a "global" packet as well as the base
|
||||
* packet
|
||||
*/
|
||||
primary_if = batadv_primary_if_get_selected(bat_priv);
|
||||
if (!primary_if)
|
||||
return false;
|
||||
|
||||
/* if the incoming packet is sent via this one
|
||||
* interface only - we still can aggregate
|
||||
*/
|
||||
if ((directlink) &&
|
||||
(new_bat_ogm_packet->ttl == 1) &&
|
||||
(forw_packet->if_incoming == if_incoming) &&
|
||||
/* packets without direct link flag and high TTL
|
||||
* are flooded through the net
|
||||
*/
|
||||
if (!directlink &&
|
||||
!(batadv_ogm_packet->flags & BATADV_DIRECTLINK) &&
|
||||
batadv_ogm_packet->ttl != 1 &&
|
||||
|
||||
/* packets from direct neighbors or
|
||||
* own secondary interface packets
|
||||
* (= secondary interface packets in general)
|
||||
*/
|
||||
(batadv_ogm_packet->flags & BATADV_DIRECTLINK ||
|
||||
(forw_packet->own &&
|
||||
forw_packet->if_incoming != primary_if))) {
|
||||
res = true;
|
||||
goto out;
|
||||
}
|
||||
/* own packets originating non-primary
|
||||
* interfaces leave only that interface
|
||||
*/
|
||||
(!forw_packet->own ||
|
||||
forw_packet->if_incoming == primary_if)) {
|
||||
res = true;
|
||||
goto out;
|
||||
}
|
||||
|
||||
/* if the incoming packet is sent via this one
|
||||
* interface only - we still can aggregate
|
||||
*/
|
||||
if (directlink &&
|
||||
new_bat_ogm_packet->ttl == 1 &&
|
||||
forw_packet->if_incoming == if_incoming &&
|
||||
|
||||
/* packets from direct neighbors or
|
||||
* own secondary interface packets
|
||||
* (= secondary interface packets in general)
|
||||
*/
|
||||
(batadv_ogm_packet->flags & BATADV_DIRECTLINK ||
|
||||
(forw_packet->own &&
|
||||
forw_packet->if_incoming != primary_if))) {
|
||||
res = true;
|
||||
goto out;
|
||||
}
|
||||
|
||||
out:
|
||||
@ -1081,7 +1081,7 @@ batadv_iv_ogm_orig_update(struct batadv_priv *bat_priv,
|
||||
* won't consider it either
|
||||
*/
|
||||
if (router_ifinfo &&
|
||||
(neigh_ifinfo->bat_iv.tq_avg == router_ifinfo->bat_iv.tq_avg)) {
|
||||
neigh_ifinfo->bat_iv.tq_avg == router_ifinfo->bat_iv.tq_avg) {
|
||||
orig_node_tmp = router->orig_node;
|
||||
spin_lock_bh(&orig_node_tmp->bat_iv.ogm_cnt_lock);
|
||||
if_num = router->if_incoming->if_num;
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 2006-2014 B.A.T.M.A.N. contributors:
|
||||
/* Copyright (C) 2006-2015 B.A.T.M.A.N. contributors:
|
||||
*
|
||||
* Simon Wunderlich, Marek Lindner
|
||||
*
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 2006-2014 B.A.T.M.A.N. contributors:
|
||||
/* Copyright (C) 2006-2015 B.A.T.M.A.N. contributors:
|
||||
*
|
||||
* Simon Wunderlich, Marek Lindner
|
||||
*
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 2011-2014 B.A.T.M.A.N. contributors:
|
||||
/* Copyright (C) 2011-2015 B.A.T.M.A.N. contributors:
|
||||
*
|
||||
* Simon Wunderlich
|
||||
*
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 2011-2014 B.A.T.M.A.N. contributors:
|
||||
/* Copyright (C) 2011-2015 B.A.T.M.A.N. contributors:
|
||||
*
|
||||
* Simon Wunderlich
|
||||
*
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 2010-2014 B.A.T.M.A.N. contributors:
|
||||
/* Copyright (C) 2010-2015 B.A.T.M.A.N. contributors:
|
||||
*
|
||||
* Marek Lindner
|
||||
*
|
||||
@ -482,11 +482,7 @@ rem_attr:
|
||||
debugfs_remove_recursive(hard_iface->debug_dir);
|
||||
hard_iface->debug_dir = NULL;
|
||||
out:
|
||||
#ifdef CONFIG_DEBUG_FS
|
||||
return -ENOMEM;
|
||||
#else
|
||||
return 0;
|
||||
#endif /* CONFIG_DEBUG_FS */
|
||||
}
|
||||
|
||||
/**
|
||||
@ -541,11 +537,7 @@ rem_attr:
|
||||
debugfs_remove_recursive(bat_priv->debug_dir);
|
||||
bat_priv->debug_dir = NULL;
|
||||
out:
|
||||
#ifdef CONFIG_DEBUG_FS
|
||||
return -ENOMEM;
|
||||
#else
|
||||
return 0;
|
||||
#endif /* CONFIG_DEBUG_FS */
|
||||
}
|
||||
|
||||
void batadv_debugfs_del_meshif(struct net_device *dev)
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 2010-2014 B.A.T.M.A.N. contributors:
|
||||
/* Copyright (C) 2010-2015 B.A.T.M.A.N. contributors:
|
||||
*
|
||||
* Marek Lindner
|
||||
*
|
||||
@ -20,6 +20,8 @@
|
||||
|
||||
#define BATADV_DEBUGFS_SUBDIR "batman_adv"
|
||||
|
||||
#if IS_ENABLED(CONFIG_DEBUG_FS)
|
||||
|
||||
void batadv_debugfs_init(void);
|
||||
void batadv_debugfs_destroy(void);
|
||||
int batadv_debugfs_add_meshif(struct net_device *dev);
|
||||
@ -27,4 +29,36 @@ void batadv_debugfs_del_meshif(struct net_device *dev);
|
||||
int batadv_debugfs_add_hardif(struct batadv_hard_iface *hard_iface);
|
||||
void batadv_debugfs_del_hardif(struct batadv_hard_iface *hard_iface);
|
||||
|
||||
#else
|
||||
|
||||
static inline void batadv_debugfs_init(void)
|
||||
{
|
||||
}
|
||||
|
||||
static inline void batadv_debugfs_destroy(void)
|
||||
{
|
||||
}
|
||||
|
||||
static inline int batadv_debugfs_add_meshif(struct net_device *dev)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline void batadv_debugfs_del_meshif(struct net_device *dev)
|
||||
{
|
||||
}
|
||||
|
||||
static inline
|
||||
int batadv_debugfs_add_hardif(struct batadv_hard_iface *hard_iface)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline
|
||||
void batadv_debugfs_del_hardif(struct batadv_hard_iface *hard_iface)
|
||||
{
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
#endif /* _NET_BATMAN_ADV_DEBUGFS_H_ */
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 2011-2014 B.A.T.M.A.N. contributors:
|
||||
/* Copyright (C) 2011-2015 B.A.T.M.A.N. contributors:
|
||||
*
|
||||
* Antonio Quartulli
|
||||
*
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 2011-2014 B.A.T.M.A.N. contributors:
|
||||
/* Copyright (C) 2011-2015 B.A.T.M.A.N. contributors:
|
||||
*
|
||||
* Antonio Quartulli
|
||||
*
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 2013-2014 B.A.T.M.A.N. contributors:
|
||||
/* Copyright (C) 2013-2015 B.A.T.M.A.N. contributors:
|
||||
*
|
||||
* Martin Hundebøll <martin@hundeboll.net>
|
||||
*
|
||||
@ -161,6 +161,7 @@ static bool batadv_frag_insert_packet(struct batadv_orig_node *orig_node,
|
||||
hlist_add_head(&frag_entry_new->list, &chain->head);
|
||||
chain->size = skb->len - hdr_size;
|
||||
chain->timestamp = jiffies;
|
||||
chain->total_size = ntohs(frag_packet->total_size);
|
||||
ret = true;
|
||||
goto out;
|
||||
}
|
||||
@ -195,9 +196,11 @@ static bool batadv_frag_insert_packet(struct batadv_orig_node *orig_node,
|
||||
|
||||
out:
|
||||
if (chain->size > batadv_frag_size_limit() ||
|
||||
ntohs(frag_packet->total_size) > batadv_frag_size_limit()) {
|
||||
chain->total_size != ntohs(frag_packet->total_size) ||
|
||||
chain->total_size > batadv_frag_size_limit()) {
|
||||
/* Clear chain if total size of either the list or the packet
|
||||
* exceeds the maximum size of one merged packet.
|
||||
* exceeds the maximum size of one merged packet. Don't allow
|
||||
* packets to have different total_size.
|
||||
*/
|
||||
batadv_frag_clear_chain(&chain->head);
|
||||
chain->size = 0;
|
||||
@ -228,19 +231,13 @@ err:
|
||||
* Returns the merged skb or NULL on error.
|
||||
*/
|
||||
static struct sk_buff *
|
||||
batadv_frag_merge_packets(struct hlist_head *chain, struct sk_buff *skb)
|
||||
batadv_frag_merge_packets(struct hlist_head *chain)
|
||||
{
|
||||
struct batadv_frag_packet *packet;
|
||||
struct batadv_frag_list_entry *entry;
|
||||
struct sk_buff *skb_out = NULL;
|
||||
int size, hdr_size = sizeof(struct batadv_frag_packet);
|
||||
|
||||
/* Make sure incoming skb has non-bogus data. */
|
||||
packet = (struct batadv_frag_packet *)skb->data;
|
||||
size = ntohs(packet->total_size);
|
||||
if (size > batadv_frag_size_limit())
|
||||
goto free;
|
||||
|
||||
/* Remove first entry, as this is the destination for the rest of the
|
||||
* fragments.
|
||||
*/
|
||||
@ -249,6 +246,9 @@ batadv_frag_merge_packets(struct hlist_head *chain, struct sk_buff *skb)
|
||||
skb_out = entry->skb;
|
||||
kfree(entry);
|
||||
|
||||
packet = (struct batadv_frag_packet *)skb_out->data;
|
||||
size = ntohs(packet->total_size);
|
||||
|
||||
/* Make room for the rest of the fragments. */
|
||||
if (pskb_expand_head(skb_out, 0, size - skb_out->len, GFP_ATOMIC) < 0) {
|
||||
kfree_skb(skb_out);
|
||||
@ -304,7 +304,7 @@ bool batadv_frag_skb_buffer(struct sk_buff **skb,
|
||||
if (hlist_empty(&head))
|
||||
goto out;
|
||||
|
||||
skb_out = batadv_frag_merge_packets(&head, *skb);
|
||||
skb_out = batadv_frag_merge_packets(&head);
|
||||
if (!skb_out)
|
||||
goto out_err;
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 2013-2014 B.A.T.M.A.N. contributors:
|
||||
/* Copyright (C) 2013-2015 B.A.T.M.A.N. contributors:
|
||||
*
|
||||
* Martin Hundebøll <martin@hundeboll.net>
|
||||
*
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 2009-2014 B.A.T.M.A.N. contributors:
|
||||
/* Copyright (C) 2009-2015 B.A.T.M.A.N. contributors:
|
||||
*
|
||||
* Marek Lindner
|
||||
*
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 2009-2014 B.A.T.M.A.N. contributors:
|
||||
/* Copyright (C) 2009-2015 B.A.T.M.A.N. contributors:
|
||||
*
|
||||
* Marek Lindner
|
||||
*
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 2009-2014 B.A.T.M.A.N. contributors:
|
||||
/* Copyright (C) 2009-2015 B.A.T.M.A.N. contributors:
|
||||
*
|
||||
* Marek Lindner
|
||||
*
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 2009-2014 B.A.T.M.A.N. contributors:
|
||||
/* Copyright (C) 2009-2015 B.A.T.M.A.N. contributors:
|
||||
*
|
||||
* Marek Lindner
|
||||
*
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 2007-2014 B.A.T.M.A.N. contributors:
|
||||
/* Copyright (C) 2007-2015 B.A.T.M.A.N. contributors:
|
||||
*
|
||||
* Marek Lindner, Simon Wunderlich
|
||||
*
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 2007-2014 B.A.T.M.A.N. contributors:
|
||||
/* Copyright (C) 2007-2015 B.A.T.M.A.N. contributors:
|
||||
*
|
||||
* Marek Lindner, Simon Wunderlich
|
||||
*
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 2006-2014 B.A.T.M.A.N. contributors:
|
||||
/* Copyright (C) 2006-2015 B.A.T.M.A.N. contributors:
|
||||
*
|
||||
* Simon Wunderlich, Marek Lindner
|
||||
*
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 2006-2014 B.A.T.M.A.N. contributors:
|
||||
/* Copyright (C) 2006-2015 B.A.T.M.A.N. contributors:
|
||||
*
|
||||
* Simon Wunderlich, Marek Lindner
|
||||
*
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 2007-2014 B.A.T.M.A.N. contributors:
|
||||
/* Copyright (C) 2007-2015 B.A.T.M.A.N. contributors:
|
||||
*
|
||||
* Marek Lindner
|
||||
*
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 2007-2014 B.A.T.M.A.N. contributors:
|
||||
/* Copyright (C) 2007-2015 B.A.T.M.A.N. contributors:
|
||||
*
|
||||
* Marek Lindner
|
||||
*
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 2007-2014 B.A.T.M.A.N. contributors:
|
||||
/* Copyright (C) 2007-2015 B.A.T.M.A.N. contributors:
|
||||
*
|
||||
* Marek Lindner, Simon Wunderlich
|
||||
*
|
||||
@ -819,15 +819,15 @@ static bool batadv_tvlv_realloc_packet_buff(unsigned char **packet_buff,
|
||||
new_buff = kmalloc(min_packet_len + additional_packet_len, GFP_ATOMIC);
|
||||
|
||||
/* keep old buffer if kmalloc should fail */
|
||||
if (new_buff) {
|
||||
memcpy(new_buff, *packet_buff, min_packet_len);
|
||||
kfree(*packet_buff);
|
||||
*packet_buff = new_buff;
|
||||
*packet_buff_len = min_packet_len + additional_packet_len;
|
||||
return true;
|
||||
}
|
||||
if (!new_buff)
|
||||
return false;
|
||||
|
||||
return false;
|
||||
memcpy(new_buff, *packet_buff, min_packet_len);
|
||||
kfree(*packet_buff);
|
||||
*packet_buff = new_buff;
|
||||
*packet_buff_len = min_packet_len + additional_packet_len;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 2007-2014 B.A.T.M.A.N. contributors:
|
||||
/* Copyright (C) 2007-2015 B.A.T.M.A.N. contributors:
|
||||
*
|
||||
* Marek Lindner, Simon Wunderlich
|
||||
*
|
||||
@ -24,7 +24,7 @@
|
||||
#define BATADV_DRIVER_DEVICE "batman-adv"
|
||||
|
||||
#ifndef BATADV_SOURCE_VERSION
|
||||
#define BATADV_SOURCE_VERSION "2015.0"
|
||||
#define BATADV_SOURCE_VERSION "2015.1"
|
||||
#endif
|
||||
|
||||
/* B.A.T.M.A.N. parameters */
|
||||
@ -44,7 +44,7 @@
|
||||
#define BATADV_TT_CLIENT_TEMP_TIMEOUT 600000 /* in milliseconds */
|
||||
#define BATADV_TT_WORK_PERIOD 5000 /* 5 seconds */
|
||||
#define BATADV_ORIG_WORK_PERIOD 1000 /* 1 second */
|
||||
#define BATADV_DAT_ENTRY_TIMEOUT (5*60000) /* 5 mins in milliseconds */
|
||||
#define BATADV_DAT_ENTRY_TIMEOUT (5 * 60000) /* 5 mins in milliseconds */
|
||||
/* sliding packet range of received originator messages in sequence numbers
|
||||
* (should be a multiple of our word size)
|
||||
*/
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 2014 B.A.T.M.A.N. contributors:
|
||||
/* Copyright (C) 2014-2015 B.A.T.M.A.N. contributors:
|
||||
*
|
||||
* Linus Lüssing
|
||||
*
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 2014 B.A.T.M.A.N. contributors:
|
||||
/* Copyright (C) 2014-2015 B.A.T.M.A.N. contributors:
|
||||
*
|
||||
* Linus Lüssing
|
||||
*
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 2012-2014 B.A.T.M.A.N. contributors:
|
||||
/* Copyright (C) 2012-2015 B.A.T.M.A.N. contributors:
|
||||
*
|
||||
* Martin Hundebøll, Jeppe Ledet-Pedersen
|
||||
*
|
||||
@ -155,7 +155,7 @@ err:
|
||||
*/
|
||||
void batadv_nc_init_bat_priv(struct batadv_priv *bat_priv)
|
||||
{
|
||||
atomic_set(&bat_priv->network_coding, 1);
|
||||
atomic_set(&bat_priv->network_coding, 0);
|
||||
bat_priv->nc.min_tq = 200;
|
||||
bat_priv->nc.max_fwd_delay = 10;
|
||||
bat_priv->nc.max_buffer_time = 200;
|
||||
@ -275,7 +275,7 @@ static bool batadv_nc_to_purge_nc_path_decoding(struct batadv_priv *bat_priv,
|
||||
* max_buffer time
|
||||
*/
|
||||
return batadv_has_timed_out(nc_path->last_valid,
|
||||
bat_priv->nc.max_buffer_time*10);
|
||||
bat_priv->nc.max_buffer_time * 10);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 2012-2014 B.A.T.M.A.N. contributors:
|
||||
/* Copyright (C) 2012-2015 B.A.T.M.A.N. contributors:
|
||||
*
|
||||
* Martin Hundebøll, Jeppe Ledet-Pedersen
|
||||
*
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 2009-2014 B.A.T.M.A.N. contributors:
|
||||
/* Copyright (C) 2009-2015 B.A.T.M.A.N. contributors:
|
||||
*
|
||||
* Marek Lindner, Simon Wunderlich
|
||||
*
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 2007-2014 B.A.T.M.A.N. contributors:
|
||||
/* Copyright (C) 2007-2015 B.A.T.M.A.N. contributors:
|
||||
*
|
||||
* Marek Lindner, Simon Wunderlich
|
||||
*
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 2007-2014 B.A.T.M.A.N. contributors:
|
||||
/* Copyright (C) 2007-2015 B.A.T.M.A.N. contributors:
|
||||
*
|
||||
* Marek Lindner, Simon Wunderlich
|
||||
*
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 2007-2014 B.A.T.M.A.N. contributors:
|
||||
/* Copyright (C) 2007-2015 B.A.T.M.A.N. contributors:
|
||||
*
|
||||
* Marek Lindner, Simon Wunderlich
|
||||
*
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 2007-2014 B.A.T.M.A.N. contributors:
|
||||
/* Copyright (C) 2007-2015 B.A.T.M.A.N. contributors:
|
||||
*
|
||||
* Marek Lindner, Simon Wunderlich
|
||||
*
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 2007-2014 B.A.T.M.A.N. contributors:
|
||||
/* Copyright (C) 2007-2015 B.A.T.M.A.N. contributors:
|
||||
*
|
||||
* Marek Lindner, Simon Wunderlich
|
||||
*
|
||||
@ -255,8 +255,8 @@ int batadv_send_skb_unicast(struct batadv_priv *bat_priv,
|
||||
struct batadv_orig_node *orig_node,
|
||||
unsigned short vid)
|
||||
{
|
||||
struct ethhdr *ethhdr;
|
||||
struct batadv_unicast_packet *unicast_packet;
|
||||
struct ethhdr *ethhdr;
|
||||
int ret = NET_XMIT_DROP;
|
||||
|
||||
if (!orig_node)
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 2007-2014 B.A.T.M.A.N. contributors:
|
||||
/* Copyright (C) 2007-2015 B.A.T.M.A.N. contributors:
|
||||
*
|
||||
* Marek Lindner, Simon Wunderlich
|
||||
*
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 2007-2014 B.A.T.M.A.N. contributors:
|
||||
/* Copyright (C) 2007-2015 B.A.T.M.A.N. contributors:
|
||||
*
|
||||
* Marek Lindner, Simon Wunderlich
|
||||
*
|
||||
@ -732,7 +732,7 @@ static int batadv_softif_init_late(struct net_device *dev)
|
||||
atomic_set(&bat_priv->aggregated_ogms, 1);
|
||||
atomic_set(&bat_priv->bonding, 0);
|
||||
#ifdef CONFIG_BATMAN_ADV_BLA
|
||||
atomic_set(&bat_priv->bridge_loop_avoidance, 0);
|
||||
atomic_set(&bat_priv->bridge_loop_avoidance, 1);
|
||||
#endif
|
||||
#ifdef CONFIG_BATMAN_ADV_DAT
|
||||
atomic_set(&bat_priv->distributed_arp_table, 1);
|
||||
@ -818,7 +818,7 @@ static int batadv_softif_slave_add(struct net_device *dev,
|
||||
int ret = -EINVAL;
|
||||
|
||||
hard_iface = batadv_hardif_get_by_netdev(slave_dev);
|
||||
if (!hard_iface || hard_iface->soft_iface != NULL)
|
||||
if (!hard_iface || hard_iface->soft_iface)
|
||||
goto out;
|
||||
|
||||
ret = batadv_hardif_enable_interface(hard_iface, dev->name);
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 2007-2014 B.A.T.M.A.N. contributors:
|
||||
/* Copyright (C) 2007-2015 B.A.T.M.A.N. contributors:
|
||||
*
|
||||
* Marek Lindner
|
||||
*
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 2010-2014 B.A.T.M.A.N. contributors:
|
||||
/* Copyright (C) 2010-2015 B.A.T.M.A.N. contributors:
|
||||
*
|
||||
* Marek Lindner
|
||||
*
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 2010-2014 B.A.T.M.A.N. contributors:
|
||||
/* Copyright (C) 2010-2015 B.A.T.M.A.N. contributors:
|
||||
*
|
||||
* Marek Lindner
|
||||
*
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 2007-2014 B.A.T.M.A.N. contributors:
|
||||
/* Copyright (C) 2007-2015 B.A.T.M.A.N. contributors:
|
||||
*
|
||||
* Marek Lindner, Simon Wunderlich, Antonio Quartulli
|
||||
*
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 2007-2014 B.A.T.M.A.N. contributors:
|
||||
/* Copyright (C) 2007-2015 B.A.T.M.A.N. contributors:
|
||||
*
|
||||
* Marek Lindner, Simon Wunderlich, Antonio Quartulli
|
||||
*
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 2007-2014 B.A.T.M.A.N. contributors:
|
||||
/* Copyright (C) 2007-2015 B.A.T.M.A.N. contributors:
|
||||
*
|
||||
* Marek Lindner, Simon Wunderlich
|
||||
*
|
||||
@ -132,6 +132,7 @@ struct batadv_orig_ifinfo {
|
||||
* @timestamp: time (jiffie) of last received fragment
|
||||
* @seqno: sequence number of the fragments in the list
|
||||
* @size: accumulated size of packets in list
|
||||
* @total_size: expected size of the assembled packet
|
||||
*/
|
||||
struct batadv_frag_table_entry {
|
||||
struct hlist_head head;
|
||||
@ -139,6 +140,7 @@ struct batadv_frag_table_entry {
|
||||
unsigned long timestamp;
|
||||
uint16_t seqno;
|
||||
uint16_t size;
|
||||
uint16_t total_size;
|
||||
};
|
||||
|
||||
/**
|
||||
|
Loading…
Reference in New Issue
Block a user