summaryrefslogtreecommitdiff
path: root/acinclude.m4
diff options
context:
space:
mode:
authorJoe Stringer <joestringer@nicira.com>2015-12-02 23:53:44 -0800
committerJoe Stringer <joe@ovn.org>2015-12-03 17:08:16 -0800
commit213e1f54b4b331b5cfee22a4b770e24db77ec35c (patch)
tree999edefa94013728eccd7a502061f14c4ce7d956 /acinclude.m4
parentcfda4537ec769d79066ad3a0f68352afd3ca648a (diff)
downloadopenvswitch-213e1f54b4b331b5cfee22a4b770e24db77ec35c.tar.gz
compat: Wrap IPv4 fragmentation.
Most kernels provide some form of ip fragmentation. However, until recently many of them would always send ICMP responses for over_MTU packets, even when operating in bridge mode. Backport the check to ensure this doesn't occur. Signed-off-by: Joe Stringer <joestringer@nicira.com> Acked-by: Pravin B Shelar <pshelar@nicira.com>
Diffstat (limited to 'acinclude.m4')
-rw-r--r--acinclude.m44
1 files changed, 4 insertions, 0 deletions
diff --git a/acinclude.m4 b/acinclude.m4
index 78da9402b..663f5f07e 100644
--- a/acinclude.m4
+++ b/acinclude.m4
@@ -347,6 +347,7 @@ AC_DEFUN([OVS_CHECK_LINUX_COMPAT], [
OVS_GREP_IFELSE([$KSRC/include/net/ip.h], [inet_get_local_port_range.*net],
[OVS_DEFINE([HAVE_INET_GET_LOCAL_PORT_RANGE_USING_NET])])
+ OVS_GREP_IFELSE([$KSRC/include/net/ip.h], [ip_do_fragment])
OVS_GREP_IFELSE([$KSRC/include/net/ip.h], [ip_is_fragment])
OVS_GREP_IFELSE([$KSRC/include/net/ip.h], [ip_skb_dst_mtu])
OVS_GREP_IFELSE([$KSRC/include/net/dst_metadata.h], [metadata_dst])
@@ -473,6 +474,9 @@ AC_DEFUN([OVS_CHECK_LINUX_COMPAT], [
OVS_GREP_IFELSE([$KSRC/include/net/gre.h], [gre_handle_offloads])
OVS_GREP_IFELSE([$KSRC/include/net/ipv6.h], [IP6_FH_F_SKIP_RH])
OVS_GREP_IFELSE([$KSRC/include/net/ipv6.h], [ip6_local_out_sk])
+ OVS_GREP_IFELSE([$KSRC/include/net/ip6_route.h], [ip6_frag.*sock],
+ [OVS_DEFINE([HAVE_IP_FRAGMENT_TAKES_SOCK])])
+
OVS_GREP_IFELSE([$KSRC/include/net/netlink.h], [nla_get_be16])
OVS_GREP_IFELSE([$KSRC/include/net/netlink.h], [nla_put_be16])
OVS_GREP_IFELSE([$KSRC/include/net/netlink.h], [nla_put_be32])