This didn't matter before as we didn't transport IPv6 in ESP — NC doesn't
support it and we haven't worked it out for GPST yet. But Pulse does.
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
for (i=0; i<padlen; i++)
pkt->data[pkt->len + i] = i + 1;
pkt->data[pkt->len + padlen] = padlen;
- pkt->data[pkt->len + padlen + 1] = 0x04; /* Legacy IP */
+ if ((pkt->data[0] & 0xf0) == 0x60) /* iph->ip_v */
+ pkt->data[pkt->len + padlen + 1] = 0x29; /* IPv6 */
+ else
+ pkt->data[pkt->len + padlen + 1] = 0x04; /* Legacy IP */
memcpy(pkt->esp.iv, vpninfo->esp_out.iv, sizeof(pkt->esp.iv));