From: Rafał Miłecki Date: Thu, 4 Apr 2019 07:31:41 +0000 (+0200) Subject: kernel: fix rtcache compilation with 4.18+ with IPv6 support X-Git-Tag: v19.07.0-rc1~880 X-Git-Url: http://git.openwrt.org/?p=openwrt%2Fopenwrt.git;a=commitdiff_plain;h=9a92af46248ed885fd378dd566e55f88dcef3ea0 kernel: fix rtcache compilation with 4.18+ with IPv6 support 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 --- 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;