Message ID | 1459873002-31367-1-git-send-email-zoltan.kiss@linaro.org |
---|---|
State | Superseded |
Headers | show |
On 05/04/16 17:16, Zoltan Kiss wrote: > This test sets up two interface and connect them to each other, so in s/interface/interfaces/ Maxim, could you fix that when commit? (assuming the patch is OK) And an another note: Maxim told me when I brought this up first to disable stuff, and I haven't replied then. The problem is you can't possibly disable all OS services which tries to hook into the interface up notification, because it is a moving target. > theory these two numbers should be the same. However when you use a pktio > which doesn't have full control of the interface, it could happen that > other players, e.g. various services of the operating system start to > send traffic out on the newly created interfaces. It won't be visible > for ODP when going out, but coming in it will increase the counters. > This breaks the test on ODP-DPDK, unnecessarily. On ODP-Linux it does not, > because it checks the system level statistics, not the ODP level ones. > > Signed-off-by: Zoltan Kiss <zoltan.kiss@linaro.org> > --- > diff --git a/test/validation/pktio/pktio.c b/test/validation/pktio/pktio.c > index cb403a6..73b702c 100644 > --- a/test/validation/pktio/pktio.c > +++ b/test/validation/pktio/pktio.c > @@ -1256,7 +1256,6 @@ void pktio_test_statistics_counters(void) > CU_ASSERT((stats[1].in_ucast_pkts == 0) || > (stats[1].in_ucast_pkts >= (uint64_t)pkts)); > CU_ASSERT(stats[0].out_ucast_pkts == stats[1].in_ucast_pkts); > - CU_ASSERT(stats[0].out_octets == stats[1].in_octets); > CU_ASSERT((stats[0].out_octets == 0) || > (stats[0].out_octets >= > (PKT_LEN_NORMAL * (uint64_t)pkts))); >
Ping On 06/04/16 11:43, Zoltan Kiss wrote: > > > On 05/04/16 17:16, Zoltan Kiss wrote: >> This test sets up two interface and connect them to each other, so in > > s/interface/interfaces/ > > Maxim, could you fix that when commit? (assuming the patch is OK) > > And an another note: Maxim told me when I brought this up first to > disable stuff, and I haven't replied then. The problem is you can't > possibly disable all OS services which tries to hook into the interface > up notification, because it is a moving target. > >> theory these two numbers should be the same. However when you use a pktio >> which doesn't have full control of the interface, it could happen that >> other players, e.g. various services of the operating system start to >> send traffic out on the newly created interfaces. It won't be visible >> for ODP when going out, but coming in it will increase the counters. >> This breaks the test on ODP-DPDK, unnecessarily. On ODP-Linux it does >> not, >> because it checks the system level statistics, not the ODP level ones. >> >> Signed-off-by: Zoltan Kiss <zoltan.kiss@linaro.org> >> --- >> diff --git a/test/validation/pktio/pktio.c >> b/test/validation/pktio/pktio.c >> index cb403a6..73b702c 100644 >> --- a/test/validation/pktio/pktio.c >> +++ b/test/validation/pktio/pktio.c >> @@ -1256,7 +1256,6 @@ void pktio_test_statistics_counters(void) >> CU_ASSERT((stats[1].in_ucast_pkts == 0) || >> (stats[1].in_ucast_pkts >= (uint64_t)pkts)); >> CU_ASSERT(stats[0].out_ucast_pkts == stats[1].in_ucast_pkts); >> - CU_ASSERT(stats[0].out_octets == stats[1].in_octets); >> CU_ASSERT((stats[0].out_octets == 0) || >> (stats[0].out_octets >= >> (PKT_LEN_NORMAL * (uint64_t)pkts))); >>
On Tue, Apr 5, 2016 at 11:16 AM, Zoltan Kiss <zoltan.kiss@linaro.org> wrote: > This test sets up two interface and connect them to each other, so in > theory these two numbers should be the same. However when you use a pktio > which doesn't have full control of the interface, it could happen that > other players, e.g. various services of the operating system start to > send traffic out on the newly created interfaces. It won't be visible > for ODP when going out, but coming in it will increase the counters. > This breaks the test on ODP-DPDK, unnecessarily. On ODP-Linux it does not, > because it checks the system level statistics, not the ODP level ones. > > Signed-off-by: Zoltan Kiss <zoltan.kiss@linaro.org> > Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> > --- > diff --git a/test/validation/pktio/pktio.c b/test/validation/pktio/pktio.c > index cb403a6..73b702c 100644 > --- a/test/validation/pktio/pktio.c > +++ b/test/validation/pktio/pktio.c > @@ -1256,7 +1256,6 @@ void pktio_test_statistics_counters(void) > CU_ASSERT((stats[1].in_ucast_pkts == 0) || > (stats[1].in_ucast_pkts >= (uint64_t)pkts)); > CU_ASSERT(stats[0].out_ucast_pkts == > stats[1].in_ucast_pkts); > - CU_ASSERT(stats[0].out_octets == stats[1].in_octets); > CU_ASSERT((stats[0].out_octets == 0) || > (stats[0].out_octets >= > (PKT_LEN_NORMAL * (uint64_t)pkts))); > _______________________________________________ > lng-odp mailing list > lng-odp@lists.linaro.org > https://lists.linaro.org/mailman/listinfo/lng-odp >
On 04/05/16 19:16, Zoltan Kiss wrote: > This test sets up two interface and connect them to each other, so in > theory these two numbers should be the same. However when you use a pktio > which doesn't have full control of the interface, it could happen that > other players, e.g. various services of the operating system start to > send traffic out on the newly created interfaces. It won't be visible > for ODP when going out, but coming in it will increase the counters. > This breaks the test on ODP-DPDK, unnecessarily. On ODP-Linux it does not, > because it checks the system level statistics, not the ODP level ones. > > Signed-off-by: Zoltan Kiss <zoltan.kiss@linaro.org> > --- > diff --git a/test/validation/pktio/pktio.c b/test/validation/pktio/pktio.c > index cb403a6..73b702c 100644 > --- a/test/validation/pktio/pktio.c > +++ b/test/validation/pktio/pktio.c > @@ -1256,7 +1256,6 @@ void pktio_test_statistics_counters(void) > CU_ASSERT((stats[1].in_ucast_pkts == 0) || > (stats[1].in_ucast_pkts >= (uint64_t)pkts)); that is strange that if: > CU_ASSERT(stats[0].out_ucast_pkts == stats[1].in_ucast_pkts); passes and this: > - CU_ASSERT(stats[0].out_octets == stats[1].in_octets); is not. number of packet should be linked to number of bytes. Might be skip this test in pktio_check_statistics_counters() if we see some traffic after start? Maxim. > CU_ASSERT((stats[0].out_octets == 0) || > (stats[0].out_octets >= > (PKT_LEN_NORMAL * (uint64_t)pkts)));
On 15/04/16 14:45, Maxim Uvarov wrote: > On 04/05/16 19:16, Zoltan Kiss wrote: >> This test sets up two interface and connect them to each other, so in >> theory these two numbers should be the same. However when you use a pktio >> which doesn't have full control of the interface, it could happen that >> other players, e.g. various services of the operating system start to >> send traffic out on the newly created interfaces. It won't be visible >> for ODP when going out, but coming in it will increase the counters. >> This breaks the test on ODP-DPDK, unnecessarily. On ODP-Linux it does >> not, >> because it checks the system level statistics, not the ODP level ones. >> >> Signed-off-by: Zoltan Kiss <zoltan.kiss@linaro.org> >> --- >> diff --git a/test/validation/pktio/pktio.c >> b/test/validation/pktio/pktio.c >> index cb403a6..73b702c 100644 >> --- a/test/validation/pktio/pktio.c >> +++ b/test/validation/pktio/pktio.c >> @@ -1256,7 +1256,6 @@ void pktio_test_statistics_counters(void) >> CU_ASSERT((stats[1].in_ucast_pkts == 0) || >> (stats[1].in_ucast_pkts >= (uint64_t)pkts)); > that is strange that if: >> CU_ASSERT(stats[0].out_ucast_pkts == stats[1].in_ucast_pkts); > passes and this: >> - CU_ASSERT(stats[0].out_octets == stats[1].in_octets); > is not. > > number of packet should be linked to number of bytes. Might be skip this > test in pktio_check_statistics_counters() > if we see some traffic after start? It's actually because ODP-DPDK sets ucast_pkts counters to 0, because it doesn't have a separate counter for unicast packets. I'll resend > > Maxim. >> CU_ASSERT((stats[0].out_octets == 0) || >> (stats[0].out_octets >= >> (PKT_LEN_NORMAL * (uint64_t)pkts))); >
diff --git a/test/validation/pktio/pktio.c b/test/validation/pktio/pktio.c index cb403a6..73b702c 100644 --- a/test/validation/pktio/pktio.c +++ b/test/validation/pktio/pktio.c @@ -1256,7 +1256,6 @@ void pktio_test_statistics_counters(void) CU_ASSERT((stats[1].in_ucast_pkts == 0) || (stats[1].in_ucast_pkts >= (uint64_t)pkts)); CU_ASSERT(stats[0].out_ucast_pkts == stats[1].in_ucast_pkts); - CU_ASSERT(stats[0].out_octets == stats[1].in_octets); CU_ASSERT((stats[0].out_octets == 0) || (stats[0].out_octets >= (PKT_LEN_NORMAL * (uint64_t)pkts)));
This test sets up two interface and connect them to each other, so in theory these two numbers should be the same. However when you use a pktio which doesn't have full control of the interface, it could happen that other players, e.g. various services of the operating system start to send traffic out on the newly created interfaces. It won't be visible for ODP when going out, but coming in it will increase the counters. This breaks the test on ODP-DPDK, unnecessarily. On ODP-Linux it does not, because it checks the system level statistics, not the ODP level ones. Signed-off-by: Zoltan Kiss <zoltan.kiss@linaro.org> ---