Searched hist:"7 ea7b4a142758deaf46c1af0ca9ceca6dd55138b" (Results 1 – 4 of 4) sorted by relevance
/linux/net/batman-adv/ |
H A D | originator.h | diff 7ea7b4a142758deaf46c1af0ca9ceca6dd55138b Tue Jul 30 22:16:25 CEST 2013 Antonio Quartulli <antonio@open-mesh.com> 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>
|
H A D | translation-table.c | diff a30e22ca8464c2dc573e0144a972221c2f06c2cd Tue Feb 11 17:05:06 CET 2014 Antonio Quartulli <antonio@open-mesh.com> batman-adv: fix TT CRC computation by ensuring byte order
When computing the CRC on a 2byte variable the order of the bytes obviously alters the final result. This means that computing the CRC over the same value on two archs having different endianess leads to different numbers.
The global and local translation table CRC computation routine makes this mistake while processing the clients VIDs. The result is a continuous CRC mismatching between nodes having different endianess.
Fix this by converting the VID to Network Order before processing it. This guarantees that every node uses the same byte order.
Introduced by 7ea7b4a142758deaf46c1af0ca9ceca6dd55138b ("batman-adv: make the TT CRC logic VLAN specific")
Reported-by: Russel Senior <russell@personaltelco.net> Signed-off-by: Antonio Quartulli <antonio@open-mesh.com> Tested-by: Russell Senior <russell@personaltelco.net> Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch> diff 7ea7b4a142758deaf46c1af0ca9ceca6dd55138b Tue Jul 30 22:16:25 CEST 2013 Antonio Quartulli <antonio@open-mesh.com> 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>
|
H A D | originator.c | diff 7ea7b4a142758deaf46c1af0ca9ceca6dd55138b Tue Jul 30 22:16:25 CEST 2013 Antonio Quartulli <antonio@open-mesh.com> 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>
|
H A D | types.h | diff 7ea7b4a142758deaf46c1af0ca9ceca6dd55138b Tue Jul 30 22:16:25 CEST 2013 Antonio Quartulli <antonio@open-mesh.com> 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>
|