aboutsummaryrefslogtreecommitdiffstats
path: root/net/batman-adv/packet.h
diff options
context:
space:
mode:
authorAntonio Quartulli <antonio@open-mesh.com>2013-10-12 20:50:20 -0400
committerAntonio Quartulli <antonio@meshcoding.com>2013-10-23 11:03:46 -0400
commit0eb01568f0b78f482eb2fd91d01e9eab344933aa (patch)
tree15b8ad662c4a70567f981189a2ad33a817efc7f1 /net/batman-adv/packet.h
parent3c4f7ab60cc21e8fc65b234f3a6174fc19a93fee (diff)
batman-adv: include the sync-flags when compute the global/local table CRC
Flags covered by TT_SYNC_MASK are kept in sync among the nodes in the network and therefore they have to be considered while computing the global/local table CRC. In this way a generic originator is able to understand if its table contains the correct flags or not. Bits from 4 to 7 in the TT flags fields are now reserved for "synchronized" flags only. This allows future developers to add more flags of this type without breaking compatibility. It's important to note that not all the remote TT flags are synchronised. This comes from the fact that some flags are used to inject an information once only. Signed-off-by: Antonio Quartulli <antonio@open-mesh.com> Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch>
Diffstat (limited to 'net/batman-adv/packet.h')
-rw-r--r--net/batman-adv/packet.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/net/batman-adv/packet.h b/net/batman-adv/packet.h
index 9fbcaacc345a..843b96ac355a 100644
--- a/net/batman-adv/packet.h
+++ b/net/batman-adv/packet.h
@@ -110,12 +110,13 @@ enum batadv_tt_data_flags {
110 110
111/* BATADV_TT_CLIENT flags. 111/* BATADV_TT_CLIENT flags.
112 * Flags from BIT(0) to BIT(7) are sent on the wire, while flags from BIT(8) to 112 * Flags from BIT(0) to BIT(7) are sent on the wire, while flags from BIT(8) to
113 * BIT(15) are used for local computation only 113 * BIT(15) are used for local computation only.
114 * Flags from BIT(4) to BIT(7) are kept in sync with the rest of the network.
114 */ 115 */
115enum batadv_tt_client_flags { 116enum batadv_tt_client_flags {
116 BATADV_TT_CLIENT_DEL = BIT(0), 117 BATADV_TT_CLIENT_DEL = BIT(0),
117 BATADV_TT_CLIENT_ROAM = BIT(1), 118 BATADV_TT_CLIENT_ROAM = BIT(1),
118 BATADV_TT_CLIENT_WIFI = BIT(2), 119 BATADV_TT_CLIENT_WIFI = BIT(4),
119 BATADV_TT_CLIENT_NOPURGE = BIT(8), 120 BATADV_TT_CLIENT_NOPURGE = BIT(8),
120 BATADV_TT_CLIENT_NEW = BIT(9), 121 BATADV_TT_CLIENT_NEW = BIT(9),
121 BATADV_TT_CLIENT_PENDING = BIT(10), 122 BATADV_TT_CLIENT_PENDING = BIT(10),