PKG_NAME:=openvswitch
PKG_RELEASE:=2
-PKG_VERSION:=2.3.1
+PKG_VERSION:=2.3.90
PKG_RELEASE=$(PKG_SOURCE_VERSION)
PKG_LICENSE:=Apache-2.0
PKG_LICENSE_FILES:=COPYING
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/openvswitch/ovs
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
-PKG_SOURCE_VERSION:=0dfed4ba9c8a16a1f316d709b7831a4e139472d4
+PKG_SOURCE_VERSION:=58be9c9fd732b5bdd3d4c2e9b8cc2313f570094d
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
include $(INCLUDE_DIR)/package.mk
$(INSTALL_BIN) ./files/etc/init.d/openvswitch.init $(1)/etc/init.d/openvswitch
$(INSTALL_DIR) $(1)/usr/lib/
- $(CP) $(PKG_BUILD_DIR)/lib/.libs/libsflow-$(PKG_VERSION).so $(1)/usr/lib/
- $(CP) $(PKG_BUILD_DIR)/lib/.libs/libopenvswitch-$(PKG_VERSION).so $(1)/usr/lib/
- $(CP) $(PKG_BUILD_DIR)/ofproto/.libs/libofproto-$(PKG_VERSION).so $(1)/usr/lib/
- $(CP) $(PKG_BUILD_DIR)/ovsdb/.libs/libovsdb-$(PKG_VERSION).so $(1)/usr/lib/
+ $(CP) $(PKG_BUILD_DIR)/lib/.libs/libsflow.so* $(1)/usr/lib/
+ $(CP) $(PKG_BUILD_DIR)/lib/.libs/libopenvswitch.so* $(1)/usr/lib/
+ $(CP) $(PKG_BUILD_DIR)/ofproto/.libs/libofproto.so* $(1)/usr/lib/
+ $(CP) $(PKG_BUILD_DIR)/ovsdb/.libs/libovsdb.so* $(1)/usr/lib/
$(INSTALL_DIR) $(1)/usr/bin/
$(INSTALL_BIN) $(PKG_BUILD_DIR)/utilities/.libs/ovs-appctl $(1)/usr/bin/
+++ /dev/null
-From b9284f535e93c337ab21f330753e60e1038f9a27 Mon Sep 17 00:00:00 2001
-Date: Wed, 8 Jan 2014 13:48:49 +0100
-Subject: [PATCH 2/2] netdev-linux: Let interface flag survive internal port
- setup
-
-Due to a race condition when bringing up an internal port on Linux
-some interface flags (e.g. IFF_MULTICAST) are falsely reset. This
-happens because netlink events may be processed after the according
-netdev has been brought up (which sets interface flags).
-
-Fix this by reading the interface flags just before updating them
-if they have not been updated by from the kernel yet.
-
----
- lib/netdev-linux.c | 8 +++++++-
- 1 file changed, 7 insertions(+), 1 deletion(-)
-
-diff --git a/lib/netdev-linux.c b/lib/netdev-linux.c
-index 9eaac33..423e72e 100644
---- a/lib/netdev-linux.c
-+++ b/lib/netdev-linux.c
-@@ -2569,7 +2569,13 @@ update_flags(struct netdev_linux *netdev, enum netdev_flags off,
- unsigned int old_flags, new_flags;
- int error = 0;
-
-- old_flags = netdev->ifi_flags;
-+ if (!(netdev->cache_valid & VALID_DRVINFO)) {
-+ /* Most likely the debvice flags are not in sync yet, fetch them now */
-+ get_flags(&netdev->up, &old_flags);
-+ } else {
-+ old_flags = netdev->ifi_flags;
-+ }
-+
- *old_flagsp = iff_to_nd_flags(old_flags);
- new_flags = (old_flags & ~nd_to_iff_flags(off)) | nd_to_iff_flags(on);
- if (new_flags != old_flags) {
---
-1.8.1.4
-
--- /dev/null
+From 12edcd800d924f69630768eeece842373dee5bb0 Mon Sep 17 00:00:00 2001
+Date: Wed, 8 Jan 2014 13:48:33 +0100
+Subject: [PATCH 1/2] netdev-linux: Use unsigned int for ifi_flags
+
+ifi_flags is unsigned, the local equivalents should do the same.
+
+---
+ lib/netdev-linux.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/lib/netdev-linux.c b/lib/netdev-linux.c
+index 9bdbbdf..9eaac33 100644
+--- a/lib/netdev-linux.c
++++ b/lib/netdev-linux.c
+@@ -2709,7 +2709,7 @@ update_flags(struct netdev_linux *netdev, enum netdev_flags off,
+ enum netdev_flags on, enum netdev_flags *old_flagsp)
+ OVS_REQUIRES(netdev->mutex)
+ {
+- int old_flags, new_flags;
++ unsigned int old_flags, new_flags;
+ int error = 0;
+
+ old_flags = netdev->ifi_flags;
+--
+1.8.1.4
+
--- /dev/null
+From b9284f535e93c337ab21f330753e60e1038f9a27 Mon Sep 17 00:00:00 2001
+Date: Wed, 8 Jan 2014 13:48:49 +0100
+Subject: [PATCH 2/2] netdev-linux: Let interface flag survive internal port
+ setup
+
+Due to a race condition when bringing up an internal port on Linux
+some interface flags (e.g. IFF_MULTICAST) are falsely reset. This
+happens because netlink events may be processed after the according
+netdev has been brought up (which sets interface flags).
+
+Fix this by reading the interface flags just before updating them
+if they have not been updated by from the kernel yet.
+
+---
+ lib/netdev-linux.c | 8 +++++++-
+ 1 file changed, 7 insertions(+), 1 deletion(-)
+
+diff --git a/lib/netdev-linux.c b/lib/netdev-linux.c
+index 9eaac33..423e72e 100644
+--- a/lib/netdev-linux.c
++++ b/lib/netdev-linux.c
+@@ -2712,7 +2712,13 @@ update_flags(struct netdev_linux *netdev, enum netdev_flags off,
+ unsigned int old_flags, new_flags;
+ int error = 0;
+
+- old_flags = netdev->ifi_flags;
++ if (!(netdev->cache_valid & VALID_DRVINFO)) {
++ /* Most likely the debvice flags are not in sync yet, fetch them now */
++ get_flags(&netdev->up, &old_flags);
++ } else {
++ old_flags = netdev->ifi_flags;
++ }
++
+ *old_flagsp = iff_to_nd_flags(old_flags);
+ new_flags = (old_flags & ~nd_to_iff_flags(off)) | nd_to_iff_flags(on);
+ if (new_flags != old_flags) {
+--
+1.8.1.4
+
+++ /dev/null
-From 12edcd800d924f69630768eeece842373dee5bb0 Mon Sep 17 00:00:00 2001
-Date: Wed, 8 Jan 2014 13:48:33 +0100
-Subject: [PATCH 1/2] netdev-linux: Use unsigned int for ifi_flags
-
-ifi_flags is unsigned, the local equivalents should do the same.
-
----
- lib/netdev-linux.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/lib/netdev-linux.c b/lib/netdev-linux.c
-index 9bdbbdf..9eaac33 100644
---- a/lib/netdev-linux.c
-+++ b/lib/netdev-linux.c
-@@ -2566,7 +2566,7 @@ update_flags(struct netdev_linux *netdev, enum netdev_flags off,
- enum netdev_flags on, enum netdev_flags *old_flagsp)
- OVS_REQUIRES(netdev->mutex)
- {
-- int old_flags, new_flags;
-+ unsigned int old_flags, new_flags;
- int error = 0;
-
- old_flags = netdev->ifi_flags;
---
-1.8.1.4
-
+++ /dev/null
-From 34b51e26555d05c00b2320f943a645added5dae4 Mon Sep 17 00:00:00 2001
-Date: Mon, 9 Dec 2013 14:15:11 +0100
-Subject: [PATCH 5/6] lib/util.h: Disable ovs_assert when build with NDEBUG
-
-Reduces binary size. Use a static inline function instead of
-a macro to not get "unused variable" warning everywhere.
-
----
- lib/util.h | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/lib/util.h b/lib/util.h
-index 5c23962..9e5866d 100644
---- a/lib/util.h
-+++ b/lib/util.h
-@@ -69,10 +69,15 @@
- * - Writes the failure message to the log.
- *
- * - Not affected by NDEBUG. */
-+#ifndef NDEBUG
- #define ovs_assert(CONDITION) \
- if (!OVS_LIKELY(CONDITION)) { \
- ovs_assert_failure(SOURCE_LOCATOR, __func__, #CONDITION); \
- }
-+#else
-+static inline void ovs_assert(bool cond OVS_UNUSED) {}
-+#endif
-+
- void ovs_assert_failure(const char *, const char *, const char *) NO_RETURN;
-
- /* Casts 'pointer' to 'type' and issues a compiler warning if the cast changes
---
-1.8.1.4
-
+++ /dev/null
-From 36fd4f214f9ba74aaf0e5fb3e4ba271b946a1550 Mon Sep 17 00:00:00 2001
-Date: Wed, 26 Nov 2014 15:52:31 +0100
-Subject: [PATCH] datapath: Use ccflags-y instead of deprecated EXTRA_CFLAGS
-
-This allows users to pass in additional compiler flags through the
-environment variable EXTRA_CFLAGS, e.g.
-
- make EXTRA_CFLAGS=-Wno-error=foo V=1
-
----
- datapath/linux/Kbuild.in | 10 +++++-----
- 1 file changed, 5 insertions(+), 5 deletions(-)
-
-diff --git a/datapath/linux/Kbuild.in b/datapath/linux/Kbuild.in
-index 6f6f65f..cb98c11 100644
---- a/datapath/linux/Kbuild.in
-+++ b/datapath/linux/Kbuild.in
-@@ -7,11 +7,11 @@ export VERSION = @VERSION@
- include $(srcdir)/../Modules.mk
- include $(srcdir)/Modules.mk
-
--EXTRA_CFLAGS := -DVERSION=\"$(VERSION)\"
--EXTRA_CFLAGS += -I$(srcdir)/..
--EXTRA_CFLAGS += -I$(builddir)/..
--EXTRA_CFLAGS += -g
--EXTRA_CFLAGS += -include $(builddir)/kcompat.h
-+ccflags-y := -DVERSION=\"$(VERSION)\"
-+ccflags-y += -I$(srcdir)/..
-+ccflags-y += -I$(builddir)/..
-+ccflags-y += -g
-+ccflags-y += -include $(builddir)/kcompat.h
-
- # These include directories have to go before -I$(KSRC)/include.
- # NOSTDINC_FLAGS just happens to be a variable that goes in the
---
-2.1.2
-