batman-adv: don't bother flipping ->tt_data
authorAl Viro <viro@ZenIV.linux.org.uk>
Sun, 22 Apr 2012 06:44:27 +0000 (07:44 +0100)
committerAntonio Quartulli <ordex@autistici.org>
Mon, 18 Jun 2012 16:01:03 +0000 (18:01 +0200)
just keep it net-endian all along

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
[lindner_marek@yahoo.de: fix checkpatch warnings]
Signed-off-by: Marek Lindner <lindner_marek@yahoo.de>
Signed-off-by: Sven Eckelmann <sven@narfation.org>
net/batman-adv/packet.h
net/batman-adv/routing.c
net/batman-adv/translation-table.c

index 5bf567b525340378202ff18446fae9c0e9a6ffca..372fc889832a2a28da65448cf04150cd33b78033 100644 (file)
@@ -206,7 +206,7 @@ struct tt_query_packet {
         * if TT_REQUEST: crc associated with the
         *                ttvn
         * if TT_RESPONSE: table_size */
-       uint16_t tt_data;
+       __be16   tt_data;
 } __packed;
 
 struct roam_adv_packet {
index 369604c99a465fcecd217fe60ebde02219888977..9cfd23c6d64a5bcf4d3d8010f96f4e63ce239a9c 100644 (file)
@@ -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 tt_query_packet *tt_query;
-       uint16_t tt_len;
+       uint16_t tt_size;
        struct ethhdr *ethhdr;
 
        /* 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)
 
        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) {
        case TT_REQUEST:
                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)
                                "Routing TT_REQUEST to %pM [%c]\n",
                                tt_query->dst,
                                (tt_query->flags & TT_FULL_TABLE ? 'F' : '.'));
-                       tt_query->tt_data = htons(tt_query->tt_data);
                        return route_unicast_packet(skb, recv_if);
                }
                break;
@@ -624,11 +621,11 @@ int recv_tt_query(struct sk_buff *skb, struct hard_iface *recv_if)
                        /* skb_linearize() possibly changed 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 */
                        if (unlikely(skb_headlen(skb) <
-                                    sizeof(struct tt_query_packet) + tt_len))
+                                    sizeof(struct tt_query_packet) + tt_size))
                                goto out;
 
                        handle_tt_response(bat_priv, tt_query);
@@ -637,7 +634,6 @@ int recv_tt_query(struct sk_buff *skb, struct hard_iface *recv_if)
                                "Routing TT_RESPONSE to %pM [%c]\n",
                                tt_query->dst,
                                (tt_query->flags & TT_FULL_TABLE ? 'F' : '.'));
-                       tt_query->tt_data = htons(tt_query->tt_data);
                        return route_unicast_packet(skb, recv_if);
                }
                break;
index 24e691d7275c1c86ba2c249487f50e89914dfec0..88cfe2a8ea4f5c022c3be0ca918c1900e8752975 100644 (file)
@@ -1418,7 +1418,7 @@ static bool send_other_tt_response(struct bat_priv *bat_priv,
 
        /* I don't have the requested data */
        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;
 
        /* If the full table has been explicitly requested */
@@ -1678,7 +1678,7 @@ static void tt_fill_gtable(struct bat_priv *bat_priv,
 
        _tt_update_changes(bat_priv, orig_node,
                           (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);
        kfree(orig_node->tt_buff);
@@ -1733,7 +1733,8 @@ void handle_tt_response(struct bat_priv *bat_priv,
 
        bat_dbg(DBG_TT, bat_priv,
                "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' : '.'));
 
        /* we should have never asked a backbone gw */
@@ -1747,7 +1748,8 @@ void handle_tt_response(struct bat_priv *bat_priv,
        if (tt_response->flags & TT_FULL_TABLE)
                tt_fill_gtable(bat_priv, tt_response);
        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,
                                  (struct tt_change *)(tt_response + 1));