Juha-Matti Tilli(jmtilli) replied on github web page:

example/l2fwd_simple/l2fwd_simple_run.sh
line 14
@@ -29,4 +29,17 @@ fi
 
 rm -f pcapout.pcap
 
+./odp_l2fwd_simple${EXEEXT} null:0 null:1 \
+       02:00:00:00:00:01 02:00:00:00:00:02 &
+
+sleep 1
+kill -s SIGINT $!
+wait $!
+STATUS=$?
+
+if [ "$STATUS" -ne 255 ]; then
+  echo "Error: status was: $STATUS, expected 255"
+  exit 1


Comment:
In theory, a STATUS 0 would be considered an error here because the expected 
status is -1 which is converted to 255.

> Juha-Matti Tilli(jmtilli) wrote:
> Will fix.


>> Juha-Matti Tilli(jmtilli) wrote:
>> The problem is that the pktio validation test case doesn't like an interface 
>> where packets are not being received. It fails a number of tests, and then 
>> for the pktio_test_recv_tmo it just hangs. With the validation tests, an 
>> entirely different test for a quiescent interface would be needed. Also, 
>> considering that this is testing a particular driver ("null"), not a 
>> particular API, I'm not entirely sure that API validation test would be the 
>> right location...


>>> Juha-Matti Tilli(jmtilli) wrote:
>>> It isn't, at least in the master version on which this branch is based.


>>>> Juha-Matti Tilli(jmtilli) wrote:
>>>> This is taken from the .pcap pktio, and incremented by one to make it 
>>>> distinct from the .pcap MAC address. But agree, an internal API to 
>>>> generate the MAC address would be great. It needs to be made sure the 
>>>> multicast bit is not being set, then.


>>>>> Juha-Matti Tilli(jmtilli) wrote:
>>>>> This will also be fixed in the next version.


>>>>>> Juha-Matti Tilli(jmtilli) wrote:
>>>>>> I'll fix in the next version.


>>>>>>> Juha-Matti Tilli(jmtilli) wrote:
>>>>>>> I'm not entirely sure about this... If the programmer wants to wait 
>>>>>>> indefinitely, that's perhaps what we should do, which is indeed what is 
>>>>>>> done now. The odp_pktio_stop() comment should perhaps be made to the PR 
>>>>>>> #341. A good question is do we really need the empty readfds fd_set. 
>>>>>>> Probably we could do without it.


>>>>>>>> Juha-Matti Tilli(jmtilli) wrote:
>>>>>>>> Will do. This will result in a checkpatch warning then, but if that is 
>>>>>>>> not an obstacle to a merge, I can do this.


>>>>>>>>> Juha-Matti Tilli(jmtilli) wrote:
>>>>>>>>> Ok, the only reason I used this call was to increase code coverage. 
>>>>>>>>> But is it deprecated? I grepped through the repository, finding to 
>>>>>>>>> evidence that any API having the name mtu would be deprecated...


>>>>>>>>>> Dmitry Eremin-Solenikov(lumag) wrote:
>>>>>>>>>> This should be supportable also. Just like it is done in other 
>>>>>>>>>> software interfaces.


>>>>>>>>>>> Dmitry Eremin-Solenikov(lumag) wrote:
>>>>>>>>>>> Maybe we should add internal API to generate random (or 
>>>>>>>>>>> semi-random) local MAC-addresses with L bit being set?


>>>>>>>>>>>> Dmitry Eremin-Solenikov(lumag) wrote:
>>>>>>>>>>>> Just use ODP_UNUSED and forget about checkpatch being unoptimal 
>>>>>>>>>>>> here. 


>>>>>>>>>>>>> Dmitry Eremin-Solenikov(lumag) wrote:
>>>>>>>>>>>>> just exit $STATUS. This would allow underlying program to return 
>>>>>>>>>>>>> 42 to mark the test as skipped


>>>>>>>>>>>>>> Dmitry Eremin-Solenikov(lumag) wrote:
>>>>>>>>>>>>>> this should go under `if test_example` 


