Repository : ssh://git@open-mesh.org/batman-adv
On branch : master
commit 21a57f6e7a3b4455dfe68ee07a7b901d9e7f200b Author: Antonio Quartulli antonio@open-mesh.com Date: Tue Jul 30 22:16:25 2013 +0200
batman-adv: make the TT CRC logic VLAN specific
This change allows nodes to handle the TT table on a per-VLAN basis. This is needed because nodes may have to store only some of the global entries advertised by another node.
In this scenario such nodes would re-create only a partial global table and would not be able to compute a correct CRC anymore.
This patch splits the logic and introduces one CRC per VLAN. In this way a node fetching only some entries belonging to some VLANs is still able to compute the needed CRCs and still check the table correctness.
With this patch the shape of the TVLV-TT is changed too because now a node needs to advertise all the CRCs of all the VLANs that it is wired to.
The debug output of the local Translation Table now shows the CRC along with each entry since there is not a common value for the entire table anymore.
Signed-off-by: Antonio Quartulli antonio@open-mesh.com Signed-off-by: Marek Lindner lindner_marek@yahoo.de
compat.c | 9 + compat.h | 1 + originator.c | 101 +++++++- originator.h | 7 + packet.h | 18 +- translation-table.c | 719 +++++++++++++++++++++++++++++++++++++++++---------- types.h | 41 ++- 7 files changed, 740 insertions(+), 156 deletions(-)
Diff suppressed because of size. To see it, use:
git diff-tree --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc 21a57f6e7a3b4455dfe68ee07a7b901d9e7f200b