From 212edd117065a0548c23adaa7e3ed74c7b527088 Mon Sep 17 00:00:00 2001 From: Antonio Quartulli Date: Tue, 20 Sep 2011 02:38:36 +0200 Subject: [PATCH] batman-adv: do_bcast has to be true for broadcast packets only do_bcast was set to true in case of no GW destination when no GW is selected Signed-off-by: Antonio Quartulli --- soft-interface.c | 10 +++++----- 1 files changed, 5 insertions(+), 5 deletions(-) diff --git a/soft-interface.c b/soft-interface.c index aceeabc..652fb7b 100644 --- a/soft-interface.c +++ b/soft-interface.c @@ -566,7 +566,7 @@ static int interface_tx(struct sk_buff *skb, struct net_device *soft_iface) struct orig_node *orig_node = NULL; int data_len = skb->len, ret; short vid = -1; - bool do_bcast = false; + bool do_bcast; if (atomic_read(&bat_priv->mesh_state) != MESH_ACTIVE) goto dropped; @@ -600,15 +600,15 @@ static int interface_tx(struct sk_buff *skb, struct net_device *soft_iface) orig_node = transtable_search(bat_priv, ethhdr->h_source, ethhdr->h_dest); - if (is_multicast_ether_addr(ethhdr->h_dest) || - (orig_node && orig_node->gw_flags)) { + do_bcast = is_multicast_ether_addr(ethhdr->h_dest); + if (do_bcast || (orig_node && orig_node->gw_flags)) { ret = gw_is_target(bat_priv, skb, orig_node); if (ret < 0) goto dropped; - if (ret == 0) - do_bcast = true; + if (ret) + do_bcast = false; } /* ethernet packet should be broadcasted */ -- 1.7.3.4