1 // SPDX-License-Identifier: BSD-3-Clause
2 /* Copyright (C) 2023 Microchip Technology Inc. and its subsidiaries.
6 /* This file is autogenerated by cml-utils 2023-02-10 11:15:56 +0100.
7 * Commit ID: c30fb4bf0281cd4a7133bdab6682f9e43c872ada
10 #include <linux/types.h>
11 #include <linux/kernel.h>
14 #include "sparx5_vcap_ag_api.h"
17 static const struct vcap_field is0_normal_7tuple_keyfield[] = {
19 .type = VCAP_FIELD_BIT,
23 [VCAP_KF_LOOKUP_FIRST_IS] = {
24 .type = VCAP_FIELD_BIT,
28 [VCAP_KF_LOOKUP_GEN_IDX_SEL] = {
29 .type = VCAP_FIELD_U32,
33 [VCAP_KF_LOOKUP_GEN_IDX] = {
34 .type = VCAP_FIELD_U32,
38 [VCAP_KF_IF_IGR_PORT_MASK_SEL] = {
39 .type = VCAP_FIELD_U32,
43 [VCAP_KF_IF_IGR_PORT_MASK] = {
44 .type = VCAP_FIELD_U72,
48 [VCAP_KF_L2_MC_IS] = {
49 .type = VCAP_FIELD_BIT,
53 [VCAP_KF_L2_BC_IS] = {
54 .type = VCAP_FIELD_BIT,
58 [VCAP_KF_8021Q_VLAN_TAGS] = {
59 .type = VCAP_FIELD_U32,
63 [VCAP_KF_8021Q_TPID0] = {
64 .type = VCAP_FIELD_U32,
68 [VCAP_KF_8021Q_PCP0] = {
69 .type = VCAP_FIELD_U32,
73 [VCAP_KF_8021Q_DEI0] = {
74 .type = VCAP_FIELD_BIT,
78 [VCAP_KF_8021Q_VID0] = {
79 .type = VCAP_FIELD_U32,
83 [VCAP_KF_8021Q_TPID1] = {
84 .type = VCAP_FIELD_U32,
88 [VCAP_KF_8021Q_PCP1] = {
89 .type = VCAP_FIELD_U32,
93 [VCAP_KF_8021Q_DEI1] = {
94 .type = VCAP_FIELD_BIT,
98 [VCAP_KF_8021Q_VID1] = {
99 .type = VCAP_FIELD_U32,
103 [VCAP_KF_8021Q_TPID2] = {
104 .type = VCAP_FIELD_U32,
108 [VCAP_KF_8021Q_PCP2] = {
109 .type = VCAP_FIELD_U32,
113 [VCAP_KF_8021Q_DEI2] = {
114 .type = VCAP_FIELD_BIT,
118 [VCAP_KF_8021Q_VID2] = {
119 .type = VCAP_FIELD_U32,
123 [VCAP_KF_L2_DMAC] = {
124 .type = VCAP_FIELD_U48,
128 [VCAP_KF_L2_SMAC] = {
129 .type = VCAP_FIELD_U48,
133 [VCAP_KF_IP_MC_IS] = {
134 .type = VCAP_FIELD_BIT,
138 [VCAP_KF_ETYPE_LEN_IS] = {
139 .type = VCAP_FIELD_BIT,
144 .type = VCAP_FIELD_U32,
148 [VCAP_KF_IP_SNAP_IS] = {
149 .type = VCAP_FIELD_BIT,
154 .type = VCAP_FIELD_BIT,
158 [VCAP_KF_L3_FRAGMENT_TYPE] = {
159 .type = VCAP_FIELD_U32,
163 [VCAP_KF_L3_FRAG_INVLD_L4_LEN] = {
164 .type = VCAP_FIELD_BIT,
168 [VCAP_KF_L3_OPTIONS_IS] = {
169 .type = VCAP_FIELD_BIT,
173 [VCAP_KF_L3_DSCP] = {
174 .type = VCAP_FIELD_U32,
178 [VCAP_KF_L3_IP6_DIP] = {
179 .type = VCAP_FIELD_U128,
183 [VCAP_KF_L3_IP6_SIP] = {
184 .type = VCAP_FIELD_U128,
188 [VCAP_KF_TCP_UDP_IS] = {
189 .type = VCAP_FIELD_BIT,
194 .type = VCAP_FIELD_BIT,
198 [VCAP_KF_L4_SPORT] = {
199 .type = VCAP_FIELD_U32,
204 .type = VCAP_FIELD_U32,
210 static const struct vcap_field is0_normal_5tuple_ip4_keyfield[] = {
212 .type = VCAP_FIELD_U32,
216 [VCAP_KF_LOOKUP_FIRST_IS] = {
217 .type = VCAP_FIELD_BIT,
221 [VCAP_KF_LOOKUP_GEN_IDX_SEL] = {
222 .type = VCAP_FIELD_U32,
226 [VCAP_KF_LOOKUP_GEN_IDX] = {
227 .type = VCAP_FIELD_U32,
231 [VCAP_KF_IF_IGR_PORT_MASK_SEL] = {
232 .type = VCAP_FIELD_U32,
236 [VCAP_KF_IF_IGR_PORT_MASK] = {
237 .type = VCAP_FIELD_U72,
241 [VCAP_KF_L2_MC_IS] = {
242 .type = VCAP_FIELD_BIT,
246 [VCAP_KF_L2_BC_IS] = {
247 .type = VCAP_FIELD_BIT,
251 [VCAP_KF_8021Q_VLAN_TAGS] = {
252 .type = VCAP_FIELD_U32,
256 [VCAP_KF_8021Q_TPID0] = {
257 .type = VCAP_FIELD_U32,
261 [VCAP_KF_8021Q_PCP0] = {
262 .type = VCAP_FIELD_U32,
266 [VCAP_KF_8021Q_DEI0] = {
267 .type = VCAP_FIELD_BIT,
271 [VCAP_KF_8021Q_VID0] = {
272 .type = VCAP_FIELD_U32,
276 [VCAP_KF_8021Q_TPID1] = {
277 .type = VCAP_FIELD_U32,
281 [VCAP_KF_8021Q_PCP1] = {
282 .type = VCAP_FIELD_U32,
286 [VCAP_KF_8021Q_DEI1] = {
287 .type = VCAP_FIELD_BIT,
291 [VCAP_KF_8021Q_VID1] = {
292 .type = VCAP_FIELD_U32,
296 [VCAP_KF_8021Q_TPID2] = {
297 .type = VCAP_FIELD_U32,
301 [VCAP_KF_8021Q_PCP2] = {
302 .type = VCAP_FIELD_U32,
306 [VCAP_KF_8021Q_DEI2] = {
307 .type = VCAP_FIELD_BIT,
311 [VCAP_KF_8021Q_VID2] = {
312 .type = VCAP_FIELD_U32,
316 [VCAP_KF_IP_MC_IS] = {
317 .type = VCAP_FIELD_BIT,
322 .type = VCAP_FIELD_BIT,
326 [VCAP_KF_L3_FRAGMENT_TYPE] = {
327 .type = VCAP_FIELD_U32,
331 [VCAP_KF_L3_FRAG_INVLD_L4_LEN] = {
332 .type = VCAP_FIELD_BIT,
336 [VCAP_KF_L3_OPTIONS_IS] = {
337 .type = VCAP_FIELD_BIT,
341 [VCAP_KF_L3_DSCP] = {
342 .type = VCAP_FIELD_U32,
346 [VCAP_KF_L3_IP4_DIP] = {
347 .type = VCAP_FIELD_U32,
351 [VCAP_KF_L3_IP4_SIP] = {
352 .type = VCAP_FIELD_U32,
356 [VCAP_KF_L3_IP_PROTO] = {
357 .type = VCAP_FIELD_U32,
361 [VCAP_KF_TCP_UDP_IS] = {
362 .type = VCAP_FIELD_BIT,
367 .type = VCAP_FIELD_BIT,
372 .type = VCAP_FIELD_U32,
376 [VCAP_KF_IP_PAYLOAD_5TUPLE] = {
377 .type = VCAP_FIELD_U32,
383 static const struct vcap_field is2_mac_etype_keyfield[] = {
385 .type = VCAP_FIELD_U32,
389 [VCAP_KF_LOOKUP_FIRST_IS] = {
390 .type = VCAP_FIELD_BIT,
394 [VCAP_KF_LOOKUP_PAG] = {
395 .type = VCAP_FIELD_U32,
399 [VCAP_KF_IF_IGR_PORT_MASK_L3] = {
400 .type = VCAP_FIELD_BIT,
404 [VCAP_KF_IF_IGR_PORT_MASK_RNG] = {
405 .type = VCAP_FIELD_U32,
409 [VCAP_KF_IF_IGR_PORT_MASK_SEL] = {
410 .type = VCAP_FIELD_U32,
414 [VCAP_KF_IF_IGR_PORT_MASK] = {
415 .type = VCAP_FIELD_U32,
419 [VCAP_KF_L2_MC_IS] = {
420 .type = VCAP_FIELD_BIT,
424 [VCAP_KF_L2_BC_IS] = {
425 .type = VCAP_FIELD_BIT,
429 [VCAP_KF_8021Q_VLAN_TAGGED_IS] = {
430 .type = VCAP_FIELD_BIT,
434 [VCAP_KF_ISDX_GT0_IS] = {
435 .type = VCAP_FIELD_BIT,
439 [VCAP_KF_ISDX_CLS] = {
440 .type = VCAP_FIELD_U32,
444 [VCAP_KF_8021Q_VID_CLS] = {
445 .type = VCAP_FIELD_U32,
449 [VCAP_KF_8021Q_DEI_CLS] = {
450 .type = VCAP_FIELD_BIT,
454 [VCAP_KF_8021Q_PCP_CLS] = {
455 .type = VCAP_FIELD_U32,
459 [VCAP_KF_L2_FWD_IS] = {
460 .type = VCAP_FIELD_BIT,
464 [VCAP_KF_L3_RT_IS] = {
465 .type = VCAP_FIELD_BIT,
469 [VCAP_KF_L3_DST_IS] = {
470 .type = VCAP_FIELD_BIT,
474 [VCAP_KF_L2_DMAC] = {
475 .type = VCAP_FIELD_U48,
479 [VCAP_KF_L2_SMAC] = {
480 .type = VCAP_FIELD_U48,
484 [VCAP_KF_ETYPE_LEN_IS] = {
485 .type = VCAP_FIELD_BIT,
490 .type = VCAP_FIELD_U32,
494 [VCAP_KF_L2_PAYLOAD_ETYPE] = {
495 .type = VCAP_FIELD_U64,
500 .type = VCAP_FIELD_U32,
504 [VCAP_KF_OAM_CCM_CNTS_EQ0] = {
505 .type = VCAP_FIELD_BIT,
509 [VCAP_KF_OAM_Y1731_IS] = {
510 .type = VCAP_FIELD_BIT,
516 static const struct vcap_field is2_arp_keyfield[] = {
518 .type = VCAP_FIELD_U32,
522 [VCAP_KF_LOOKUP_FIRST_IS] = {
523 .type = VCAP_FIELD_BIT,
527 [VCAP_KF_LOOKUP_PAG] = {
528 .type = VCAP_FIELD_U32,
532 [VCAP_KF_IF_IGR_PORT_MASK_L3] = {
533 .type = VCAP_FIELD_BIT,
537 [VCAP_KF_IF_IGR_PORT_MASK_RNG] = {
538 .type = VCAP_FIELD_U32,
542 [VCAP_KF_IF_IGR_PORT_MASK_SEL] = {
543 .type = VCAP_FIELD_U32,
547 [VCAP_KF_IF_IGR_PORT_MASK] = {
548 .type = VCAP_FIELD_U32,
552 [VCAP_KF_L2_MC_IS] = {
553 .type = VCAP_FIELD_BIT,
557 [VCAP_KF_L2_BC_IS] = {
558 .type = VCAP_FIELD_BIT,
562 [VCAP_KF_8021Q_VLAN_TAGGED_IS] = {
563 .type = VCAP_FIELD_BIT,
567 [VCAP_KF_ISDX_GT0_IS] = {
568 .type = VCAP_FIELD_BIT,
572 [VCAP_KF_ISDX_CLS] = {
573 .type = VCAP_FIELD_U32,
577 [VCAP_KF_8021Q_VID_CLS] = {
578 .type = VCAP_FIELD_U32,
582 [VCAP_KF_8021Q_DEI_CLS] = {
583 .type = VCAP_FIELD_BIT,
587 [VCAP_KF_8021Q_PCP_CLS] = {
588 .type = VCAP_FIELD_U32,
592 [VCAP_KF_L2_FWD_IS] = {
593 .type = VCAP_FIELD_BIT,
597 [VCAP_KF_L2_SMAC] = {
598 .type = VCAP_FIELD_U48,
602 [VCAP_KF_ARP_ADDR_SPACE_OK_IS] = {
603 .type = VCAP_FIELD_BIT,
607 [VCAP_KF_ARP_PROTO_SPACE_OK_IS] = {
608 .type = VCAP_FIELD_BIT,
612 [VCAP_KF_ARP_LEN_OK_IS] = {
613 .type = VCAP_FIELD_BIT,
617 [VCAP_KF_ARP_TGT_MATCH_IS] = {
618 .type = VCAP_FIELD_BIT,
622 [VCAP_KF_ARP_SENDER_MATCH_IS] = {
623 .type = VCAP_FIELD_BIT,
627 [VCAP_KF_ARP_OPCODE_UNKNOWN_IS] = {
628 .type = VCAP_FIELD_BIT,
632 [VCAP_KF_ARP_OPCODE] = {
633 .type = VCAP_FIELD_U32,
637 [VCAP_KF_L3_IP4_DIP] = {
638 .type = VCAP_FIELD_U32,
642 [VCAP_KF_L3_IP4_SIP] = {
643 .type = VCAP_FIELD_U32,
647 [VCAP_KF_L3_DIP_EQ_SIP_IS] = {
648 .type = VCAP_FIELD_BIT,
653 .type = VCAP_FIELD_U32,
659 static const struct vcap_field is2_ip4_tcp_udp_keyfield[] = {
661 .type = VCAP_FIELD_U32,
665 [VCAP_KF_LOOKUP_FIRST_IS] = {
666 .type = VCAP_FIELD_BIT,
670 [VCAP_KF_LOOKUP_PAG] = {
671 .type = VCAP_FIELD_U32,
675 [VCAP_KF_IF_IGR_PORT_MASK_L3] = {
676 .type = VCAP_FIELD_BIT,
680 [VCAP_KF_IF_IGR_PORT_MASK_RNG] = {
681 .type = VCAP_FIELD_U32,
685 [VCAP_KF_IF_IGR_PORT_MASK_SEL] = {
686 .type = VCAP_FIELD_U32,
690 [VCAP_KF_IF_IGR_PORT_MASK] = {
691 .type = VCAP_FIELD_U32,
695 [VCAP_KF_L2_MC_IS] = {
696 .type = VCAP_FIELD_BIT,
700 [VCAP_KF_L2_BC_IS] = {
701 .type = VCAP_FIELD_BIT,
705 [VCAP_KF_8021Q_VLAN_TAGGED_IS] = {
706 .type = VCAP_FIELD_BIT,
710 [VCAP_KF_ISDX_GT0_IS] = {
711 .type = VCAP_FIELD_BIT,
715 [VCAP_KF_ISDX_CLS] = {
716 .type = VCAP_FIELD_U32,
720 [VCAP_KF_8021Q_VID_CLS] = {
721 .type = VCAP_FIELD_U32,
725 [VCAP_KF_8021Q_DEI_CLS] = {
726 .type = VCAP_FIELD_BIT,
730 [VCAP_KF_8021Q_PCP_CLS] = {
731 .type = VCAP_FIELD_U32,
735 [VCAP_KF_L2_FWD_IS] = {
736 .type = VCAP_FIELD_BIT,
740 [VCAP_KF_L3_RT_IS] = {
741 .type = VCAP_FIELD_BIT,
745 [VCAP_KF_L3_DST_IS] = {
746 .type = VCAP_FIELD_BIT,
751 .type = VCAP_FIELD_BIT,
755 [VCAP_KF_L3_FRAGMENT_TYPE] = {
756 .type = VCAP_FIELD_U32,
760 [VCAP_KF_L3_FRAG_INVLD_L4_LEN] = {
761 .type = VCAP_FIELD_BIT,
765 [VCAP_KF_L3_OPTIONS_IS] = {
766 .type = VCAP_FIELD_BIT,
770 [VCAP_KF_L3_TTL_GT0] = {
771 .type = VCAP_FIELD_BIT,
776 .type = VCAP_FIELD_U32,
780 [VCAP_KF_L3_IP4_DIP] = {
781 .type = VCAP_FIELD_U32,
785 [VCAP_KF_L3_IP4_SIP] = {
786 .type = VCAP_FIELD_U32,
790 [VCAP_KF_L3_DIP_EQ_SIP_IS] = {
791 .type = VCAP_FIELD_BIT,
796 .type = VCAP_FIELD_BIT,
800 [VCAP_KF_L4_DPORT] = {
801 .type = VCAP_FIELD_U32,
805 [VCAP_KF_L4_SPORT] = {
806 .type = VCAP_FIELD_U32,
811 .type = VCAP_FIELD_U32,
815 [VCAP_KF_L4_SPORT_EQ_DPORT_IS] = {
816 .type = VCAP_FIELD_BIT,
820 [VCAP_KF_L4_SEQUENCE_EQ0_IS] = {
821 .type = VCAP_FIELD_BIT,
826 .type = VCAP_FIELD_BIT,
831 .type = VCAP_FIELD_BIT,
836 .type = VCAP_FIELD_BIT,
841 .type = VCAP_FIELD_BIT,
846 .type = VCAP_FIELD_BIT,
851 .type = VCAP_FIELD_BIT,
855 [VCAP_KF_L4_PAYLOAD] = {
856 .type = VCAP_FIELD_U64,
862 static const struct vcap_field is2_ip4_other_keyfield[] = {
864 .type = VCAP_FIELD_U32,
868 [VCAP_KF_LOOKUP_FIRST_IS] = {
869 .type = VCAP_FIELD_BIT,
873 [VCAP_KF_LOOKUP_PAG] = {
874 .type = VCAP_FIELD_U32,
878 [VCAP_KF_IF_IGR_PORT_MASK_L3] = {
879 .type = VCAP_FIELD_BIT,
883 [VCAP_KF_IF_IGR_PORT_MASK_RNG] = {
884 .type = VCAP_FIELD_U32,
888 [VCAP_KF_IF_IGR_PORT_MASK_SEL] = {
889 .type = VCAP_FIELD_U32,
893 [VCAP_KF_IF_IGR_PORT_MASK] = {
894 .type = VCAP_FIELD_U32,
898 [VCAP_KF_L2_MC_IS] = {
899 .type = VCAP_FIELD_BIT,
903 [VCAP_KF_L2_BC_IS] = {
904 .type = VCAP_FIELD_BIT,
908 [VCAP_KF_8021Q_VLAN_TAGGED_IS] = {
909 .type = VCAP_FIELD_BIT,
913 [VCAP_KF_ISDX_GT0_IS] = {
914 .type = VCAP_FIELD_BIT,
918 [VCAP_KF_ISDX_CLS] = {
919 .type = VCAP_FIELD_U32,
923 [VCAP_KF_8021Q_VID_CLS] = {
924 .type = VCAP_FIELD_U32,
928 [VCAP_KF_8021Q_DEI_CLS] = {
929 .type = VCAP_FIELD_BIT,
933 [VCAP_KF_8021Q_PCP_CLS] = {
934 .type = VCAP_FIELD_U32,
938 [VCAP_KF_L2_FWD_IS] = {
939 .type = VCAP_FIELD_BIT,
943 [VCAP_KF_L3_RT_IS] = {
944 .type = VCAP_FIELD_BIT,
948 [VCAP_KF_L3_DST_IS] = {
949 .type = VCAP_FIELD_BIT,
954 .type = VCAP_FIELD_BIT,
958 [VCAP_KF_L3_FRAGMENT_TYPE] = {
959 .type = VCAP_FIELD_U32,
963 [VCAP_KF_L3_FRAG_INVLD_L4_LEN] = {
964 .type = VCAP_FIELD_BIT,
968 [VCAP_KF_L3_OPTIONS_IS] = {
969 .type = VCAP_FIELD_BIT,
973 [VCAP_KF_L3_TTL_GT0] = {
974 .type = VCAP_FIELD_BIT,
979 .type = VCAP_FIELD_U32,
983 [VCAP_KF_L3_IP4_DIP] = {
984 .type = VCAP_FIELD_U32,
988 [VCAP_KF_L3_IP4_SIP] = {
989 .type = VCAP_FIELD_U32,
993 [VCAP_KF_L3_DIP_EQ_SIP_IS] = {
994 .type = VCAP_FIELD_BIT,
998 [VCAP_KF_L3_IP_PROTO] = {
999 .type = VCAP_FIELD_U32,
1003 [VCAP_KF_L4_RNG] = {
1004 .type = VCAP_FIELD_U32,
1008 [VCAP_KF_L3_PAYLOAD] = {
1009 .type = VCAP_FIELD_U112,
1015 static const struct vcap_field is2_ip6_std_keyfield[] = {
1017 .type = VCAP_FIELD_U32,
1021 [VCAP_KF_LOOKUP_FIRST_IS] = {
1022 .type = VCAP_FIELD_BIT,
1026 [VCAP_KF_LOOKUP_PAG] = {
1027 .type = VCAP_FIELD_U32,
1031 [VCAP_KF_IF_IGR_PORT_MASK_L3] = {
1032 .type = VCAP_FIELD_BIT,
1036 [VCAP_KF_IF_IGR_PORT_MASK_RNG] = {
1037 .type = VCAP_FIELD_U32,
1041 [VCAP_KF_IF_IGR_PORT_MASK_SEL] = {
1042 .type = VCAP_FIELD_U32,
1046 [VCAP_KF_IF_IGR_PORT_MASK] = {
1047 .type = VCAP_FIELD_U32,
1051 [VCAP_KF_L2_MC_IS] = {
1052 .type = VCAP_FIELD_BIT,
1056 [VCAP_KF_L2_BC_IS] = {
1057 .type = VCAP_FIELD_BIT,
1061 [VCAP_KF_8021Q_VLAN_TAGGED_IS] = {
1062 .type = VCAP_FIELD_BIT,
1066 [VCAP_KF_ISDX_GT0_IS] = {
1067 .type = VCAP_FIELD_BIT,
1071 [VCAP_KF_ISDX_CLS] = {
1072 .type = VCAP_FIELD_U32,
1076 [VCAP_KF_8021Q_VID_CLS] = {
1077 .type = VCAP_FIELD_U32,
1081 [VCAP_KF_8021Q_DEI_CLS] = {
1082 .type = VCAP_FIELD_BIT,
1086 [VCAP_KF_8021Q_PCP_CLS] = {
1087 .type = VCAP_FIELD_U32,
1091 [VCAP_KF_L2_FWD_IS] = {
1092 .type = VCAP_FIELD_BIT,
1096 [VCAP_KF_L3_RT_IS] = {
1097 .type = VCAP_FIELD_BIT,
1101 [VCAP_KF_L3_TTL_GT0] = {
1102 .type = VCAP_FIELD_BIT,
1106 [VCAP_KF_L3_IP6_SIP] = {
1107 .type = VCAP_FIELD_U128,
1111 [VCAP_KF_L3_DIP_EQ_SIP_IS] = {
1112 .type = VCAP_FIELD_BIT,
1116 [VCAP_KF_L3_IP_PROTO] = {
1117 .type = VCAP_FIELD_U32,
1121 [VCAP_KF_L4_RNG] = {
1122 .type = VCAP_FIELD_U32,
1126 [VCAP_KF_L3_PAYLOAD] = {
1127 .type = VCAP_FIELD_U48,
1133 static const struct vcap_field is2_ip_7tuple_keyfield[] = {
1135 .type = VCAP_FIELD_U32,
1139 [VCAP_KF_LOOKUP_FIRST_IS] = {
1140 .type = VCAP_FIELD_BIT,
1144 [VCAP_KF_LOOKUP_PAG] = {
1145 .type = VCAP_FIELD_U32,
1149 [VCAP_KF_IF_IGR_PORT_MASK_L3] = {
1150 .type = VCAP_FIELD_BIT,
1154 [VCAP_KF_IF_IGR_PORT_MASK_RNG] = {
1155 .type = VCAP_FIELD_U32,
1159 [VCAP_KF_IF_IGR_PORT_MASK_SEL] = {
1160 .type = VCAP_FIELD_U32,
1164 [VCAP_KF_IF_IGR_PORT_MASK] = {
1165 .type = VCAP_FIELD_U72,
1169 [VCAP_KF_L2_MC_IS] = {
1170 .type = VCAP_FIELD_BIT,
1174 [VCAP_KF_L2_BC_IS] = {
1175 .type = VCAP_FIELD_BIT,
1179 [VCAP_KF_8021Q_VLAN_TAGGED_IS] = {
1180 .type = VCAP_FIELD_BIT,
1184 [VCAP_KF_ISDX_GT0_IS] = {
1185 .type = VCAP_FIELD_BIT,
1189 [VCAP_KF_ISDX_CLS] = {
1190 .type = VCAP_FIELD_U32,
1194 [VCAP_KF_8021Q_VID_CLS] = {
1195 .type = VCAP_FIELD_U32,
1199 [VCAP_KF_8021Q_DEI_CLS] = {
1200 .type = VCAP_FIELD_BIT,
1204 [VCAP_KF_8021Q_PCP_CLS] = {
1205 .type = VCAP_FIELD_U32,
1209 [VCAP_KF_L2_FWD_IS] = {
1210 .type = VCAP_FIELD_BIT,
1214 [VCAP_KF_L3_RT_IS] = {
1215 .type = VCAP_FIELD_BIT,
1219 [VCAP_KF_L3_DST_IS] = {
1220 .type = VCAP_FIELD_BIT,
1224 [VCAP_KF_L2_DMAC] = {
1225 .type = VCAP_FIELD_U48,
1229 [VCAP_KF_L2_SMAC] = {
1230 .type = VCAP_FIELD_U48,
1234 [VCAP_KF_IP4_IS] = {
1235 .type = VCAP_FIELD_BIT,
1239 [VCAP_KF_L3_TTL_GT0] = {
1240 .type = VCAP_FIELD_BIT,
1244 [VCAP_KF_L3_TOS] = {
1245 .type = VCAP_FIELD_U32,
1249 [VCAP_KF_L3_IP6_DIP] = {
1250 .type = VCAP_FIELD_U128,
1254 [VCAP_KF_L3_IP6_SIP] = {
1255 .type = VCAP_FIELD_U128,
1259 [VCAP_KF_L3_DIP_EQ_SIP_IS] = {
1260 .type = VCAP_FIELD_BIT,
1264 [VCAP_KF_TCP_UDP_IS] = {
1265 .type = VCAP_FIELD_BIT,
1269 [VCAP_KF_TCP_IS] = {
1270 .type = VCAP_FIELD_BIT,
1274 [VCAP_KF_L4_DPORT] = {
1275 .type = VCAP_FIELD_U32,
1279 [VCAP_KF_L4_SPORT] = {
1280 .type = VCAP_FIELD_U32,
1284 [VCAP_KF_L4_RNG] = {
1285 .type = VCAP_FIELD_U32,
1289 [VCAP_KF_L4_SPORT_EQ_DPORT_IS] = {
1290 .type = VCAP_FIELD_BIT,
1294 [VCAP_KF_L4_SEQUENCE_EQ0_IS] = {
1295 .type = VCAP_FIELD_BIT,
1299 [VCAP_KF_L4_FIN] = {
1300 .type = VCAP_FIELD_BIT,
1304 [VCAP_KF_L4_SYN] = {
1305 .type = VCAP_FIELD_BIT,
1309 [VCAP_KF_L4_RST] = {
1310 .type = VCAP_FIELD_BIT,
1314 [VCAP_KF_L4_PSH] = {
1315 .type = VCAP_FIELD_BIT,
1319 [VCAP_KF_L4_ACK] = {
1320 .type = VCAP_FIELD_BIT,
1324 [VCAP_KF_L4_URG] = {
1325 .type = VCAP_FIELD_BIT,
1329 [VCAP_KF_L4_PAYLOAD] = {
1330 .type = VCAP_FIELD_U64,
1336 static const struct vcap_field es0_isdx_keyfield[] = {
1338 .type = VCAP_FIELD_BIT,
1342 [VCAP_KF_IF_EGR_PORT_NO] = {
1343 .type = VCAP_FIELD_U32,
1347 [VCAP_KF_8021Q_VID_CLS] = {
1348 .type = VCAP_FIELD_U32,
1352 [VCAP_KF_COSID_CLS] = {
1353 .type = VCAP_FIELD_U32,
1357 [VCAP_KF_8021Q_TPID] = {
1358 .type = VCAP_FIELD_U32,
1362 [VCAP_KF_L3_DPL_CLS] = {
1363 .type = VCAP_FIELD_BIT,
1367 [VCAP_KF_ISDX_GT0_IS] = {
1368 .type = VCAP_FIELD_BIT,
1372 [VCAP_KF_PROT_ACTIVE] = {
1373 .type = VCAP_FIELD_BIT,
1377 [VCAP_KF_ISDX_CLS] = {
1378 .type = VCAP_FIELD_U32,
1384 static const struct vcap_field es2_mac_etype_keyfield[] = {
1386 .type = VCAP_FIELD_U32,
1390 [VCAP_KF_LOOKUP_FIRST_IS] = {
1391 .type = VCAP_FIELD_BIT,
1395 [VCAP_KF_L2_MC_IS] = {
1396 .type = VCAP_FIELD_BIT,
1400 [VCAP_KF_L2_BC_IS] = {
1401 .type = VCAP_FIELD_BIT,
1405 [VCAP_KF_ISDX_GT0_IS] = {
1406 .type = VCAP_FIELD_BIT,
1410 [VCAP_KF_ISDX_CLS] = {
1411 .type = VCAP_FIELD_U32,
1415 [VCAP_KF_8021Q_VLAN_TAGGED_IS] = {
1416 .type = VCAP_FIELD_BIT,
1420 [VCAP_KF_8021Q_VID_CLS] = {
1421 .type = VCAP_FIELD_U32,
1425 [VCAP_KF_IF_EGR_PORT_MASK_RNG] = {
1426 .type = VCAP_FIELD_U32,
1430 [VCAP_KF_IF_EGR_PORT_MASK] = {
1431 .type = VCAP_FIELD_U32,
1435 [VCAP_KF_IF_IGR_PORT_SEL] = {
1436 .type = VCAP_FIELD_BIT,
1440 [VCAP_KF_IF_IGR_PORT] = {
1441 .type = VCAP_FIELD_U32,
1445 [VCAP_KF_8021Q_PCP_CLS] = {
1446 .type = VCAP_FIELD_U32,
1450 [VCAP_KF_8021Q_DEI_CLS] = {
1451 .type = VCAP_FIELD_BIT,
1455 [VCAP_KF_COSID_CLS] = {
1456 .type = VCAP_FIELD_U32,
1460 [VCAP_KF_L3_DPL_CLS] = {
1461 .type = VCAP_FIELD_BIT,
1465 [VCAP_KF_L3_RT_IS] = {
1466 .type = VCAP_FIELD_BIT,
1470 [VCAP_KF_L2_DMAC] = {
1471 .type = VCAP_FIELD_U48,
1475 [VCAP_KF_L2_SMAC] = {
1476 .type = VCAP_FIELD_U48,
1480 [VCAP_KF_ETYPE_LEN_IS] = {
1481 .type = VCAP_FIELD_BIT,
1486 .type = VCAP_FIELD_U32,
1490 [VCAP_KF_L2_PAYLOAD_ETYPE] = {
1491 .type = VCAP_FIELD_U64,
1495 [VCAP_KF_OAM_CCM_CNTS_EQ0] = {
1496 .type = VCAP_FIELD_BIT,
1500 [VCAP_KF_OAM_Y1731_IS] = {
1501 .type = VCAP_FIELD_BIT,
1507 static const struct vcap_field es2_arp_keyfield[] = {
1509 .type = VCAP_FIELD_U32,
1513 [VCAP_KF_LOOKUP_FIRST_IS] = {
1514 .type = VCAP_FIELD_BIT,
1518 [VCAP_KF_L2_MC_IS] = {
1519 .type = VCAP_FIELD_BIT,
1523 [VCAP_KF_L2_BC_IS] = {
1524 .type = VCAP_FIELD_BIT,
1528 [VCAP_KF_ISDX_GT0_IS] = {
1529 .type = VCAP_FIELD_BIT,
1533 [VCAP_KF_ISDX_CLS] = {
1534 .type = VCAP_FIELD_U32,
1538 [VCAP_KF_8021Q_VLAN_TAGGED_IS] = {
1539 .type = VCAP_FIELD_BIT,
1543 [VCAP_KF_8021Q_VID_CLS] = {
1544 .type = VCAP_FIELD_U32,
1548 [VCAP_KF_IF_EGR_PORT_MASK_RNG] = {
1549 .type = VCAP_FIELD_U32,
1553 [VCAP_KF_IF_EGR_PORT_MASK] = {
1554 .type = VCAP_FIELD_U32,
1558 [VCAP_KF_IF_IGR_PORT_SEL] = {
1559 .type = VCAP_FIELD_BIT,
1563 [VCAP_KF_IF_IGR_PORT] = {
1564 .type = VCAP_FIELD_U32,
1568 [VCAP_KF_8021Q_PCP_CLS] = {
1569 .type = VCAP_FIELD_U32,
1573 [VCAP_KF_8021Q_DEI_CLS] = {
1574 .type = VCAP_FIELD_BIT,
1578 [VCAP_KF_COSID_CLS] = {
1579 .type = VCAP_FIELD_U32,
1583 [VCAP_KF_L3_DPL_CLS] = {
1584 .type = VCAP_FIELD_BIT,
1588 [VCAP_KF_L2_SMAC] = {
1589 .type = VCAP_FIELD_U48,
1593 [VCAP_KF_ARP_ADDR_SPACE_OK_IS] = {
1594 .type = VCAP_FIELD_BIT,
1598 [VCAP_KF_ARP_PROTO_SPACE_OK_IS] = {
1599 .type = VCAP_FIELD_BIT,
1603 [VCAP_KF_ARP_LEN_OK_IS] = {
1604 .type = VCAP_FIELD_BIT,
1608 [VCAP_KF_ARP_TGT_MATCH_IS] = {
1609 .type = VCAP_FIELD_BIT,
1613 [VCAP_KF_ARP_SENDER_MATCH_IS] = {
1614 .type = VCAP_FIELD_BIT,
1618 [VCAP_KF_ARP_OPCODE_UNKNOWN_IS] = {
1619 .type = VCAP_FIELD_BIT,
1623 [VCAP_KF_ARP_OPCODE] = {
1624 .type = VCAP_FIELD_U32,
1628 [VCAP_KF_L3_IP4_DIP] = {
1629 .type = VCAP_FIELD_U32,
1633 [VCAP_KF_L3_IP4_SIP] = {
1634 .type = VCAP_FIELD_U32,
1638 [VCAP_KF_L3_DIP_EQ_SIP_IS] = {
1639 .type = VCAP_FIELD_BIT,
1645 static const struct vcap_field es2_ip4_tcp_udp_keyfield[] = {
1647 .type = VCAP_FIELD_U32,
1651 [VCAP_KF_LOOKUP_FIRST_IS] = {
1652 .type = VCAP_FIELD_BIT,
1656 [VCAP_KF_L2_MC_IS] = {
1657 .type = VCAP_FIELD_BIT,
1661 [VCAP_KF_L2_BC_IS] = {
1662 .type = VCAP_FIELD_BIT,
1666 [VCAP_KF_ISDX_GT0_IS] = {
1667 .type = VCAP_FIELD_BIT,
1671 [VCAP_KF_ISDX_CLS] = {
1672 .type = VCAP_FIELD_U32,
1676 [VCAP_KF_8021Q_VLAN_TAGGED_IS] = {
1677 .type = VCAP_FIELD_BIT,
1681 [VCAP_KF_8021Q_VID_CLS] = {
1682 .type = VCAP_FIELD_U32,
1686 [VCAP_KF_IF_EGR_PORT_MASK_RNG] = {
1687 .type = VCAP_FIELD_U32,
1691 [VCAP_KF_IF_EGR_PORT_MASK] = {
1692 .type = VCAP_FIELD_U32,
1696 [VCAP_KF_IF_IGR_PORT_SEL] = {
1697 .type = VCAP_FIELD_BIT,
1701 [VCAP_KF_IF_IGR_PORT] = {
1702 .type = VCAP_FIELD_U32,
1706 [VCAP_KF_8021Q_PCP_CLS] = {
1707 .type = VCAP_FIELD_U32,
1711 [VCAP_KF_8021Q_DEI_CLS] = {
1712 .type = VCAP_FIELD_BIT,
1716 [VCAP_KF_COSID_CLS] = {
1717 .type = VCAP_FIELD_U32,
1721 [VCAP_KF_L3_DPL_CLS] = {
1722 .type = VCAP_FIELD_BIT,
1726 [VCAP_KF_L3_RT_IS] = {
1727 .type = VCAP_FIELD_BIT,
1731 [VCAP_KF_IP4_IS] = {
1732 .type = VCAP_FIELD_BIT,
1736 [VCAP_KF_L3_FRAGMENT_TYPE] = {
1737 .type = VCAP_FIELD_U32,
1741 [VCAP_KF_L3_OPTIONS_IS] = {
1742 .type = VCAP_FIELD_BIT,
1746 [VCAP_KF_L3_TTL_GT0] = {
1747 .type = VCAP_FIELD_BIT,
1751 [VCAP_KF_L3_TOS] = {
1752 .type = VCAP_FIELD_U32,
1756 [VCAP_KF_L3_IP4_DIP] = {
1757 .type = VCAP_FIELD_U32,
1761 [VCAP_KF_L3_IP4_SIP] = {
1762 .type = VCAP_FIELD_U32,
1766 [VCAP_KF_L3_DIP_EQ_SIP_IS] = {
1767 .type = VCAP_FIELD_BIT,
1771 [VCAP_KF_TCP_IS] = {
1772 .type = VCAP_FIELD_BIT,
1776 [VCAP_KF_L4_DPORT] = {
1777 .type = VCAP_FIELD_U32,
1781 [VCAP_KF_L4_SPORT] = {
1782 .type = VCAP_FIELD_U32,
1786 [VCAP_KF_L4_RNG] = {
1787 .type = VCAP_FIELD_U32,
1791 [VCAP_KF_L4_SPORT_EQ_DPORT_IS] = {
1792 .type = VCAP_FIELD_BIT,
1796 [VCAP_KF_L4_SEQUENCE_EQ0_IS] = {
1797 .type = VCAP_FIELD_BIT,
1801 [VCAP_KF_L4_FIN] = {
1802 .type = VCAP_FIELD_BIT,
1806 [VCAP_KF_L4_SYN] = {
1807 .type = VCAP_FIELD_BIT,
1811 [VCAP_KF_L4_RST] = {
1812 .type = VCAP_FIELD_BIT,
1816 [VCAP_KF_L4_PSH] = {
1817 .type = VCAP_FIELD_BIT,
1821 [VCAP_KF_L4_ACK] = {
1822 .type = VCAP_FIELD_BIT,
1826 [VCAP_KF_L4_URG] = {
1827 .type = VCAP_FIELD_BIT,
1831 [VCAP_KF_L4_PAYLOAD] = {
1832 .type = VCAP_FIELD_U64,
1838 static const struct vcap_field es2_ip4_other_keyfield[] = {
1840 .type = VCAP_FIELD_U32,
1844 [VCAP_KF_LOOKUP_FIRST_IS] = {
1845 .type = VCAP_FIELD_BIT,
1849 [VCAP_KF_L2_MC_IS] = {
1850 .type = VCAP_FIELD_BIT,
1854 [VCAP_KF_L2_BC_IS] = {
1855 .type = VCAP_FIELD_BIT,
1859 [VCAP_KF_ISDX_GT0_IS] = {
1860 .type = VCAP_FIELD_BIT,
1864 [VCAP_KF_ISDX_CLS] = {
1865 .type = VCAP_FIELD_U32,
1869 [VCAP_KF_8021Q_VLAN_TAGGED_IS] = {
1870 .type = VCAP_FIELD_BIT,
1874 [VCAP_KF_8021Q_VID_CLS] = {
1875 .type = VCAP_FIELD_U32,
1879 [VCAP_KF_IF_EGR_PORT_MASK_RNG] = {
1880 .type = VCAP_FIELD_U32,
1884 [VCAP_KF_IF_EGR_PORT_MASK] = {
1885 .type = VCAP_FIELD_U32,
1889 [VCAP_KF_IF_IGR_PORT_SEL] = {
1890 .type = VCAP_FIELD_BIT,
1894 [VCAP_KF_IF_IGR_PORT] = {
1895 .type = VCAP_FIELD_U32,
1899 [VCAP_KF_8021Q_PCP_CLS] = {
1900 .type = VCAP_FIELD_U32,
1904 [VCAP_KF_8021Q_DEI_CLS] = {
1905 .type = VCAP_FIELD_BIT,
1909 [VCAP_KF_COSID_CLS] = {
1910 .type = VCAP_FIELD_U32,
1914 [VCAP_KF_L3_DPL_CLS] = {
1915 .type = VCAP_FIELD_BIT,
1919 [VCAP_KF_L3_RT_IS] = {
1920 .type = VCAP_FIELD_BIT,
1924 [VCAP_KF_IP4_IS] = {
1925 .type = VCAP_FIELD_BIT,
1929 [VCAP_KF_L3_FRAGMENT_TYPE] = {
1930 .type = VCAP_FIELD_U32,
1934 [VCAP_KF_L3_OPTIONS_IS] = {
1935 .type = VCAP_FIELD_BIT,
1939 [VCAP_KF_L3_TTL_GT0] = {
1940 .type = VCAP_FIELD_BIT,
1944 [VCAP_KF_L3_TOS] = {
1945 .type = VCAP_FIELD_U32,
1949 [VCAP_KF_L3_IP4_DIP] = {
1950 .type = VCAP_FIELD_U32,
1954 [VCAP_KF_L3_IP4_SIP] = {
1955 .type = VCAP_FIELD_U32,
1959 [VCAP_KF_L3_DIP_EQ_SIP_IS] = {
1960 .type = VCAP_FIELD_BIT,
1964 [VCAP_KF_L3_IP_PROTO] = {
1965 .type = VCAP_FIELD_U32,
1969 [VCAP_KF_L3_PAYLOAD] = {
1970 .type = VCAP_FIELD_U112,
1976 static const struct vcap_field es2_ip_7tuple_keyfield[] = {
1977 [VCAP_KF_LOOKUP_FIRST_IS] = {
1978 .type = VCAP_FIELD_BIT,
1982 [VCAP_KF_L2_MC_IS] = {
1983 .type = VCAP_FIELD_BIT,
1987 [VCAP_KF_L2_BC_IS] = {
1988 .type = VCAP_FIELD_BIT,
1992 [VCAP_KF_ISDX_GT0_IS] = {
1993 .type = VCAP_FIELD_BIT,
1997 [VCAP_KF_ISDX_CLS] = {
1998 .type = VCAP_FIELD_U32,
2002 [VCAP_KF_8021Q_VLAN_TAGGED_IS] = {
2003 .type = VCAP_FIELD_BIT,
2007 [VCAP_KF_8021Q_VID_CLS] = {
2008 .type = VCAP_FIELD_U32,
2012 [VCAP_KF_IF_EGR_PORT_MASK_RNG] = {
2013 .type = VCAP_FIELD_U32,
2017 [VCAP_KF_IF_EGR_PORT_MASK] = {
2018 .type = VCAP_FIELD_U32,
2022 [VCAP_KF_IF_IGR_PORT_SEL] = {
2023 .type = VCAP_FIELD_BIT,
2027 [VCAP_KF_IF_IGR_PORT] = {
2028 .type = VCAP_FIELD_U32,
2032 [VCAP_KF_8021Q_PCP_CLS] = {
2033 .type = VCAP_FIELD_U32,
2037 [VCAP_KF_8021Q_DEI_CLS] = {
2038 .type = VCAP_FIELD_BIT,
2042 [VCAP_KF_COSID_CLS] = {
2043 .type = VCAP_FIELD_U32,
2047 [VCAP_KF_L3_DPL_CLS] = {
2048 .type = VCAP_FIELD_BIT,
2052 [VCAP_KF_L3_RT_IS] = {
2053 .type = VCAP_FIELD_BIT,
2057 [VCAP_KF_L2_DMAC] = {
2058 .type = VCAP_FIELD_U48,
2062 [VCAP_KF_L2_SMAC] = {
2063 .type = VCAP_FIELD_U48,
2067 [VCAP_KF_IP4_IS] = {
2068 .type = VCAP_FIELD_BIT,
2072 [VCAP_KF_L3_TTL_GT0] = {
2073 .type = VCAP_FIELD_BIT,
2077 [VCAP_KF_L3_TOS] = {
2078 .type = VCAP_FIELD_U32,
2082 [VCAP_KF_L3_IP6_DIP] = {
2083 .type = VCAP_FIELD_U128,
2087 [VCAP_KF_L3_IP6_SIP] = {
2088 .type = VCAP_FIELD_U128,
2092 [VCAP_KF_L3_DIP_EQ_SIP_IS] = {
2093 .type = VCAP_FIELD_BIT,
2097 [VCAP_KF_TCP_UDP_IS] = {
2098 .type = VCAP_FIELD_BIT,
2102 [VCAP_KF_TCP_IS] = {
2103 .type = VCAP_FIELD_BIT,
2107 [VCAP_KF_L4_DPORT] = {
2108 .type = VCAP_FIELD_U32,
2112 [VCAP_KF_L4_SPORT] = {
2113 .type = VCAP_FIELD_U32,
2117 [VCAP_KF_L4_RNG] = {
2118 .type = VCAP_FIELD_U32,
2122 [VCAP_KF_L4_SPORT_EQ_DPORT_IS] = {
2123 .type = VCAP_FIELD_BIT,
2127 [VCAP_KF_L4_SEQUENCE_EQ0_IS] = {
2128 .type = VCAP_FIELD_BIT,
2132 [VCAP_KF_L4_FIN] = {
2133 .type = VCAP_FIELD_BIT,
2137 [VCAP_KF_L4_SYN] = {
2138 .type = VCAP_FIELD_BIT,
2142 [VCAP_KF_L4_RST] = {
2143 .type = VCAP_FIELD_BIT,
2147 [VCAP_KF_L4_PSH] = {
2148 .type = VCAP_FIELD_BIT,
2152 [VCAP_KF_L4_ACK] = {
2153 .type = VCAP_FIELD_BIT,
2157 [VCAP_KF_L4_URG] = {
2158 .type = VCAP_FIELD_BIT,
2162 [VCAP_KF_L4_PAYLOAD] = {
2163 .type = VCAP_FIELD_U64,
2169 static const struct vcap_field es2_ip6_std_keyfield[] = {
2171 .type = VCAP_FIELD_U32,
2175 [VCAP_KF_LOOKUP_FIRST_IS] = {
2176 .type = VCAP_FIELD_BIT,
2180 [VCAP_KF_L2_MC_IS] = {
2181 .type = VCAP_FIELD_BIT,
2185 [VCAP_KF_L2_BC_IS] = {
2186 .type = VCAP_FIELD_BIT,
2190 [VCAP_KF_ISDX_GT0_IS] = {
2191 .type = VCAP_FIELD_BIT,
2195 [VCAP_KF_ISDX_CLS] = {
2196 .type = VCAP_FIELD_U32,
2200 [VCAP_KF_8021Q_VLAN_TAGGED_IS] = {
2201 .type = VCAP_FIELD_BIT,
2205 [VCAP_KF_8021Q_VID_CLS] = {
2206 .type = VCAP_FIELD_U32,
2210 [VCAP_KF_IF_EGR_PORT_MASK_RNG] = {
2211 .type = VCAP_FIELD_U32,
2215 [VCAP_KF_IF_EGR_PORT_MASK] = {
2216 .type = VCAP_FIELD_U32,
2220 [VCAP_KF_IF_IGR_PORT_SEL] = {
2221 .type = VCAP_FIELD_BIT,
2225 [VCAP_KF_IF_IGR_PORT] = {
2226 .type = VCAP_FIELD_U32,
2230 [VCAP_KF_8021Q_PCP_CLS] = {
2231 .type = VCAP_FIELD_U32,
2235 [VCAP_KF_8021Q_DEI_CLS] = {
2236 .type = VCAP_FIELD_BIT,
2240 [VCAP_KF_COSID_CLS] = {
2241 .type = VCAP_FIELD_U32,
2245 [VCAP_KF_L3_DPL_CLS] = {
2246 .type = VCAP_FIELD_BIT,
2250 [VCAP_KF_L3_RT_IS] = {
2251 .type = VCAP_FIELD_BIT,
2255 [VCAP_KF_L3_TTL_GT0] = {
2256 .type = VCAP_FIELD_BIT,
2260 [VCAP_KF_L3_IP6_SIP] = {
2261 .type = VCAP_FIELD_U128,
2265 [VCAP_KF_L3_DIP_EQ_SIP_IS] = {
2266 .type = VCAP_FIELD_BIT,
2270 [VCAP_KF_L3_IP_PROTO] = {
2271 .type = VCAP_FIELD_U32,
2275 [VCAP_KF_L4_RNG] = {
2276 .type = VCAP_FIELD_U32,
2280 [VCAP_KF_L3_PAYLOAD] = {
2281 .type = VCAP_FIELD_U48,
2288 static const struct vcap_set is0_keyfield_set[] = {
2289 [VCAP_KFS_NORMAL_7TUPLE] = {
2294 [VCAP_KFS_NORMAL_5TUPLE_IP4] = {
2301 static const struct vcap_set is2_keyfield_set[] = {
2302 [VCAP_KFS_MAC_ETYPE] = {
2312 [VCAP_KFS_IP4_TCP_UDP] = {
2317 [VCAP_KFS_IP4_OTHER] = {
2322 [VCAP_KFS_IP6_STD] = {
2327 [VCAP_KFS_IP_7TUPLE] = {
2334 static const struct vcap_set es0_keyfield_set[] = {
2342 static const struct vcap_set es2_keyfield_set[] = {
2343 [VCAP_KFS_MAC_ETYPE] = {
2353 [VCAP_KFS_IP4_TCP_UDP] = {
2358 [VCAP_KFS_IP4_OTHER] = {
2363 [VCAP_KFS_IP_7TUPLE] = {
2368 [VCAP_KFS_IP6_STD] = {
2375 /* keyfield_set map */
2376 static const struct vcap_field *is0_keyfield_set_map[] = {
2377 [VCAP_KFS_NORMAL_7TUPLE] = is0_normal_7tuple_keyfield,
2378 [VCAP_KFS_NORMAL_5TUPLE_IP4] = is0_normal_5tuple_ip4_keyfield,
2381 static const struct vcap_field *is2_keyfield_set_map[] = {
2382 [VCAP_KFS_MAC_ETYPE] = is2_mac_etype_keyfield,
2383 [VCAP_KFS_ARP] = is2_arp_keyfield,
2384 [VCAP_KFS_IP4_TCP_UDP] = is2_ip4_tcp_udp_keyfield,
2385 [VCAP_KFS_IP4_OTHER] = is2_ip4_other_keyfield,
2386 [VCAP_KFS_IP6_STD] = is2_ip6_std_keyfield,
2387 [VCAP_KFS_IP_7TUPLE] = is2_ip_7tuple_keyfield,
2390 static const struct vcap_field *es0_keyfield_set_map[] = {
2391 [VCAP_KFS_ISDX] = es0_isdx_keyfield,
2394 static const struct vcap_field *es2_keyfield_set_map[] = {
2395 [VCAP_KFS_MAC_ETYPE] = es2_mac_etype_keyfield,
2396 [VCAP_KFS_ARP] = es2_arp_keyfield,
2397 [VCAP_KFS_IP4_TCP_UDP] = es2_ip4_tcp_udp_keyfield,
2398 [VCAP_KFS_IP4_OTHER] = es2_ip4_other_keyfield,
2399 [VCAP_KFS_IP_7TUPLE] = es2_ip_7tuple_keyfield,
2400 [VCAP_KFS_IP6_STD] = es2_ip6_std_keyfield,
2403 /* keyfield_set map sizes */
2404 static int is0_keyfield_set_map_size[] = {
2405 [VCAP_KFS_NORMAL_7TUPLE] = ARRAY_SIZE(is0_normal_7tuple_keyfield),
2406 [VCAP_KFS_NORMAL_5TUPLE_IP4] = ARRAY_SIZE(is0_normal_5tuple_ip4_keyfield),
2409 static int is2_keyfield_set_map_size[] = {
2410 [VCAP_KFS_MAC_ETYPE] = ARRAY_SIZE(is2_mac_etype_keyfield),
2411 [VCAP_KFS_ARP] = ARRAY_SIZE(is2_arp_keyfield),
2412 [VCAP_KFS_IP4_TCP_UDP] = ARRAY_SIZE(is2_ip4_tcp_udp_keyfield),
2413 [VCAP_KFS_IP4_OTHER] = ARRAY_SIZE(is2_ip4_other_keyfield),
2414 [VCAP_KFS_IP6_STD] = ARRAY_SIZE(is2_ip6_std_keyfield),
2415 [VCAP_KFS_IP_7TUPLE] = ARRAY_SIZE(is2_ip_7tuple_keyfield),
2418 static int es0_keyfield_set_map_size[] = {
2419 [VCAP_KFS_ISDX] = ARRAY_SIZE(es0_isdx_keyfield),
2422 static int es2_keyfield_set_map_size[] = {
2423 [VCAP_KFS_MAC_ETYPE] = ARRAY_SIZE(es2_mac_etype_keyfield),
2424 [VCAP_KFS_ARP] = ARRAY_SIZE(es2_arp_keyfield),
2425 [VCAP_KFS_IP4_TCP_UDP] = ARRAY_SIZE(es2_ip4_tcp_udp_keyfield),
2426 [VCAP_KFS_IP4_OTHER] = ARRAY_SIZE(es2_ip4_other_keyfield),
2427 [VCAP_KFS_IP_7TUPLE] = ARRAY_SIZE(es2_ip_7tuple_keyfield),
2428 [VCAP_KFS_IP6_STD] = ARRAY_SIZE(es2_ip6_std_keyfield),
2432 static const struct vcap_field is0_classification_actionfield[] = {
2434 .type = VCAP_FIELD_BIT,
2438 [VCAP_AF_DSCP_ENA] = {
2439 .type = VCAP_FIELD_BIT,
2443 [VCAP_AF_DSCP_VAL] = {
2444 .type = VCAP_FIELD_U32,
2448 [VCAP_AF_QOS_ENA] = {
2449 .type = VCAP_FIELD_BIT,
2453 [VCAP_AF_QOS_VAL] = {
2454 .type = VCAP_FIELD_U32,
2458 [VCAP_AF_DP_ENA] = {
2459 .type = VCAP_FIELD_BIT,
2463 [VCAP_AF_DP_VAL] = {
2464 .type = VCAP_FIELD_U32,
2468 [VCAP_AF_DEI_ENA] = {
2469 .type = VCAP_FIELD_BIT,
2473 [VCAP_AF_DEI_VAL] = {
2474 .type = VCAP_FIELD_BIT,
2478 [VCAP_AF_PCP_ENA] = {
2479 .type = VCAP_FIELD_BIT,
2483 [VCAP_AF_PCP_VAL] = {
2484 .type = VCAP_FIELD_U32,
2488 [VCAP_AF_MAP_LOOKUP_SEL] = {
2489 .type = VCAP_FIELD_U32,
2493 [VCAP_AF_MAP_KEY] = {
2494 .type = VCAP_FIELD_U32,
2498 [VCAP_AF_MAP_IDX] = {
2499 .type = VCAP_FIELD_U32,
2503 [VCAP_AF_CLS_VID_SEL] = {
2504 .type = VCAP_FIELD_U32,
2508 [VCAP_AF_VID_VAL] = {
2509 .type = VCAP_FIELD_U32,
2513 [VCAP_AF_ISDX_ADD_REPLACE_SEL] = {
2514 .type = VCAP_FIELD_BIT,
2518 [VCAP_AF_ISDX_VAL] = {
2519 .type = VCAP_FIELD_U32,
2523 [VCAP_AF_PAG_OVERRIDE_MASK] = {
2524 .type = VCAP_FIELD_U32,
2528 [VCAP_AF_PAG_VAL] = {
2529 .type = VCAP_FIELD_U32,
2533 [VCAP_AF_NXT_IDX_CTRL] = {
2534 .type = VCAP_FIELD_U32,
2538 [VCAP_AF_NXT_IDX] = {
2539 .type = VCAP_FIELD_U32,
2545 static const struct vcap_field is0_full_actionfield[] = {
2546 [VCAP_AF_DSCP_ENA] = {
2547 .type = VCAP_FIELD_BIT,
2551 [VCAP_AF_DSCP_VAL] = {
2552 .type = VCAP_FIELD_U32,
2556 [VCAP_AF_QOS_ENA] = {
2557 .type = VCAP_FIELD_BIT,
2561 [VCAP_AF_QOS_VAL] = {
2562 .type = VCAP_FIELD_U32,
2566 [VCAP_AF_DP_ENA] = {
2567 .type = VCAP_FIELD_BIT,
2571 [VCAP_AF_DP_VAL] = {
2572 .type = VCAP_FIELD_U32,
2576 [VCAP_AF_DEI_ENA] = {
2577 .type = VCAP_FIELD_BIT,
2581 [VCAP_AF_DEI_VAL] = {
2582 .type = VCAP_FIELD_BIT,
2586 [VCAP_AF_PCP_ENA] = {
2587 .type = VCAP_FIELD_BIT,
2591 [VCAP_AF_PCP_VAL] = {
2592 .type = VCAP_FIELD_U32,
2596 [VCAP_AF_MAP_LOOKUP_SEL] = {
2597 .type = VCAP_FIELD_U32,
2601 [VCAP_AF_MAP_KEY] = {
2602 .type = VCAP_FIELD_U32,
2606 [VCAP_AF_MAP_IDX] = {
2607 .type = VCAP_FIELD_U32,
2611 [VCAP_AF_CLS_VID_SEL] = {
2612 .type = VCAP_FIELD_U32,
2616 [VCAP_AF_VID_VAL] = {
2617 .type = VCAP_FIELD_U32,
2621 [VCAP_AF_ISDX_ADD_REPLACE_SEL] = {
2622 .type = VCAP_FIELD_BIT,
2626 [VCAP_AF_ISDX_VAL] = {
2627 .type = VCAP_FIELD_U32,
2631 [VCAP_AF_MASK_MODE] = {
2632 .type = VCAP_FIELD_U32,
2636 [VCAP_AF_PORT_MASK] = {
2637 .type = VCAP_FIELD_U72,
2641 [VCAP_AF_PAG_OVERRIDE_MASK] = {
2642 .type = VCAP_FIELD_U32,
2646 [VCAP_AF_PAG_VAL] = {
2647 .type = VCAP_FIELD_U32,
2651 [VCAP_AF_NXT_IDX_CTRL] = {
2652 .type = VCAP_FIELD_U32,
2656 [VCAP_AF_NXT_IDX] = {
2657 .type = VCAP_FIELD_U32,
2663 static const struct vcap_field is0_class_reduced_actionfield[] = {
2665 .type = VCAP_FIELD_BIT,
2669 [VCAP_AF_QOS_ENA] = {
2670 .type = VCAP_FIELD_BIT,
2674 [VCAP_AF_QOS_VAL] = {
2675 .type = VCAP_FIELD_U32,
2679 [VCAP_AF_DP_ENA] = {
2680 .type = VCAP_FIELD_BIT,
2684 [VCAP_AF_DP_VAL] = {
2685 .type = VCAP_FIELD_U32,
2689 [VCAP_AF_MAP_LOOKUP_SEL] = {
2690 .type = VCAP_FIELD_U32,
2694 [VCAP_AF_MAP_KEY] = {
2695 .type = VCAP_FIELD_U32,
2699 [VCAP_AF_CLS_VID_SEL] = {
2700 .type = VCAP_FIELD_U32,
2704 [VCAP_AF_VID_VAL] = {
2705 .type = VCAP_FIELD_U32,
2709 [VCAP_AF_ISDX_ADD_REPLACE_SEL] = {
2710 .type = VCAP_FIELD_BIT,
2714 [VCAP_AF_ISDX_VAL] = {
2715 .type = VCAP_FIELD_U32,
2719 [VCAP_AF_NXT_IDX_CTRL] = {
2720 .type = VCAP_FIELD_U32,
2724 [VCAP_AF_NXT_IDX] = {
2725 .type = VCAP_FIELD_U32,
2731 static const struct vcap_field is2_base_type_actionfield[] = {
2732 [VCAP_AF_PIPELINE_FORCE_ENA] = {
2733 .type = VCAP_FIELD_BIT,
2737 [VCAP_AF_PIPELINE_PT] = {
2738 .type = VCAP_FIELD_U32,
2742 [VCAP_AF_HIT_ME_ONCE] = {
2743 .type = VCAP_FIELD_BIT,
2747 [VCAP_AF_INTR_ENA] = {
2748 .type = VCAP_FIELD_BIT,
2752 [VCAP_AF_CPU_COPY_ENA] = {
2753 .type = VCAP_FIELD_BIT,
2757 [VCAP_AF_CPU_QUEUE_NUM] = {
2758 .type = VCAP_FIELD_U32,
2762 [VCAP_AF_LRN_DIS] = {
2763 .type = VCAP_FIELD_BIT,
2767 [VCAP_AF_RT_DIS] = {
2768 .type = VCAP_FIELD_BIT,
2772 [VCAP_AF_POLICE_ENA] = {
2773 .type = VCAP_FIELD_BIT,
2777 [VCAP_AF_POLICE_IDX] = {
2778 .type = VCAP_FIELD_U32,
2782 [VCAP_AF_IGNORE_PIPELINE_CTRL] = {
2783 .type = VCAP_FIELD_BIT,
2787 [VCAP_AF_MASK_MODE] = {
2788 .type = VCAP_FIELD_U32,
2792 [VCAP_AF_PORT_MASK] = {
2793 .type = VCAP_FIELD_U72,
2797 [VCAP_AF_MIRROR_PROBE] = {
2798 .type = VCAP_FIELD_U32,
2802 [VCAP_AF_MATCH_ID] = {
2803 .type = VCAP_FIELD_U32,
2807 [VCAP_AF_MATCH_ID_MASK] = {
2808 .type = VCAP_FIELD_U32,
2812 [VCAP_AF_CNT_ID] = {
2813 .type = VCAP_FIELD_U32,
2819 static const struct vcap_field es0_es0_actionfield[] = {
2820 [VCAP_AF_PUSH_OUTER_TAG] = {
2821 .type = VCAP_FIELD_U32,
2825 [VCAP_AF_PUSH_INNER_TAG] = {
2826 .type = VCAP_FIELD_BIT,
2830 [VCAP_AF_TAG_A_TPID_SEL] = {
2831 .type = VCAP_FIELD_U32,
2835 [VCAP_AF_TAG_A_VID_SEL] = {
2836 .type = VCAP_FIELD_U32,
2840 [VCAP_AF_TAG_A_PCP_SEL] = {
2841 .type = VCAP_FIELD_U32,
2845 [VCAP_AF_TAG_A_DEI_SEL] = {
2846 .type = VCAP_FIELD_U32,
2850 [VCAP_AF_TAG_B_TPID_SEL] = {
2851 .type = VCAP_FIELD_U32,
2855 [VCAP_AF_TAG_B_VID_SEL] = {
2856 .type = VCAP_FIELD_U32,
2860 [VCAP_AF_TAG_B_PCP_SEL] = {
2861 .type = VCAP_FIELD_U32,
2865 [VCAP_AF_TAG_B_DEI_SEL] = {
2866 .type = VCAP_FIELD_U32,
2870 [VCAP_AF_TAG_C_TPID_SEL] = {
2871 .type = VCAP_FIELD_U32,
2875 [VCAP_AF_TAG_C_PCP_SEL] = {
2876 .type = VCAP_FIELD_U32,
2880 [VCAP_AF_TAG_C_DEI_SEL] = {
2881 .type = VCAP_FIELD_U32,
2885 [VCAP_AF_VID_A_VAL] = {
2886 .type = VCAP_FIELD_U32,
2890 [VCAP_AF_PCP_A_VAL] = {
2891 .type = VCAP_FIELD_U32,
2895 [VCAP_AF_DEI_A_VAL] = {
2896 .type = VCAP_FIELD_BIT,
2900 [VCAP_AF_VID_B_VAL] = {
2901 .type = VCAP_FIELD_U32,
2905 [VCAP_AF_PCP_B_VAL] = {
2906 .type = VCAP_FIELD_U32,
2910 [VCAP_AF_DEI_B_VAL] = {
2911 .type = VCAP_FIELD_BIT,
2915 [VCAP_AF_VID_C_VAL] = {
2916 .type = VCAP_FIELD_U32,
2920 [VCAP_AF_PCP_C_VAL] = {
2921 .type = VCAP_FIELD_U32,
2925 [VCAP_AF_DEI_C_VAL] = {
2926 .type = VCAP_FIELD_BIT,
2930 [VCAP_AF_POP_VAL] = {
2931 .type = VCAP_FIELD_U32,
2935 [VCAP_AF_UNTAG_VID_ENA] = {
2936 .type = VCAP_FIELD_BIT,
2940 [VCAP_AF_PUSH_CUSTOMER_TAG] = {
2941 .type = VCAP_FIELD_U32,
2945 [VCAP_AF_TAG_C_VID_SEL] = {
2946 .type = VCAP_FIELD_U32,
2950 [VCAP_AF_DSCP_SEL] = {
2951 .type = VCAP_FIELD_U32,
2955 [VCAP_AF_DSCP_VAL] = {
2956 .type = VCAP_FIELD_U32,
2961 .type = VCAP_FIELD_U32,
2965 [VCAP_AF_FWD_SEL] = {
2966 .type = VCAP_FIELD_U32,
2970 [VCAP_AF_CPU_QU] = {
2971 .type = VCAP_FIELD_U32,
2975 [VCAP_AF_PIPELINE_PT] = {
2976 .type = VCAP_FIELD_U32,
2980 [VCAP_AF_PIPELINE_ACT] = {
2981 .type = VCAP_FIELD_BIT,
2985 [VCAP_AF_SWAP_MACS_ENA] = {
2986 .type = VCAP_FIELD_BIT,
2990 [VCAP_AF_LOOP_ENA] = {
2991 .type = VCAP_FIELD_BIT,
2997 static const struct vcap_field es2_base_type_actionfield[] = {
2998 [VCAP_AF_HIT_ME_ONCE] = {
2999 .type = VCAP_FIELD_BIT,
3003 [VCAP_AF_INTR_ENA] = {
3004 .type = VCAP_FIELD_BIT,
3008 [VCAP_AF_FWD_MODE] = {
3009 .type = VCAP_FIELD_U32,
3013 [VCAP_AF_COPY_QUEUE_NUM] = {
3014 .type = VCAP_FIELD_U32,
3018 [VCAP_AF_COPY_PORT_NUM] = {
3019 .type = VCAP_FIELD_U32,
3023 [VCAP_AF_MIRROR_PROBE_ID] = {
3024 .type = VCAP_FIELD_U32,
3028 [VCAP_AF_CPU_COPY_ENA] = {
3029 .type = VCAP_FIELD_BIT,
3033 [VCAP_AF_CPU_QUEUE_NUM] = {
3034 .type = VCAP_FIELD_U32,
3038 [VCAP_AF_POLICE_ENA] = {
3039 .type = VCAP_FIELD_BIT,
3043 [VCAP_AF_POLICE_REMARK] = {
3044 .type = VCAP_FIELD_BIT,
3048 [VCAP_AF_POLICE_IDX] = {
3049 .type = VCAP_FIELD_U32,
3053 [VCAP_AF_ES2_REW_CMD] = {
3054 .type = VCAP_FIELD_U32,
3058 [VCAP_AF_CNT_ID] = {
3059 .type = VCAP_FIELD_U32,
3063 [VCAP_AF_IGNORE_PIPELINE_CTRL] = {
3064 .type = VCAP_FIELD_BIT,
3070 /* actionfield_set */
3071 static const struct vcap_set is0_actionfield_set[] = {
3072 [VCAP_AFS_CLASSIFICATION] = {
3082 [VCAP_AFS_CLASS_REDUCED] = {
3089 static const struct vcap_set is2_actionfield_set[] = {
3090 [VCAP_AFS_BASE_TYPE] = {
3097 static const struct vcap_set es0_actionfield_set[] = {
3105 static const struct vcap_set es2_actionfield_set[] = {
3106 [VCAP_AFS_BASE_TYPE] = {
3113 /* actionfield_set map */
3114 static const struct vcap_field *is0_actionfield_set_map[] = {
3115 [VCAP_AFS_CLASSIFICATION] = is0_classification_actionfield,
3116 [VCAP_AFS_FULL] = is0_full_actionfield,
3117 [VCAP_AFS_CLASS_REDUCED] = is0_class_reduced_actionfield,
3120 static const struct vcap_field *is2_actionfield_set_map[] = {
3121 [VCAP_AFS_BASE_TYPE] = is2_base_type_actionfield,
3124 static const struct vcap_field *es0_actionfield_set_map[] = {
3125 [VCAP_AFS_ES0] = es0_es0_actionfield,
3128 static const struct vcap_field *es2_actionfield_set_map[] = {
3129 [VCAP_AFS_BASE_TYPE] = es2_base_type_actionfield,
3132 /* actionfield_set map size */
3133 static int is0_actionfield_set_map_size[] = {
3134 [VCAP_AFS_CLASSIFICATION] = ARRAY_SIZE(is0_classification_actionfield),
3135 [VCAP_AFS_FULL] = ARRAY_SIZE(is0_full_actionfield),
3136 [VCAP_AFS_CLASS_REDUCED] = ARRAY_SIZE(is0_class_reduced_actionfield),
3139 static int is2_actionfield_set_map_size[] = {
3140 [VCAP_AFS_BASE_TYPE] = ARRAY_SIZE(is2_base_type_actionfield),
3143 static int es0_actionfield_set_map_size[] = {
3144 [VCAP_AFS_ES0] = ARRAY_SIZE(es0_es0_actionfield),
3147 static int es2_actionfield_set_map_size[] = {
3148 [VCAP_AFS_BASE_TYPE] = ARRAY_SIZE(es2_base_type_actionfield),
3152 static const struct vcap_typegroup is0_x12_keyfield_set_typegroups[] = {
3216 static const struct vcap_typegroup is0_x6_keyfield_set_typegroups[] = {
3250 static const struct vcap_typegroup is0_x3_keyfield_set_typegroups[] = {
3269 static const struct vcap_typegroup is0_x2_keyfield_set_typegroups[] = {
3283 static const struct vcap_typegroup is0_x1_keyfield_set_typegroups[] = {
3287 static const struct vcap_typegroup is2_x12_keyfield_set_typegroups[] = {
3311 static const struct vcap_typegroup is2_x6_keyfield_set_typegroups[] = {
3325 static const struct vcap_typegroup is2_x3_keyfield_set_typegroups[] = {
3329 static const struct vcap_typegroup is2_x1_keyfield_set_typegroups[] = {
3333 static const struct vcap_typegroup es0_x1_keyfield_set_typegroups[] = {
3337 static const struct vcap_typegroup es2_x12_keyfield_set_typegroups[] = {
3361 static const struct vcap_typegroup es2_x6_keyfield_set_typegroups[] = {
3375 static const struct vcap_typegroup es2_x3_keyfield_set_typegroups[] = {
3384 static const struct vcap_typegroup es2_x1_keyfield_set_typegroups[] = {
3388 static const struct vcap_typegroup *is0_keyfield_set_typegroups[] = {
3389 [12] = is0_x12_keyfield_set_typegroups,
3390 [6] = is0_x6_keyfield_set_typegroups,
3391 [3] = is0_x3_keyfield_set_typegroups,
3392 [2] = is0_x2_keyfield_set_typegroups,
3393 [1] = is0_x1_keyfield_set_typegroups,
3397 static const struct vcap_typegroup *is2_keyfield_set_typegroups[] = {
3398 [12] = is2_x12_keyfield_set_typegroups,
3399 [6] = is2_x6_keyfield_set_typegroups,
3400 [3] = is2_x3_keyfield_set_typegroups,
3401 [1] = is2_x1_keyfield_set_typegroups,
3405 static const struct vcap_typegroup *es0_keyfield_set_typegroups[] = {
3406 [1] = es0_x1_keyfield_set_typegroups,
3410 static const struct vcap_typegroup *es2_keyfield_set_typegroups[] = {
3411 [12] = es2_x12_keyfield_set_typegroups,
3412 [6] = es2_x6_keyfield_set_typegroups,
3413 [3] = es2_x3_keyfield_set_typegroups,
3414 [1] = es2_x1_keyfield_set_typegroups,
3418 static const struct vcap_typegroup is0_x3_actionfield_set_typegroups[] = {
3437 static const struct vcap_typegroup is0_x2_actionfield_set_typegroups[] = {
3451 static const struct vcap_typegroup is0_x1_actionfield_set_typegroups[] = {
3460 static const struct vcap_typegroup is2_x3_actionfield_set_typegroups[] = {
3479 static const struct vcap_typegroup is2_x1_actionfield_set_typegroups[] = {
3483 static const struct vcap_typegroup es0_x1_actionfield_set_typegroups[] = {
3487 static const struct vcap_typegroup es2_x3_actionfield_set_typegroups[] = {
3506 static const struct vcap_typegroup es2_x1_actionfield_set_typegroups[] = {
3510 static const struct vcap_typegroup *is0_actionfield_set_typegroups[] = {
3511 [3] = is0_x3_actionfield_set_typegroups,
3512 [2] = is0_x2_actionfield_set_typegroups,
3513 [1] = is0_x1_actionfield_set_typegroups,
3517 static const struct vcap_typegroup *is2_actionfield_set_typegroups[] = {
3518 [3] = is2_x3_actionfield_set_typegroups,
3519 [1] = is2_x1_actionfield_set_typegroups,
3523 static const struct vcap_typegroup *es0_actionfield_set_typegroups[] = {
3524 [1] = es0_x1_actionfield_set_typegroups,
3528 static const struct vcap_typegroup *es2_actionfield_set_typegroups[] = {
3529 [3] = es2_x3_actionfield_set_typegroups,
3530 [1] = es2_x1_actionfield_set_typegroups,
3534 /* Keyfieldset names */
3535 static const char * const vcap_keyfield_set_names[] = {
3536 [VCAP_KFS_NO_VALUE] = "(None)",
3537 [VCAP_KFS_ARP] = "VCAP_KFS_ARP",
3538 [VCAP_KFS_ETAG] = "VCAP_KFS_ETAG",
3539 [VCAP_KFS_IP4_OTHER] = "VCAP_KFS_IP4_OTHER",
3540 [VCAP_KFS_IP4_TCP_UDP] = "VCAP_KFS_IP4_TCP_UDP",
3541 [VCAP_KFS_IP4_VID] = "VCAP_KFS_IP4_VID",
3542 [VCAP_KFS_IP6_OTHER] = "VCAP_KFS_IP6_OTHER",
3543 [VCAP_KFS_IP6_STD] = "VCAP_KFS_IP6_STD",
3544 [VCAP_KFS_IP6_TCP_UDP] = "VCAP_KFS_IP6_TCP_UDP",
3545 [VCAP_KFS_IP6_VID] = "VCAP_KFS_IP6_VID",
3546 [VCAP_KFS_IP_7TUPLE] = "VCAP_KFS_IP_7TUPLE",
3547 [VCAP_KFS_ISDX] = "VCAP_KFS_ISDX",
3548 [VCAP_KFS_LL_FULL] = "VCAP_KFS_LL_FULL",
3549 [VCAP_KFS_MAC_ETYPE] = "VCAP_KFS_MAC_ETYPE",
3550 [VCAP_KFS_MAC_LLC] = "VCAP_KFS_MAC_LLC",
3551 [VCAP_KFS_MAC_SNAP] = "VCAP_KFS_MAC_SNAP",
3552 [VCAP_KFS_NORMAL_5TUPLE_IP4] = "VCAP_KFS_NORMAL_5TUPLE_IP4",
3553 [VCAP_KFS_NORMAL_7TUPLE] = "VCAP_KFS_NORMAL_7TUPLE",
3554 [VCAP_KFS_OAM] = "VCAP_KFS_OAM",
3555 [VCAP_KFS_PURE_5TUPLE_IP4] = "VCAP_KFS_PURE_5TUPLE_IP4",
3556 [VCAP_KFS_SMAC_SIP4] = "VCAP_KFS_SMAC_SIP4",
3557 [VCAP_KFS_SMAC_SIP6] = "VCAP_KFS_SMAC_SIP6",
3560 /* Actionfieldset names */
3561 static const char * const vcap_actionfield_set_names[] = {
3562 [VCAP_AFS_NO_VALUE] = "(None)",
3563 [VCAP_AFS_BASE_TYPE] = "VCAP_AFS_BASE_TYPE",
3564 [VCAP_AFS_CLASSIFICATION] = "VCAP_AFS_CLASSIFICATION",
3565 [VCAP_AFS_CLASS_REDUCED] = "VCAP_AFS_CLASS_REDUCED",
3566 [VCAP_AFS_ES0] = "VCAP_AFS_ES0",
3567 [VCAP_AFS_FULL] = "VCAP_AFS_FULL",
3568 [VCAP_AFS_SMAC_SIP] = "VCAP_AFS_SMAC_SIP",
3571 /* Keyfield names */
3572 static const char * const vcap_keyfield_names[] = {
3573 [VCAP_KF_NO_VALUE] = "(None)",
3574 [VCAP_KF_8021BR_ECID_BASE] = "8021BR_ECID_BASE",
3575 [VCAP_KF_8021BR_ECID_EXT] = "8021BR_ECID_EXT",
3576 [VCAP_KF_8021BR_E_TAGGED] = "8021BR_E_TAGGED",
3577 [VCAP_KF_8021BR_GRP] = "8021BR_GRP",
3578 [VCAP_KF_8021BR_IGR_ECID_BASE] = "8021BR_IGR_ECID_BASE",
3579 [VCAP_KF_8021BR_IGR_ECID_EXT] = "8021BR_IGR_ECID_EXT",
3580 [VCAP_KF_8021Q_DEI0] = "8021Q_DEI0",
3581 [VCAP_KF_8021Q_DEI1] = "8021Q_DEI1",
3582 [VCAP_KF_8021Q_DEI2] = "8021Q_DEI2",
3583 [VCAP_KF_8021Q_DEI_CLS] = "8021Q_DEI_CLS",
3584 [VCAP_KF_8021Q_PCP0] = "8021Q_PCP0",
3585 [VCAP_KF_8021Q_PCP1] = "8021Q_PCP1",
3586 [VCAP_KF_8021Q_PCP2] = "8021Q_PCP2",
3587 [VCAP_KF_8021Q_PCP_CLS] = "8021Q_PCP_CLS",
3588 [VCAP_KF_8021Q_TPID] = "8021Q_TPID",
3589 [VCAP_KF_8021Q_TPID0] = "8021Q_TPID0",
3590 [VCAP_KF_8021Q_TPID1] = "8021Q_TPID1",
3591 [VCAP_KF_8021Q_TPID2] = "8021Q_TPID2",
3592 [VCAP_KF_8021Q_VID0] = "8021Q_VID0",
3593 [VCAP_KF_8021Q_VID1] = "8021Q_VID1",
3594 [VCAP_KF_8021Q_VID2] = "8021Q_VID2",
3595 [VCAP_KF_8021Q_VID_CLS] = "8021Q_VID_CLS",
3596 [VCAP_KF_8021Q_VLAN_TAGGED_IS] = "8021Q_VLAN_TAGGED_IS",
3597 [VCAP_KF_8021Q_VLAN_TAGS] = "8021Q_VLAN_TAGS",
3598 [VCAP_KF_ACL_GRP_ID] = "ACL_GRP_ID",
3599 [VCAP_KF_ARP_ADDR_SPACE_OK_IS] = "ARP_ADDR_SPACE_OK_IS",
3600 [VCAP_KF_ARP_LEN_OK_IS] = "ARP_LEN_OK_IS",
3601 [VCAP_KF_ARP_OPCODE] = "ARP_OPCODE",
3602 [VCAP_KF_ARP_OPCODE_UNKNOWN_IS] = "ARP_OPCODE_UNKNOWN_IS",
3603 [VCAP_KF_ARP_PROTO_SPACE_OK_IS] = "ARP_PROTO_SPACE_OK_IS",
3604 [VCAP_KF_ARP_SENDER_MATCH_IS] = "ARP_SENDER_MATCH_IS",
3605 [VCAP_KF_ARP_TGT_MATCH_IS] = "ARP_TGT_MATCH_IS",
3606 [VCAP_KF_COSID_CLS] = "COSID_CLS",
3607 [VCAP_KF_ES0_ISDX_KEY_ENA] = "ES0_ISDX_KEY_ENA",
3608 [VCAP_KF_ETYPE] = "ETYPE",
3609 [VCAP_KF_ETYPE_LEN_IS] = "ETYPE_LEN_IS",
3610 [VCAP_KF_HOST_MATCH] = "HOST_MATCH",
3611 [VCAP_KF_IF_EGR_PORT_MASK] = "IF_EGR_PORT_MASK",
3612 [VCAP_KF_IF_EGR_PORT_MASK_RNG] = "IF_EGR_PORT_MASK_RNG",
3613 [VCAP_KF_IF_EGR_PORT_NO] = "IF_EGR_PORT_NO",
3614 [VCAP_KF_IF_IGR_PORT] = "IF_IGR_PORT",
3615 [VCAP_KF_IF_IGR_PORT_MASK] = "IF_IGR_PORT_MASK",
3616 [VCAP_KF_IF_IGR_PORT_MASK_L3] = "IF_IGR_PORT_MASK_L3",
3617 [VCAP_KF_IF_IGR_PORT_MASK_RNG] = "IF_IGR_PORT_MASK_RNG",
3618 [VCAP_KF_IF_IGR_PORT_MASK_SEL] = "IF_IGR_PORT_MASK_SEL",
3619 [VCAP_KF_IF_IGR_PORT_SEL] = "IF_IGR_PORT_SEL",
3620 [VCAP_KF_IP4_IS] = "IP4_IS",
3621 [VCAP_KF_IP_MC_IS] = "IP_MC_IS",
3622 [VCAP_KF_IP_PAYLOAD_5TUPLE] = "IP_PAYLOAD_5TUPLE",
3623 [VCAP_KF_IP_SNAP_IS] = "IP_SNAP_IS",
3624 [VCAP_KF_ISDX_CLS] = "ISDX_CLS",
3625 [VCAP_KF_ISDX_GT0_IS] = "ISDX_GT0_IS",
3626 [VCAP_KF_L2_BC_IS] = "L2_BC_IS",
3627 [VCAP_KF_L2_DMAC] = "L2_DMAC",
3628 [VCAP_KF_L2_FRM_TYPE] = "L2_FRM_TYPE",
3629 [VCAP_KF_L2_FWD_IS] = "L2_FWD_IS",
3630 [VCAP_KF_L2_LLC] = "L2_LLC",
3631 [VCAP_KF_L2_MC_IS] = "L2_MC_IS",
3632 [VCAP_KF_L2_PAYLOAD0] = "L2_PAYLOAD0",
3633 [VCAP_KF_L2_PAYLOAD1] = "L2_PAYLOAD1",
3634 [VCAP_KF_L2_PAYLOAD2] = "L2_PAYLOAD2",
3635 [VCAP_KF_L2_PAYLOAD_ETYPE] = "L2_PAYLOAD_ETYPE",
3636 [VCAP_KF_L2_SMAC] = "L2_SMAC",
3637 [VCAP_KF_L2_SNAP] = "L2_SNAP",
3638 [VCAP_KF_L3_DIP_EQ_SIP_IS] = "L3_DIP_EQ_SIP_IS",
3639 [VCAP_KF_L3_DPL_CLS] = "L3_DPL_CLS",
3640 [VCAP_KF_L3_DSCP] = "L3_DSCP",
3641 [VCAP_KF_L3_DST_IS] = "L3_DST_IS",
3642 [VCAP_KF_L3_FRAGMENT] = "L3_FRAGMENT",
3643 [VCAP_KF_L3_FRAGMENT_TYPE] = "L3_FRAGMENT_TYPE",
3644 [VCAP_KF_L3_FRAG_INVLD_L4_LEN] = "L3_FRAG_INVLD_L4_LEN",
3645 [VCAP_KF_L3_FRAG_OFS_GT0] = "L3_FRAG_OFS_GT0",
3646 [VCAP_KF_L3_IP4_DIP] = "L3_IP4_DIP",
3647 [VCAP_KF_L3_IP4_SIP] = "L3_IP4_SIP",
3648 [VCAP_KF_L3_IP6_DIP] = "L3_IP6_DIP",
3649 [VCAP_KF_L3_IP6_SIP] = "L3_IP6_SIP",
3650 [VCAP_KF_L3_IP_PROTO] = "L3_IP_PROTO",
3651 [VCAP_KF_L3_OPTIONS_IS] = "L3_OPTIONS_IS",
3652 [VCAP_KF_L3_PAYLOAD] = "L3_PAYLOAD",
3653 [VCAP_KF_L3_RT_IS] = "L3_RT_IS",
3654 [VCAP_KF_L3_TOS] = "L3_TOS",
3655 [VCAP_KF_L3_TTL_GT0] = "L3_TTL_GT0",
3656 [VCAP_KF_L4_1588_DOM] = "L4_1588_DOM",
3657 [VCAP_KF_L4_1588_VER] = "L4_1588_VER",
3658 [VCAP_KF_L4_ACK] = "L4_ACK",
3659 [VCAP_KF_L4_DPORT] = "L4_DPORT",
3660 [VCAP_KF_L4_FIN] = "L4_FIN",
3661 [VCAP_KF_L4_PAYLOAD] = "L4_PAYLOAD",
3662 [VCAP_KF_L4_PSH] = "L4_PSH",
3663 [VCAP_KF_L4_RNG] = "L4_RNG",
3664 [VCAP_KF_L4_RST] = "L4_RST",
3665 [VCAP_KF_L4_SEQUENCE_EQ0_IS] = "L4_SEQUENCE_EQ0_IS",
3666 [VCAP_KF_L4_SPORT] = "L4_SPORT",
3667 [VCAP_KF_L4_SPORT_EQ_DPORT_IS] = "L4_SPORT_EQ_DPORT_IS",
3668 [VCAP_KF_L4_SYN] = "L4_SYN",
3669 [VCAP_KF_L4_URG] = "L4_URG",
3670 [VCAP_KF_LOOKUP_FIRST_IS] = "LOOKUP_FIRST_IS",
3671 [VCAP_KF_LOOKUP_GEN_IDX] = "LOOKUP_GEN_IDX",
3672 [VCAP_KF_LOOKUP_GEN_IDX_SEL] = "LOOKUP_GEN_IDX_SEL",
3673 [VCAP_KF_LOOKUP_PAG] = "LOOKUP_PAG",
3674 [VCAP_KF_MIRROR_PROBE] = "MIRROR_PROBE",
3675 [VCAP_KF_OAM_CCM_CNTS_EQ0] = "OAM_CCM_CNTS_EQ0",
3676 [VCAP_KF_OAM_DETECTED] = "OAM_DETECTED",
3677 [VCAP_KF_OAM_FLAGS] = "OAM_FLAGS",
3678 [VCAP_KF_OAM_MEL_FLAGS] = "OAM_MEL_FLAGS",
3679 [VCAP_KF_OAM_MEPID] = "OAM_MEPID",
3680 [VCAP_KF_OAM_OPCODE] = "OAM_OPCODE",
3681 [VCAP_KF_OAM_VER] = "OAM_VER",
3682 [VCAP_KF_OAM_Y1731_IS] = "OAM_Y1731_IS",
3683 [VCAP_KF_PROT_ACTIVE] = "PROT_ACTIVE",
3684 [VCAP_KF_TCP_IS] = "TCP_IS",
3685 [VCAP_KF_TCP_UDP_IS] = "TCP_UDP_IS",
3686 [VCAP_KF_TYPE] = "TYPE",
3689 /* Actionfield names */
3690 static const char * const vcap_actionfield_names[] = {
3691 [VCAP_AF_NO_VALUE] = "(None)",
3692 [VCAP_AF_ACL_ID] = "ACL_ID",
3693 [VCAP_AF_CLS_VID_SEL] = "CLS_VID_SEL",
3694 [VCAP_AF_CNT_ID] = "CNT_ID",
3695 [VCAP_AF_COPY_PORT_NUM] = "COPY_PORT_NUM",
3696 [VCAP_AF_COPY_QUEUE_NUM] = "COPY_QUEUE_NUM",
3697 [VCAP_AF_CPU_COPY_ENA] = "CPU_COPY_ENA",
3698 [VCAP_AF_CPU_QU] = "CPU_QU",
3699 [VCAP_AF_CPU_QUEUE_NUM] = "CPU_QUEUE_NUM",
3700 [VCAP_AF_DEI_A_VAL] = "DEI_A_VAL",
3701 [VCAP_AF_DEI_B_VAL] = "DEI_B_VAL",
3702 [VCAP_AF_DEI_C_VAL] = "DEI_C_VAL",
3703 [VCAP_AF_DEI_ENA] = "DEI_ENA",
3704 [VCAP_AF_DEI_VAL] = "DEI_VAL",
3705 [VCAP_AF_DP_ENA] = "DP_ENA",
3706 [VCAP_AF_DP_VAL] = "DP_VAL",
3707 [VCAP_AF_DSCP_ENA] = "DSCP_ENA",
3708 [VCAP_AF_DSCP_SEL] = "DSCP_SEL",
3709 [VCAP_AF_DSCP_VAL] = "DSCP_VAL",
3710 [VCAP_AF_ES2_REW_CMD] = "ES2_REW_CMD",
3711 [VCAP_AF_ESDX] = "ESDX",
3712 [VCAP_AF_FWD_KILL_ENA] = "FWD_KILL_ENA",
3713 [VCAP_AF_FWD_MODE] = "FWD_MODE",
3714 [VCAP_AF_FWD_SEL] = "FWD_SEL",
3715 [VCAP_AF_HIT_ME_ONCE] = "HIT_ME_ONCE",
3716 [VCAP_AF_HOST_MATCH] = "HOST_MATCH",
3717 [VCAP_AF_IGNORE_PIPELINE_CTRL] = "IGNORE_PIPELINE_CTRL",
3718 [VCAP_AF_INTR_ENA] = "INTR_ENA",
3719 [VCAP_AF_ISDX_ADD_REPLACE_SEL] = "ISDX_ADD_REPLACE_SEL",
3720 [VCAP_AF_ISDX_ENA] = "ISDX_ENA",
3721 [VCAP_AF_ISDX_VAL] = "ISDX_VAL",
3722 [VCAP_AF_LOOP_ENA] = "LOOP_ENA",
3723 [VCAP_AF_LRN_DIS] = "LRN_DIS",
3724 [VCAP_AF_MAP_IDX] = "MAP_IDX",
3725 [VCAP_AF_MAP_KEY] = "MAP_KEY",
3726 [VCAP_AF_MAP_LOOKUP_SEL] = "MAP_LOOKUP_SEL",
3727 [VCAP_AF_MASK_MODE] = "MASK_MODE",
3728 [VCAP_AF_MATCH_ID] = "MATCH_ID",
3729 [VCAP_AF_MATCH_ID_MASK] = "MATCH_ID_MASK",
3730 [VCAP_AF_MIRROR_ENA] = "MIRROR_ENA",
3731 [VCAP_AF_MIRROR_PROBE] = "MIRROR_PROBE",
3732 [VCAP_AF_MIRROR_PROBE_ID] = "MIRROR_PROBE_ID",
3733 [VCAP_AF_NXT_IDX] = "NXT_IDX",
3734 [VCAP_AF_NXT_IDX_CTRL] = "NXT_IDX_CTRL",
3735 [VCAP_AF_PAG_OVERRIDE_MASK] = "PAG_OVERRIDE_MASK",
3736 [VCAP_AF_PAG_VAL] = "PAG_VAL",
3737 [VCAP_AF_PCP_A_VAL] = "PCP_A_VAL",
3738 [VCAP_AF_PCP_B_VAL] = "PCP_B_VAL",
3739 [VCAP_AF_PCP_C_VAL] = "PCP_C_VAL",
3740 [VCAP_AF_PCP_ENA] = "PCP_ENA",
3741 [VCAP_AF_PCP_VAL] = "PCP_VAL",
3742 [VCAP_AF_PIPELINE_ACT] = "PIPELINE_ACT",
3743 [VCAP_AF_PIPELINE_FORCE_ENA] = "PIPELINE_FORCE_ENA",
3744 [VCAP_AF_PIPELINE_PT] = "PIPELINE_PT",
3745 [VCAP_AF_POLICE_ENA] = "POLICE_ENA",
3746 [VCAP_AF_POLICE_IDX] = "POLICE_IDX",
3747 [VCAP_AF_POLICE_REMARK] = "POLICE_REMARK",
3748 [VCAP_AF_POLICE_VCAP_ONLY] = "POLICE_VCAP_ONLY",
3749 [VCAP_AF_POP_VAL] = "POP_VAL",
3750 [VCAP_AF_PORT_MASK] = "PORT_MASK",
3751 [VCAP_AF_PUSH_CUSTOMER_TAG] = "PUSH_CUSTOMER_TAG",
3752 [VCAP_AF_PUSH_INNER_TAG] = "PUSH_INNER_TAG",
3753 [VCAP_AF_PUSH_OUTER_TAG] = "PUSH_OUTER_TAG",
3754 [VCAP_AF_QOS_ENA] = "QOS_ENA",
3755 [VCAP_AF_QOS_VAL] = "QOS_VAL",
3756 [VCAP_AF_REW_OP] = "REW_OP",
3757 [VCAP_AF_RT_DIS] = "RT_DIS",
3758 [VCAP_AF_SWAP_MACS_ENA] = "SWAP_MACS_ENA",
3759 [VCAP_AF_TAG_A_DEI_SEL] = "TAG_A_DEI_SEL",
3760 [VCAP_AF_TAG_A_PCP_SEL] = "TAG_A_PCP_SEL",
3761 [VCAP_AF_TAG_A_TPID_SEL] = "TAG_A_TPID_SEL",
3762 [VCAP_AF_TAG_A_VID_SEL] = "TAG_A_VID_SEL",
3763 [VCAP_AF_TAG_B_DEI_SEL] = "TAG_B_DEI_SEL",
3764 [VCAP_AF_TAG_B_PCP_SEL] = "TAG_B_PCP_SEL",
3765 [VCAP_AF_TAG_B_TPID_SEL] = "TAG_B_TPID_SEL",
3766 [VCAP_AF_TAG_B_VID_SEL] = "TAG_B_VID_SEL",
3767 [VCAP_AF_TAG_C_DEI_SEL] = "TAG_C_DEI_SEL",
3768 [VCAP_AF_TAG_C_PCP_SEL] = "TAG_C_PCP_SEL",
3769 [VCAP_AF_TAG_C_TPID_SEL] = "TAG_C_TPID_SEL",
3770 [VCAP_AF_TAG_C_VID_SEL] = "TAG_C_VID_SEL",
3771 [VCAP_AF_TYPE] = "TYPE",
3772 [VCAP_AF_UNTAG_VID_ENA] = "UNTAG_VID_ENA",
3773 [VCAP_AF_VID_A_VAL] = "VID_A_VAL",
3774 [VCAP_AF_VID_B_VAL] = "VID_B_VAL",
3775 [VCAP_AF_VID_C_VAL] = "VID_C_VAL",
3776 [VCAP_AF_VID_VAL] = "VID_VAL",
3780 const struct vcap_info sparx5_vcaps[] = {
3789 .require_cnt_dis = 0,
3791 .keyfield_set = is0_keyfield_set,
3792 .keyfield_set_size = ARRAY_SIZE(is0_keyfield_set),
3793 .actionfield_set = is0_actionfield_set,
3794 .actionfield_set_size = ARRAY_SIZE(is0_actionfield_set),
3795 .keyfield_set_map = is0_keyfield_set_map,
3796 .keyfield_set_map_size = is0_keyfield_set_map_size,
3797 .actionfield_set_map = is0_actionfield_set_map,
3798 .actionfield_set_map_size = is0_actionfield_set_map_size,
3799 .keyfield_set_typegroups = is0_keyfield_set_typegroups,
3800 .actionfield_set_typegroups = is0_actionfield_set_typegroups,
3810 .require_cnt_dis = 0,
3812 .keyfield_set = is2_keyfield_set,
3813 .keyfield_set_size = ARRAY_SIZE(is2_keyfield_set),
3814 .actionfield_set = is2_actionfield_set,
3815 .actionfield_set_size = ARRAY_SIZE(is2_actionfield_set),
3816 .keyfield_set_map = is2_keyfield_set_map,
3817 .keyfield_set_map_size = is2_keyfield_set_map_size,
3818 .actionfield_set_map = is2_actionfield_set_map,
3819 .actionfield_set_map_size = is2_actionfield_set_map_size,
3820 .keyfield_set_typegroups = is2_keyfield_set_typegroups,
3821 .actionfield_set_typegroups = is2_actionfield_set_typegroups,
3831 .require_cnt_dis = 0,
3833 .keyfield_set = es0_keyfield_set,
3834 .keyfield_set_size = ARRAY_SIZE(es0_keyfield_set),
3835 .actionfield_set = es0_actionfield_set,
3836 .actionfield_set_size = ARRAY_SIZE(es0_actionfield_set),
3837 .keyfield_set_map = es0_keyfield_set_map,
3838 .keyfield_set_map_size = es0_keyfield_set_map_size,
3839 .actionfield_set_map = es0_actionfield_set_map,
3840 .actionfield_set_map_size = es0_actionfield_set_map_size,
3841 .keyfield_set_typegroups = es0_keyfield_set_typegroups,
3842 .actionfield_set_typegroups = es0_actionfield_set_typegroups,
3852 .require_cnt_dis = 0,
3854 .keyfield_set = es2_keyfield_set,
3855 .keyfield_set_size = ARRAY_SIZE(es2_keyfield_set),
3856 .actionfield_set = es2_actionfield_set,
3857 .actionfield_set_size = ARRAY_SIZE(es2_actionfield_set),
3858 .keyfield_set_map = es2_keyfield_set_map,
3859 .keyfield_set_map_size = es2_keyfield_set_map_size,
3860 .actionfield_set_map = es2_actionfield_set_map,
3861 .actionfield_set_map_size = es2_actionfield_set_map_size,
3862 .keyfield_set_typegroups = es2_keyfield_set_typegroups,
3863 .actionfield_set_typegroups = es2_actionfield_set_typegroups,
3867 const struct vcap_statistics sparx5_vcap_stats = {
3870 .keyfield_set_names = vcap_keyfield_set_names,
3871 .actionfield_set_names = vcap_actionfield_set_names,
3872 .keyfield_names = vcap_keyfield_names,
3873 .actionfield_names = vcap_actionfield_names,