Lines Matching +full:2 +full:- +full:bit

1 /*-
2 * SPDX-License-Identifier: BSD-3-Clause AND BSD-2-Clause
4 * Copyright © 2013-2015 Freescale Semiconductor, Inc.
13 * 2. Redistributions in binary form must reproduce the above copyright
41 * Copyright © 2021-2022 Dmitry Salychev
48 * 2. Redistributions in binary form must reproduce the above copyright
68 #define BIT(x) (1ul << (x)) macro
71 * DPKG_NUM_OF_MASKS - Number of masks per key extraction
76 * DPKG_MAX_NUM_OF_EXTRACTS - Number of extractions per key profile
81 * enum dpkg_extract_from_hdr_type - Selecting extraction by header types
89 DPKG_FULL_FIELD = 2
93 * enum dpkg_extract_type - Enumeration for selecting extraction type
96 * @DPKG_EXTRACT_FROM_PARSE: Extract from parser-result;
107 * struct dpkg_mask - A structure for defining a single extraction mask
119 #define NH_FLD_ETH_DA BIT(0)
120 #define NH_FLD_ETH_SA BIT(1)
121 #define NH_FLD_ETH_LENGTH BIT(2)
122 #define NH_FLD_ETH_TYPE BIT(3)
123 #define NH_FLD_ETH_FINAL_CKSUM BIT(4)
124 #define NH_FLD_ETH_PADDING BIT(5)
125 #define NH_FLD_ETH_ALL_FIELDS (BIT(6) - 1)
128 #define NH_FLD_VLAN_VPRI BIT(0)
129 #define NH_FLD_VLAN_CFI BIT(1)
130 #define NH_FLD_VLAN_VID BIT(2)
131 #define NH_FLD_VLAN_LENGTH BIT(3)
132 #define NH_FLD_VLAN_TYPE BIT(4)
133 #define NH_FLD_VLAN_ALL_FIELDS (BIT(5) - 1)
140 #define NH_FLD_IP_VER BIT(0)
141 #define NH_FLD_IP_DSCP BIT(2)
142 #define NH_FLD_IP_ECN BIT(3)
143 #define NH_FLD_IP_PROTO BIT(4)
144 #define NH_FLD_IP_SRC BIT(5)
145 #define NH_FLD_IP_DST BIT(6)
146 #define NH_FLD_IP_TOS_TC BIT(7)
147 #define NH_FLD_IP_ID BIT(8)
148 #define NH_FLD_IP_ALL_FIELDS (BIT(9) - 1)
151 #define NH_FLD_IPV4_VER BIT(0)
152 #define NH_FLD_IPV4_HDR_LEN BIT(1)
153 #define NH_FLD_IPV4_TOS BIT(2)
154 #define NH_FLD_IPV4_TOTAL_LEN BIT(3)
155 #define NH_FLD_IPV4_ID BIT(4)
156 #define NH_FLD_IPV4_FLAG_D BIT(5)
157 #define NH_FLD_IPV4_FLAG_M BIT(6)
158 #define NH_FLD_IPV4_OFFSET BIT(7)
159 #define NH_FLD_IPV4_TTL BIT(8)
160 #define NH_FLD_IPV4_PROTO BIT(9)
161 #define NH_FLD_IPV4_CKSUM BIT(10)
162 #define NH_FLD_IPV4_SRC_IP BIT(11)
163 #define NH_FLD_IPV4_DST_IP BIT(12)
164 #define NH_FLD_IPV4_OPTS BIT(13)
165 #define NH_FLD_IPV4_OPTS_COUNT BIT(14)
166 #define NH_FLD_IPV4_ALL_FIELDS (BIT(15) - 1)
169 #define NH_FLD_IPV6_VER BIT(0)
170 #define NH_FLD_IPV6_TC BIT(1)
171 #define NH_FLD_IPV6_SRC_IP BIT(2)
172 #define NH_FLD_IPV6_DST_IP BIT(3)
173 #define NH_FLD_IPV6_NEXT_HDR BIT(4)
174 #define NH_FLD_IPV6_FL BIT(5)
175 #define NH_FLD_IPV6_HOP_LIMIT BIT(6)
176 #define NH_FLD_IPV6_ID BIT(7)
177 #define NH_FLD_IPV6_ALL_FIELDS (BIT(8) - 1)
180 #define NH_FLD_ICMP_TYPE BIT(0)
181 #define NH_FLD_ICMP_CODE BIT(1)
182 #define NH_FLD_ICMP_CKSUM BIT(2)
183 #define NH_FLD_ICMP_ID BIT(3)
184 #define NH_FLD_ICMP_SQ_NUM BIT(4)
185 #define NH_FLD_ICMP_ALL_FIELDS (BIT(5) - 1)
188 #define NH_FLD_IGMP_VERSION BIT(0)
189 #define NH_FLD_IGMP_TYPE BIT(1)
190 #define NH_FLD_IGMP_CKSUM BIT(2)
191 #define NH_FLD_IGMP_DATA BIT(3)
192 #define NH_FLD_IGMP_ALL_FIELDS (BIT(4) - 1)
195 #define NH_FLD_TCP_PORT_SRC BIT(0)
196 #define NH_FLD_TCP_PORT_DST BIT(1)
197 #define NH_FLD_TCP_SEQ BIT(2)
198 #define NH_FLD_TCP_ACK BIT(3)
199 #define NH_FLD_TCP_OFFSET BIT(4)
200 #define NH_FLD_TCP_FLAGS BIT(5)
201 #define NH_FLD_TCP_WINDOW BIT(6)
202 #define NH_FLD_TCP_CKSUM BIT(7)
203 #define NH_FLD_TCP_URGPTR BIT(8)
204 #define NH_FLD_TCP_OPTS BIT(9)
205 #define NH_FLD_TCP_OPTS_COUNT BIT(10)
206 #define NH_FLD_TCP_ALL_FIELDS (BIT(11) - 1)
209 #define NH_FLD_UDP_PORT_SRC BIT(0)
210 #define NH_FLD_UDP_PORT_DST BIT(1)
211 #define NH_FLD_UDP_LEN BIT(2)
212 #define NH_FLD_UDP_CKSUM BIT(3)
213 #define NH_FLD_UDP_ALL_FIELDS (BIT(4) - 1)
215 /* UDP-lite fields */
216 #define NH_FLD_UDP_LITE_PORT_SRC BIT(0)
217 #define NH_FLD_UDP_LITE_PORT_DST BIT(1)
218 #define NH_FLD_UDP_LITE_ALL_FIELDS (BIT(2) - 1)
220 /* UDP-encap-ESP fields */
221 #define NH_FLD_UDP_ENC_ESP_PORT_SRC BIT(0)
222 #define NH_FLD_UDP_ENC_ESP_PORT_DST BIT(1)
223 #define NH_FLD_UDP_ENC_ESP_LEN BIT(2)
224 #define NH_FLD_UDP_ENC_ESP_CKSUM BIT(3)
225 #define NH_FLD_UDP_ENC_ESP_SPI BIT(4)
226 #define NH_FLD_UDP_ENC_ESP_SEQUENCE_NUM BIT(5)
227 #define NH_FLD_UDP_ENC_ESP_ALL_FIELDS (BIT(6) - 1)
230 #define NH_FLD_SCTP_PORT_SRC BIT(0)
231 #define NH_FLD_SCTP_PORT_DST BIT(1)
232 #define NH_FLD_SCTP_VER_TAG BIT(2)
233 #define NH_FLD_SCTP_CKSUM BIT(3)
234 #define NH_FLD_SCTP_ALL_FIELDS (BIT(4) - 1)
237 #define NH_FLD_DCCP_PORT_SRC BIT(0)
238 #define NH_FLD_DCCP_PORT_DST BIT(1)
239 #define NH_FLD_DCCP_ALL_FIELDS (BIT(2) - 1)
242 #define NH_FLD_IPHC_CID BIT(0)
243 #define NH_FLD_IPHC_CID_TYPE BIT(1)
244 #define NH_FLD_IPHC_HCINDEX BIT(2)
245 #define NH_FLD_IPHC_GEN BIT(3)
246 #define NH_FLD_IPHC_D_BIT BIT(4)
247 #define NH_FLD_IPHC_ALL_FIELDS (BIT(5) - 1)
250 #define NH_FLD_SCTP_CHUNK_DATA_TYPE BIT(0)
251 #define NH_FLD_SCTP_CHUNK_DATA_FLAGS BIT(1)
252 #define NH_FLD_SCTP_CHUNK_DATA_LENGTH BIT(2)
253 #define NH_FLD_SCTP_CHUNK_DATA_TSN BIT(3)
254 #define NH_FLD_SCTP_CHUNK_DATA_STREAM_ID BIT(4)
255 #define NH_FLD_SCTP_CHUNK_DATA_STREAM_SQN BIT(5)
256 #define NH_FLD_SCTP_CHUNK_DATA_PAYLOAD_PID BIT(6)
257 #define NH_FLD_SCTP_CHUNK_DATA_UNORDERED BIT(7)
258 #define NH_FLD_SCTP_CHUNK_DATA_BEGGINING BIT(8)
259 #define NH_FLD_SCTP_CHUNK_DATA_END BIT(9)
260 #define NH_FLD_SCTP_CHUNK_DATA_ALL_FIELDS (BIT(10) - 1)
263 #define NH_FLD_L2TPV2_TYPE_BIT BIT(0)
264 #define NH_FLD_L2TPV2_LENGTH_BIT BIT(1)
265 #define NH_FLD_L2TPV2_SEQUENCE_BIT BIT(2)
266 #define NH_FLD_L2TPV2_OFFSET_BIT BIT(3)
267 #define NH_FLD_L2TPV2_PRIORITY_BIT BIT(4)
268 #define NH_FLD_L2TPV2_VERSION BIT(5)
269 #define NH_FLD_L2TPV2_LEN BIT(6)
270 #define NH_FLD_L2TPV2_TUNNEL_ID BIT(7)
271 #define NH_FLD_L2TPV2_SESSION_ID BIT(8)
272 #define NH_FLD_L2TPV2_NS BIT(9)
273 #define NH_FLD_L2TPV2_NR BIT(10)
274 #define NH_FLD_L2TPV2_OFFSET_SIZE BIT(11)
275 #define NH_FLD_L2TPV2_FIRST_BYTE BIT(12)
276 #define NH_FLD_L2TPV2_ALL_FIELDS (BIT(13) - 1)
279 #define NH_FLD_L2TPV3_CTRL_TYPE_BIT BIT(0)
280 #define NH_FLD_L2TPV3_CTRL_LENGTH_BIT BIT(1)
281 #define NH_FLD_L2TPV3_CTRL_SEQUENCE_BIT BIT(2)
282 #define NH_FLD_L2TPV3_CTRL_VERSION BIT(3)
283 #define NH_FLD_L2TPV3_CTRL_LENGTH BIT(4)
284 #define NH_FLD_L2TPV3_CTRL_CONTROL BIT(5)
285 #define NH_FLD_L2TPV3_CTRL_SENT BIT(6)
286 #define NH_FLD_L2TPV3_CTRL_RECV BIT(7)
287 #define NH_FLD_L2TPV3_CTRL_FIRST_BYTE BIT(8)
288 #define NH_FLD_L2TPV3_CTRL_ALL_FIELDS (BIT(9) - 1)
290 #define NH_FLD_L2TPV3_SESS_TYPE_BIT BIT(0)
291 #define NH_FLD_L2TPV3_SESS_VERSION BIT(1)
292 #define NH_FLD_L2TPV3_SESS_ID BIT(2)
293 #define NH_FLD_L2TPV3_SESS_COOKIE BIT(3)
294 #define NH_FLD_L2TPV3_SESS_ALL_FIELDS (BIT(4) - 1)
297 #define NH_FLD_PPP_PID BIT(0)
298 #define NH_FLD_PPP_COMPRESSED BIT(1)
299 #define NH_FLD_PPP_ALL_FIELDS (BIT(2) - 1)
302 #define NH_FLD_PPPOE_VER BIT(0)
303 #define NH_FLD_PPPOE_TYPE BIT(1)
304 #define NH_FLD_PPPOE_CODE BIT(2)
305 #define NH_FLD_PPPOE_SID BIT(3)
306 #define NH_FLD_PPPOE_LEN BIT(4)
307 #define NH_FLD_PPPOE_SESSION BIT(5)
308 #define NH_FLD_PPPOE_PID BIT(6)
309 #define NH_FLD_PPPOE_ALL_FIELDS (BIT(7) - 1)
311 /* PPP-Mux fields */
312 #define NH_FLD_PPPMUX_PID BIT(0)
313 #define NH_FLD_PPPMUX_CKSUM BIT(1)
314 #define NH_FLD_PPPMUX_COMPRESSED BIT(2)
315 #define NH_FLD_PPPMUX_ALL_FIELDS (BIT(3) - 1)
317 /* PPP-Mux sub-frame fields */
318 #define NH_FLD_PPPMUX_SUBFRM_PFF BIT(0)
319 #define NH_FLD_PPPMUX_SUBFRM_LXT BIT(1)
320 #define NH_FLD_PPPMUX_SUBFRM_LEN BIT(2)
321 #define NH_FLD_PPPMUX_SUBFRM_PID BIT(3)
322 #define NH_FLD_PPPMUX_SUBFRM_USE_PID BIT(4)
323 #define NH_FLD_PPPMUX_SUBFRM_ALL_FIELDS (BIT(5) - 1)
326 #define NH_FLD_LLC_DSAP BIT(0)
327 #define NH_FLD_LLC_SSAP BIT(1)
328 #define NH_FLD_LLC_CTRL BIT(2)
329 #define NH_FLD_LLC_ALL_FIELDS (BIT(3) - 1)
332 #define NH_FLD_NLPID_NLPID BIT(0)
333 #define NH_FLD_NLPID_ALL_FIELDS (BIT(1) - 1)
336 #define NH_FLD_SNAP_OUI BIT(0)
337 #define NH_FLD_SNAP_PID BIT(1)
338 #define NH_FLD_SNAP_ALL_FIELDS (BIT(2) - 1)
341 #define NH_FLD_LLC_SNAP_TYPE BIT(0)
342 #define NH_FLD_LLC_SNAP_ALL_FIELDS (BIT(1) - 1)
345 #define NH_FLD_ARP_HTYPE BIT(0)
346 #define NH_FLD_ARP_PTYPE BIT(1)
347 #define NH_FLD_ARP_HLEN BIT(2)
348 #define NH_FLD_ARP_PLEN BIT(3)
349 #define NH_FLD_ARP_OPER BIT(4)
350 #define NH_FLD_ARP_SHA BIT(5)
351 #define NH_FLD_ARP_SPA BIT(6)
352 #define NH_FLD_ARP_THA BIT(7)
353 #define NH_FLD_ARP_TPA BIT(8)
354 #define NH_FLD_ARP_ALL_FIELDS (BIT(9) - 1)
357 #define NH_FLD_RFC2684_LLC BIT(0)
358 #define NH_FLD_RFC2684_NLPID BIT(1)
359 #define NH_FLD_RFC2684_OUI BIT(2)
360 #define NH_FLD_RFC2684_PID BIT(3)
361 #define NH_FLD_RFC2684_VPN_OUI BIT(4)
362 #define NH_FLD_RFC2684_VPN_IDX BIT(5)
363 #define NH_FLD_RFC2684_ALL_FIELDS (BIT(6) - 1)
366 #define NH_FLD_USER_DEFINED_SRCPORT BIT(0)
367 #define NH_FLD_USER_DEFINED_PCDID BIT(1)
368 #define NH_FLD_USER_DEFINED_ALL_FIELDS (BIT(2) - 1)
371 #define NH_FLD_PAYLOAD_BUFFER BIT(0)
372 #define NH_FLD_PAYLOAD_SIZE BIT(1)
373 #define NH_FLD_MAX_FRM_SIZE BIT(2)
374 #define NH_FLD_MIN_FRM_SIZE BIT(3)
375 #define NH_FLD_PAYLOAD_TYPE BIT(4)
376 #define NH_FLD_FRAME_SIZE BIT(5)
377 #define NH_FLD_PAYLOAD_ALL_FIELDS (BIT(6) - 1)
380 #define NH_FLD_GRE_TYPE BIT(0)
381 #define NH_FLD_GRE_ALL_FIELDS (BIT(1) - 1)
384 #define NH_FLD_MINENCAP_SRC_IP BIT(0)
385 #define NH_FLD_MINENCAP_DST_IP BIT(1)
386 #define NH_FLD_MINENCAP_TYPE BIT(2)
387 #define NH_FLD_MINENCAP_ALL_FIELDS (BIT(3) - 1)
390 #define NH_FLD_IPSEC_AH_SPI BIT(0)
391 #define NH_FLD_IPSEC_AH_NH BIT(1)
392 #define NH_FLD_IPSEC_AH_ALL_FIELDS (BIT(2) - 1)
395 #define NH_FLD_IPSEC_ESP_SPI BIT(0)
396 #define NH_FLD_IPSEC_ESP_SEQUENCE_NUM BIT(1)
397 #define NH_FLD_IPSEC_ESP_ALL_FIELDS (BIT(2) - 1)
400 #define NH_FLD_MPLS_LABEL_STACK BIT(0)
401 #define NH_FLD_MPLS_LABEL_STACK_ALL_FIELDS (BIT(1) - 1)
404 #define NH_FLD_MACSEC_SECTAG BIT(0)
405 #define NH_FLD_MACSEC_ALL_FIELDS (BIT(1) - 1)
408 #define NH_FLD_GTP_TEID BIT(0)
466 * struct dpkg_extract - A structure for defining a single extraction
526 * struct dpkg_profile_cfg - A structure for defining a full Key Generation