if (link->sock_proto == UDP) {
// no UDP checksumming
lock_sock(link->sock->sk);
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,16,0)
link->sock->sk->sk_no_check = 1;
+#else
+ link->sock->sk->sk_no_check_tx = 1;
+ link->sock->sk->sk_no_check_rx = 1;
+#endif
release_sock(link->sock->sk);
}
link->sock_addr.sin_port = htons(link->dst_port);
- if ((err = link->sock->ops->connect(link->sock, (struct sockaddr *)&(link->sock_addr), sizeof(struct sockaddr), 0) < 0)) {
+ if ((err = link->sock->ops->connect(link->sock, (struct sockaddr *)&(link->sock_addr), sizeof(struct sockaddr), 0)) < 0) {
WARNING("Could not connect to remote VNET Server, error %d\n", err);
return -1;
}
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
msg.msg_control = NULL;
oldfs = get_fs();
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
msg.msg_control = NULL;
oldfs = get_fs();
if (vnet_brg_s.serv_proto == UDP) {
// No UDP checksumming is done
lock_sock(vnet_brg_s.serv_sock->sk);
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,16,0)
vnet_brg_s.serv_sock->sk->sk_no_check = 1;
+#else
+ vnet_brg_s.serv_sock->sk->sk_no_check_tx = 1;
+ vnet_brg_s.serv_sock->sk->sk_no_check_rx = 1;
+#endif
release_sock(vnet_brg_s.serv_sock->sk);
}