aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/net/route.h1
-rw-r--r--net/ipv4/ipmr.c2
-rw-r--r--net/ipv4/route.c9
-rw-r--r--net/ipv4/xfrm4_policy.c1
4 files changed, 3 insertions, 10 deletions
diff --git a/include/net/route.h b/include/net/route.h
index 85d1093e42de..757fe40b6cea 100644
--- a/include/net/route.h
+++ b/include/net/route.h
@@ -52,7 +52,6 @@ struct rtable {
52 int rt_route_iif; 52 int rt_route_iif;
53 int rt_iif; 53 int rt_iif;
54 int rt_oif; 54 int rt_oif;
55 __u32 rt_mark;
56 55
57 /* Info on neighbour */ 56 /* Info on neighbour */
58 __be32 rt_gateway; 57 __be32 rt_gateway;
diff --git a/net/ipv4/ipmr.c b/net/ipv4/ipmr.c
index 5716c6b808d6..eee3bf6676fe 100644
--- a/net/ipv4/ipmr.c
+++ b/net/ipv4/ipmr.c
@@ -1797,7 +1797,7 @@ static struct mr_table *ipmr_rt_fib_lookup(struct net *net, struct sk_buff *skb)
1797 .flowi4_tos = RT_TOS(iph->tos), 1797 .flowi4_tos = RT_TOS(iph->tos),
1798 .flowi4_oif = rt->rt_oif, 1798 .flowi4_oif = rt->rt_oif,
1799 .flowi4_iif = rt->rt_iif, 1799 .flowi4_iif = rt->rt_iif,
1800 .flowi4_mark = rt->rt_mark, 1800 .flowi4_mark = skb->mark,
1801 }; 1801 };
1802 struct mr_table *mrt; 1802 struct mr_table *mrt;
1803 int err; 1803 int err;
diff --git a/net/ipv4/route.c b/net/ipv4/route.c
index fc1199dc23e7..264617c98c25 100644
--- a/net/ipv4/route.c
+++ b/net/ipv4/route.c
@@ -1275,7 +1275,6 @@ static int ip_route_input_mc(struct sk_buff *skb, __be32 daddr, __be32 saddr,
1275 rth->rt_route_iif = dev->ifindex; 1275 rth->rt_route_iif = dev->ifindex;
1276 rth->rt_iif = dev->ifindex; 1276 rth->rt_iif = dev->ifindex;
1277 rth->rt_oif = 0; 1277 rth->rt_oif = 0;
1278 rth->rt_mark = skb->mark;
1279 rth->rt_pmtu = 0; 1278 rth->rt_pmtu = 0;
1280 rth->rt_gateway = daddr; 1279 rth->rt_gateway = daddr;
1281 rth->fi = NULL; 1280 rth->fi = NULL;
@@ -1395,7 +1394,6 @@ static int __mkroute_input(struct sk_buff *skb,
1395 rth->rt_route_iif = in_dev->dev->ifindex; 1394 rth->rt_route_iif = in_dev->dev->ifindex;
1396 rth->rt_iif = in_dev->dev->ifindex; 1395 rth->rt_iif = in_dev->dev->ifindex;
1397 rth->rt_oif = 0; 1396 rth->rt_oif = 0;
1398 rth->rt_mark = skb->mark;
1399 rth->rt_pmtu = 0; 1397 rth->rt_pmtu = 0;
1400 rth->rt_gateway = daddr; 1398 rth->rt_gateway = daddr;
1401 rth->fi = NULL; 1399 rth->fi = NULL;
@@ -1562,7 +1560,6 @@ local_input:
1562 rth->rt_route_iif = dev->ifindex; 1560 rth->rt_route_iif = dev->ifindex;
1563 rth->rt_iif = dev->ifindex; 1561 rth->rt_iif = dev->ifindex;
1564 rth->rt_oif = 0; 1562 rth->rt_oif = 0;
1565 rth->rt_mark = skb->mark;
1566 rth->rt_pmtu = 0; 1563 rth->rt_pmtu = 0;
1567 rth->rt_gateway = daddr; 1564 rth->rt_gateway = daddr;
1568 rth->fi = NULL; 1565 rth->fi = NULL;
@@ -1714,7 +1711,6 @@ static struct rtable *__mkroute_output(const struct fib_result *res,
1714 rth->rt_route_iif = 0; 1711 rth->rt_route_iif = 0;
1715 rth->rt_iif = orig_oif ? : dev_out->ifindex; 1712 rth->rt_iif = orig_oif ? : dev_out->ifindex;
1716 rth->rt_oif = orig_oif; 1713 rth->rt_oif = orig_oif;
1717 rth->rt_mark = fl4->flowi4_mark;
1718 rth->rt_pmtu = 0; 1714 rth->rt_pmtu = 0;
1719 rth->rt_gateway = fl4->daddr; 1715 rth->rt_gateway = fl4->daddr;
1720 rth->fi = NULL; 1716 rth->fi = NULL;
@@ -1994,7 +1990,6 @@ struct dst_entry *ipv4_blackhole_route(struct net *net, struct dst_entry *dst_or
1994 rt->rt_route_iif = ort->rt_route_iif; 1990 rt->rt_route_iif = ort->rt_route_iif;
1995 rt->rt_iif = ort->rt_iif; 1991 rt->rt_iif = ort->rt_iif;
1996 rt->rt_oif = ort->rt_oif; 1992 rt->rt_oif = ort->rt_oif;
1997 rt->rt_mark = ort->rt_mark;
1998 rt->rt_pmtu = ort->rt_pmtu; 1993 rt->rt_pmtu = ort->rt_pmtu;
1999 1994
2000 rt->rt_genid = rt_genid(net); 1995 rt->rt_genid = rt_genid(net);
@@ -2091,8 +2086,8 @@ static int rt_fill_info(struct net *net, __be32 src, struct flowi4 *fl4,
2091 if (rtnetlink_put_metrics(skb, metrics) < 0) 2086 if (rtnetlink_put_metrics(skb, metrics) < 0)
2092 goto nla_put_failure; 2087 goto nla_put_failure;
2093 2088
2094 if (rt->rt_mark && 2089 if (fl4->flowi4_mark &&
2095 nla_put_be32(skb, RTA_MARK, rt->rt_mark)) 2090 nla_put_be32(skb, RTA_MARK, fl4->flowi4_mark))
2096 goto nla_put_failure; 2091 goto nla_put_failure;
2097 2092
2098 error = rt->dst.error; 2093 error = rt->dst.error;
diff --git a/net/ipv4/xfrm4_policy.c b/net/ipv4/xfrm4_policy.c
index 00d49e415113..f73ba8210bd3 100644
--- a/net/ipv4/xfrm4_policy.c
+++ b/net/ipv4/xfrm4_policy.c
@@ -82,7 +82,6 @@ static int xfrm4_fill_dst(struct xfrm_dst *xdst, struct net_device *dev,
82 xdst->u.rt.rt_route_iif = fl4->flowi4_iif; 82 xdst->u.rt.rt_route_iif = fl4->flowi4_iif;
83 xdst->u.rt.rt_iif = fl4->flowi4_iif; 83 xdst->u.rt.rt_iif = fl4->flowi4_iif;
84 xdst->u.rt.rt_oif = fl4->flowi4_oif; 84 xdst->u.rt.rt_oif = fl4->flowi4_oif;
85 xdst->u.rt.rt_mark = fl4->flowi4_mark;
86 85
87 xdst->u.dst.dev = dev; 86 xdst->u.dst.dev = dev;
88 dev_hold(dev); 87 dev_hold(dev);