ipv4: Remove bogus checks of rt_gateway being zero.
It can never actually happen. rt_gateway is either the fully resolved flow lookup key's destination address, or the non-zero FIB entry gateway address. Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
d2346963bf
commit
496053f488
2 changed files with 3 additions and 7 deletions
|
@ -724,11 +724,8 @@ 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);
|
||||
if ((dst = rt->rt_gateway) == 0)
|
||||
goto tx_error_icmp;
|
||||
}
|
||||
#if IS_ENABLED(CONFIG_IPV6)
|
||||
else if (skb->protocol == htons(ETH_P_IPV6)) {
|
||||
struct neighbour *neigh = dst_get_neighbour_noref(skb_dst(skb));
|
||||
|
@ -910,9 +907,10 @@ static netdev_tx_t ipgre_tunnel_xmit(struct sk_buff *skb, struct net_device *dev
|
|||
__IPTUNNEL_XMIT(tstats, &dev->stats);
|
||||
return NETDEV_TX_OK;
|
||||
|
||||
#if IS_ENABLED(CONFIG_IPV6)
|
||||
tx_error_icmp:
|
||||
dst_link_failure(skb);
|
||||
|
||||
#endif
|
||||
tx_error:
|
||||
dev->stats.tx_errors++;
|
||||
dev_kfree_skb(skb);
|
||||
|
|
|
@ -454,8 +454,6 @@ static netdev_tx_t ipip_tunnel_xmit(struct sk_buff *skb, struct net_device *dev)
|
|||
dev->stats.tx_fifo_errors++;
|
||||
goto tx_error;
|
||||
}
|
||||
if ((dst = rt->rt_gateway) == 0)
|
||||
goto tx_error_icmp;
|
||||
}
|
||||
|
||||
rt = ip_route_output_ports(dev_net(dev), &fl4, NULL,
|
||||
|
|
Loading…
Reference in a new issue