]> git.baikalelectronics.ru Git - kernel.git/commit
batman-adv: make the TT CRC logic VLAN specific
authorAntonio Quartulli <antonio@open-mesh.com>
Tue, 30 Jul 2013 20:16:25 +0000 (22:16 +0200)
committerAntonio Quartulli <antonio@meshcoding.com>
Sat, 19 Oct 2013 21:25:12 +0000 (23:25 +0200)
commit7cf8c00d89df673ec17db1c6756e6a7042478333
tree02803d96cc171936e7c973f389ec19f7e0295a97
parentaa6cdea718d74fee7ab0416f3b7478e4b9f51833
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>
net/batman-adv/originator.c
net/batman-adv/originator.h
net/batman-adv/packet.h
net/batman-adv/translation-table.c
net/batman-adv/types.h