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.


More Linux 3.19+ kernel compatability fixes
Peter Dinda [Thu, 14 Jul 2016 00:09:03 +0000 (19:09 -0500)]
Makefile
linux_module/iface-packet.c

index 8e51d8f..97022f3 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -480,15 +480,12 @@ endif
 ifdef V3_CONFIG_LINUX
 DEFAULT_EXTRA_TARGETS=linux_module
 else
-DEFAULT_EXTRA_TARGETS=
-endif
-
 ifdef V3_CONFIG_NAUTILUS
 DEFAULT_EXTRA_TARGETS=nautilus
 else
 DEFAULT_EXTRA_TARGETS=
 endif
-
+endif
 
 # The all: target is the default when no target is given on the
 # command line.
@@ -654,13 +651,14 @@ linux_module/v3vee.ko: linux_module/*.c linux_module/*.h libv3vee.a
        cd linux_module/ && make -j 8
        cp linux_module/v3vee.ko v3vee.ko
 
-
+.PHONY: linux_module
 linux_module: linux_module/v3vee.ko 
 
 nautilus/libnautilus.a: nautilus/*.c nautilus/*.h libv3vee.a
        cd nautilus/ && make 
        cp nautilus/libnautilus.a .
 
+.PHONY: nautilus
 nautilus: nautilus/libnautilus.a
 
 
index 6ec4de0..37728ed 100644 (file)
@@ -78,8 +78,12 @@ recv_pkt(struct socket * raw_sock, unsigned char * pkt, unsigned int len) {
     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
     msg.msg_control = NULL;
     
     oldfs = get_fs();
@@ -308,8 +312,12 @@ palacios_packet_send(struct v3_packet * packet,
     iov.iov_base = (void *)pkt;
     iov.iov_len = (__kernel_size_t)len;
 
+#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
     msg.msg_control = NULL;
     msg.msg_controllen = 0;
     msg.msg_name = NULL;