summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'net-misc/openvswitch/files/kernel-3.11-support.patch')
-rw-r--r--net-misc/openvswitch/files/kernel-3.11-support.patch68
1 files changed, 68 insertions, 0 deletions
diff --git a/net-misc/openvswitch/files/kernel-3.11-support.patch b/net-misc/openvswitch/files/kernel-3.11-support.patch
new file mode 100644
index 000000000000..7ee53d83500f
--- /dev/null
+++ b/net-misc/openvswitch/files/kernel-3.11-support.patch
@@ -0,0 +1,68 @@
+--- a/acinclude.m4
++++ b/acinclude.m4
+@@ -134,10 +134,10 @@ AC_DEFUN([OVS_CHECK_LINUX], [
+ AC_MSG_RESULT([$kversion])
+
+ if test "$version" -ge 3; then
+- if test "$version" = 3 && test "$patchlevel" -le 10; then
++ if test "$version" = 3 && test "$patchlevel" -le 11; then
+ : # Linux 3.x
+ else
+- AC_ERROR([Linux kernel in $KBUILD is version $kversion, but version newer than 3.10.x is not supported])
++ AC_ERROR([Linux kernel in $KBUILD is version $kversion, but version newer than 3.11.x is not supported])
+ fi
+ else
+ if test "$version" -le 1 || test "$patchlevel" -le 5 || test "$sublevel" -le 31; then
+--- a/datapath/dp_notify.c
++++ b/datapath/dp_notify.c
+@@ -79,7 +79,7 @@ static int dp_device_event(struct notifi
+ void *ptr)
+ {
+ struct ovs_net *ovs_net;
+- struct net_device *dev = ptr;
++ struct net_device *dev = netdev_notifier_info_to_dev(ptr);
+ struct vport *vport = NULL;
+
+ if (!ovs_is_internal_dev(dev))
+--- a/datapath/linux/compat/include/linux/netdevice.h
++++ b/datapath/linux/compat/include/linux/netdevice.h
+@@ -120,4 +120,11 @@ static inline void netdev_upper_dev_unli
+ }
+ #endif
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3,11,0)
++static inline struct net_device *netdev_notifier_info_to_dev(void *info)
++{
++ return info;
++}
++#endif
++
+ #endif
+--- a/datapath/linux/compat/include/net/gre.h
++++ b/datapath/linux/compat/include/net/gre.h
+@@ -74,12 +74,17 @@ static inline __be16 tnl_flags_to_gre_fl
+ #endif /* LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0) */
+
+ #define MAX_GRE_PROTO_PRIORITY 255
++#define gre_cisco_protocol rpl_gre_cisco_protocol
++
+ struct gre_cisco_protocol {
+ int (*handler)(struct sk_buff *skb, const struct tnl_ptk_info *tpi);
+ u8 priority;
+ };
+
++#define gre_cisco_register rpl_gre_cisco_register
+ int gre_cisco_register(struct gre_cisco_protocol *proto);
++
++#define gre_cisco_unregister rpl_gre_cisco_unregister
+ int gre_cisco_unregister(struct gre_cisco_protocol *proto);
+
+ #define gre_build_header rpl_gre_build_header
+@@ -89,6 +94,7 @@ void gre_build_header(struct sk_buff *sk
+ #define gre_handle_offloads rpl_gre_handle_offloads
+ struct sk_buff *gre_handle_offloads(struct sk_buff *skb, bool gre_csum);
+
++#define ip_gre_calc_hlen rpl_ip_gre_calc_hlen
+ static inline int ip_gre_calc_hlen(__be16 o_flags)
+ {
+ int addend = 4;