[dpdk-dev] supported packet types

Olivier Matz olivier.matz at 6wind.com
Fri Apr 29 17:15:20 CEST 2016


Hi,

The following commit introduces a function to list the supported
packet types of a device:

  http://dpdk.org/browse/dpdk/commit/?id=78a38edf66

I would like to know what does "supported" precisely mean.
Is it:

1/ - if a ptype is marked as supported, the driver MUST set
     this ptype if the packet matches the format described in rte_mbuf.h

   -> if the ptype is not recognized, the application is sure
      that the packet is not one of the supported ptype
   -> but this is difficult to take advantage of this inside an
      application that supports several different ports model
      that do not support the same packet types

2/ - if a ptype is marked as supported, the driver CAN set
     the ptype if the packet matches the format described in rte_mbuf.h

   -> if a ptype is not recognized, the application does a software
      fallback
   -> in this case, it would useless to have the get_supported_ptype()

Can you confirm if the PMDs and l3fwd (the only user) expect 1/
or 2/ ?

Can you elaborate on the advantages of having this API?

And a supplementary question: if a ptype is not marked as supported,
is it forbidden for a driver to set this ptype anyway? Because we can
imagine a hardware that can only recognize packets in some conditions
(ex: can recognize IPv4 if there is no vlan).

I think properly defining the meaning of "supported" is mandatory
to have an application beeing able to use this feature, and avoid
PMDs to behave differently because the API is unclear (like we've
already seen for other features).


Thanks,
Olivier


More information about the dev mailing list