From 9a92af46248ed885fd378dd566e55f88dcef3ea0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= Date: Thu, 4 Apr 2019 09:31:41 +0200 Subject: [PATCH] kernel: fix rtcache compilation with 4.18+ with IPv6 support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Please note that modified code isn't currently being compiled with kernels 4.19+ due to the dropped CONFIG_NF_CONNTRACK_IPV6 in upstream Linux. That requires a separated fix. This fixes: net/netfilter/nf_conntrack_rtcache.c: In function 'nf_rtcache_get_cookie': net/netfilter/nf_conntrack_rtcache.c:82:11: error: 'const struct rt6_info' has no member named 'rt6i_node'; did you mean 'rt6i_idev'? if (rt->rt6i_node) ^~~~~~~~~ rt6i_idev IPv6 structs were reworked in upstream kernel by: commit a64efe142f5e ("net/ipv6: introduce fib6_info struct and helpers") commit 77634cc67dc1 ("net/ipv6: Remove unused code and variables for rt6_info") commit 93c2fb253d17 ("net/ipv6: Rename fib6_info struct elements") Signed-off-by: Rafał Miłecki --- .../backport-4.19/020-backport_netfilter_rtcache.patch | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/target/linux/generic/backport-4.19/020-backport_netfilter_rtcache.patch b/target/linux/generic/backport-4.19/020-backport_netfilter_rtcache.patch index 32b43082be..3a35381ce3 100644 --- a/target/linux/generic/backport-4.19/020-backport_netfilter_rtcache.patch +++ b/target/linux/generic/backport-4.19/020-backport_netfilter_rtcache.patch @@ -209,8 +209,8 @@ Signed-off-by: Florian Westphal + if (pf == NFPROTO_IPV6) { + const struct rt6_info *rt = (const struct rt6_info *)dst; + -+ if (rt->rt6i_node) -+ return (u32)rt->rt6i_node->fn_sernum; ++ if (rt->from && rt->from->fib6_node) ++ return (u32)rt->from->fib6_node->fn_sernum; + } +#endif + return 0;