On 11/27/2017 10:03 AM, Shahaf Shuler wrote:
Monday, November 27, 2017 8:35 AM, Andrew Rybchenko:
Yes this is right. Not exposing the CRC offload flag means the device
don’t support CRC strip toggling, however it does not explicitly say
if device always strip/not.
I guess device that has such limitation should specify it on the
“Limitation” section of the PMD guide.
If it is interpreted in such way it sounds like loss of functionality.
Don't think it is a good way to rely on documentation here. It should
be more reliable way. PMD still can check if offload is not enabled and
complain, but there is no way to say that it is strictly required.
As I understand similar things are covered with so-called fixed offloads
in Linux.
Can you elaborate which functionality is being lost here?
If your suggestion is for the PMD to force the CRC STRIP offload in
case it is not supporting **not** to strip CRC then I am OK with that.
[AR] I mean that if we say that no CRC strip offload set means either
strip or not-strip it is bad. Application and transmit part may rely on
Ethernet CRC presence. My suggestion is to provide a way to say that CRC
striping (and any other offload) cannot be disabled.
Yes it is.
With the new Tx offloads API the application can choose the Tx
offloads it wants to use according to its needs.
For l2fwd case – it doesn’t use any of them. Any default txq flag the
PMD set there is irrelevant.
What I tried to do is not to preserve the entire old behavior rather
to evolve the examples/applications while keeping the same
functionality (i.e. the offloads which the application use are set,
the rest are not).
That's true for checksum and VLAN offloads, but false for fast-free.
As I understand l2fwd and many other examples meet fast-free
requirements and if PMD supports it, it should be used since it will
show better performance results.
I agree about the Fast free offload. However IMO such optimization can
be introduced on other series which further more optimize the
performance of such applications, what do you think?
[AR] If so, it is definitely a loss of functionality here. Since before
the patch PMD can provide default TxQ flags and usage of these flags
will allow an application to see the best performance. (Yes, if it was
bad if application blindly use these flags). May be it should be covered
by separate patches, but hanging it in the air for a long time is bad. I
definitely would like to hear more opinions here from example
application and PMD maintainers.