[net-next] enic: drop IP proto check for vxlan tunnel delete

Message ID 20180313122433.1185-1-gvaradar@cisco.com
State Accepted
Delegated to: David Miller
Headers show
Series
  • [net-next] enic: drop IP proto check for vxlan tunnel delete
Related show

Commit Message

Govindarajulu Varadarajan March 13, 2018, 12:24 p.m.
Commit d11790941dd3 ("enic: Add vxlan offload support for IPv6 pkts")
added vxlan offload support for IPv6 pkts. Required change in
enic_udp_tunnel_del was not made. This creates a bug where once user
adds IPv6 tunnel, hw offload for that cannot be deleted.

This patch removes check for IP proto in tunnel delete path. Driver need
not check for IP proto since same UDP port cannot be used to create two
tunnels.

Fixes: d11790941dd3 ("enic: Add vxlan offload support for IPv6 pkts")
Signed-off-by: Govindarajulu Varadarajan <gvaradar@cisco.com>
---
 drivers/net/ethernet/cisco/enic/enic_main.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

Comments

David Miller March 16, 2018, 2:50 p.m. | #1
From: Govindarajulu Varadarajan <gvaradar@cisco.com>
Date: Tue, 13 Mar 2018 05:24:33 -0700

> Commit d11790941dd3 ("enic: Add vxlan offload support for IPv6 pkts")
> added vxlan offload support for IPv6 pkts. Required change in
> enic_udp_tunnel_del was not made. This creates a bug where once user
> adds IPv6 tunnel, hw offload for that cannot be deleted.
> 
> This patch removes check for IP proto in tunnel delete path. Driver need
> not check for IP proto since same UDP port cannot be used to create two
> tunnels.
> 
> Fixes: d11790941dd3 ("enic: Add vxlan offload support for IPv6 pkts")
> Signed-off-by: Govindarajulu Varadarajan <gvaradar@cisco.com>

Applied, thanks.

Patch

diff --git a/drivers/net/ethernet/cisco/enic/enic_main.c b/drivers/net/ethernet/cisco/enic/enic_main.c
index a25fb95492a0..81684acf52af 100644
--- a/drivers/net/ethernet/cisco/enic/enic_main.c
+++ b/drivers/net/ethernet/cisco/enic/enic_main.c
@@ -251,9 +251,8 @@  static void enic_udp_tunnel_del(struct net_device *netdev,
 
 	spin_lock_bh(&enic->devcmd_lock);
 
-	if ((ti->sa_family != AF_INET) ||
-	    ((ntohs(ti->port) != enic->vxlan.vxlan_udp_port_number)) ||
-	    (ti->type != UDP_TUNNEL_TYPE_VXLAN)) {
+	if ((ntohs(ti->port) != enic->vxlan.vxlan_udp_port_number) ||
+	    ti->type != UDP_TUNNEL_TYPE_VXLAN) {
 		netdev_info(netdev, "udp_tnl: port:%d, sa_family: %d, type: %d not offloaded",
 			    ntohs(ti->port), ti->sa_family, ti->type);
 		goto unlock;