RE: This counter "ip6InNoRoutes" does not follow the RFC4293 specification implementation

From: Xiao, Jiguang
Date: Tue Mar 08 2022 - 21:17:10 EST


Hi David

To confirm whether my test method is correct, could you please briefly describe your test procedure?



Best Regards
Xiao Jiguang

-----Original Message-----
From: Xiao, Jiguang
Sent: 2022年2月24日 17:04
To: David Ahern <dsahern@xxxxxxxxxx>; davem@xxxxxxxxxxxxx; yoshfuji@xxxxxxxxxxxxxx; kuba@xxxxxxxxxx; netdev@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx
Cc: Pudak, Filip <Filip.Pudak@xxxxxxxxxxxxx>
Subject: RE: This counter "ip6InNoRoutes" does not follow the RFC4293 specification implementation

Hi David

Thanks for guiding me how to proceed. I have captured the output result of perf (perf_output_5.10.49).

To confirm the problem, I tested it again on Ubuntu (kernel version is 5.4.0-79) using Docker and the results were the same, the only difference is the kernel version. I also collected the perf results and added them to the attachment (perf_output_5.4.0).



Best Regards
Xiao Jiguang

-----Original Message-----
From: David Ahern <dsahern@xxxxxxxxxx>
Sent: 2022年2月17日 11:00
To: Xiao, Jiguang <Jiguang.Xiao@xxxxxxxxxxxxx>; davem@xxxxxxxxxxxxx; yoshfuji@xxxxxxxxxxxxxx; kuba@xxxxxxxxxx; netdev@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx
Subject: Re: This counter "ip6InNoRoutes" does not follow the RFC4293 specification implementation

[Please note: This e-mail is from an EXTERNAL e-mail address]

On 2/16/22 3:36 AM, Xiao, Jiguang wrote:
> Hello,
>
> I found a counter in the kernel(5.10.49) that did not follow the
> RFC4293 specification. The test steps are as follows:
>
>
>
> Topology:
>
> |VM 1| ------ |linux| ------ |VM 2|
>
>
>
> Steps:
>
> 1. Verify that “VM1” is reachable from “VM 2” and vice versa using
> ping6 command.
>
> 2. On “linux” node, in proper fib, remove default route to NW address
> which “VM 2” resides in. This way, the packet won’t be forwarded by
> “linux” due to no route pointing to destination address of “VM 2”.
>
> 3. Collect the corresponding SNMP counters from “linux” node.
>
> 4. Verify that there is no connectivity from “VM 1” to “VM 2” using
> ping6 command.
>
> 5. Check the counters again.
>
>
>
> The test results:
>
> The counter “ip6InNoRoutes” in “/proc/net/dev_snmp6/” has not
> increased accordingly. In my test environment, it was always zero.
>
>
>
> My question is :
>
> Within RFC4293, “ipSystemStatsInNoRoutes” is defined as follows:
>
> “The number of input IP datagrams discarded because no route could
> be found to transmit them to their destination.”
>
> Does this version of the kernel comply with the RFC4293 specification?
>
>

I see that counter incrementing. Look at the fib6 tracepoints and see what the lookups are returning:

perf record -e fib6:* -a
<run test>
Ctrl-C
perf script