net/ice/base: add parser runtime skeleton
[dpdk.git] / drivers / net / ice / base / ice_parser_rt.h
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright(c) 2001-2021 Intel Corporation
3  */
4
5 #ifndef _ICE_PARSER_RT_H_
6 #define _ICE_PARSER_RT_H_
7
8 struct ice_parser_ctx;
9
10 #define ICE_PARSER_MAX_PKT_LEN 504
11 #define ICE_PARSER_GPR_NUM 128
12
13 struct ice_parser_rt {
14         struct ice_parser *psr;
15         u16 gpr[ICE_PARSER_GPR_NUM];
16         u8 pkt_buf[ICE_PARSER_MAX_PKT_LEN + 32];
17         u16 pkt_len;
18         u16 po;
19 };
20
21 void ice_parser_rt_reset(struct ice_parser_rt *rt);
22 void ice_parser_rt_pktbuf_set(struct ice_parser_rt *rt, const u8 *pkt_buf,
23                               int pkt_len);
24
25 struct ice_parser_result;
26 enum ice_status ice_parser_rt_execute(struct ice_parser_rt *rt,
27                                       struct ice_parser_result *rslt);
28 #endif /* _ICE_PARSER_RT_H_ */