Commit f25bd58a authored by Al Viro's avatar Al Viro Committed by Antonio Quartulli

batman-adv: don't bother flipping ->tt_data

just keep it net-endian all along
Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
[lindner_marek@yahoo.de: fix checkpatch warnings]
Signed-off-by: default avatarMarek Lindner <lindner_marek@yahoo.de>
Signed-off-by: default avatarSven Eckelmann <sven@narfation.org>
parent 5346c35e
...@@ -206,7 +206,7 @@ struct tt_query_packet { ...@@ -206,7 +206,7 @@ struct tt_query_packet {
* if TT_REQUEST: crc associated with the * if TT_REQUEST: crc associated with the
* ttvn * ttvn
* if TT_RESPONSE: table_size */ * if TT_RESPONSE: table_size */
uint16_t tt_data; __be16 tt_data;
} __packed; } __packed;
struct roam_adv_packet { struct roam_adv_packet {
......
...@@ -573,7 +573,7 @@ int recv_tt_query(struct sk_buff *skb, struct hard_iface *recv_if) ...@@ -573,7 +573,7 @@ int recv_tt_query(struct sk_buff *skb, struct hard_iface *recv_if)
{ {
struct bat_priv *bat_priv = netdev_priv(recv_if->soft_iface); struct bat_priv *bat_priv = netdev_priv(recv_if->soft_iface);
struct tt_query_packet *tt_query; struct tt_query_packet *tt_query;
uint16_t tt_len; uint16_t tt_size;
struct ethhdr *ethhdr; struct ethhdr *ethhdr;
/* drop packet if it has not necessary minimum size */ /* drop packet if it has not necessary minimum size */
...@@ -596,8 +596,6 @@ int recv_tt_query(struct sk_buff *skb, struct hard_iface *recv_if) ...@@ -596,8 +596,6 @@ int recv_tt_query(struct sk_buff *skb, struct hard_iface *recv_if)
tt_query = (struct tt_query_packet *)skb->data; tt_query = (struct tt_query_packet *)skb->data;
tt_query->tt_data = ntohs(tt_query->tt_data);
switch (tt_query->flags & TT_QUERY_TYPE_MASK) { switch (tt_query->flags & TT_QUERY_TYPE_MASK) {
case TT_REQUEST: case TT_REQUEST:
batadv_inc_counter(bat_priv, BAT_CNT_TT_REQUEST_RX); batadv_inc_counter(bat_priv, BAT_CNT_TT_REQUEST_RX);
...@@ -609,7 +607,6 @@ int recv_tt_query(struct sk_buff *skb, struct hard_iface *recv_if) ...@@ -609,7 +607,6 @@ int recv_tt_query(struct sk_buff *skb, struct hard_iface *recv_if)
"Routing TT_REQUEST to %pM [%c]\n", "Routing TT_REQUEST to %pM [%c]\n",
tt_query->dst, tt_query->dst,
(tt_query->flags & TT_FULL_TABLE ? 'F' : '.')); (tt_query->flags & TT_FULL_TABLE ? 'F' : '.'));
tt_query->tt_data = htons(tt_query->tt_data);
return route_unicast_packet(skb, recv_if); return route_unicast_packet(skb, recv_if);
} }
break; break;
...@@ -624,11 +621,11 @@ int recv_tt_query(struct sk_buff *skb, struct hard_iface *recv_if) ...@@ -624,11 +621,11 @@ int recv_tt_query(struct sk_buff *skb, struct hard_iface *recv_if)
/* skb_linearize() possibly changed skb->data */ /* skb_linearize() possibly changed skb->data */
tt_query = (struct tt_query_packet *)skb->data; tt_query = (struct tt_query_packet *)skb->data;
tt_len = tt_query->tt_data * sizeof(struct tt_change); tt_size = tt_len(ntohs(tt_query->tt_data));
/* Ensure we have all the claimed data */ /* Ensure we have all the claimed data */
if (unlikely(skb_headlen(skb) < if (unlikely(skb_headlen(skb) <
sizeof(struct tt_query_packet) + tt_len)) sizeof(struct tt_query_packet) + tt_size))
goto out; goto out;
handle_tt_response(bat_priv, tt_query); handle_tt_response(bat_priv, tt_query);
...@@ -637,7 +634,6 @@ int recv_tt_query(struct sk_buff *skb, struct hard_iface *recv_if) ...@@ -637,7 +634,6 @@ int recv_tt_query(struct sk_buff *skb, struct hard_iface *recv_if)
"Routing TT_RESPONSE to %pM [%c]\n", "Routing TT_RESPONSE to %pM [%c]\n",
tt_query->dst, tt_query->dst,
(tt_query->flags & TT_FULL_TABLE ? 'F' : '.')); (tt_query->flags & TT_FULL_TABLE ? 'F' : '.'));
tt_query->tt_data = htons(tt_query->tt_data);
return route_unicast_packet(skb, recv_if); return route_unicast_packet(skb, recv_if);
} }
break; break;
......
...@@ -1418,7 +1418,7 @@ static bool send_other_tt_response(struct bat_priv *bat_priv, ...@@ -1418,7 +1418,7 @@ static bool send_other_tt_response(struct bat_priv *bat_priv,
/* I don't have the requested data */ /* I don't have the requested data */
if (orig_ttvn != req_ttvn || if (orig_ttvn != req_ttvn ||
tt_request->tt_data != req_dst_orig_node->tt_crc) tt_request->tt_data != htons(req_dst_orig_node->tt_crc))
goto out; goto out;
/* If the full table has been explicitly requested */ /* If the full table has been explicitly requested */
...@@ -1678,7 +1678,7 @@ static void tt_fill_gtable(struct bat_priv *bat_priv, ...@@ -1678,7 +1678,7 @@ static void tt_fill_gtable(struct bat_priv *bat_priv,
_tt_update_changes(bat_priv, orig_node, _tt_update_changes(bat_priv, orig_node,
(struct tt_change *)(tt_response + 1), (struct tt_change *)(tt_response + 1),
tt_response->tt_data, tt_response->ttvn); ntohs(tt_response->tt_data), tt_response->ttvn);
spin_lock_bh(&orig_node->tt_buff_lock); spin_lock_bh(&orig_node->tt_buff_lock);
kfree(orig_node->tt_buff); kfree(orig_node->tt_buff);
...@@ -1733,7 +1733,8 @@ void handle_tt_response(struct bat_priv *bat_priv, ...@@ -1733,7 +1733,8 @@ void handle_tt_response(struct bat_priv *bat_priv,
bat_dbg(DBG_TT, bat_priv, bat_dbg(DBG_TT, bat_priv,
"Received TT_RESPONSE from %pM for ttvn %d t_size: %d [%c]\n", "Received TT_RESPONSE from %pM for ttvn %d t_size: %d [%c]\n",
tt_response->src, tt_response->ttvn, tt_response->tt_data, tt_response->src, tt_response->ttvn,
ntohs(tt_response->tt_data),
(tt_response->flags & TT_FULL_TABLE ? 'F' : '.')); (tt_response->flags & TT_FULL_TABLE ? 'F' : '.'));
/* we should have never asked a backbone gw */ /* we should have never asked a backbone gw */
...@@ -1747,7 +1748,8 @@ void handle_tt_response(struct bat_priv *bat_priv, ...@@ -1747,7 +1748,8 @@ void handle_tt_response(struct bat_priv *bat_priv,
if (tt_response->flags & TT_FULL_TABLE) if (tt_response->flags & TT_FULL_TABLE)
tt_fill_gtable(bat_priv, tt_response); tt_fill_gtable(bat_priv, tt_response);
else else
tt_update_changes(bat_priv, orig_node, tt_response->tt_data, tt_update_changes(bat_priv, orig_node,
ntohs(tt_response->tt_data),
tt_response->ttvn, tt_response->ttvn,
(struct tt_change *)(tt_response + 1)); (struct tt_change *)(tt_response + 1));
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment