linux-next Problems with VPN tunnel - no packets sent

From: Valdis Kletnieks
Date: Tue Dec 02 2014 - 15:41:59 EST


Recent linux-next has broken my Juniper VPN client. The tunnel gets created,
routes get added, but trying to actually send packets across results in packets
just disappearing. 'ifconfig' consistently reports exactly 1 packet sent (even
after a 'ping' command or similar should have sent multiple packets.

tun0: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST> mtu 1400
inet 172.27.1.40 netmask 255.255.255.255 destination 172.27.1.40
unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 500 (UNSPEC)
RX packets 1 bytes 355 (355.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1 bytes 61 (61.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

Still broken in next-20141201, and bisection fingers this commit:

commit e0b46d0ee9c240c7430a47e9b0365674d4a04522
Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
Date: Fri Nov 7 21:22:23 2014 +0800

tun: Use iovec iterators

This patch removes the use of skb_copy_datagram_const_iovec in
favour of the iovec iterator-based skb_copy_datagram_iter.

This commit is in the kernel, and does *not* fix the problem:

commit 8c847d254146d32c86574a1b16923ff91bb784dd
Author: Jason Wang <jasowang@xxxxxxxxxx>
Date: Thu Nov 13 16:54:14 2014 +0800

tun: fix issues of iovec iterators using in tun_put_user()

So there's apparently additional issues that Jason didn't address. I tried to
revert Herbert's patch for testing, but there's at least 5 or 6 other patches
that need reverting first, so I abandoned that unless it becomes necessary...

What's the best way to proceed?

Attachment: pgp8wE0QVT6vC.pgp
Description: PGP signature