diff --git a/sys/net/if_ovpn.c b/sys/net/if_ovpn.c index 286125fb42d5..ed0ff178972f 100644 --- a/sys/net/if_ovpn.c +++ b/sys/net/if_ovpn.c @@ -1572,7 +1572,7 @@ ovpn_get_af(struct mbuf *m) return (AF_INET); ip6 = mtod(m, struct ip6_hdr *); - if (ip6->ip6_vfc == IPV6_VERSION) + if ((ip6->ip6_vfc & IPV6_VERSION_MASK) == IPV6_VERSION) return (AF_INET6); return (0); diff --git a/tests/sys/net/if_ovpn/if_ovpn.sh b/tests/sys/net/if_ovpn/if_ovpn.sh index 024f2488c951..bc1d3a85c987 100644 --- a/tests/sys/net/if_ovpn/if_ovpn.sh +++ b/tests/sys/net/if_ovpn/if_ovpn.sh @@ -383,6 +383,7 @@ atf_test_case "6in6" "cleanup" sleep 10 atf_check -s exit:0 -o ignore jexec b ping6 -c 3 2001:db8:1::1 + atf_check -s exit:0 -o ignore jexec b ping6 -c 3 -z 16 2001:db8:1::1 } 6in6_cleanup()