IPv6 packet's 'length' field contains length of payload excluding headers.
Header's length (40) needs to be added to that to get complete packet length.
This patch seems to be fixing random VPN drops.
Signed-off-by: Nikolay Martynov <mar.kolya@gmail.com>
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
iplen = load_be16(vpninfo->cstp_pkt->data + 2);
break;
case 6:
- iplen = load_be16(vpninfo->cstp_pkt->data + 4);
+ iplen = load_be16(vpninfo->cstp_pkt->data + 4) + 40;
break;
default:
badiplen: