#define MIF_EXISTS(_net, _idx) ((_net)->ipv6.vif6_table[_idx].dev != NULL)
 
-static int mroute_do_assert;                           /* Set in PIM assert    */
-#ifdef CONFIG_IPV6_PIMSM_V2
-static int mroute_do_pim;
-#else
-#define mroute_do_pim 0
-#endif
-
 static struct mfc6_cache *mfc_unres_queue;             /* Queue of unresolved entries */
 
 /* Special spinlock for queue of unresolved entries */
                int v;
                if (get_user(v, (int __user *)optval))
                        return -EFAULT;
-               mroute_do_assert = !!v;
+               init_net.ipv6.mroute_do_assert = !!v;
                return 0;
        }
 
                v = !!v;
                rtnl_lock();
                ret = 0;
-               if (v != mroute_do_pim) {
-                       mroute_do_pim = v;
-                       mroute_do_assert = v;
-                       if (mroute_do_pim)
+               if (v != init_net.ipv6.mroute_do_pim) {
+                       init_net.ipv6.mroute_do_pim = v;
+                       init_net.ipv6.mroute_do_assert = v;
+                       if (init_net.ipv6.mroute_do_pim)
                                ret = inet6_add_protocol(&pim6_protocol,
                                                         IPPROTO_PIM);
                        else
                break;
 #ifdef CONFIG_IPV6_PIMSM_V2
        case MRT6_PIM:
-               val = mroute_do_pim;
+               val = init_net.ipv6.mroute_do_pim;
                break;
 #endif
        case MRT6_ASSERT:
-               val = mroute_do_assert;
+               val = init_net.ipv6.mroute_do_assert;
                break;
        default:
                return -ENOPROTOOPT;
                cache->mfc_un.res.wrong_if++;
                true_vifi = ip6mr_find_vif(skb->dev);
 
-               if (true_vifi >= 0 && mroute_do_assert &&
+               if (true_vifi >= 0 && init_net.ipv6.mroute_do_assert &&
                    /* pimsm uses asserts, when switching from RPT to SPT,
                       so that we cannot check that packet arrived on an oif.
                       It is bad, but otherwise we would need to move pretty
                       large chunk of pimd to kernel. Ough... --ANK
                     */
-                   (mroute_do_pim || cache->mfc_un.res.ttls[true_vifi] < 255) &&
+                   (init_net.ipv6.mroute_do_pim ||
+                    cache->mfc_un.res.ttls[true_vifi] < 255) &&
                    time_after(jiffies,
                               cache->mfc_un.res.last_assert + MFC_ASSERT_THRESH)) {
                        cache->mfc_un.res.last_assert = jiffies;