Files
android_kernel_xiaomi_sm8450/net/ipv6
David Ahern 00b4422fe3 netfilter: Update nf_send_reset6 to consider L3 domain
nf_send_reset6 is not considering the L3 domain and lookups are sent
to the wrong table. For example consider the following output rule:

ip6tables -A OUTPUT -p tcp --dport 12345 -j REJECT --reject-with tcp-reset

using perf to analyze lookups via the fib6_table_lookup tracepoint shows:

swapper     0 [001]   248.787816: fib6:fib6_table_lookup: table 255 oif 0 iif 1 src 2100:1::3 dst 2100:1:
        ffffffff81439cdc perf_trace_fib6_table_lookup ([kernel.kallsyms])
        ffffffff814c1ce3 trace_fib6_table_lookup ([kernel.kallsyms])
        ffffffff814c3e89 ip6_pol_route ([kernel.kallsyms])
        ffffffff814c40d5 ip6_pol_route_output ([kernel.kallsyms])
        ffffffff814e7b6f fib6_rule_action ([kernel.kallsyms])
        ffffffff81437f60 fib_rules_lookup ([kernel.kallsyms])
        ffffffff814e7c79 fib6_rule_lookup ([kernel.kallsyms])
        ffffffff814c2541 ip6_route_output_flags ([kernel.kallsyms])
                     528 nf_send_reset6 ([nf_reject_ipv6])

The lookup is directed to table 255 rather than the table associated with
the device via the L3 domain. Update nf_send_reset6 to pull the L3 domain
from the dst currently attached to the skb.

Signed-off-by: David Ahern <dsa@cumulusnetworks.com>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
2016-11-24 12:47:08 +01:00
..
2016-09-01 14:09:01 -07:00
2015-08-25 13:37:31 -07:00
2015-05-28 11:23:20 +08:00
2016-09-10 23:12:51 -07:00
2016-10-20 14:32:22 -04:00
2016-05-31 14:07:49 -07:00
2016-09-10 23:12:52 -07:00
2016-06-27 15:06:17 -04:00
2015-02-28 16:56:51 -05:00
2015-11-03 10:52:13 -05:00
2016-08-23 23:23:50 -07:00
2016-11-15 22:14:27 -05:00
2016-09-21 10:09:14 +02:00
2016-09-21 10:09:14 +02:00