Palacios Public Git Repository

To checkout Palacios execute

  git clone http://v3vee.org/palacios/palacios.web/palacios.git
This will give you the master branch. You probably want the devel branch or one of the release branches. To switch to the devel branch, simply execute
  cd palacios
  git checkout --track -b devel origin/devel
The other branches are similar.


Linux kernel compatability enhancements (through 3.19)
[palacios.git] / linux_module / iface-socket.c
index 82fbe56..3f85682 100644 (file)
@@ -301,8 +301,12 @@ palacios_send(
        msg.msg_namelen = 0;
        msg.msg_control = NULL;
        msg.msg_controllen = 0;
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,19,0)
        msg.msg_iov = &iov;
        msg.msg_iovlen = 1;
+#else
+       iov_iter_init(&(msg.msg_iter),WRITE,&iov,1,0);
+#endif
 
        iov.iov_base = (char *)buf;
        iov.iov_len = (size_t)len;
@@ -340,8 +344,12 @@ palacios_recv(
        msg.msg_namelen = 0;
        msg.msg_control = NULL;
        msg.msg_controllen = 0;
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,19,0)
        msg.msg_iov = &iov;
        msg.msg_iovlen = 1;
+#else
+       iov_iter_init(&(msg.msg_iter),READ,&iov,1,0);
+#endif
 
        iov.iov_base = (void *)&buf[0];
        iov.iov_len = (size_t)len;
@@ -385,8 +393,12 @@ palacios_sendto_ip(
        msg.msg_namelen = sizeof(struct sockaddr_in);
        msg.msg_control = NULL;
        msg.msg_controllen = 0;
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,19,0)
        msg.msg_iov = &iov;
        msg.msg_iovlen = 1;
+#else
+       iov_iter_init(&(msg.msg_iter),WRITE,&iov,1,0);
+#endif
 
        iov.iov_base = (char *)buf;
        iov.iov_len = (size_t)len;
@@ -414,7 +426,6 @@ palacios_recvfrom_ip(
 {
        struct palacios_socket * sock = (struct palacios_socket *)sock_ptr;
        struct sockaddr_in src;
-       int alen;
        struct msghdr msg;
        mm_segment_t oldfs;
        struct iovec iov;
@@ -427,7 +438,6 @@ palacios_recvfrom_ip(
        src.sin_family = AF_INET;
        src.sin_port = htons(port);
        src.sin_addr.s_addr = htonl(ip_addr);
-       alen = sizeof(src);
 
 
        msg.msg_flags = 0;
@@ -435,8 +445,12 @@ palacios_recvfrom_ip(
        msg.msg_namelen = sizeof(struct sockaddr_in);
        msg.msg_control = NULL;
        msg.msg_controllen = 0;
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,19,0)
        msg.msg_iov = &iov;
        msg.msg_iovlen = 1;
+#else
+       iov_iter_init(&(msg.msg_iter),READ,&iov,1,0);
+#endif
 
        iov.iov_base = (void *)&buf[0];
        iov.iov_len = (size_t)len;