batman-adv: Prefix hard-interface enum with BATADV_
[firefly-linux-kernel-4.4.55.git] / net / batman-adv / icmp_socket.c
index 2e98a57f3407c2e9a9a499dfa8ad86b0d5e9f0f0..f5373a2a4d0beabe39d46a60ce5689889013bc4d 100644 (file)
@@ -1,5 +1,4 @@
-/*
- * Copyright (C) 2007-2012 B.A.T.M.A.N. contributors:
+/* Copyright (C) 2007-2012 B.A.T.M.A.N. contributors:
  *
  * Marek Lindner
  *
@@ -16,7 +15,6 @@
  * along with this program; if not, write to the Free Software
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
  * 02110-1301, USA
- *
  */
 
 #include "main.h"
 #include "originator.h"
 #include "hard-interface.h"
 
-static struct socket_client *socket_client_hash[256];
+static struct socket_client *batadv_socket_client_hash[256];
 
-static void bat_socket_add_packet(struct socket_client *socket_client,
-                                 struct icmp_packet_rr *icmp_packet,
-                                 size_t icmp_len);
+static void batadv_socket_add_packet(struct socket_client *socket_client,
+                                    struct icmp_packet_rr *icmp_packet,
+                                    size_t icmp_len);
 
-void bat_socket_init(void)
+void batadv_socket_init(void)
 {
-       memset(socket_client_hash, 0, sizeof(socket_client_hash));
+       memset(batadv_socket_client_hash, 0, sizeof(batadv_socket_client_hash));
 }
 
