On Mon, Mar 13, 2017 at 9:41 AM, Krishna Garapati <
[email protected]> wrote:

>
>
> On 13 March 2017 at 15:02, Bill Fischofer <[email protected]>
> wrote:
>
>> Address bug https://bugs.linaro.org/show_bug.cgi?id=2908 by checking
>> the pool capability max packet length and modifying the test in
>> test_extend_ref() to account for implementations that do not limit
>> packet lengths.
>>
>> Signed-off-by: Bill Fischofer <[email protected]>
>> ---
>>  test/common_plat/validation/api/packet/packet.c | 9 +++++++--
>>  1 file changed, 7 insertions(+), 2 deletions(-)
>>
>> diff --git a/test/common_plat/validation/api/packet/packet.c
>> b/test/common_plat/validation/api/packet/packet.c
>> index 900c4263..5544c237 100644
>> --- a/test/common_plat/validation/api/packet/packet.c
>> +++ b/test/common_plat/validation/api/packet/packet.c
>> @@ -1847,6 +1847,9 @@ void packet_test_extend_ref(void)
>>  {
>>         odp_packet_t max_pkt, ref;
>>         uint32_t hr, tr, max_len;
>> +       odp_pool_capability_t capa;
>> +
>> +       CU_ASSERT_FATAL(odp_pool_capability(&capa) == 0);
>>
>>         max_pkt = odp_packet_copy(segmented_test_packet,
>>                                   odp_packet_pool(segmented_test
>> _packet));
>> @@ -1860,8 +1863,10 @@ void packet_test_extend_ref(void)
>>         odp_packet_push_tail(max_pkt, tr);
>>
>>         /* Max packet should not be extendable at either end */
>> -       CU_ASSERT(odp_packet_extend_tail(&max_pkt, 1, NULL, NULL) < 0);
>> -       CU_ASSERT(odp_packet_extend_head(&max_pkt, 1, NULL, NULL) < 0);
>> +       if (max_len == capa.pkt.max_len) {
>>
> This capability is already defined in odp-dpdk as an internal capability.
> And used to calculate & make sure at least one packet fits in the pool. So
> my question was if odp-dpdk should use this internal capability to check
> against the max packet size since dpdk has no such capability ?.
>

The various odp_xxx_capability() APIs are how ODP implementations
communicate various limits. For odp-dpdk it just needs to set the
capability pkt.max_len value to 0 to indicate that there are no predefined
limits. With this patch this test should then skip these two tests since in
this case odp_packet_extend_head/tail() would succeed on that platform.


>
> /Krishna
>
>> +               CU_ASSERT(odp_packet_extend_tail(&max_pkt, 1, NULL,
>> NULL) < 0);
>> +               CU_ASSERT(odp_packet_extend_head(&max_pkt, 1, NULL,
>> NULL) < 0);
>> +       }
>>
>>         /* See if we can trunc and extend anyway */
>>         CU_ASSERT(odp_packet_trunc_tail(&max_pkt, hr + tr + 1,
>> --
>> 2.12.0.rc1
>>
>>
>

Reply via email to