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

From: David Ahern
Date: Wed Feb 16 2022 - 21:59:57 EST


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