-static int bat_socket_open(struct inode *inode, struct file *file)
+static int batadv_socket_open(struct inode *inode, struct file *file)
 {
        unsigned int i;
        struct socket_client *socket_client;
@@ -51,14 +49,14 @@ static int bat_socket_open(struct inode *inode, struct file *file)
        if (!socket_client)
                return -ENOMEM;
 
-       for (i = 0; i < ARRAY_SIZE(socket_client_hash); i++) {
-               if (!socket_client_hash[i]) {
-                       socket_client_hash[i] = socket_client;
+       for (i = 0; i < ARRAY_SIZE(batadv_socket_client_hash); i++) {
+               if (!batadv_socket_client_hash[i]) {
+                       batadv_socket_client_hash[i] = socket_client;
                        break;
                }
        }
 
-       if (i == ARRAY_SIZE(socket_client_hash)) {
+       if (i == ARRAY_SIZE(batadv_socket_client_hash)) {
                pr_err("Error - can't add another packet client: maximum number of clients reached\n");
                kfree(socket_client);
                return -EXFULL;
@@ -73,11 +71,11 @@ static int bat_socket_open(struct inode *inode, struct file *file)
 
        file->private_data = socket_client;
 
-       inc_module_count();
+       batadv_inc_module_count();
        return 0;
 }
 
-static int bat_socket_release(struct inode *inode, struct file *file)
+static int batadv_socket_release(struct inode *inode, struct file *file)
 {
        struct socket_client *socket_client = file->private_data;
        struct socket_packet *socket_packet;
@@ -94,17 +92,17 @@ static int bat_socket_release(struct inode *inode, struct file *file)
                kfree(socket_packet);
        }
 
-       socket_client_hash[socket_client->index] = NULL;
+       batadv_socket_client_hash[socket_client->index] = NULL;
        spin_unlock_bh(&socket_client->lock);
 
        kfree(socket_client);
-       dec_module_count();
+       batadv_dec_module_count();
 
        return 0;
 }
 
-static ssize_t bat_socket_read(struct file *file, char __user *buf,
-                              size_t count, loff_t *ppos)
+static ssize_t batadv_socket_read(struct file *file, char __user *buf,
+                                 size_t count, loff_t *ppos)
 {
        struct socket_client *socket_client = file->private_data;
        struct socket_packet *socket_packet;
@@ -146,8 +144,8 @@ static ssize_t bat_socket_read(struct file *file, char __user *buf,
        return packet_len;
 }
 
-static ssize_t bat_socket_write(struct file *file, const char __user *buff,
-                               size_t len, loff_t *off)
+static ssize_t batadv_socket_write(struct file *file, const char __user *buff,
+                                  size_t len, loff_t *off)
 {
        struct socket_client *socket_client = file->private_data;
        struct bat_priv *bat_priv = socket_client->bat_priv;
@@ -160,12 +158,12 @@ static ssize_t bat_socket_write(struct file *file, const char __user *buff,
        size_t packet_len = sizeof(struct icmp_packet);
 
        if (len < sizeof(struct icmp_packet)) {
-               bat_dbg(DBG_BATMAN, bat_priv,
-                       "Error - can't send packet from char device: invalid packet size\n");
+               batadv_dbg(DBG_BATMAN, bat_priv,
+                          "Error - can't send packet from char device: invalid packet size\n");
                return -EINVAL;
        }
 
-       primary_if = primary_if_get_selected(bat_priv);
+       primary_if = batadv_primary_if_get_selected(bat_priv);
 
        if (!primary_if) {
                len = -EFAULT;
@@ -190,43 +188,44 @@ static ssize_t bat_socket_write(struct file *file, const char __user *buff,
        }
 
        if (icmp_packet->header.packet_type != BAT_ICMP) {
-               bat_dbg(DBG_BATMAN, bat_priv,
-                       "Error - can't send packet from char device: got bogus packet type (expected: BAT_ICMP)\n");
+               batadv_dbg(DBG_BATMAN, bat_priv,
+                          "Error - can't send packet from char device: got bogus packet type (expected: BAT_ICMP)\n");
                len = -EINVAL;
                goto free_skb;
        }
 
        if (icmp_packet->msg_type != ECHO_REQUEST) {
-               bat_dbg(DBG_BATMAN, bat_priv,
-                       "Error - can't send packet from char device: got bogus message type (expected: ECHO_REQUEST)\n");
+               batadv_dbg(DBG_BATMAN, bat_priv,
+                          "Error - can't send packet from char device: got bogus message type (expected: ECHO_REQUEST)\n");
                len = -EINVAL;
                goto free_skb;
        }
 
        icmp_packet->uid = socket_client->index;
 
-       if (icmp_packet->header.version != COMPAT_VERSION) {
+       if (icmp_packet->header.version != BATADV_COMPAT_VERSION) {
                icmp_packet->msg_type = PARAMETER_PROBLEM;
-               icmp_packet->header.version = COMPAT_VERSION;
-               bat_socket_add_packet(socket_client, icmp_packet, packet_len);
+               icmp_packet->header.version = BATADV_COMPAT_VERSION;
+               batadv_socket_add_packet(socket_client, icmp_packet,
+                                        packet_len);
                goto free_skb;
        }
 
        if (atomic_read(&bat_priv->mesh_state) != MESH_ACTIVE)
                goto dst_unreach;
 
-       orig_node = orig_hash_find(bat_priv, icmp_packet->dst);
+       orig_node = batadv_orig_hash_find(bat_priv, icmp_packet->dst);
        if (!orig_node)
                goto dst_unreach;
 
-       neigh_node = orig_node_get_router(orig_node);
+       neigh_node = batadv_orig_node_get_router(orig_node);
        if (!neigh_node)
                goto dst_unreach;
 
        if (!neigh_node->if_incoming)
                goto dst_unreach;
 
-       if (neigh_node->if_incoming->if_status != IF_ACTIVE)
+       if (neigh_node->if_incoming->if_status != BATADV_IF_ACTIVE)
                goto dst_unreach;
 
        memcpy(icmp_packet->orig,
@@ -236,25 +235,25 @@ static ssize_t bat_socket_write(struct file *file, const char __user *buff,
                memcpy(icmp_packet->rr,
                       neigh_node->if_incoming->net_dev->dev_addr, ETH_ALEN);
 
-       send_skb_packet(skb, neigh_node->if_incoming, neigh_node->addr);
+       batadv_send_skb_packet(skb, neigh_node->if_incoming, neigh_node->addr);
        goto out;
 
 dst_unreach:
        icmp_packet->msg_type = DESTINATION_UNREACHABLE;
-       bat_socket_add_packet(socket_client, icmp_packet, packet_len);
+       batadv_socket_add_packet(socket_client, icmp_packet, packet_len);
 free_skb:
        kfree_skb(skb);
 out:
        if (primary_if)
-               hardif_free_ref(primary_if);
+               batadv_hardif_free_ref(primary_if);
        if (neigh_node)
-               neigh_node_free_ref(neigh_node);
+               batadv_neigh_node_free_ref(neigh_node);
        if (orig_node)
-               orig_node_free_ref(orig_node);
+               batadv_orig_node_free_ref(orig_node);
        return len;
 }
 
-static unsigned int bat_socket_poll(struct file *file, poll_table *wait)
+static unsigned int batadv_socket_poll(struct file *file, poll_table *wait)
 {
        struct socket_client *socket_client = file->private_data;
 
@@ -266,37 +265,37 @@ static unsigned int bat_socket_poll(struct file *file, poll_table *wait)
        return 0;
 }
 
-static const struct file_operations fops = {
+static const struct file_operations batadv_fops = {
        .owner = THIS_MODULE,
-       .open = bat_socket_open,
-       .release = bat_socket_release,
-       .read = bat_socket_read,
-       .write = bat_socket_write,
-       .poll = bat_socket_poll,
+       .open = batadv_socket_open,
+       .release = batadv_socket_release,
+       .read = batadv_socket_read,
+       .write = batadv_socket_write,
+       .poll = batadv_socket_poll,
        .llseek = no_llseek,
 };
 
-int bat_socket_setup(struct bat_priv *bat_priv)
+int batadv_socket_setup(struct bat_priv *bat_priv)
 {
        struct dentry *d;
 
        if (!bat_priv->debug_dir)
                goto err;
 
-       d = debugfs_create_file(ICMP_SOCKET, S_IFREG | S_IWUSR | S_IRUSR,
-                               bat_priv->debug_dir, bat_priv, &fops);
-       if (d)
+       d = debugfs_create_file(BATADV_ICMP_SOCKET, S_IFREG | S_IWUSR | S_IRUSR,
+                               bat_priv->debug_dir, bat_priv, &batadv_fops);
+       if (!d)
                goto err;
 
        return 0;
 
 err:
-       return 1;
+       return -ENOMEM;
 }
 
-static void bat_socket_add_packet(struct socket_client *socket_client,
-                                 struct icmp_packet_rr *icmp_packet,
-                                 size_t icmp_len)
+static void batadv_socket_add_packet(struct socket_client *socket_client,
+                                    struct icmp_packet_rr *icmp_packet,
+                                    size_t icmp_len)
 {
        struct socket_packet *socket_packet;
 
@@ -312,8 +311,9 @@ static void bat_socket_add_packet(struct socket_client *socket_client,
        spin_lock_bh(&socket_client->lock);
 
        /* while waiting for the lock the socket_client could have been
-        * deleted */
-       if (!socket_client_hash[icmp_packet->uid]) {
+        * deleted
+        */
+       if (!batadv_socket_client_hash[icmp_packet->uid]) {
                spin_unlock_bh(&socket_client->lock);
                kfree(socket_packet);
                return;
@@ -336,11 +336,12 @@ static void bat_socket_add_packet(struct socket_client *socket_client,
        wake_up(&socket_client->queue_wait);
 }
 
-void bat_socket_receive_packet(struct icmp_packet_rr *icmp_packet,
-                              size_t icmp_len)
+void batadv_socket_receive_packet(struct icmp_packet_rr *icmp_packet,
+                                 size_t icmp_len)
 {
-       struct socket_client *hash = socket_client_hash[icmp_packet->uid];
+       struct socket_client *hash;
 
+       hash = batadv_socket_client_hash[icmp_packet->uid];
        if (hash)
-               bat_socket_add_packet(hash, icmp_packet, icmp_len);
+               batadv_socket_add_packet(hash, icmp_packet, icmp_len);
 }