diff --git a/net/openvswitch/Makefile b/net/openvswitch/Makefile
index c0c3e8e15..7f3737cfb 100644
--- a/net/openvswitch/Makefile
+++ b/net/openvswitch/Makefile
@@ -11,8 +11,8 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=openvswitch
 
-PKG_RELEASE:=1
-PKG_VERSION:=2.3.0
+PKG_RELEASE:=2
+PKG_VERSION:=2.3.1
 PKG_RELEASE=$(PKG_SOURCE_VERSION)
 PKG_LICENSE:=Apache-2.0
 PKG_LICENSE_FILES:=COPYING
@@ -21,7 +21,7 @@ PKG_USE_MIPS16:=0
 PKG_SOURCE_PROTO:=git
 PKG_SOURCE_URL:=https://github.com/openvswitch/ovs
 PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
-PKG_SOURCE_VERSION:=2b70c4b929d18d1f36dcdeb71ea5c383cbb662e9
+PKG_SOURCE_VERSION:=0dfed4ba9c8a16a1f316d709b7831a4e139472d4
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
 
 include $(INCLUDE_DIR)/package.mk
diff --git a/net/openvswitch/patches/0005-datapath-backport___ip_select_ident_function.patch b/net/openvswitch/patches/0005-datapath-backport___ip_select_ident_function.patch
deleted file mode 100644
index 0ea48c6dd..000000000
--- a/net/openvswitch/patches/0005-datapath-backport___ip_select_ident_function.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-commit 2ea824143172e38b4387ef23b8685cebaee21c69
-Author: Pravin B Shelar <pshelar@nicira.com>
-Date:   Tue Sep 24 18:42:43 2013 -0700
-
-    datapath: Backport __ip_select_ident() function
-    
-    definition of __ip_select_ident() changed in newer kernel and
-    it is backported to stable kernel, Therefore adding configure
-    check to detect the new function.
-    
-    Signed-off-by: Pravin B Shelar <pshelar@nicira.com>
-    Acked-by: Andy Zhou <azhou@nicira.com>
-
-diff --git a/acinclude.m4 b/acinclude.m4
-index 7e036e5..b0794d2 100644
---- a/acinclude.m4
-+++ b/acinclude.m4
-@@ -284,6 +284,8 @@ AC_DEFUN([OVS_CHECK_LINUX_COMPAT], [
-   OVS_GREP_IFELSE([$KSRC/include/linux/if_vlan.h], [vlan_set_encap_proto])
- 
-   OVS_GREP_IFELSE([$KSRC/include/linux/in.h], [ipv4_is_multicast])
-+  OVS_GREP_IFELSE([$KSRC/include/net/ip.h], [__ip_select_ident.*dst_entry],
-+                  [OVS_DEFINE([HAVE_IP_SELECT_IDENT_USING_DST_ENTRY])])
- 
-   OVS_GREP_IFELSE([$KSRC/include/linux/netdevice.h], [dev_disable_lro])
-   OVS_GREP_IFELSE([$KSRC/include/linux/netdevice.h], [dev_get_stats])
-diff --git a/datapath/linux/compat/ip_tunnels_core.c b/datapath/linux/compat/ip_tunnels_core.c
-index d650be2..a70aefc 100644
---- a/datapath/linux/compat/ip_tunnels_core.c
-+++ b/datapath/linux/compat/ip_tunnels_core.c
-@@ -70,7 +70,12 @@ int iptunnel_xmit(struct rtable *rt,
- 	iph->daddr	=	dst;
- 	iph->saddr	=	src;
- 	iph->ttl	=	ttl;
-+
-+#ifdef HAVE_IP_SELECT_IDENT_USING_DST_ENTRY
- 	__ip_select_ident(iph, &rt_dst(rt), (skb_shinfo(skb)->gso_segs ?: 1) - 1);
-+#else
-+	__ip_select_ident(iph, skb_shinfo(skb)->gso_segs ?: 1);
-+#endif
- 
- 	err = ip_local_out(skb);
- 	if (unlikely(net_xmit_eval(err)))