On Mon, Feb 09, 2015 at 02:40:35PM +0800, Helin Zhang wrote: > As there are only 6 bit flags in ol_flags for indicating packet types, > which is not enough to describe all the possible packet types hardware > can recognize. For example, i40e hardware can recognize more than 150 > packet types. Unified packet type is composed of tunnel type, L3 type, > L4 type and inner L3 type fields, and can be stored in mbuf field of > 'packet_type' which is modified from 16 bits to 32 bits in mbuf structure. > Accordingly, the structure of 'rte_kni_mbuf' needs to be modifed as well. > > Signed-off-by: Helin Zhang <helin.zhang at intel.com> > Signed-off-by: Cunming Liang <cunming.liang at intel.com> > Signed-off-by: Jijiang Liu <jijiang.liu at intel.com> > --- > .../linuxapp/eal/include/exec-env/rte_kni_common.h | 4 +- > lib/librte_mbuf/rte_mbuf.h | 113 > +++++++++++++++++++-- > 2 files changed, 108 insertions(+), 9 deletions(-) > > v2 changes: > * Enlarged the packet_type field from 16 bits to 32 bits. > * Redefined the packet type sub-fields. > * Updated the 'struct rte_kni_mbuf' for KNI according to the mbuf changes. >
Since these changes to the mbuf will break the operation of the vector driver, that vector driver needs to be taken into account here. Some suggestions/options: 1. Temporarily disable the VPMD at compile time or at run time as part of this patch, and put the vector changes as the next patch (re-enabling the driver too) 2. Put in the minimum changes for the new mbuf layout into this patch. It will make this patch a little longer, but may still be doable as it's only a couple of fields changing, not the whole structure. /Bruce