If CONFIG_IPV6=n, then h6 in struct tcp_skb_cb.header is missing which leads to compilation-errors on tcp_v6_iff like:
In file included from net/core/sock.c:140:0: include/net/tcp.h: In function ‘tcp_v6_iif’: include/net/tcp.h:738:32: error: ‘union <anonymous>’ has no member named ‘h6’ This fix solves the problem by removing tcp_v6_iif, in case of CONFIG_IPV6=n. Signed-off-by: Manfred Schlaegl <manfred.schla...@gmx.at> --- include/net/tcp.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/include/net/tcp.h b/include/net/tcp.h index c9766f8..4062b4f 100644 --- a/include/net/tcp.h +++ b/include/net/tcp.h @@ -730,6 +730,7 @@ struct tcp_skb_cb { #define TCP_SKB_CB(__skb) ((struct tcp_skb_cb *)&((__skb)->cb[0])) +#if IS_ENABLED(CONFIG_IPV6) /* This is the variant of inet6_iif() that must be used by TCP, * as TCP moves IP6CB into a different location in skb->cb[] */ @@ -737,6 +738,7 @@ static inline int tcp_v6_iif(const struct sk_buff *skb) { return TCP_SKB_CB(skb)->header.h6.iif; } +#endif /* Due to TSO, an SKB can be composed of multiple actual * packets. To keep these tracked properly, we use this. -- 1.7.10.4 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/