diff options
author | David S. Miller <davem@davemloft.net> | 2012-01-11 19:46:32 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-01-24 18:08:46 -0500 |
commit | 496053f488fc2d859e41574f3421993826d2d0eb (patch) | |
tree | a97d4e40752b2b86023e896633ee0de55af2927e /net/ipv4/ip_gre.c | |
parent | d2346963bfcbb9a8ee783ca3c3b3bdd7448ec9d5 (diff) |
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>
Diffstat (limited to 'net/ipv4/ip_gre.c')
-rw-r--r-- | net/ipv4/ip_gre.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/net/ipv4/ip_gre.c b/net/ipv4/ip_gre.c index 2b53a1f7abf6..fc213350a6ed 100644 --- a/net/ipv4/ip_gre.c +++ b/net/ipv4/ip_gre.c | |||
@@ -724,11 +724,8 @@ static netdev_tx_t ipgre_tunnel_xmit(struct sk_buff *skb, struct net_device *dev | |||
724 | goto tx_error; | 724 | goto tx_error; |
725 | } | 725 | } |
726 | 726 | ||
727 | if (skb->protocol == htons(ETH_P_IP)) { | 727 | if (skb->protocol == htons(ETH_P_IP)) |
728 | rt = skb_rtable(skb); | 728 | rt = skb_rtable(skb); |
729 | if ((dst = rt->rt_gateway) == 0) | ||
730 | goto tx_error_icmp; | ||
731 | } | ||
732 | #if IS_ENABLED(CONFIG_IPV6) | 729 | #if IS_ENABLED(CONFIG_IPV6) |
733 | else if (skb->protocol == htons(ETH_P_IPV6)) { | 730 | else if (skb->protocol == htons(ETH_P_IPV6)) { |
734 | struct neighbour *neigh = dst_get_neighbour_noref(skb_dst(skb)); | 731 | 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 | |||
910 | __IPTUNNEL_XMIT(tstats, &dev->stats); | 907 | __IPTUNNEL_XMIT(tstats, &dev->stats); |
911 | return NETDEV_TX_OK; | 908 | return NETDEV_TX_OK; |
912 | 909 | ||
910 | #if IS_ENABLED(CONFIG_IPV6) | ||
913 | tx_error_icmp: | 911 | tx_error_icmp: |
914 | dst_link_failure(skb); | 912 | dst_link_failure(skb); |
915 | 913 | #endif | |
916 | tx_error: | 914 | tx_error: |
917 | dev->stats.tx_errors++; | 915 | dev->stats.tx_errors++; |
918 | dev_kfree_skb(skb); | 916 | dev_kfree_skb(skb); |