forked from Minki/linux
batman-adv: Prefix bridge_loop_avoidance non-static functions with batadv_
batman-adv can be compiled as part of the kernel instead of an module. In that case the linker will see all non-static symbols of batman-adv and all other non-static symbols of the kernel. This could lead to symbol collisions. A prefix for the batman-adv symbols that defines their private namespace avoids such a problem. Reported-by: David Miller <davem@davemloft.net> Signed-off-by: Sven Eckelmann <sven@narfation.org>
This commit is contained in:
parent
0f5f932268
commit
08adf15122
@ -249,7 +249,8 @@ static int transtable_global_open(struct inode *inode, struct file *file)
|
||||
static int bla_claim_table_open(struct inode *inode, struct file *file)
|
||||
{
|
||||
struct net_device *net_dev = (struct net_device *)inode->i_private;
|
||||
return single_open(file, bla_claim_table_seq_print_text, net_dev);
|
||||
return single_open(file, batadv_bla_claim_table_seq_print_text,
|
||||
net_dev);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
@ -1019,9 +1019,9 @@ purge_now:
|
||||
* Update the backbone gateways when the own orig address changes.
|
||||
*
|
||||
*/
|
||||
void bla_update_orig_address(struct bat_priv *bat_priv,
|
||||
struct hard_iface *primary_if,
|
||||
struct hard_iface *oldif)
|
||||
void batadv_bla_update_orig_address(struct bat_priv *bat_priv,
|
||||
struct hard_iface *primary_if,
|
||||
struct hard_iface *oldif)
|
||||
{
|
||||
struct backbone_gw *backbone_gw;
|
||||
struct hlist_node *node;
|
||||
@ -1136,7 +1136,7 @@ static struct lock_class_key claim_hash_lock_class_key;
|
||||
static struct lock_class_key backbone_hash_lock_class_key;
|
||||
|
||||
/* initialize all bla structures */
|
||||
int bla_init(struct bat_priv *bat_priv)
|
||||
int batadv_bla_init(struct bat_priv *bat_priv)
|
||||
{
|
||||
int i;
|
||||
uint8_t claim_dest[ETH_ALEN] = {0xff, 0x43, 0x05, 0x00, 0x00, 0x00};
|
||||
@ -1199,9 +1199,9 @@ int bla_init(struct bat_priv *bat_priv)
|
||||
*
|
||||
**/
|
||||
|
||||
int bla_check_bcast_duplist(struct bat_priv *bat_priv,
|
||||
struct bcast_packet *bcast_packet,
|
||||
int hdr_size)
|
||||
int batadv_bla_check_bcast_duplist(struct bat_priv *bat_priv,
|
||||
struct bcast_packet *bcast_packet,
|
||||
int hdr_size)
|
||||
{
|
||||
int i, length, curr;
|
||||
uint8_t *content;
|
||||
@ -1260,7 +1260,7 @@ int bla_check_bcast_duplist(struct bat_priv *bat_priv,
|
||||
*
|
||||
*/
|
||||
|
||||
int bla_is_backbone_gw_orig(struct bat_priv *bat_priv, uint8_t *orig)
|
||||
int batadv_bla_is_backbone_gw_orig(struct bat_priv *bat_priv, uint8_t *orig)
|
||||
{
|
||||
struct hashtable_t *hash = bat_priv->backbone_hash;
|
||||
struct hlist_head *head;
|
||||
@ -1301,8 +1301,8 @@ int bla_is_backbone_gw_orig(struct bat_priv *bat_priv, uint8_t *orig)
|
||||
* returns 0.
|
||||
*
|
||||
*/
|
||||
int bla_is_backbone_gw(struct sk_buff *skb,
|
||||
struct orig_node *orig_node, int hdr_size)
|
||||
int batadv_bla_is_backbone_gw(struct sk_buff *skb,
|
||||
struct orig_node *orig_node, int hdr_size)
|
||||
{
|
||||
struct ethhdr *ethhdr;
|
||||
struct vlan_ethhdr *vhdr;
|
||||
@ -1339,7 +1339,7 @@ int bla_is_backbone_gw(struct sk_buff *skb,
|
||||
}
|
||||
|
||||
/* free all bla structures (for softinterface free or module unload) */
|
||||
void bla_free(struct bat_priv *bat_priv)
|
||||
void batadv_bla_free(struct bat_priv *bat_priv)
|
||||
{
|
||||
struct hard_iface *primary_if;
|
||||
|
||||
@ -1374,7 +1374,7 @@ void bla_free(struct bat_priv *bat_priv)
|
||||
* process the skb.
|
||||
*
|
||||
*/
|
||||
int bla_rx(struct bat_priv *bat_priv, struct sk_buff *skb, short vid)
|
||||
int batadv_bla_rx(struct bat_priv *bat_priv, struct sk_buff *skb, short vid)
|
||||
{
|
||||
struct ethhdr *ethhdr;
|
||||
struct claim search_claim, *claim = NULL;
|
||||
@ -1463,7 +1463,7 @@ out:
|
||||
* process the skb.
|
||||
*
|
||||
*/
|
||||
int bla_tx(struct bat_priv *bat_priv, struct sk_buff *skb, short vid)
|
||||
int batadv_bla_tx(struct bat_priv *bat_priv, struct sk_buff *skb, short vid)
|
||||
{
|
||||
struct ethhdr *ethhdr;
|
||||
struct claim search_claim, *claim = NULL;
|
||||
@ -1537,7 +1537,7 @@ out:
|
||||
return ret;
|
||||
}
|
||||
|
||||
int bla_claim_table_seq_print_text(struct seq_file *seq, void *offset)
|
||||
int batadv_bla_claim_table_seq_print_text(struct seq_file *seq, void *offset)
|
||||
{
|
||||
struct net_device *net_dev = (struct net_device *)seq->private;
|
||||
struct bat_priv *bat_priv = netdev_priv(net_dev);
|
||||
|
@ -23,73 +23,76 @@
|
||||
#define _NET_BATMAN_ADV_BLA_H_
|
||||
|
||||
#ifdef CONFIG_BATMAN_ADV_BLA
|
||||
int bla_rx(struct bat_priv *bat_priv, struct sk_buff *skb, short vid);
|
||||
int bla_tx(struct bat_priv *bat_priv, struct sk_buff *skb, short vid);
|
||||
int bla_is_backbone_gw(struct sk_buff *skb,
|
||||
struct orig_node *orig_node, int hdr_size);
|
||||
int bla_claim_table_seq_print_text(struct seq_file *seq, void *offset);
|
||||
int bla_is_backbone_gw_orig(struct bat_priv *bat_priv, uint8_t *orig);
|
||||
int bla_check_bcast_duplist(struct bat_priv *bat_priv,
|
||||
struct bcast_packet *bcast_packet, int hdr_size);
|
||||
void bla_update_orig_address(struct bat_priv *bat_priv,
|
||||
struct hard_iface *primary_if,
|
||||
struct hard_iface *oldif);
|
||||
int bla_init(struct bat_priv *bat_priv);
|
||||
void bla_free(struct bat_priv *bat_priv);
|
||||
int batadv_bla_rx(struct bat_priv *bat_priv, struct sk_buff *skb, short vid);
|
||||
int batadv_bla_tx(struct bat_priv *bat_priv, struct sk_buff *skb, short vid);
|
||||
int batadv_bla_is_backbone_gw(struct sk_buff *skb,
|
||||
struct orig_node *orig_node, int hdr_size);
|
||||
int batadv_bla_claim_table_seq_print_text(struct seq_file *seq, void *offset);
|
||||
int batadv_bla_is_backbone_gw_orig(struct bat_priv *bat_priv, uint8_t *orig);
|
||||
int batadv_bla_check_bcast_duplist(struct bat_priv *bat_priv,
|
||||
struct bcast_packet *bcast_packet,
|
||||
int hdr_size);
|
||||
void batadv_bla_update_orig_address(struct bat_priv *bat_priv,
|
||||
struct hard_iface *primary_if,
|
||||
struct hard_iface *oldif);
|
||||
int batadv_bla_init(struct bat_priv *bat_priv);
|
||||
void batadv_bla_free(struct bat_priv *bat_priv);
|
||||
|
||||
#define BLA_CRC_INIT 0
|
||||
#else /* ifdef CONFIG_BATMAN_ADV_BLA */
|
||||
|
||||
static inline int bla_rx(struct bat_priv *bat_priv, struct sk_buff *skb,
|
||||
short vid)
|
||||
static inline int batadv_bla_rx(struct bat_priv *bat_priv, struct sk_buff *skb,
|
||||
short vid)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline int bla_tx(struct bat_priv *bat_priv, struct sk_buff *skb,
|
||||
short vid)
|
||||
static inline int batadv_bla_tx(struct bat_priv *bat_priv, struct sk_buff *skb,
|
||||
short vid)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline int bla_is_backbone_gw(struct sk_buff *skb,
|
||||
struct orig_node *orig_node,
|
||||
int hdr_size)
|
||||
static inline int batadv_bla_is_backbone_gw(struct sk_buff *skb,
|
||||
struct orig_node *orig_node,
|
||||
int hdr_size)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline int bla_claim_table_seq_print_text(struct seq_file *seq,
|
||||
void *offset)
|
||||
static inline int batadv_bla_claim_table_seq_print_text(struct seq_file *seq,
|
||||
void *offset)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline int bla_is_backbone_gw_orig(struct bat_priv *bat_priv,
|
||||
uint8_t *orig)
|
||||
static inline int batadv_bla_is_backbone_gw_orig(struct bat_priv *bat_priv,
|
||||
uint8_t *orig)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline int bla_check_bcast_duplist(struct bat_priv *bat_priv,
|
||||
struct bcast_packet *bcast_packet,
|
||||
int hdr_size)
|
||||
static inline int
|
||||
batadv_bla_check_bcast_duplist(struct bat_priv *bat_priv,
|
||||
struct bcast_packet *bcast_packet,
|
||||
int hdr_size)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline void bla_update_orig_address(struct bat_priv *bat_priv,
|
||||
struct hard_iface *primary_if,
|
||||
struct hard_iface *oldif)
|
||||
static inline void
|
||||
batadv_bla_update_orig_address(struct bat_priv *bat_priv,
|
||||
struct hard_iface *primary_if,
|
||||
struct hard_iface *oldif)
|
||||
{
|
||||
}
|
||||
|
||||
static inline int bla_init(struct bat_priv *bat_priv)
|
||||
static inline int batadv_bla_init(struct bat_priv *bat_priv)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
static inline void bla_free(struct bat_priv *bat_priv)
|
||||
static inline void batadv_bla_free(struct bat_priv *bat_priv)
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -118,7 +118,7 @@ static void primary_if_update_addr(struct bat_priv *bat_priv,
|
||||
memcpy(vis_packet->sender_orig,
|
||||
primary_if->net_dev->dev_addr, ETH_ALEN);
|
||||
|
||||
bla_update_orig_address(bat_priv, primary_if, oldif);
|
||||
batadv_bla_update_orig_address(bat_priv, primary_if, oldif);
|
||||
out:
|
||||
if (primary_if)
|
||||
hardif_free_ref(primary_if);
|
||||
|
@ -125,7 +125,7 @@ int mesh_init(struct net_device *soft_iface)
|
||||
if (ret < 0)
|
||||
goto err;
|
||||
|
||||
ret = bla_init(bat_priv);
|
||||
ret = batadv_bla_init(bat_priv);
|
||||
if (ret < 0)
|
||||
goto err;
|
||||
|
||||
@ -154,7 +154,7 @@ void mesh_free(struct net_device *soft_iface)
|
||||
|
||||
tt_free(bat_priv);
|
||||
|
||||
bla_free(bat_priv);
|
||||
batadv_bla_free(bat_priv);
|
||||
|
||||
free_percpu(bat_priv->bat_counters);
|
||||
|
||||
|
@ -676,7 +676,7 @@ int recv_roam_adv(struct sk_buff *skb, struct hard_iface *recv_if)
|
||||
* roaming advertisement from it, as it has the same
|
||||
* entries as we have.
|
||||
*/
|
||||
if (bla_is_backbone_gw_orig(bat_priv, roam_adv_packet->src))
|
||||
if (batadv_bla_is_backbone_gw_orig(bat_priv, roam_adv_packet->src))
|
||||
goto out;
|
||||
|
||||
orig_node = orig_hash_find(bat_priv, roam_adv_packet->src);
|
||||
@ -1089,7 +1089,7 @@ int recv_bcast_packet(struct sk_buff *skb, struct hard_iface *recv_if)
|
||||
spin_unlock_bh(&orig_node->bcast_seqno_lock);
|
||||
|
||||
/* check whether this has been sent by another originator before */
|
||||
if (bla_check_bcast_duplist(bat_priv, bcast_packet, hdr_size))
|
||||
if (batadv_bla_check_bcast_duplist(bat_priv, bcast_packet, hdr_size))
|
||||
goto out;
|
||||
|
||||
/* rebroadcast packet */
|
||||
@ -1098,7 +1098,7 @@ int recv_bcast_packet(struct sk_buff *skb, struct hard_iface *recv_if)
|
||||
/* don't hand the broadcast up if it is from an originator
|
||||
* from the same backbone.
|
||||
*/
|
||||
if (bla_is_backbone_gw(skb, orig_node, hdr_size))
|
||||
if (batadv_bla_is_backbone_gw(skb, orig_node, hdr_size))
|
||||
goto out;
|
||||
|
||||
/* broadcast for me */
|
||||
|
@ -162,7 +162,7 @@ static int interface_tx(struct sk_buff *skb, struct net_device *soft_iface)
|
||||
goto dropped;
|
||||
}
|
||||
|
||||
if (bla_tx(bat_priv, skb, vid))
|
||||
if (batadv_bla_tx(bat_priv, skb, vid))
|
||||
goto dropped;
|
||||
|
||||
/* Register the client MAC in the transtable */
|
||||
@ -309,7 +309,7 @@ void interface_rx(struct net_device *soft_iface,
|
||||
/* Let the bridge loop avoidance check the packet. If will
|
||||
* not handle it, we can safely push it up.
|
||||
*/
|
||||
if (bla_rx(bat_priv, skb, vid))
|
||||
if (batadv_bla_rx(bat_priv, skb, vid))
|
||||
goto out;
|
||||
|
||||
netif_rx(skb);
|
||||
|
@ -1674,7 +1674,7 @@ bool send_tt_response(struct bat_priv *bat_priv,
|
||||
{
|
||||
if (is_my_mac(tt_request->dst)) {
|
||||
/* don't answer backbone gws! */
|
||||
if (bla_is_backbone_gw_orig(bat_priv, tt_request->src))
|
||||
if (batadv_bla_is_backbone_gw_orig(bat_priv, tt_request->src))
|
||||
return true;
|
||||
|
||||
return send_my_tt_response(bat_priv, tt_request);
|
||||
@ -1786,7 +1786,7 @@ void handle_tt_response(struct bat_priv *bat_priv,
|
||||
(tt_response->flags & TT_FULL_TABLE ? 'F' : '.'));
|
||||
|
||||
/* we should have never asked a backbone gw */
|
||||
if (bla_is_backbone_gw_orig(bat_priv, tt_response->src))
|
||||
if (batadv_bla_is_backbone_gw_orig(bat_priv, tt_response->src))
|
||||
goto out;
|
||||
|
||||
orig_node = orig_hash_find(bat_priv, tt_response->src);
|
||||
@ -2163,7 +2163,7 @@ void tt_update_orig(struct bat_priv *bat_priv, struct orig_node *orig_node,
|
||||
bool full_table = true;
|
||||
|
||||
/* don't care about a backbone gateways updates. */
|
||||
if (bla_is_backbone_gw_orig(bat_priv, orig_node->orig))
|
||||
if (batadv_bla_is_backbone_gw_orig(bat_priv, orig_node->orig))
|
||||
return;
|
||||
|
||||
/* orig table not initialised AND first diff is in the OGM OR the ttvn
|
||||
|
Loading…
Reference in New Issue
Block a user