const struct rte_flow_item_raw *raw_spec, *raw_mask;
struct ice_parser_profile prof;
struct ice_parser_result rslt;
- struct ice_parser *psr;
uint8_t *pkt_buf, *msk_buf;
uint8_t spec_len, pkt_len;
uint8_t tmp_val = 0;
uint8_t tmp_c = 0;
int i, j;
+ if (ad->psr == NULL)
+ return -rte_errno;
+
raw_spec = item->spec;
raw_mask = item->mask;
msk_buf[j] = tmp_val * 16 + tmp_c - '0';
}
- if (ice_parser_create(&ad->hw, &psr))
- return -rte_errno;
- if (ice_parser_run(psr, pkt_buf, pkt_len, &rslt))
+ if (ice_parser_run(ad->psr, pkt_buf, pkt_len, &rslt))
return -rte_errno;
- ice_parser_destroy(psr);
if (ice_parser_profile_init(&rslt, pkt_buf, msk_buf,
pkt_len, ICE_BLK_RSS, true, &prof))