hlist_for_each_entry_rcu(vs, vs_head(net, port), hlist) {
                if (inet_sk(vs->sock->sk)->inet_sport == port &&
-                   inet_sk(vs->sock->sk)->sk.sk_family == family &&
+                   vxlan_get_sk_family(vs) == family &&
                    vs->flags == flags)
                        return vs;
        }
        struct net_device *dev;
        struct sock *sk = vs->sock->sk;
        struct net *net = sock_net(sk);
-       sa_family_t sa_family = sk->sk_family;
+       sa_family_t sa_family = vxlan_get_sk_family(vs);
        __be16 port = inet_sk(sk)->inet_sport;
        int err;
 
        struct net_device *dev;
        struct sock *sk = vs->sock->sk;
        struct net *net = sock_net(sk);
-       sa_family_t sa_family = sk->sk_family;
+       sa_family_t sa_family = vxlan_get_sk_family(vs);
        __be16 port = inet_sk(sk)->inet_sport;
 
        rcu_read_lock();
        for (i = 0; i < PORT_HASH_SIZE; ++i) {
                hlist_for_each_entry_rcu(vs, &vn->sock_list[i], hlist) {
                        port = inet_sk(vs->sock->sk)->inet_sport;
-                       sa_family = vs->sock->sk->sk_family;
+                       sa_family = vxlan_get_sk_family(vs);
                        dev->netdev_ops->ndo_add_vxlan_port(dev, sa_family,
                                                            port);
                }