diff options
-rw-r--r-- | net/ipv4/ip_gre.c | 4 | ||||
-rw-r--r-- | net/ipv6/ip6_gre.c | 5 |
2 files changed, 7 insertions, 2 deletions
diff --git a/net/ipv4/ip_gre.c b/net/ipv4/ip_gre.c index 9c169bb2444d..f200b304f76c 100644 --- a/net/ipv4/ip_gre.c +++ b/net/ipv4/ip_gre.c | |||
@@ -722,10 +722,12 @@ static netdev_tx_t erspan_xmit(struct sk_buff *skb, | |||
722 | erspan_build_header(skb, ntohl(tunnel->parms.o_key), | 722 | erspan_build_header(skb, ntohl(tunnel->parms.o_key), |
723 | tunnel->index, | 723 | tunnel->index, |
724 | truncate, true); | 724 | truncate, true); |
725 | else | 725 | else if (tunnel->erspan_ver == 2) |
726 | erspan_build_header_v2(skb, ntohl(tunnel->parms.o_key), | 726 | erspan_build_header_v2(skb, ntohl(tunnel->parms.o_key), |
727 | tunnel->dir, tunnel->hwid, | 727 | tunnel->dir, tunnel->hwid, |
728 | truncate, true); | 728 | truncate, true); |
729 | else | ||
730 | goto free_skb; | ||
729 | 731 | ||
730 | tunnel->parms.o_flags &= ~TUNNEL_KEY; | 732 | tunnel->parms.o_flags &= ~TUNNEL_KEY; |
731 | __gre_xmit(skb, dev, &tunnel->parms.iph, htons(ETH_P_ERSPAN)); | 733 | __gre_xmit(skb, dev, &tunnel->parms.iph, htons(ETH_P_ERSPAN)); |
diff --git a/net/ipv6/ip6_gre.c b/net/ipv6/ip6_gre.c index 69727bc168cb..a3e1dec96a74 100644 --- a/net/ipv6/ip6_gre.c +++ b/net/ipv6/ip6_gre.c | |||
@@ -979,11 +979,14 @@ static netdev_tx_t ip6erspan_tunnel_xmit(struct sk_buff *skb, | |||
979 | erspan_build_header(skb, ntohl(t->parms.o_key), | 979 | erspan_build_header(skb, ntohl(t->parms.o_key), |
980 | t->parms.index, | 980 | t->parms.index, |
981 | truncate, false); | 981 | truncate, false); |
982 | else | 982 | else if (t->parms.erspan_ver == 2) |
983 | erspan_build_header_v2(skb, ntohl(t->parms.o_key), | 983 | erspan_build_header_v2(skb, ntohl(t->parms.o_key), |
984 | t->parms.dir, | 984 | t->parms.dir, |
985 | t->parms.hwid, | 985 | t->parms.hwid, |
986 | truncate, false); | 986 | truncate, false); |
987 | else | ||
988 | goto tx_err; | ||
989 | |||
987 | fl6.daddr = t->parms.raddr; | 990 | fl6.daddr = t->parms.raddr; |
988 | } | 991 | } |
989 | 992 | ||