diff --git a/net/ipv6/route.c b/net/ipv6/route.c
index 58c449ad7f6ed1b8e6a734d7fb7a3b48a4ae6afb..6ebdb7b6744cc933801dcf4c6b3dea6ddce8a89c 100644
--- a/net/ipv6/route.c
+++ b/net/ipv6/route.c
@@ -2730,6 +2730,9 @@ static int inet6_rtm_getroute(struct sk_buff *in_skb, struct nlmsghdr* nlh)
 	if (tb[RTA_OIF])
 		oif = nla_get_u32(tb[RTA_OIF]);
 
+	if (tb[RTA_MARK])
+		fl6.flowi6_mark = nla_get_u32(tb[RTA_MARK]);
+
 	if (iif) {
 		struct net_device *dev;
 		int flags = 0;