Messages in this thread | | | Date | Fri, 28 Sep 2018 12:28:16 +0200 | From | Alexei Starovoitov <> | Subject | Re: [PATCH v3 bpf-next 10/10] selftests/bpf: cgroup local storage-based network counters |
| |
On Fri, Sep 28, 2018 at 11:08:29AM +0100, Roman Gushchin wrote: > > > + /* Some packets can be still in per-cpu cache, but not more than > > > + * MAX_PERCPU_PACKETS. > > > + */ > > > + packets = netcnt.packets; > > > + for (cpu = 0; cpu < nproc; cpu++) { > > > + if (percpu_netcnt[cpu].packets > 32) { > > > > pls use MAX_PERCPU_PACKETS in the above check. > > could you also double check that if that #define is changed to 1k or so > > the exact "!= 10000" check below still works as expected? > > Do you mean adding a new test with a different MAX_PERCPU_PACKETS?
good idea! If it's easy to compile the same source twice with different MAX_PERCPU_PACKETS that would certainly make the test stronger. Not sure how feasible though.
> > > > > > + printf("Unexpected percpu value: %llu\n", > > > + percpu_netcnt[cpu].packets); > > > + goto err; > > > > > + } > > > + > > > + packets += percpu_netcnt[cpu].packets; > > > + } > > > + > > > + /* No packets should be lost */ > > > + if (packets != 10000) { > > > + printf("Unexpected packet count: %lu\n", packets); > > > + goto err; > > > + } > > > + > > > + /* Let's check that bytes counter value is reasonable */ > > > + if (netcnt.bytes < packets * 500 || netcnt.bytes > packets * 1500) { > > > > since packet count is accurate why byte count would vary ? > > Tbh I'm not sure if the size of the packet here can vary depending > on the environment. Is there a nice way to get the expected size?
ping packets should be fixed size depending on v4 vs v6. If 'ping -6' is used, it will force ipv6.
| |