diff --git a/[refs] b/[refs] index 6e24d091fea0..4ddfb9d5d9b6 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 658c8d964eb3cdb7e4230a59ba09c75a3359ee4a +refs/heads/master: 61d57f87f3fb04a305f22befabd042ffbec8b852 diff --git a/trunk/net/ipv4/ip_gre.c b/trunk/net/ipv4/ip_gre.c index fc213350a6ed..05f7419ed7c5 100644 --- a/trunk/net/ipv4/ip_gre.c +++ b/trunk/net/ipv4/ip_gre.c @@ -724,8 +724,10 @@ static netdev_tx_t ipgre_tunnel_xmit(struct sk_buff *skb, struct net_device *dev goto tx_error; } - if (skb->protocol == htons(ETH_P_IP)) + if (skb->protocol == htons(ETH_P_IP)) { rt = skb_rtable(skb); + dst = rt->rt_gateway; + } #if IS_ENABLED(CONFIG_IPV6) else if (skb->protocol == htons(ETH_P_IPV6)) { struct neighbour *neigh = dst_get_neighbour_noref(skb_dst(skb));