[PATCH 01/14] backport: fix compilation with IPV6 not set

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]


From: Luca Coelho <luciano.coelho@xxxxxxxxx>

At least in some older kernel versions (e.g. 3.10), the tcp.h header
file is not implicitly included from other headers if CONFIG_IPV6 is
not set, so we need to include it in backport-4.4.c.  Also, there is
an IPv6 structure that is used, so we should ifdef it away when IPv6
is not enabled.

Signed-off-by: Luca Coelho <luciano.coelho@xxxxxxxxx>
 backport/compat/backport-4.4.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/backport/compat/backport-4.4.c b/backport/compat/backport-4.4.c
index 1c11a2064e53..7966e94928e7 100644
--- a/backport/compat/backport-4.4.c
+++ b/backport/compat/backport-4.4.c
@@ -15,6 +15,7 @@
 #include <linux/if_vlan.h>
 #include <linux/mm.h>
 #include <linux/skbuff.h>
+#include <linux/tcp.h>
 #include <net/ip.h>
 #include <net/tso.h>
 #include <asm/unaligned.h>
@@ -95,9 +96,14 @@ void tso_build_hdr(struct sk_buff *skb, char *hdr, struct tso_t *tso,
 		iph->tot_len = htons(size + hdr_len - mac_hdr_len);
 	} else {
+#ifdef CONFIG_IPV6
 		struct ipv6hdr *iph = (void *)(hdr + mac_hdr_len);
 		iph->payload_len = htons(size + tcp_hdrlen(skb));
+#else /* CONFIG_IPV6 */
+		/* tso->ipv6 should never be set if IPV6 is not enabeld */
+		WARN_ON(1);
+#endif /* CONFIG_IPV6 */
 	tcph = (struct tcphdr *)(hdr + skb_transport_offset(skb));
 	put_unaligned_be32(tso->tcp_seq, &tcph->seq);

To unsubscribe from this list: send the line "unsubscribe backports" in

[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux