diff options
author | Antonio Quartulli <antonio@meshcoding.com> | 2013-12-15 07:26:55 -0500 |
---|---|---|
committer | Antonio Quartulli <antonio@meshcoding.com> | 2013-12-28 06:51:18 -0500 |
commit | ca6630464454d74ae1d430e99007a1139f4a2aba (patch) | |
tree | 834ee00d9f3ee7d1fd62840c0da3982ca71f9017 /net | |
parent | 2f7a318219186485c175339758ac42a03644200b (diff) |
batman-adv: fix alignment for batadv_tvlv_tt_change
Make struct batadv_tvlv_tt_change a multiple 4 bytes long
to avoid padding on any architecture.
Signed-off-by: Antonio Quartulli <antonio@meshcoding.com>
Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch>
Diffstat (limited to 'net')
-rw-r--r-- | net/batman-adv/packet.h | 4 | ||||
-rw-r--r-- | net/batman-adv/translation-table.c | 6 |
2 files changed, 6 insertions, 4 deletions
diff --git a/net/batman-adv/packet.h b/net/batman-adv/packet.h index 04cf27ca5dee..2dd8f2422550 100644 --- a/net/batman-adv/packet.h +++ b/net/batman-adv/packet.h | |||
@@ -484,13 +484,13 @@ struct batadv_tvlv_tt_vlan_data { | |||
484 | * struct batadv_tvlv_tt_change - translation table diff data | 484 | * struct batadv_tvlv_tt_change - translation table diff data |
485 | * @flags: status indicators concerning the non-mesh client (see | 485 | * @flags: status indicators concerning the non-mesh client (see |
486 | * batadv_tt_client_flags) | 486 | * batadv_tt_client_flags) |
487 | * @reserved: reserved field | 487 | * @reserved: reserved field - useful for alignment purposes only |
488 | * @addr: mac address of non-mesh client that triggered this tt change | 488 | * @addr: mac address of non-mesh client that triggered this tt change |
489 | * @vid: VLAN identifier | 489 | * @vid: VLAN identifier |
490 | */ | 490 | */ |
491 | struct batadv_tvlv_tt_change { | 491 | struct batadv_tvlv_tt_change { |
492 | uint8_t flags; | 492 | uint8_t flags; |
493 | uint8_t reserved; | 493 | uint8_t reserved[3]; |
494 | uint8_t addr[ETH_ALEN]; | 494 | uint8_t addr[ETH_ALEN]; |
495 | __be16 vid; | 495 | __be16 vid; |
496 | }; | 496 | }; |
diff --git a/net/batman-adv/translation-table.c b/net/batman-adv/translation-table.c index 4add57d4857f..ff625fedbc5e 100644 --- a/net/batman-adv/translation-table.c +++ b/net/batman-adv/translation-table.c | |||
@@ -333,7 +333,8 @@ static void batadv_tt_local_event(struct batadv_priv *bat_priv, | |||
333 | return; | 333 | return; |
334 | 334 | ||
335 | tt_change_node->change.flags = flags; | 335 | tt_change_node->change.flags = flags; |
336 | tt_change_node->change.reserved = 0; | 336 | memset(tt_change_node->change.reserved, 0, |
337 | sizeof(tt_change_node->change.reserved)); | ||
337 | memcpy(tt_change_node->change.addr, common->addr, ETH_ALEN); | 338 | memcpy(tt_change_node->change.addr, common->addr, ETH_ALEN); |
338 | tt_change_node->change.vid = htons(common->vid); | 339 | tt_change_node->change.vid = htons(common->vid); |
339 | 340 | ||
@@ -2221,7 +2222,8 @@ static void batadv_tt_tvlv_generate(struct batadv_priv *bat_priv, | |||
2221 | ETH_ALEN); | 2222 | ETH_ALEN); |
2222 | tt_change->flags = tt_common_entry->flags; | 2223 | tt_change->flags = tt_common_entry->flags; |
2223 | tt_change->vid = htons(tt_common_entry->vid); | 2224 | tt_change->vid = htons(tt_common_entry->vid); |
2224 | tt_change->reserved = 0; | 2225 | memset(tt_change->reserved, 0, |
2226 | sizeof(tt_change->reserved)); | ||
2225 | 2227 | ||
2226 | tt_num_entries++; | 2228 | tt_num_entries++; |
2227 | tt_change++; | 2229 | tt_change++; |