>>>>>>>>>>>>>>> Dmitry Eremin-Solenikov(lumag) wrote:
>>>>>>>>>>>>>>> I think this should be now in one of top-level .gitignore files.


>>>>>>>>>>>>>>>> Dmitry Eremin-Solenikov(lumag) wrote:
>>>>>>>>>>>>>>>> This should probably go to a separate PR. And ideally examples 
>>>>>>>>>>>>>>>> should not add much to code coverage on top of tests, so you 
>>>>>>>>>>>>>>>> might want also to add code to api testcases.


>>>>>>>>>>>>>>>>> Bill Fischofer(Bill-Fischofer-Linaro) wrote:
>>>>>>>>>>>>>>>>> `odp_pktio_mtu()` is a deprecated API and should not be used 
>>>>>>>>>>>>>>>>> in new code.


>>>>>>>>>>>>>>>>>> Bill Fischofer(Bill-Fischofer-Linaro) wrote:
>>>>>>>>>>>>>>>>>> Where does this "magic number" come from? Why not 
>>>>>>>>>>>>>>>>>> `00:00:00:00:00:00`?


>>>>>>>>>>>>>>>>>>> Bill Fischofer(Bill-Fischofer-Linaro) wrote:
>>>>>>>>>>>>>>>>>>> This is a deprecated API. Not sure we need to include it 
>>>>>>>>>>>>>>>>>>> for a new Pktio type.


>>>>>>>>>>>>>>>>>>>> Bill Fischofer(Bill-Fischofer-Linaro) wrote:
>>>>>>>>>>>>>>>>>>>> The parameter should be `num`, not `len` here.


>>>>>>>>>>>>>>>>>>>>> Bill Fischofer(Bill-Fischofer-Linaro) wrote:
>>>>>>>>>>>>>>>>>>>>> `odp_packet_free_multi()` would be better here.


>>>>>>>>>>>>>>>>>>>>>> Bill Fischofer(Bill-Fischofer-Linaro) wrote:
>>>>>>>>>>>>>>>>>>>>>> Same comments about `ODP_PKTIN_WAIT` here.


>>>>>>>>>>>>>>>>>>>>>>> Bill Fischofer(Bill-Fischofer-Linaro) wrote:
>>>>>>>>>>>>>>>>>>>>>>> Shouldn't it be an error to try to receive from a null 
>>>>>>>>>>>>>>>>>>>>>>> device with `ODP_PKTIN_WAIT` since such a call would 
>>>>>>>>>>>>>>>>>>>>>>> never complete? Alternately one could support such 
>>>>>>>>>>>>>>>>>>>>>>> semantics and simply wait indefinitely until 
>>>>>>>>>>>>>>>>>>>>>>> `odp_pktio_stop()` is called to stop the interface.
>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>> Actually, looking at the semantics of 
>>>>>>>>>>>>>>>>>>>>>>> `odp_pktio_stop()` we're not precise about what happens 
>>>>>>>>>>>>>>>>>>>>>>> if there are pending `odp_pktio_recv_tmo()` call(s) on 
>>>>>>>>>>>>>>>>>>>>>>> the interface at the time `odp_pktio_stop()` is called. 
>>>>>>>>>>>>>>>>>>>>>>> Presumably these should be terminated, reporting no 
>>>>>>>>>>>>>>>>>>>>>>> packets received when the stop call is made.


>>>>>>>>>>>>>>>>>>>>>>>> Bill Fischofer(Bill-Fischofer-Linaro) wrote:
>>>>>>>>>>>>>>>>>>>>>>>> In this case it's probably better to be consistent and 
>>>>>>>>>>>>>>>>>>>>>>>> use `(void)pktio_entry` and `(void)index` as well. 
>>>>>>>>>>>>>>>>>>>>>>>> Mixing this idiom with `ODP_UNUSED` looks odd. It also 
>>>>>>>>>>>>>>>>>>>>>>>> needs no explanation as both are acceptable.


https://github.com/Linaro/odp/pull/365#discussion_r158597731
updated_at 2017-12-24 09:38:55

Reply via email to