diff options
author | David S. Miller <davem@davemloft.net> | 2012-11-17 22:00:43 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-11-17 22:00:43 -0500 |
commit | 67f4efdce7d85282fbd5832cddc80a07eb89b6d6 (patch) | |
tree | 9a1771ef13b27abdf8cf172e5b7556ab93e5c48c /net/batman-adv/translation-table.c | |
parent | c53aa5058ad5ca8876a47d6639ad4d4f2c5ed584 (diff) | |
parent | f4a75d2eb7b1e2206094b901be09adb31ba63681 (diff) |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Minor line offset auto-merges.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/batman-adv/translation-table.c')
-rw-r--r-- | net/batman-adv/translation-table.c | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/net/batman-adv/translation-table.c b/net/batman-adv/translation-table.c index 9f5705fcf426..582f13405df9 100644 --- a/net/batman-adv/translation-table.c +++ b/net/batman-adv/translation-table.c | |||
@@ -861,6 +861,12 @@ int batadv_tt_global_add(struct batadv_priv *bat_priv, | |||
861 | */ | 861 | */ |
862 | common->flags &= ~BATADV_TT_CLIENT_TEMP; | 862 | common->flags &= ~BATADV_TT_CLIENT_TEMP; |
863 | 863 | ||
864 | /* the change can carry possible "attribute" flags like the | ||
865 | * TT_CLIENT_WIFI, therefore they have to be copied in the | ||
866 | * client entry | ||
867 | */ | ||
868 | tt_global_entry->common.flags |= flags; | ||
869 | |||
864 | /* If there is the BATADV_TT_CLIENT_ROAM flag set, there is only | 870 | /* If there is the BATADV_TT_CLIENT_ROAM flag set, there is only |
865 | * one originator left in the list and we previously received a | 871 | * one originator left in the list and we previously received a |
866 | * delete + roaming change for this originator. | 872 | * delete + roaming change for this originator. |
@@ -1574,7 +1580,7 @@ batadv_tt_response_fill_table(uint16_t tt_len, uint8_t ttvn, | |||
1574 | 1580 | ||
1575 | memcpy(tt_change->addr, tt_common_entry->addr, | 1581 | memcpy(tt_change->addr, tt_common_entry->addr, |
1576 | ETH_ALEN); | 1582 | ETH_ALEN); |
1577 | tt_change->flags = BATADV_NO_FLAGS; | 1583 | tt_change->flags = tt_common_entry->flags; |
1578 | 1584 | ||
1579 | tt_count++; | 1585 | tt_count++; |
1580 | tt_change++; | 1586 | tt_change++; |
@@ -2545,6 +2551,13 @@ bool batadv_tt_add_temporary_global_entry(struct batadv_priv *bat_priv, | |||
2545 | { | 2551 | { |
2546 | bool ret = false; | 2552 | bool ret = false; |
2547 | 2553 | ||
2554 | /* if the originator is a backbone node (meaning it belongs to the same | ||
2555 | * LAN of this node) the temporary client must not be added because to | ||
2556 | * reach such destination the node must use the LAN instead of the mesh | ||
2557 | */ | ||
2558 | if (batadv_bla_is_backbone_gw_orig(bat_priv, orig_node->orig)) | ||
2559 | goto out; | ||
2560 | |||
2548 | if (!batadv_tt_global_add(bat_priv, orig_node, addr, | 2561 | if (!batadv_tt_global_add(bat_priv, orig_node, addr, |
2549 | BATADV_TT_CLIENT_TEMP, | 2562 | BATADV_TT_CLIENT_TEMP, |
2550 | atomic_read(&orig_node->last_ttvn))) | 2563 | atomic_read(&orig_node->last_ttvn))) |