net/ice/base: increase protocol offset size

OS package's format is changed, field vector's protocol offset size is
changed from 8 bit to 16 bit. So base code also need to align to this,
or PMD will not be able to load OS package correctly.

Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
Signed-off-by: Paul M Stillwell Jr <paul.m.stillwell.jr@intel.com>
Reviewed-by: Qiming Yang <qiming.yang@intel.com>
Reviewed-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
This commit is contained in:
Qi Zhang 2019-03-25 13:44:50 +08:00 committed by Ferruh Yigit
parent 182dda1e88
commit 6e1db8a61d
4 changed files with 14 additions and 5 deletions

View File

@ -5,12 +5,18 @@
#ifndef _ICE_FLEX_TYPE_H_
#define _ICE_FLEX_TYPE_H_
#define ICE_FV_OFFSET_INVAL 0x1FF
#pragma pack(1)
/* Extraction Sequence (Field Vector) Table */
struct ice_fv_word {
u8 prot_id;
u8 off; /* Offset within the protocol header */
u16 off; /* Offset within the protocol header */
u8 resvrd;
};
#pragma pack()
#define ICE_MAX_FV_WORDS 48
struct ice_fv {
struct ice_fv_word ew[ICE_MAX_FV_WORDS];

View File

@ -516,7 +516,7 @@ ice_flow_xtract_fld(struct ice_hw *hw, struct ice_flow_prof_params *params,
struct ice_flow_fld_info *flds;
u16 cnt, ese_bits, i;
s16 adj = 0;
u8 off;
u16 off;
flds = params->prof->segs[seg].fields;
@ -956,7 +956,10 @@ ice_flow_add_prof_sync(struct ice_hw *hw, enum ice_block blk,
return ICE_ERR_NO_MEMORY;
/* initialize extraction sequence to all invalid (0xff) */
ice_memset(params.es, 0xff, sizeof(params.es), ICE_NONDMA_MEM);
for (i = 0; i < ICE_MAX_FV_WORDS; i++) {
params.es[i].prot_id = ICE_PROT_INVALID;
params.es[i].off = ICE_FV_OFFSET_INVAL;
}
params.blk = blk;
params.prof->id = prof_id;

View File

@ -174,7 +174,7 @@ enum ice_flow_priority {
struct ice_flow_seg_xtrct {
u8 prot_id; /* Protocol ID of extracted header field */
u8 off; /* Starting offset of the field in header in bytes */
u16 off; /* Starting offset of the field in header in bytes */
u8 idx; /* Index of FV entry used */
u8 disp; /* Displacement of field in bits fr. FV entry's start */
};

View File

@ -223,7 +223,7 @@ struct ice_prot_lkup_ext {
u16 prot_type;
u8 n_val_words;
/* create a buffer to hold max words per recipe */
u8 field_off[ICE_MAX_CHAIN_WORDS];
u16 field_off[ICE_MAX_CHAIN_WORDS];
struct ice_fv_word fv_words[ICE_MAX_CHAIN_WORDS];