int ip_rt_ioctl(struct net *, unsigned int cmd, struct rtentry *rt);
 void ip_rt_get_source(u8 *src, struct sk_buff *skb, struct rtable *rt);
 struct rtable *rt_dst_alloc(struct net_device *dev,
-                            unsigned int flags, u16 type,
-                            bool nopolicy, bool noxfrm);
+                           unsigned int flags, u16 type, bool noxfrm);
 struct rtable *rt_dst_clone(struct net_device *dev, struct rtable *rt);
 
 struct in_ifaddr;
 
 
 struct rtable *rt_dst_alloc(struct net_device *dev,
                            unsigned int flags, u16 type,
-                           bool nopolicy, bool noxfrm)
+                           bool noxfrm)
 {
        struct rtable *rt;
 
        rt = dst_alloc(&ipv4_dst_ops, dev, 1, DST_OBSOLETE_FORCE_CHK,
-                      (nopolicy ? DST_NOPOLICY : 0) |
                       (noxfrm ? DST_NOXFRM : 0));
 
        if (rt) {
        struct in_device *in_dev = __in_dev_get_rcu(dev);
        unsigned int flags = RTCF_MULTICAST;
        struct rtable *rth;
-       bool no_policy;
        u32 itag = 0;
        int err;
 
        if (our)
                flags |= RTCF_LOCAL;
 
-       no_policy = IN_DEV_ORCONF(in_dev, NOPOLICY);
-       if (no_policy)
+       if (IN_DEV_ORCONF(in_dev, NOPOLICY))
                IPCB(skb)->flags |= IPSKB_NOPOLICY;
 
        rth = rt_dst_alloc(dev_net(dev)->loopback_dev, flags, RTN_MULTICAST,
-                          no_policy, false);
+                          false);
        if (!rth)
                return -ENOBUFS;
 
        struct rtable *rth;
        int err;
        struct in_device *out_dev;
-       bool do_cache, no_policy;
+       bool do_cache;
        u32 itag = 0;
 
        /* get a working reference to the output device */
                }
        }
 
-       no_policy = IN_DEV_ORCONF(in_dev, NOPOLICY);
-       if (no_policy)
+       if (IN_DEV_ORCONF(in_dev, NOPOLICY))
                IPCB(skb)->flags |= IPSKB_NOPOLICY;
 
        fnhe = find_exception(nhc, daddr);
                }
        }
 
-       rth = rt_dst_alloc(out_dev->dev, 0, res->type, no_policy,
+       rth = rt_dst_alloc(out_dev->dev, 0, res->type,
                           IN_DEV_ORCONF(out_dev, NOXFRM));
        if (!rth) {
                err = -ENOBUFS;
        struct rtable   *rth;
        struct flowi4   fl4;
        bool do_cache = true;
-       bool no_policy;
 
        /* IP on this device is disabled. */
 
        RT_CACHE_STAT_INC(in_brd);
 
 local_input:
-       no_policy = IN_DEV_ORCONF(in_dev, NOPOLICY);
-       if (no_policy)
+       if (IN_DEV_ORCONF(in_dev, NOPOLICY))
                IPCB(skb)->flags |= IPSKB_NOPOLICY;
 
        do_cache &= res->fi && !itag;
        }
 
        rth = rt_dst_alloc(ip_rt_get_dev(net, res),
-                          flags | RTCF_LOCAL, res->type,
-                          no_policy, false);
+                          flags | RTCF_LOCAL, res->type, false);
        if (!rth)
                goto e_nobufs;
 
 
 add:
        rth = rt_dst_alloc(dev_out, flags, type,
-                          IN_DEV_ORCONF(in_dev, NOPOLICY),
                           IN_DEV_ORCONF(in_dev, NOXFRM));
        if (!rth)
                return ERR_PTR(-ENOBUFS);