struct ip_vs_proto_data *pd, struct ip_vs_iphdr *iph)
 {
        __be16 _ports[2], *pptr, dport;
-       struct net *net;
-       struct netns_ipvs *ipvs;
+       struct netns_ipvs *ipvs = svc->ipvs;
+       struct net *net = ipvs->net;
 
        pptr = frag_safe_skb_hp(skb, iph->len, sizeof(_ports), _ports, iph);
        if (!pptr)
                return NF_DROP;
        dport = likely(!ip_vs_iph_inverse(iph)) ? pptr[1] : pptr[0];
 
-       net = skb_net(skb);
-
-
        /* if it is fwmark-based service, the cache_bypass sysctl is up
           and the destination is a non-local unicast, then create
           a cache_bypass connection entry */
-       ipvs = net_ipvs(net);
        if (sysctl_cache_bypass(ipvs) && svc->fwmark &&
            !(iph->hdr_flags & (IP_VS_HDR_INVERSE | IP_VS_HDR_ICMP)) &&
            ip_vs_addr_is_unicast(net, svc->af, &iph->daddr)) {