aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv6/sit.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/ipv6/sit.c')
-rw-r--r--net/ipv6/sit.c14
1 files changed, 6 insertions, 8 deletions
diff --git a/net/ipv6/sit.c b/net/ipv6/sit.c
index d6bfaec3bbbf..6e48a80d0f25 100644
--- a/net/ipv6/sit.c
+++ b/net/ipv6/sit.c
@@ -730,10 +730,9 @@ static netdev_tx_t ipip6_tunnel_xmit(struct sk_buff *skb,
730 } 730 }
731 731
732 { 732 {
733 struct flowi fl = { .nl_u = { .ip4_u = 733 struct flowi fl = { .fl4_dst = dst,
734 { .daddr = dst, 734 .fl4_src = tiph->saddr,
735 .saddr = tiph->saddr, 735 .fl4_tos = RT_TOS(tos),
736 .tos = RT_TOS(tos) } },
737 .oif = tunnel->parms.link, 736 .oif = tunnel->parms.link,
738 .proto = IPPROTO_IPV6 }; 737 .proto = IPPROTO_IPV6 };
739 if (ip_route_output_key(dev_net(dev), &rt, &fl)) { 738 if (ip_route_output_key(dev_net(dev), &rt, &fl)) {
@@ -855,10 +854,9 @@ static void ipip6_tunnel_bind_dev(struct net_device *dev)
855 iph = &tunnel->parms.iph; 854 iph = &tunnel->parms.iph;
856 855
857 if (iph->daddr) { 856 if (iph->daddr) {
858 struct flowi fl = { .nl_u = { .ip4_u = 857 struct flowi fl = { .fl4_dst = iph->daddr,
859 { .daddr = iph->daddr, 858 .fl4_src = iph->saddr,
860 .saddr = iph->saddr, 859 .fl4_tos = RT_TOS(iph->tos),
861 .tos = RT_TOS(iph->tos) } },
862 .oif = tunnel->parms.link, 860 .oif = tunnel->parms.link,
863 .proto = IPPROTO_IPV6 }; 861 .proto = IPPROTO_IPV6 };
864 struct rtable *rt; 862 struct rtable *rt;