summaryrefslogtreecommitdiffstats
path: root/net/batman-adv/types.h
diff options
context:
space:
mode:
authorAntonio Quartulli2013-10-13 02:50:20 +0200
committerAntonio Quartulli2013-10-23 17:03:46 +0200
commit0eb01568f0b78f482eb2fd91d01e9eab344933aa (patch)
tree15b8ad662c4a70567f981189a2ad33a817efc7f1 /net/batman-adv/types.h
parentbatman-adv: improve the TT component to support runtime flag changes (diff)
downloadkernel-qcow2-linux-0eb01568f0b78f482eb2fd91d01e9eab344933aa.tar.gz
kernel-qcow2-linux-0eb01568f0b78f482eb2fd91d01e9eab344933aa.tar.xz
kernel-qcow2-linux-0eb01568f0b78f482eb2fd91d01e9eab344933aa.zip
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/types.h')
-rw-r--r--net/batman-adv/types.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/net/batman-adv/types.h b/net/batman-adv/types.h
index 61297b6db85e..3c2116274de2 100644
--- a/net/batman-adv/types.h
+++ b/net/batman-adv/types.h
@@ -42,6 +42,12 @@
#define BATADV_TT_REMOTE_MASK 0x00FF
/**
+ * BATADV_TT_SYNC_MASK - bitmask of the flags that need to be kept in sync
+ * among the nodes. These flags are used to compute the global/local CRC
+ */
+#define BATADV_TT_SYNC_MASK 0x00F0
+
+/**
* struct batadv_hard_iface_bat_iv - per hard interface B.A.T.M.A.N. IV data
* @ogm_buff: buffer holding the OGM packet
* @ogm_buff_len: length of the OGM packet buffer