1 // SPDX-License-Identifier: BSD-3-Clause
2 /* Copyright (C) 2024 Microchip Technology Inc. and its subsidiaries.
6 /* This file is autogenerated by cml-utils 2024-10-07 11:10:56 +0200.
7 * Commit ID: b5ddc8e244eb2481a9524f1ddc630a8b41e7c391
10 #include <linux/types.h>
11 #include <linux/kernel.h>
16 static const struct vcap_field is0_normal_7tuple_keyfield
[] = {
18 .type
= VCAP_FIELD_BIT
,
22 [VCAP_KF_LOOKUP_FIRST_IS
] = {
23 .type
= VCAP_FIELD_BIT
,
27 [VCAP_KF_LOOKUP_GEN_IDX_SEL
] = {
28 .type
= VCAP_FIELD_U32
,
32 [VCAP_KF_LOOKUP_GEN_IDX
] = {
33 .type
= VCAP_FIELD_U32
,
37 [VCAP_KF_IF_IGR_PORT_MASK_SEL
] = {
38 .type
= VCAP_FIELD_U32
,
42 [VCAP_KF_IF_IGR_PORT_MASK
] = {
43 .type
= VCAP_FIELD_U72
,
47 [VCAP_KF_L2_MC_IS
] = {
48 .type
= VCAP_FIELD_BIT
,
52 [VCAP_KF_L2_BC_IS
] = {
53 .type
= VCAP_FIELD_BIT
,
57 [VCAP_KF_8021Q_VLAN_TAGS
] = {
58 .type
= VCAP_FIELD_U32
,
62 [VCAP_KF_8021Q_TPID0
] = {
63 .type
= VCAP_FIELD_U32
,
67 [VCAP_KF_8021Q_PCP0
] = {
68 .type
= VCAP_FIELD_U32
,
72 [VCAP_KF_8021Q_DEI0
] = {
73 .type
= VCAP_FIELD_BIT
,
77 [VCAP_KF_8021Q_VID0
] = {
78 .type
= VCAP_FIELD_U32
,
82 [VCAP_KF_8021Q_TPID1
] = {
83 .type
= VCAP_FIELD_U32
,
87 [VCAP_KF_8021Q_PCP1
] = {
88 .type
= VCAP_FIELD_U32
,
92 [VCAP_KF_8021Q_DEI1
] = {
93 .type
= VCAP_FIELD_BIT
,
97 [VCAP_KF_8021Q_VID1
] = {
98 .type
= VCAP_FIELD_U32
,
102 [VCAP_KF_8021Q_TPID2
] = {
103 .type
= VCAP_FIELD_U32
,
107 [VCAP_KF_8021Q_PCP2
] = {
108 .type
= VCAP_FIELD_U32
,
112 [VCAP_KF_8021Q_DEI2
] = {
113 .type
= VCAP_FIELD_BIT
,
117 [VCAP_KF_8021Q_VID2
] = {
118 .type
= VCAP_FIELD_U32
,
122 [VCAP_KF_L2_DMAC
] = {
123 .type
= VCAP_FIELD_U48
,
127 [VCAP_KF_L2_SMAC
] = {
128 .type
= VCAP_FIELD_U48
,
132 [VCAP_KF_IP_MC_IS
] = {
133 .type
= VCAP_FIELD_BIT
,
137 [VCAP_KF_ETYPE_LEN_IS
] = {
138 .type
= VCAP_FIELD_BIT
,
143 .type
= VCAP_FIELD_U32
,
147 [VCAP_KF_IP_SNAP_IS
] = {
148 .type
= VCAP_FIELD_BIT
,
153 .type
= VCAP_FIELD_BIT
,
157 [VCAP_KF_L3_FRAGMENT_TYPE
] = {
158 .type
= VCAP_FIELD_U32
,
162 [VCAP_KF_L3_FRAG_INVLD_L4_LEN
] = {
163 .type
= VCAP_FIELD_BIT
,
167 [VCAP_KF_L3_OPTIONS_IS
] = {
168 .type
= VCAP_FIELD_BIT
,
172 [VCAP_KF_L3_DSCP
] = {
173 .type
= VCAP_FIELD_U32
,
177 [VCAP_KF_L3_IP6_DIP
] = {
178 .type
= VCAP_FIELD_U128
,
182 [VCAP_KF_L3_IP6_SIP
] = {
183 .type
= VCAP_FIELD_U128
,
187 [VCAP_KF_TCP_UDP_IS
] = {
188 .type
= VCAP_FIELD_BIT
,
193 .type
= VCAP_FIELD_BIT
,
197 [VCAP_KF_L4_SPORT
] = {
198 .type
= VCAP_FIELD_U32
,
203 .type
= VCAP_FIELD_U32
,
209 static const struct vcap_field is0_normal_5tuple_ip4_keyfield
[] = {
211 .type
= VCAP_FIELD_U32
,
215 [VCAP_KF_LOOKUP_FIRST_IS
] = {
216 .type
= VCAP_FIELD_BIT
,
220 [VCAP_KF_LOOKUP_GEN_IDX_SEL
] = {
221 .type
= VCAP_FIELD_U32
,
225 [VCAP_KF_LOOKUP_GEN_IDX
] = {
226 .type
= VCAP_FIELD_U32
,
230 [VCAP_KF_IF_IGR_PORT_MASK_SEL
] = {
231 .type
= VCAP_FIELD_U32
,
235 [VCAP_KF_IF_IGR_PORT_MASK
] = {
236 .type
= VCAP_FIELD_U72
,
240 [VCAP_KF_L2_MC_IS
] = {
241 .type
= VCAP_FIELD_BIT
,
245 [VCAP_KF_L2_BC_IS
] = {
246 .type
= VCAP_FIELD_BIT
,
250 [VCAP_KF_8021Q_VLAN_TAGS
] = {
251 .type
= VCAP_FIELD_U32
,
255 [VCAP_KF_8021Q_TPID0
] = {
256 .type
= VCAP_FIELD_U32
,
260 [VCAP_KF_8021Q_PCP0
] = {
261 .type
= VCAP_FIELD_U32
,
265 [VCAP_KF_8021Q_DEI0
] = {
266 .type
= VCAP_FIELD_BIT
,
270 [VCAP_KF_8021Q_VID0
] = {
271 .type
= VCAP_FIELD_U32
,
275 [VCAP_KF_8021Q_TPID1
] = {
276 .type
= VCAP_FIELD_U32
,
280 [VCAP_KF_8021Q_PCP1
] = {
281 .type
= VCAP_FIELD_U32
,
285 [VCAP_KF_8021Q_DEI1
] = {
286 .type
= VCAP_FIELD_BIT
,
290 [VCAP_KF_8021Q_VID1
] = {
291 .type
= VCAP_FIELD_U32
,
295 [VCAP_KF_8021Q_TPID2
] = {
296 .type
= VCAP_FIELD_U32
,
300 [VCAP_KF_8021Q_PCP2
] = {
301 .type
= VCAP_FIELD_U32
,
305 [VCAP_KF_8021Q_DEI2
] = {
306 .type
= VCAP_FIELD_BIT
,
310 [VCAP_KF_8021Q_VID2
] = {
311 .type
= VCAP_FIELD_U32
,
315 [VCAP_KF_IP_MC_IS
] = {
316 .type
= VCAP_FIELD_BIT
,
321 .type
= VCAP_FIELD_BIT
,
325 [VCAP_KF_L3_FRAGMENT_TYPE
] = {
326 .type
= VCAP_FIELD_U32
,
330 [VCAP_KF_L3_FRAG_INVLD_L4_LEN
] = {
331 .type
= VCAP_FIELD_BIT
,
335 [VCAP_KF_L3_OPTIONS_IS
] = {
336 .type
= VCAP_FIELD_BIT
,
340 [VCAP_KF_L3_DSCP
] = {
341 .type
= VCAP_FIELD_U32
,
345 [VCAP_KF_L3_IP4_DIP
] = {
346 .type
= VCAP_FIELD_U32
,
350 [VCAP_KF_L3_IP4_SIP
] = {
351 .type
= VCAP_FIELD_U32
,
355 [VCAP_KF_L3_IP_PROTO
] = {
356 .type
= VCAP_FIELD_U32
,
360 [VCAP_KF_TCP_UDP_IS
] = {
361 .type
= VCAP_FIELD_BIT
,
366 .type
= VCAP_FIELD_BIT
,
371 .type
= VCAP_FIELD_U32
,
375 [VCAP_KF_IP_PAYLOAD_5TUPLE
] = {
376 .type
= VCAP_FIELD_U32
,
382 static const struct vcap_field is2_mac_etype_keyfield
[] = {
384 .type
= VCAP_FIELD_U32
,
388 [VCAP_KF_LOOKUP_FIRST_IS
] = {
389 .type
= VCAP_FIELD_BIT
,
393 [VCAP_KF_LOOKUP_PAG
] = {
394 .type
= VCAP_FIELD_U32
,
398 [VCAP_KF_IF_IGR_PORT_MASK_L3
] = {
399 .type
= VCAP_FIELD_BIT
,
403 [VCAP_KF_IF_IGR_PORT_MASK_RNG
] = {
404 .type
= VCAP_FIELD_U32
,
408 [VCAP_KF_IF_IGR_PORT_MASK_SEL
] = {
409 .type
= VCAP_FIELD_U32
,
413 [VCAP_KF_IF_IGR_PORT_MASK
] = {
414 .type
= VCAP_FIELD_U32
,
418 [VCAP_KF_L2_MC_IS
] = {
419 .type
= VCAP_FIELD_BIT
,
423 [VCAP_KF_L2_BC_IS
] = {
424 .type
= VCAP_FIELD_BIT
,
428 [VCAP_KF_8021Q_VLAN_TAGGED_IS
] = {
429 .type
= VCAP_FIELD_BIT
,
433 [VCAP_KF_ISDX_GT0_IS
] = {
434 .type
= VCAP_FIELD_BIT
,
438 [VCAP_KF_ISDX_CLS
] = {
439 .type
= VCAP_FIELD_U32
,
443 [VCAP_KF_8021Q_VID_CLS
] = {
444 .type
= VCAP_FIELD_U32
,
448 [VCAP_KF_8021Q_DEI_CLS
] = {
449 .type
= VCAP_FIELD_BIT
,
453 [VCAP_KF_8021Q_PCP_CLS
] = {
454 .type
= VCAP_FIELD_U32
,
458 [VCAP_KF_L2_FWD_IS
] = {
459 .type
= VCAP_FIELD_BIT
,
463 [VCAP_KF_L3_RT_IS
] = {
464 .type
= VCAP_FIELD_BIT
,
468 [VCAP_KF_L3_DST_IS
] = {
469 .type
= VCAP_FIELD_BIT
,
473 [VCAP_KF_L2_DMAC
] = {
474 .type
= VCAP_FIELD_U48
,
478 [VCAP_KF_L2_SMAC
] = {
479 .type
= VCAP_FIELD_U48
,
483 [VCAP_KF_ETYPE_LEN_IS
] = {
484 .type
= VCAP_FIELD_BIT
,
489 .type
= VCAP_FIELD_U32
,
493 [VCAP_KF_L2_PAYLOAD_ETYPE
] = {
494 .type
= VCAP_FIELD_U64
,
499 .type
= VCAP_FIELD_U32
,
503 [VCAP_KF_OAM_CCM_CNTS_EQ0
] = {
504 .type
= VCAP_FIELD_BIT
,
508 [VCAP_KF_OAM_Y1731_IS
] = {
509 .type
= VCAP_FIELD_BIT
,
515 static const struct vcap_field is2_arp_keyfield
[] = {
517 .type
= VCAP_FIELD_U32
,
521 [VCAP_KF_LOOKUP_FIRST_IS
] = {
522 .type
= VCAP_FIELD_BIT
,
526 [VCAP_KF_LOOKUP_PAG
] = {
527 .type
= VCAP_FIELD_U32
,
531 [VCAP_KF_IF_IGR_PORT_MASK_L3
] = {
532 .type
= VCAP_FIELD_BIT
,
536 [VCAP_KF_IF_IGR_PORT_MASK_RNG
] = {
537 .type
= VCAP_FIELD_U32
,
541 [VCAP_KF_IF_IGR_PORT_MASK_SEL
] = {
542 .type
= VCAP_FIELD_U32
,
546 [VCAP_KF_IF_IGR_PORT_MASK
] = {
547 .type
= VCAP_FIELD_U32
,
551 [VCAP_KF_L2_MC_IS
] = {
552 .type
= VCAP_FIELD_BIT
,
556 [VCAP_KF_L2_BC_IS
] = {
557 .type
= VCAP_FIELD_BIT
,
561 [VCAP_KF_8021Q_VLAN_TAGGED_IS
] = {
562 .type
= VCAP_FIELD_BIT
,
566 [VCAP_KF_ISDX_GT0_IS
] = {
567 .type
= VCAP_FIELD_BIT
,
571 [VCAP_KF_ISDX_CLS
] = {
572 .type
= VCAP_FIELD_U32
,
576 [VCAP_KF_8021Q_VID_CLS
] = {
577 .type
= VCAP_FIELD_U32
,
581 [VCAP_KF_8021Q_DEI_CLS
] = {
582 .type
= VCAP_FIELD_BIT
,
586 [VCAP_KF_8021Q_PCP_CLS
] = {
587 .type
= VCAP_FIELD_U32
,
591 [VCAP_KF_L2_FWD_IS
] = {
592 .type
= VCAP_FIELD_BIT
,
596 [VCAP_KF_L2_SMAC
] = {
597 .type
= VCAP_FIELD_U48
,
601 [VCAP_KF_ARP_ADDR_SPACE_OK_IS
] = {
602 .type
= VCAP_FIELD_BIT
,
606 [VCAP_KF_ARP_PROTO_SPACE_OK_IS
] = {
607 .type
= VCAP_FIELD_BIT
,
611 [VCAP_KF_ARP_LEN_OK_IS
] = {
612 .type
= VCAP_FIELD_BIT
,
616 [VCAP_KF_ARP_TGT_MATCH_IS
] = {
617 .type
= VCAP_FIELD_BIT
,
621 [VCAP_KF_ARP_SENDER_MATCH_IS
] = {
622 .type
= VCAP_FIELD_BIT
,
626 [VCAP_KF_ARP_OPCODE_UNKNOWN_IS
] = {
627 .type
= VCAP_FIELD_BIT
,
631 [VCAP_KF_ARP_OPCODE
] = {
632 .type
= VCAP_FIELD_U32
,
636 [VCAP_KF_L3_IP4_DIP
] = {
637 .type
= VCAP_FIELD_U32
,
641 [VCAP_KF_L3_IP4_SIP
] = {
642 .type
= VCAP_FIELD_U32
,
646 [VCAP_KF_L3_DIP_EQ_SIP_IS
] = {
647 .type
= VCAP_FIELD_BIT
,
652 .type
= VCAP_FIELD_U32
,
658 static const struct vcap_field is2_ip4_tcp_udp_keyfield
[] = {
660 .type
= VCAP_FIELD_U32
,
664 [VCAP_KF_LOOKUP_FIRST_IS
] = {
665 .type
= VCAP_FIELD_BIT
,
669 [VCAP_KF_LOOKUP_PAG
] = {
670 .type
= VCAP_FIELD_U32
,
674 [VCAP_KF_IF_IGR_PORT_MASK_L3
] = {
675 .type
= VCAP_FIELD_BIT
,
679 [VCAP_KF_IF_IGR_PORT_MASK_RNG
] = {
680 .type
= VCAP_FIELD_U32
,
684 [VCAP_KF_IF_IGR_PORT_MASK_SEL
] = {
685 .type
= VCAP_FIELD_U32
,
689 [VCAP_KF_IF_IGR_PORT_MASK
] = {
690 .type
= VCAP_FIELD_U32
,
694 [VCAP_KF_L2_MC_IS
] = {
695 .type
= VCAP_FIELD_BIT
,
699 [VCAP_KF_L2_BC_IS
] = {
700 .type
= VCAP_FIELD_BIT
,
704 [VCAP_KF_8021Q_VLAN_TAGGED_IS
] = {
705 .type
= VCAP_FIELD_BIT
,
709 [VCAP_KF_ISDX_GT0_IS
] = {
710 .type
= VCAP_FIELD_BIT
,
714 [VCAP_KF_ISDX_CLS
] = {
715 .type
= VCAP_FIELD_U32
,
719 [VCAP_KF_8021Q_VID_CLS
] = {
720 .type
= VCAP_FIELD_U32
,
724 [VCAP_KF_8021Q_DEI_CLS
] = {
725 .type
= VCAP_FIELD_BIT
,
729 [VCAP_KF_8021Q_PCP_CLS
] = {
730 .type
= VCAP_FIELD_U32
,
734 [VCAP_KF_L2_FWD_IS
] = {
735 .type
= VCAP_FIELD_BIT
,
739 [VCAP_KF_L3_RT_IS
] = {
740 .type
= VCAP_FIELD_BIT
,
744 [VCAP_KF_L3_DST_IS
] = {
745 .type
= VCAP_FIELD_BIT
,
750 .type
= VCAP_FIELD_BIT
,
754 [VCAP_KF_L3_FRAGMENT_TYPE
] = {
755 .type
= VCAP_FIELD_U32
,
759 [VCAP_KF_L3_FRAG_INVLD_L4_LEN
] = {
760 .type
= VCAP_FIELD_BIT
,
764 [VCAP_KF_L3_OPTIONS_IS
] = {
765 .type
= VCAP_FIELD_BIT
,
769 [VCAP_KF_L3_TTL_GT0
] = {
770 .type
= VCAP_FIELD_BIT
,
775 .type
= VCAP_FIELD_U32
,
779 [VCAP_KF_L3_IP4_DIP
] = {
780 .type
= VCAP_FIELD_U32
,
784 [VCAP_KF_L3_IP4_SIP
] = {
785 .type
= VCAP_FIELD_U32
,
789 [VCAP_KF_L3_DIP_EQ_SIP_IS
] = {
790 .type
= VCAP_FIELD_BIT
,
795 .type
= VCAP_FIELD_BIT
,
799 [VCAP_KF_L4_DPORT
] = {
800 .type
= VCAP_FIELD_U32
,
804 [VCAP_KF_L4_SPORT
] = {
805 .type
= VCAP_FIELD_U32
,
810 .type
= VCAP_FIELD_U32
,
814 [VCAP_KF_L4_SPORT_EQ_DPORT_IS
] = {
815 .type
= VCAP_FIELD_BIT
,
819 [VCAP_KF_L4_SEQUENCE_EQ0_IS
] = {
820 .type
= VCAP_FIELD_BIT
,
825 .type
= VCAP_FIELD_BIT
,
830 .type
= VCAP_FIELD_BIT
,
835 .type
= VCAP_FIELD_BIT
,
840 .type
= VCAP_FIELD_BIT
,
845 .type
= VCAP_FIELD_BIT
,
850 .type
= VCAP_FIELD_BIT
,
854 [VCAP_KF_L4_PAYLOAD
] = {
855 .type
= VCAP_FIELD_U64
,
861 static const struct vcap_field is2_ip4_other_keyfield
[] = {
863 .type
= VCAP_FIELD_U32
,
867 [VCAP_KF_LOOKUP_FIRST_IS
] = {
868 .type
= VCAP_FIELD_BIT
,
872 [VCAP_KF_LOOKUP_PAG
] = {
873 .type
= VCAP_FIELD_U32
,
877 [VCAP_KF_IF_IGR_PORT_MASK_L3
] = {
878 .type
= VCAP_FIELD_BIT
,
882 [VCAP_KF_IF_IGR_PORT_MASK_RNG
] = {
883 .type
= VCAP_FIELD_U32
,
887 [VCAP_KF_IF_IGR_PORT_MASK_SEL
] = {
888 .type
= VCAP_FIELD_U32
,
892 [VCAP_KF_IF_IGR_PORT_MASK
] = {
893 .type
= VCAP_FIELD_U32
,
897 [VCAP_KF_L2_MC_IS
] = {
898 .type
= VCAP_FIELD_BIT
,
902 [VCAP_KF_L2_BC_IS
] = {
903 .type
= VCAP_FIELD_BIT
,
907 [VCAP_KF_8021Q_VLAN_TAGGED_IS
] = {
908 .type
= VCAP_FIELD_BIT
,
912 [VCAP_KF_ISDX_GT0_IS
] = {
913 .type
= VCAP_FIELD_BIT
,
917 [VCAP_KF_ISDX_CLS
] = {
918 .type
= VCAP_FIELD_U32
,
922 [VCAP_KF_8021Q_VID_CLS
] = {
923 .type
= VCAP_FIELD_U32
,
927 [VCAP_KF_8021Q_DEI_CLS
] = {
928 .type
= VCAP_FIELD_BIT
,
932 [VCAP_KF_8021Q_PCP_CLS
] = {
933 .type
= VCAP_FIELD_U32
,
937 [VCAP_KF_L2_FWD_IS
] = {
938 .type
= VCAP_FIELD_BIT
,
942 [VCAP_KF_L3_RT_IS
] = {
943 .type
= VCAP_FIELD_BIT
,
947 [VCAP_KF_L3_DST_IS
] = {
948 .type
= VCAP_FIELD_BIT
,
953 .type
= VCAP_FIELD_BIT
,
957 [VCAP_KF_L3_FRAGMENT_TYPE
] = {
958 .type
= VCAP_FIELD_U32
,
962 [VCAP_KF_L3_FRAG_INVLD_L4_LEN
] = {
963 .type
= VCAP_FIELD_BIT
,
967 [VCAP_KF_L3_OPTIONS_IS
] = {
968 .type
= VCAP_FIELD_BIT
,
972 [VCAP_KF_L3_TTL_GT0
] = {
973 .type
= VCAP_FIELD_BIT
,
978 .type
= VCAP_FIELD_U32
,
982 [VCAP_KF_L3_IP4_DIP
] = {
983 .type
= VCAP_FIELD_U32
,
987 [VCAP_KF_L3_IP4_SIP
] = {
988 .type
= VCAP_FIELD_U32
,
992 [VCAP_KF_L3_DIP_EQ_SIP_IS
] = {
993 .type
= VCAP_FIELD_BIT
,
997 [VCAP_KF_L3_IP_PROTO
] = {
998 .type
= VCAP_FIELD_U32
,
1002 [VCAP_KF_L4_RNG
] = {
1003 .type
= VCAP_FIELD_U32
,
1007 [VCAP_KF_L3_PAYLOAD
] = {
1008 .type
= VCAP_FIELD_U112
,
1014 static const struct vcap_field is2_ip6_std_keyfield
[] = {
1016 .type
= VCAP_FIELD_U32
,
1020 [VCAP_KF_LOOKUP_FIRST_IS
] = {
1021 .type
= VCAP_FIELD_BIT
,
1025 [VCAP_KF_LOOKUP_PAG
] = {
1026 .type
= VCAP_FIELD_U32
,
1030 [VCAP_KF_IF_IGR_PORT_MASK_L3
] = {
1031 .type
= VCAP_FIELD_BIT
,
1035 [VCAP_KF_IF_IGR_PORT_MASK_RNG
] = {
1036 .type
= VCAP_FIELD_U32
,
1040 [VCAP_KF_IF_IGR_PORT_MASK_SEL
] = {
1041 .type
= VCAP_FIELD_U32
,
1045 [VCAP_KF_IF_IGR_PORT_MASK
] = {
1046 .type
= VCAP_FIELD_U32
,
1050 [VCAP_KF_L2_MC_IS
] = {
1051 .type
= VCAP_FIELD_BIT
,
1055 [VCAP_KF_L2_BC_IS
] = {
1056 .type
= VCAP_FIELD_BIT
,
1060 [VCAP_KF_8021Q_VLAN_TAGGED_IS
] = {
1061 .type
= VCAP_FIELD_BIT
,
1065 [VCAP_KF_ISDX_GT0_IS
] = {
1066 .type
= VCAP_FIELD_BIT
,
1070 [VCAP_KF_ISDX_CLS
] = {
1071 .type
= VCAP_FIELD_U32
,
1075 [VCAP_KF_8021Q_VID_CLS
] = {
1076 .type
= VCAP_FIELD_U32
,
1080 [VCAP_KF_8021Q_DEI_CLS
] = {
1081 .type
= VCAP_FIELD_BIT
,
1085 [VCAP_KF_8021Q_PCP_CLS
] = {
1086 .type
= VCAP_FIELD_U32
,
1090 [VCAP_KF_L2_FWD_IS
] = {
1091 .type
= VCAP_FIELD_BIT
,
1095 [VCAP_KF_L3_RT_IS
] = {
1096 .type
= VCAP_FIELD_BIT
,
1100 [VCAP_KF_L3_TTL_GT0
] = {
1101 .type
= VCAP_FIELD_BIT
,
1105 [VCAP_KF_L3_IP6_SIP
] = {
1106 .type
= VCAP_FIELD_U128
,
1110 [VCAP_KF_L3_DIP_EQ_SIP_IS
] = {
1111 .type
= VCAP_FIELD_BIT
,
1115 [VCAP_KF_L3_IP_PROTO
] = {
1116 .type
= VCAP_FIELD_U32
,
1120 [VCAP_KF_L4_RNG
] = {
1121 .type
= VCAP_FIELD_U32
,
1125 [VCAP_KF_L3_PAYLOAD
] = {
1126 .type
= VCAP_FIELD_U48
,
1132 static const struct vcap_field is2_ip_7tuple_keyfield
[] = {
1134 .type
= VCAP_FIELD_U32
,
1138 [VCAP_KF_LOOKUP_FIRST_IS
] = {
1139 .type
= VCAP_FIELD_BIT
,
1143 [VCAP_KF_LOOKUP_PAG
] = {
1144 .type
= VCAP_FIELD_U32
,
1148 [VCAP_KF_IF_IGR_PORT_MASK_L3
] = {
1149 .type
= VCAP_FIELD_BIT
,
1153 [VCAP_KF_IF_IGR_PORT_MASK_RNG
] = {
1154 .type
= VCAP_FIELD_U32
,
1158 [VCAP_KF_IF_IGR_PORT_MASK_SEL
] = {
1159 .type
= VCAP_FIELD_U32
,
1163 [VCAP_KF_IF_IGR_PORT_MASK
] = {
1164 .type
= VCAP_FIELD_U72
,
1168 [VCAP_KF_L2_MC_IS
] = {
1169 .type
= VCAP_FIELD_BIT
,
1173 [VCAP_KF_L2_BC_IS
] = {
1174 .type
= VCAP_FIELD_BIT
,
1178 [VCAP_KF_8021Q_VLAN_TAGGED_IS
] = {
1179 .type
= VCAP_FIELD_BIT
,
1183 [VCAP_KF_ISDX_GT0_IS
] = {
1184 .type
= VCAP_FIELD_BIT
,
1188 [VCAP_KF_ISDX_CLS
] = {
1189 .type
= VCAP_FIELD_U32
,
1193 [VCAP_KF_8021Q_VID_CLS
] = {
1194 .type
= VCAP_FIELD_U32
,
1198 [VCAP_KF_8021Q_DEI_CLS
] = {
1199 .type
= VCAP_FIELD_BIT
,
1203 [VCAP_KF_8021Q_PCP_CLS
] = {
1204 .type
= VCAP_FIELD_U32
,
1208 [VCAP_KF_L2_FWD_IS
] = {
1209 .type
= VCAP_FIELD_BIT
,
1213 [VCAP_KF_L3_RT_IS
] = {
1214 .type
= VCAP_FIELD_BIT
,
1218 [VCAP_KF_L3_DST_IS
] = {
1219 .type
= VCAP_FIELD_BIT
,
1223 [VCAP_KF_L2_DMAC
] = {
1224 .type
= VCAP_FIELD_U48
,
1228 [VCAP_KF_L2_SMAC
] = {
1229 .type
= VCAP_FIELD_U48
,
1233 [VCAP_KF_IP4_IS
] = {
1234 .type
= VCAP_FIELD_BIT
,
1238 [VCAP_KF_L3_TTL_GT0
] = {
1239 .type
= VCAP_FIELD_BIT
,
1243 [VCAP_KF_L3_TOS
] = {
1244 .type
= VCAP_FIELD_U32
,
1248 [VCAP_KF_L3_IP6_DIP
] = {
1249 .type
= VCAP_FIELD_U128
,
1253 [VCAP_KF_L3_IP6_SIP
] = {
1254 .type
= VCAP_FIELD_U128
,
1258 [VCAP_KF_L3_DIP_EQ_SIP_IS
] = {
1259 .type
= VCAP_FIELD_BIT
,
1263 [VCAP_KF_TCP_UDP_IS
] = {
1264 .type
= VCAP_FIELD_BIT
,
1268 [VCAP_KF_TCP_IS
] = {
1269 .type
= VCAP_FIELD_BIT
,
1273 [VCAP_KF_L4_DPORT
] = {
1274 .type
= VCAP_FIELD_U32
,
1278 [VCAP_KF_L4_SPORT
] = {
1279 .type
= VCAP_FIELD_U32
,
1283 [VCAP_KF_L4_RNG
] = {
1284 .type
= VCAP_FIELD_U32
,
1288 [VCAP_KF_L4_SPORT_EQ_DPORT_IS
] = {
1289 .type
= VCAP_FIELD_BIT
,
1293 [VCAP_KF_L4_SEQUENCE_EQ0_IS
] = {
1294 .type
= VCAP_FIELD_BIT
,
1298 [VCAP_KF_L4_FIN
] = {
1299 .type
= VCAP_FIELD_BIT
,
1303 [VCAP_KF_L4_SYN
] = {
1304 .type
= VCAP_FIELD_BIT
,
1308 [VCAP_KF_L4_RST
] = {
1309 .type
= VCAP_FIELD_BIT
,
1313 [VCAP_KF_L4_PSH
] = {
1314 .type
= VCAP_FIELD_BIT
,
1318 [VCAP_KF_L4_ACK
] = {
1319 .type
= VCAP_FIELD_BIT
,
1323 [VCAP_KF_L4_URG
] = {
1324 .type
= VCAP_FIELD_BIT
,
1328 [VCAP_KF_L4_PAYLOAD
] = {
1329 .type
= VCAP_FIELD_U64
,
1335 static const struct vcap_field es0_isdx_keyfield
[] = {
1337 .type
= VCAP_FIELD_BIT
,
1341 [VCAP_KF_IF_EGR_PORT_NO
] = {
1342 .type
= VCAP_FIELD_U32
,
1346 [VCAP_KF_8021Q_VID_CLS
] = {
1347 .type
= VCAP_FIELD_U32
,
1351 [VCAP_KF_COSID_CLS
] = {
1352 .type
= VCAP_FIELD_U32
,
1356 [VCAP_KF_8021Q_TPID
] = {
1357 .type
= VCAP_FIELD_U32
,
1361 [VCAP_KF_L3_DPL_CLS
] = {
1362 .type
= VCAP_FIELD_BIT
,
1366 [VCAP_KF_ISDX_GT0_IS
] = {
1367 .type
= VCAP_FIELD_BIT
,
1371 [VCAP_KF_PROT_ACTIVE
] = {
1372 .type
= VCAP_FIELD_BIT
,
1376 [VCAP_KF_ISDX_CLS
] = {
1377 .type
= VCAP_FIELD_U32
,
1383 static const struct vcap_field es2_mac_etype_keyfield
[] = {
1385 .type
= VCAP_FIELD_U32
,
1389 [VCAP_KF_LOOKUP_FIRST_IS
] = {
1390 .type
= VCAP_FIELD_BIT
,
1394 [VCAP_KF_L2_MC_IS
] = {
1395 .type
= VCAP_FIELD_BIT
,
1399 [VCAP_KF_L2_BC_IS
] = {
1400 .type
= VCAP_FIELD_BIT
,
1404 [VCAP_KF_ISDX_GT0_IS
] = {
1405 .type
= VCAP_FIELD_BIT
,
1409 [VCAP_KF_ISDX_CLS
] = {
1410 .type
= VCAP_FIELD_U32
,
1414 [VCAP_KF_8021Q_VLAN_TAGGED_IS
] = {
1415 .type
= VCAP_FIELD_BIT
,
1419 [VCAP_KF_8021Q_VID_CLS
] = {
1420 .type
= VCAP_FIELD_U32
,
1424 [VCAP_KF_IF_EGR_PORT_MASK_RNG
] = {
1425 .type
= VCAP_FIELD_U32
,
1429 [VCAP_KF_IF_EGR_PORT_MASK
] = {
1430 .type
= VCAP_FIELD_U32
,
1434 [VCAP_KF_IF_IGR_PORT_SEL
] = {
1435 .type
= VCAP_FIELD_BIT
,
1439 [VCAP_KF_IF_IGR_PORT
] = {
1440 .type
= VCAP_FIELD_U32
,
1444 [VCAP_KF_8021Q_PCP_CLS
] = {
1445 .type
= VCAP_FIELD_U32
,
1449 [VCAP_KF_8021Q_DEI_CLS
] = {
1450 .type
= VCAP_FIELD_BIT
,
1454 [VCAP_KF_COSID_CLS
] = {
1455 .type
= VCAP_FIELD_U32
,
1459 [VCAP_KF_L3_DPL_CLS
] = {
1460 .type
= VCAP_FIELD_BIT
,
1464 [VCAP_KF_L3_RT_IS
] = {
1465 .type
= VCAP_FIELD_BIT
,
1469 [VCAP_KF_L2_DMAC
] = {
1470 .type
= VCAP_FIELD_U48
,
1474 [VCAP_KF_L2_SMAC
] = {
1475 .type
= VCAP_FIELD_U48
,
1479 [VCAP_KF_ETYPE_LEN_IS
] = {
1480 .type
= VCAP_FIELD_BIT
,
1485 .type
= VCAP_FIELD_U32
,
1489 [VCAP_KF_L2_PAYLOAD_ETYPE
] = {
1490 .type
= VCAP_FIELD_U64
,
1494 [VCAP_KF_OAM_CCM_CNTS_EQ0
] = {
1495 .type
= VCAP_FIELD_BIT
,
1499 [VCAP_KF_OAM_Y1731_IS
] = {
1500 .type
= VCAP_FIELD_BIT
,
1506 static const struct vcap_field es2_arp_keyfield
[] = {
1508 .type
= VCAP_FIELD_U32
,
1512 [VCAP_KF_LOOKUP_FIRST_IS
] = {
1513 .type
= VCAP_FIELD_BIT
,
1517 [VCAP_KF_L2_MC_IS
] = {
1518 .type
= VCAP_FIELD_BIT
,
1522 [VCAP_KF_L2_BC_IS
] = {
1523 .type
= VCAP_FIELD_BIT
,
1527 [VCAP_KF_ISDX_GT0_IS
] = {
1528 .type
= VCAP_FIELD_BIT
,
1532 [VCAP_KF_ISDX_CLS
] = {
1533 .type
= VCAP_FIELD_U32
,
1537 [VCAP_KF_8021Q_VLAN_TAGGED_IS
] = {
1538 .type
= VCAP_FIELD_BIT
,
1542 [VCAP_KF_8021Q_VID_CLS
] = {
1543 .type
= VCAP_FIELD_U32
,
1547 [VCAP_KF_IF_EGR_PORT_MASK_RNG
] = {
1548 .type
= VCAP_FIELD_U32
,
1552 [VCAP_KF_IF_EGR_PORT_MASK
] = {
1553 .type
= VCAP_FIELD_U32
,
1557 [VCAP_KF_IF_IGR_PORT_SEL
] = {
1558 .type
= VCAP_FIELD_BIT
,
1562 [VCAP_KF_IF_IGR_PORT
] = {
1563 .type
= VCAP_FIELD_U32
,
1567 [VCAP_KF_8021Q_PCP_CLS
] = {
1568 .type
= VCAP_FIELD_U32
,
1572 [VCAP_KF_8021Q_DEI_CLS
] = {
1573 .type
= VCAP_FIELD_BIT
,
1577 [VCAP_KF_COSID_CLS
] = {
1578 .type
= VCAP_FIELD_U32
,
1582 [VCAP_KF_L3_DPL_CLS
] = {
1583 .type
= VCAP_FIELD_BIT
,
1587 [VCAP_KF_L2_SMAC
] = {
1588 .type
= VCAP_FIELD_U48
,
1592 [VCAP_KF_ARP_ADDR_SPACE_OK_IS
] = {
1593 .type
= VCAP_FIELD_BIT
,
1597 [VCAP_KF_ARP_PROTO_SPACE_OK_IS
] = {
1598 .type
= VCAP_FIELD_BIT
,
1602 [VCAP_KF_ARP_LEN_OK_IS
] = {
1603 .type
= VCAP_FIELD_BIT
,
1607 [VCAP_KF_ARP_TGT_MATCH_IS
] = {
1608 .type
= VCAP_FIELD_BIT
,
1612 [VCAP_KF_ARP_SENDER_MATCH_IS
] = {
1613 .type
= VCAP_FIELD_BIT
,
1617 [VCAP_KF_ARP_OPCODE_UNKNOWN_IS
] = {
1618 .type
= VCAP_FIELD_BIT
,
1622 [VCAP_KF_ARP_OPCODE
] = {
1623 .type
= VCAP_FIELD_U32
,
1627 [VCAP_KF_L3_IP4_DIP
] = {
1628 .type
= VCAP_FIELD_U32
,
1632 [VCAP_KF_L3_IP4_SIP
] = {
1633 .type
= VCAP_FIELD_U32
,
1637 [VCAP_KF_L3_DIP_EQ_SIP_IS
] = {
1638 .type
= VCAP_FIELD_BIT
,
1644 static const struct vcap_field es2_ip4_tcp_udp_keyfield
[] = {
1646 .type
= VCAP_FIELD_U32
,
1650 [VCAP_KF_LOOKUP_FIRST_IS
] = {
1651 .type
= VCAP_FIELD_BIT
,
1655 [VCAP_KF_L2_MC_IS
] = {
1656 .type
= VCAP_FIELD_BIT
,
1660 [VCAP_KF_L2_BC_IS
] = {
1661 .type
= VCAP_FIELD_BIT
,
1665 [VCAP_KF_ISDX_GT0_IS
] = {
1666 .type
= VCAP_FIELD_BIT
,
1670 [VCAP_KF_ISDX_CLS
] = {
1671 .type
= VCAP_FIELD_U32
,
1675 [VCAP_KF_8021Q_VLAN_TAGGED_IS
] = {
1676 .type
= VCAP_FIELD_BIT
,
1680 [VCAP_KF_8021Q_VID_CLS
] = {
1681 .type
= VCAP_FIELD_U32
,
1685 [VCAP_KF_IF_EGR_PORT_MASK_RNG
] = {
1686 .type
= VCAP_FIELD_U32
,
1690 [VCAP_KF_IF_EGR_PORT_MASK
] = {
1691 .type
= VCAP_FIELD_U32
,
1695 [VCAP_KF_IF_IGR_PORT_SEL
] = {
1696 .type
= VCAP_FIELD_BIT
,
1700 [VCAP_KF_IF_IGR_PORT
] = {
1701 .type
= VCAP_FIELD_U32
,
1705 [VCAP_KF_8021Q_PCP_CLS
] = {
1706 .type
= VCAP_FIELD_U32
,
1710 [VCAP_KF_8021Q_DEI_CLS
] = {
1711 .type
= VCAP_FIELD_BIT
,
1715 [VCAP_KF_COSID_CLS
] = {
1716 .type
= VCAP_FIELD_U32
,
1720 [VCAP_KF_L3_DPL_CLS
] = {
1721 .type
= VCAP_FIELD_BIT
,
1725 [VCAP_KF_L3_RT_IS
] = {
1726 .type
= VCAP_FIELD_BIT
,
1730 [VCAP_KF_IP4_IS
] = {
1731 .type
= VCAP_FIELD_BIT
,
1735 [VCAP_KF_L3_FRAGMENT_TYPE
] = {
1736 .type
= VCAP_FIELD_U32
,
1740 [VCAP_KF_L3_OPTIONS_IS
] = {
1741 .type
= VCAP_FIELD_BIT
,
1745 [VCAP_KF_L3_TTL_GT0
] = {
1746 .type
= VCAP_FIELD_BIT
,
1750 [VCAP_KF_L3_TOS
] = {
1751 .type
= VCAP_FIELD_U32
,
1755 [VCAP_KF_L3_IP4_DIP
] = {
1756 .type
= VCAP_FIELD_U32
,
1760 [VCAP_KF_L3_IP4_SIP
] = {
1761 .type
= VCAP_FIELD_U32
,
1765 [VCAP_KF_L3_DIP_EQ_SIP_IS
] = {
1766 .type
= VCAP_FIELD_BIT
,
1770 [VCAP_KF_TCP_IS
] = {
1771 .type
= VCAP_FIELD_BIT
,
1775 [VCAP_KF_L4_DPORT
] = {
1776 .type
= VCAP_FIELD_U32
,
1780 [VCAP_KF_L4_SPORT
] = {
1781 .type
= VCAP_FIELD_U32
,
1785 [VCAP_KF_L4_RNG
] = {
1786 .type
= VCAP_FIELD_U32
,
1790 [VCAP_KF_L4_SPORT_EQ_DPORT_IS
] = {
1791 .type
= VCAP_FIELD_BIT
,
1795 [VCAP_KF_L4_SEQUENCE_EQ0_IS
] = {
1796 .type
= VCAP_FIELD_BIT
,
1800 [VCAP_KF_L4_FIN
] = {
1801 .type
= VCAP_FIELD_BIT
,
1805 [VCAP_KF_L4_SYN
] = {
1806 .type
= VCAP_FIELD_BIT
,
1810 [VCAP_KF_L4_RST
] = {
1811 .type
= VCAP_FIELD_BIT
,
1815 [VCAP_KF_L4_PSH
] = {
1816 .type
= VCAP_FIELD_BIT
,
1820 [VCAP_KF_L4_ACK
] = {
1821 .type
= VCAP_FIELD_BIT
,
1825 [VCAP_KF_L4_URG
] = {
1826 .type
= VCAP_FIELD_BIT
,
1830 [VCAP_KF_L4_PAYLOAD
] = {
1831 .type
= VCAP_FIELD_U64
,
1837 static const struct vcap_field es2_ip4_other_keyfield
[] = {
1839 .type
= VCAP_FIELD_U32
,
1843 [VCAP_KF_LOOKUP_FIRST_IS
] = {
1844 .type
= VCAP_FIELD_BIT
,
1848 [VCAP_KF_L2_MC_IS
] = {
1849 .type
= VCAP_FIELD_BIT
,
1853 [VCAP_KF_L2_BC_IS
] = {
1854 .type
= VCAP_FIELD_BIT
,
1858 [VCAP_KF_ISDX_GT0_IS
] = {
1859 .type
= VCAP_FIELD_BIT
,
1863 [VCAP_KF_ISDX_CLS
] = {
1864 .type
= VCAP_FIELD_U32
,
1868 [VCAP_KF_8021Q_VLAN_TAGGED_IS
] = {
1869 .type
= VCAP_FIELD_BIT
,
1873 [VCAP_KF_8021Q_VID_CLS
] = {
1874 .type
= VCAP_FIELD_U32
,
1878 [VCAP_KF_IF_EGR_PORT_MASK_RNG
] = {
1879 .type
= VCAP_FIELD_U32
,
1883 [VCAP_KF_IF_EGR_PORT_MASK
] = {
1884 .type
= VCAP_FIELD_U32
,
1888 [VCAP_KF_IF_IGR_PORT_SEL
] = {
1889 .type
= VCAP_FIELD_BIT
,
1893 [VCAP_KF_IF_IGR_PORT
] = {
1894 .type
= VCAP_FIELD_U32
,
1898 [VCAP_KF_8021Q_PCP_CLS
] = {
1899 .type
= VCAP_FIELD_U32
,
1903 [VCAP_KF_8021Q_DEI_CLS
] = {
1904 .type
= VCAP_FIELD_BIT
,
1908 [VCAP_KF_COSID_CLS
] = {
1909 .type
= VCAP_FIELD_U32
,
1913 [VCAP_KF_L3_DPL_CLS
] = {
1914 .type
= VCAP_FIELD_BIT
,
1918 [VCAP_KF_L3_RT_IS
] = {
1919 .type
= VCAP_FIELD_BIT
,
1923 [VCAP_KF_IP4_IS
] = {
1924 .type
= VCAP_FIELD_BIT
,
1928 [VCAP_KF_L3_FRAGMENT_TYPE
] = {
1929 .type
= VCAP_FIELD_U32
,
1933 [VCAP_KF_L3_OPTIONS_IS
] = {
1934 .type
= VCAP_FIELD_BIT
,
1938 [VCAP_KF_L3_TTL_GT0
] = {
1939 .type
= VCAP_FIELD_BIT
,
1943 [VCAP_KF_L3_TOS
] = {
1944 .type
= VCAP_FIELD_U32
,
1948 [VCAP_KF_L3_IP4_DIP
] = {
1949 .type
= VCAP_FIELD_U32
,
1953 [VCAP_KF_L3_IP4_SIP
] = {
1954 .type
= VCAP_FIELD_U32
,
1958 [VCAP_KF_L3_DIP_EQ_SIP_IS
] = {
1959 .type
= VCAP_FIELD_BIT
,
1963 [VCAP_KF_L3_IP_PROTO
] = {
1964 .type
= VCAP_FIELD_U32
,
1968 [VCAP_KF_L3_PAYLOAD
] = {
1969 .type
= VCAP_FIELD_U112
,
1975 static const struct vcap_field es2_ip_7tuple_keyfield
[] = {
1976 [VCAP_KF_LOOKUP_FIRST_IS
] = {
1977 .type
= VCAP_FIELD_BIT
,
1981 [VCAP_KF_L2_MC_IS
] = {
1982 .type
= VCAP_FIELD_BIT
,
1986 [VCAP_KF_L2_BC_IS
] = {
1987 .type
= VCAP_FIELD_BIT
,
1991 [VCAP_KF_ISDX_GT0_IS
] = {
1992 .type
= VCAP_FIELD_BIT
,
1996 [VCAP_KF_ISDX_CLS
] = {
1997 .type
= VCAP_FIELD_U32
,
2001 [VCAP_KF_8021Q_VLAN_TAGGED_IS
] = {
2002 .type
= VCAP_FIELD_BIT
,
2006 [VCAP_KF_8021Q_VID_CLS
] = {
2007 .type
= VCAP_FIELD_U32
,
2011 [VCAP_KF_IF_EGR_PORT_MASK_RNG
] = {
2012 .type
= VCAP_FIELD_U32
,
2016 [VCAP_KF_IF_EGR_PORT_MASK
] = {
2017 .type
= VCAP_FIELD_U32
,
2021 [VCAP_KF_IF_IGR_PORT_SEL
] = {
2022 .type
= VCAP_FIELD_BIT
,
2026 [VCAP_KF_IF_IGR_PORT
] = {
2027 .type
= VCAP_FIELD_U32
,
2031 [VCAP_KF_8021Q_PCP_CLS
] = {
2032 .type
= VCAP_FIELD_U32
,
2036 [VCAP_KF_8021Q_DEI_CLS
] = {
2037 .type
= VCAP_FIELD_BIT
,
2041 [VCAP_KF_COSID_CLS
] = {
2042 .type
= VCAP_FIELD_U32
,
2046 [VCAP_KF_L3_DPL_CLS
] = {
2047 .type
= VCAP_FIELD_BIT
,
2051 [VCAP_KF_L3_RT_IS
] = {
2052 .type
= VCAP_FIELD_BIT
,
2056 [VCAP_KF_L2_DMAC
] = {
2057 .type
= VCAP_FIELD_U48
,
2061 [VCAP_KF_L2_SMAC
] = {
2062 .type
= VCAP_FIELD_U48
,
2066 [VCAP_KF_IP4_IS
] = {
2067 .type
= VCAP_FIELD_BIT
,
2071 [VCAP_KF_L3_TTL_GT0
] = {
2072 .type
= VCAP_FIELD_BIT
,
2076 [VCAP_KF_L3_TOS
] = {
2077 .type
= VCAP_FIELD_U32
,
2081 [VCAP_KF_L3_IP6_DIP
] = {
2082 .type
= VCAP_FIELD_U128
,
2086 [VCAP_KF_L3_IP6_SIP
] = {
2087 .type
= VCAP_FIELD_U128
,
2091 [VCAP_KF_L3_DIP_EQ_SIP_IS
] = {
2092 .type
= VCAP_FIELD_BIT
,
2096 [VCAP_KF_TCP_UDP_IS
] = {
2097 .type
= VCAP_FIELD_BIT
,
2101 [VCAP_KF_TCP_IS
] = {
2102 .type
= VCAP_FIELD_BIT
,
2106 [VCAP_KF_L4_DPORT
] = {
2107 .type
= VCAP_FIELD_U32
,
2111 [VCAP_KF_L4_SPORT
] = {
2112 .type
= VCAP_FIELD_U32
,
2116 [VCAP_KF_L4_RNG
] = {
2117 .type
= VCAP_FIELD_U32
,
2121 [VCAP_KF_L4_SPORT_EQ_DPORT_IS
] = {
2122 .type
= VCAP_FIELD_BIT
,
2126 [VCAP_KF_L4_SEQUENCE_EQ0_IS
] = {
2127 .type
= VCAP_FIELD_BIT
,
2131 [VCAP_KF_L4_FIN
] = {
2132 .type
= VCAP_FIELD_BIT
,
2136 [VCAP_KF_L4_SYN
] = {
2137 .type
= VCAP_FIELD_BIT
,
2141 [VCAP_KF_L4_RST
] = {
2142 .type
= VCAP_FIELD_BIT
,
2146 [VCAP_KF_L4_PSH
] = {
2147 .type
= VCAP_FIELD_BIT
,
2151 [VCAP_KF_L4_ACK
] = {
2152 .type
= VCAP_FIELD_BIT
,
2156 [VCAP_KF_L4_URG
] = {
2157 .type
= VCAP_FIELD_BIT
,
2161 [VCAP_KF_L4_PAYLOAD
] = {
2162 .type
= VCAP_FIELD_U64
,
2168 static const struct vcap_field es2_ip6_std_keyfield
[] = {
2170 .type
= VCAP_FIELD_U32
,
2174 [VCAP_KF_LOOKUP_FIRST_IS
] = {
2175 .type
= VCAP_FIELD_BIT
,
2179 [VCAP_KF_L2_MC_IS
] = {
2180 .type
= VCAP_FIELD_BIT
,
2184 [VCAP_KF_L2_BC_IS
] = {
2185 .type
= VCAP_FIELD_BIT
,
2189 [VCAP_KF_ISDX_GT0_IS
] = {
2190 .type
= VCAP_FIELD_BIT
,
2194 [VCAP_KF_ISDX_CLS
] = {
2195 .type
= VCAP_FIELD_U32
,
2199 [VCAP_KF_8021Q_VLAN_TAGGED_IS
] = {
2200 .type
= VCAP_FIELD_BIT
,
2204 [VCAP_KF_8021Q_VID_CLS
] = {
2205 .type
= VCAP_FIELD_U32
,
2209 [VCAP_KF_IF_EGR_PORT_MASK_RNG
] = {
2210 .type
= VCAP_FIELD_U32
,
2214 [VCAP_KF_IF_EGR_PORT_MASK
] = {
2215 .type
= VCAP_FIELD_U32
,
2219 [VCAP_KF_IF_IGR_PORT_SEL
] = {
2220 .type
= VCAP_FIELD_BIT
,
2224 [VCAP_KF_IF_IGR_PORT
] = {
2225 .type
= VCAP_FIELD_U32
,
2229 [VCAP_KF_8021Q_PCP_CLS
] = {
2230 .type
= VCAP_FIELD_U32
,
2234 [VCAP_KF_8021Q_DEI_CLS
] = {
2235 .type
= VCAP_FIELD_BIT
,
2239 [VCAP_KF_COSID_CLS
] = {
2240 .type
= VCAP_FIELD_U32
,
2244 [VCAP_KF_L3_DPL_CLS
] = {
2245 .type
= VCAP_FIELD_BIT
,
2249 [VCAP_KF_L3_RT_IS
] = {
2250 .type
= VCAP_FIELD_BIT
,
2254 [VCAP_KF_L3_TTL_GT0
] = {
2255 .type
= VCAP_FIELD_BIT
,
2259 [VCAP_KF_L3_IP6_SIP
] = {
2260 .type
= VCAP_FIELD_U128
,
2264 [VCAP_KF_L3_DIP_EQ_SIP_IS
] = {
2265 .type
= VCAP_FIELD_BIT
,
2269 [VCAP_KF_L3_IP_PROTO
] = {
2270 .type
= VCAP_FIELD_U32
,
2274 [VCAP_KF_L4_RNG
] = {
2275 .type
= VCAP_FIELD_U32
,
2279 [VCAP_KF_L3_PAYLOAD
] = {
2280 .type
= VCAP_FIELD_U48
,
2287 static const struct vcap_set is0_keyfield_set
[] = {
2288 [VCAP_KFS_NORMAL_7TUPLE
] = {
2293 [VCAP_KFS_NORMAL_5TUPLE_IP4
] = {
2300 static const struct vcap_set is2_keyfield_set
[] = {
2301 [VCAP_KFS_MAC_ETYPE
] = {
2311 [VCAP_KFS_IP4_TCP_UDP
] = {
2316 [VCAP_KFS_IP4_OTHER
] = {
2321 [VCAP_KFS_IP6_STD
] = {
2326 [VCAP_KFS_IP_7TUPLE
] = {
2333 static const struct vcap_set es0_keyfield_set
[] = {
2341 static const struct vcap_set es2_keyfield_set
[] = {
2342 [VCAP_KFS_MAC_ETYPE
] = {
2352 [VCAP_KFS_IP4_TCP_UDP
] = {
2357 [VCAP_KFS_IP4_OTHER
] = {
2362 [VCAP_KFS_IP_7TUPLE
] = {
2367 [VCAP_KFS_IP6_STD
] = {
2374 /* keyfield_set map */
2375 static const struct vcap_field
*is0_keyfield_set_map
[] = {
2376 [VCAP_KFS_NORMAL_7TUPLE
] = is0_normal_7tuple_keyfield
,
2377 [VCAP_KFS_NORMAL_5TUPLE_IP4
] = is0_normal_5tuple_ip4_keyfield
,
2380 static const struct vcap_field
*is2_keyfield_set_map
[] = {
2381 [VCAP_KFS_MAC_ETYPE
] = is2_mac_etype_keyfield
,
2382 [VCAP_KFS_ARP
] = is2_arp_keyfield
,
2383 [VCAP_KFS_IP4_TCP_UDP
] = is2_ip4_tcp_udp_keyfield
,
2384 [VCAP_KFS_IP4_OTHER
] = is2_ip4_other_keyfield
,
2385 [VCAP_KFS_IP6_STD
] = is2_ip6_std_keyfield
,
2386 [VCAP_KFS_IP_7TUPLE
] = is2_ip_7tuple_keyfield
,
2389 static const struct vcap_field
*es0_keyfield_set_map
[] = {
2390 [VCAP_KFS_ISDX
] = es0_isdx_keyfield
,
2393 static const struct vcap_field
*es2_keyfield_set_map
[] = {
2394 [VCAP_KFS_MAC_ETYPE
] = es2_mac_etype_keyfield
,
2395 [VCAP_KFS_ARP
] = es2_arp_keyfield
,
2396 [VCAP_KFS_IP4_TCP_UDP
] = es2_ip4_tcp_udp_keyfield
,
2397 [VCAP_KFS_IP4_OTHER
] = es2_ip4_other_keyfield
,
2398 [VCAP_KFS_IP_7TUPLE
] = es2_ip_7tuple_keyfield
,
2399 [VCAP_KFS_IP6_STD
] = es2_ip6_std_keyfield
,
2402 /* keyfield_set map sizes */
2403 static int is0_keyfield_set_map_size
[] = {
2404 [VCAP_KFS_NORMAL_7TUPLE
] = ARRAY_SIZE(is0_normal_7tuple_keyfield
),
2405 [VCAP_KFS_NORMAL_5TUPLE_IP4
] = ARRAY_SIZE(is0_normal_5tuple_ip4_keyfield
),
2408 static int is2_keyfield_set_map_size
[] = {
2409 [VCAP_KFS_MAC_ETYPE
] = ARRAY_SIZE(is2_mac_etype_keyfield
),
2410 [VCAP_KFS_ARP
] = ARRAY_SIZE(is2_arp_keyfield
),
2411 [VCAP_KFS_IP4_TCP_UDP
] = ARRAY_SIZE(is2_ip4_tcp_udp_keyfield
),
2412 [VCAP_KFS_IP4_OTHER
] = ARRAY_SIZE(is2_ip4_other_keyfield
),
2413 [VCAP_KFS_IP6_STD
] = ARRAY_SIZE(is2_ip6_std_keyfield
),
2414 [VCAP_KFS_IP_7TUPLE
] = ARRAY_SIZE(is2_ip_7tuple_keyfield
),
2417 static int es0_keyfield_set_map_size
[] = {
2418 [VCAP_KFS_ISDX
] = ARRAY_SIZE(es0_isdx_keyfield
),
2421 static int es2_keyfield_set_map_size
[] = {
2422 [VCAP_KFS_MAC_ETYPE
] = ARRAY_SIZE(es2_mac_etype_keyfield
),
2423 [VCAP_KFS_ARP
] = ARRAY_SIZE(es2_arp_keyfield
),
2424 [VCAP_KFS_IP4_TCP_UDP
] = ARRAY_SIZE(es2_ip4_tcp_udp_keyfield
),
2425 [VCAP_KFS_IP4_OTHER
] = ARRAY_SIZE(es2_ip4_other_keyfield
),
2426 [VCAP_KFS_IP_7TUPLE
] = ARRAY_SIZE(es2_ip_7tuple_keyfield
),
2427 [VCAP_KFS_IP6_STD
] = ARRAY_SIZE(es2_ip6_std_keyfield
),
2431 static const struct vcap_field is0_classification_actionfield
[] = {
2433 .type
= VCAP_FIELD_BIT
,
2437 [VCAP_AF_DSCP_ENA
] = {
2438 .type
= VCAP_FIELD_BIT
,
2442 [VCAP_AF_DSCP_VAL
] = {
2443 .type
= VCAP_FIELD_U32
,
2447 [VCAP_AF_QOS_ENA
] = {
2448 .type
= VCAP_FIELD_BIT
,
2452 [VCAP_AF_QOS_VAL
] = {
2453 .type
= VCAP_FIELD_U32
,
2457 [VCAP_AF_DP_ENA
] = {
2458 .type
= VCAP_FIELD_BIT
,
2462 [VCAP_AF_DP_VAL
] = {
2463 .type
= VCAP_FIELD_U32
,
2467 [VCAP_AF_DEI_ENA
] = {
2468 .type
= VCAP_FIELD_BIT
,
2472 [VCAP_AF_DEI_VAL
] = {
2473 .type
= VCAP_FIELD_BIT
,
2477 [VCAP_AF_PCP_ENA
] = {
2478 .type
= VCAP_FIELD_BIT
,
2482 [VCAP_AF_PCP_VAL
] = {
2483 .type
= VCAP_FIELD_U32
,
2487 [VCAP_AF_MAP_LOOKUP_SEL
] = {
2488 .type
= VCAP_FIELD_U32
,
2492 [VCAP_AF_MAP_KEY
] = {
2493 .type
= VCAP_FIELD_U32
,
2497 [VCAP_AF_MAP_IDX
] = {
2498 .type
= VCAP_FIELD_U32
,
2502 [VCAP_AF_CLS_VID_SEL
] = {
2503 .type
= VCAP_FIELD_U32
,
2507 [VCAP_AF_VID_VAL
] = {
2508 .type
= VCAP_FIELD_U32
,
2512 [VCAP_AF_ISDX_ADD_REPLACE_SEL
] = {
2513 .type
= VCAP_FIELD_BIT
,
2517 [VCAP_AF_ISDX_VAL
] = {
2518 .type
= VCAP_FIELD_U32
,
2522 [VCAP_AF_PAG_OVERRIDE_MASK
] = {
2523 .type
= VCAP_FIELD_U32
,
2527 [VCAP_AF_PAG_VAL
] = {
2528 .type
= VCAP_FIELD_U32
,
2532 [VCAP_AF_NXT_IDX_CTRL
] = {
2533 .type
= VCAP_FIELD_U32
,
2537 [VCAP_AF_NXT_IDX
] = {
2538 .type
= VCAP_FIELD_U32
,
2544 static const struct vcap_field is0_full_actionfield
[] = {
2545 [VCAP_AF_DSCP_ENA
] = {
2546 .type
= VCAP_FIELD_BIT
,
2550 [VCAP_AF_DSCP_VAL
] = {
2551 .type
= VCAP_FIELD_U32
,
2555 [VCAP_AF_QOS_ENA
] = {
2556 .type
= VCAP_FIELD_BIT
,
2560 [VCAP_AF_QOS_VAL
] = {
2561 .type
= VCAP_FIELD_U32
,
2565 [VCAP_AF_DP_ENA
] = {
2566 .type
= VCAP_FIELD_BIT
,
2570 [VCAP_AF_DP_VAL
] = {
2571 .type
= VCAP_FIELD_U32
,
2575 [VCAP_AF_DEI_ENA
] = {
2576 .type
= VCAP_FIELD_BIT
,
2580 [VCAP_AF_DEI_VAL
] = {
2581 .type
= VCAP_FIELD_BIT
,
2585 [VCAP_AF_PCP_ENA
] = {
2586 .type
= VCAP_FIELD_BIT
,
2590 [VCAP_AF_PCP_VAL
] = {
2591 .type
= VCAP_FIELD_U32
,
2595 [VCAP_AF_MAP_LOOKUP_SEL
] = {
2596 .type
= VCAP_FIELD_U32
,
2600 [VCAP_AF_MAP_KEY
] = {
2601 .type
= VCAP_FIELD_U32
,
2605 [VCAP_AF_MAP_IDX
] = {
2606 .type
= VCAP_FIELD_U32
,
2610 [VCAP_AF_CLS_VID_SEL
] = {
2611 .type
= VCAP_FIELD_U32
,
2615 [VCAP_AF_VID_VAL
] = {
2616 .type
= VCAP_FIELD_U32
,
2620 [VCAP_AF_ISDX_ADD_REPLACE_SEL
] = {
2621 .type
= VCAP_FIELD_BIT
,
2625 [VCAP_AF_ISDX_VAL
] = {
2626 .type
= VCAP_FIELD_U32
,
2630 [VCAP_AF_MASK_MODE
] = {
2631 .type
= VCAP_FIELD_U32
,
2635 [VCAP_AF_PORT_MASK
] = {
2636 .type
= VCAP_FIELD_U48
,
2640 [VCAP_AF_PAG_OVERRIDE_MASK
] = {
2641 .type
= VCAP_FIELD_U32
,
2645 [VCAP_AF_PAG_VAL
] = {
2646 .type
= VCAP_FIELD_U32
,
2650 [VCAP_AF_NXT_IDX_CTRL
] = {
2651 .type
= VCAP_FIELD_U32
,
2655 [VCAP_AF_NXT_IDX
] = {
2656 .type
= VCAP_FIELD_U32
,
2662 static const struct vcap_field is0_class_reduced_actionfield
[] = {
2664 .type
= VCAP_FIELD_BIT
,
2668 [VCAP_AF_QOS_ENA
] = {
2669 .type
= VCAP_FIELD_BIT
,
2673 [VCAP_AF_QOS_VAL
] = {
2674 .type
= VCAP_FIELD_U32
,
2678 [VCAP_AF_DP_ENA
] = {
2679 .type
= VCAP_FIELD_BIT
,
2683 [VCAP_AF_DP_VAL
] = {
2684 .type
= VCAP_FIELD_U32
,
2688 [VCAP_AF_MAP_LOOKUP_SEL
] = {
2689 .type
= VCAP_FIELD_U32
,
2693 [VCAP_AF_MAP_KEY
] = {
2694 .type
= VCAP_FIELD_U32
,
2698 [VCAP_AF_CLS_VID_SEL
] = {
2699 .type
= VCAP_FIELD_U32
,
2703 [VCAP_AF_VID_VAL
] = {
2704 .type
= VCAP_FIELD_U32
,
2708 [VCAP_AF_ISDX_ADD_REPLACE_SEL
] = {
2709 .type
= VCAP_FIELD_BIT
,
2713 [VCAP_AF_ISDX_VAL
] = {
2714 .type
= VCAP_FIELD_U32
,
2718 [VCAP_AF_NXT_IDX_CTRL
] = {
2719 .type
= VCAP_FIELD_U32
,
2723 [VCAP_AF_NXT_IDX
] = {
2724 .type
= VCAP_FIELD_U32
,
2730 static const struct vcap_field is2_base_type_actionfield
[] = {
2731 [VCAP_AF_PIPELINE_FORCE_ENA
] = {
2732 .type
= VCAP_FIELD_BIT
,
2736 [VCAP_AF_PIPELINE_PT
] = {
2737 .type
= VCAP_FIELD_U32
,
2741 [VCAP_AF_HIT_ME_ONCE
] = {
2742 .type
= VCAP_FIELD_BIT
,
2746 [VCAP_AF_INTR_ENA
] = {
2747 .type
= VCAP_FIELD_BIT
,
2751 [VCAP_AF_CPU_COPY_ENA
] = {
2752 .type
= VCAP_FIELD_BIT
,
2756 [VCAP_AF_CPU_QUEUE_NUM
] = {
2757 .type
= VCAP_FIELD_U32
,
2761 [VCAP_AF_LRN_DIS
] = {
2762 .type
= VCAP_FIELD_BIT
,
2766 [VCAP_AF_RT_DIS
] = {
2767 .type
= VCAP_FIELD_BIT
,
2771 [VCAP_AF_POLICE_ENA
] = {
2772 .type
= VCAP_FIELD_BIT
,
2776 [VCAP_AF_POLICE_IDX
] = {
2777 .type
= VCAP_FIELD_U32
,
2781 [VCAP_AF_IGNORE_PIPELINE_CTRL
] = {
2782 .type
= VCAP_FIELD_BIT
,
2786 [VCAP_AF_MASK_MODE
] = {
2787 .type
= VCAP_FIELD_U32
,
2791 [VCAP_AF_PORT_MASK
] = {
2792 .type
= VCAP_FIELD_U48
,
2796 [VCAP_AF_MIRROR_PROBE
] = {
2797 .type
= VCAP_FIELD_U32
,
2801 [VCAP_AF_MATCH_ID
] = {
2802 .type
= VCAP_FIELD_U32
,
2806 [VCAP_AF_MATCH_ID_MASK
] = {
2807 .type
= VCAP_FIELD_U32
,
2811 [VCAP_AF_CNT_ID
] = {
2812 .type
= VCAP_FIELD_U32
,
2818 static const struct vcap_field es0_es0_actionfield
[] = {
2819 [VCAP_AF_PUSH_OUTER_TAG
] = {
2820 .type
= VCAP_FIELD_U32
,
2824 [VCAP_AF_PUSH_INNER_TAG
] = {
2825 .type
= VCAP_FIELD_BIT
,
2829 [VCAP_AF_TAG_A_TPID_SEL
] = {
2830 .type
= VCAP_FIELD_U32
,
2834 [VCAP_AF_TAG_A_VID_SEL
] = {
2835 .type
= VCAP_FIELD_U32
,
2839 [VCAP_AF_TAG_A_PCP_SEL
] = {
2840 .type
= VCAP_FIELD_U32
,
2844 [VCAP_AF_TAG_A_DEI_SEL
] = {
2845 .type
= VCAP_FIELD_U32
,
2849 [VCAP_AF_TAG_B_TPID_SEL
] = {
2850 .type
= VCAP_FIELD_U32
,
2854 [VCAP_AF_TAG_B_VID_SEL
] = {
2855 .type
= VCAP_FIELD_U32
,
2859 [VCAP_AF_TAG_B_PCP_SEL
] = {
2860 .type
= VCAP_FIELD_U32
,
2864 [VCAP_AF_TAG_B_DEI_SEL
] = {
2865 .type
= VCAP_FIELD_U32
,
2869 [VCAP_AF_TAG_C_TPID_SEL
] = {
2870 .type
= VCAP_FIELD_U32
,
2874 [VCAP_AF_TAG_C_PCP_SEL
] = {
2875 .type
= VCAP_FIELD_U32
,
2879 [VCAP_AF_TAG_C_DEI_SEL
] = {
2880 .type
= VCAP_FIELD_U32
,
2884 [VCAP_AF_VID_A_VAL
] = {
2885 .type
= VCAP_FIELD_U32
,
2889 [VCAP_AF_PCP_A_VAL
] = {
2890 .type
= VCAP_FIELD_U32
,
2894 [VCAP_AF_DEI_A_VAL
] = {
2895 .type
= VCAP_FIELD_BIT
,
2899 [VCAP_AF_VID_B_VAL
] = {
2900 .type
= VCAP_FIELD_U32
,
2904 [VCAP_AF_PCP_B_VAL
] = {
2905 .type
= VCAP_FIELD_U32
,
2909 [VCAP_AF_DEI_B_VAL
] = {
2910 .type
= VCAP_FIELD_BIT
,
2914 [VCAP_AF_VID_C_VAL
] = {
2915 .type
= VCAP_FIELD_U32
,
2919 [VCAP_AF_PCP_C_VAL
] = {
2920 .type
= VCAP_FIELD_U32
,
2924 [VCAP_AF_DEI_C_VAL
] = {
2925 .type
= VCAP_FIELD_BIT
,
2929 [VCAP_AF_POP_VAL
] = {
2930 .type
= VCAP_FIELD_U32
,
2934 [VCAP_AF_UNTAG_VID_ENA
] = {
2935 .type
= VCAP_FIELD_BIT
,
2939 [VCAP_AF_PUSH_CUSTOMER_TAG
] = {
2940 .type
= VCAP_FIELD_U32
,
2944 [VCAP_AF_TAG_C_VID_SEL
] = {
2945 .type
= VCAP_FIELD_U32
,
2949 [VCAP_AF_DSCP_SEL
] = {
2950 .type
= VCAP_FIELD_U32
,
2954 [VCAP_AF_DSCP_VAL
] = {
2955 .type
= VCAP_FIELD_U32
,
2960 .type
= VCAP_FIELD_U32
,
2964 [VCAP_AF_FWD_SEL
] = {
2965 .type
= VCAP_FIELD_U32
,
2969 [VCAP_AF_CPU_QU
] = {
2970 .type
= VCAP_FIELD_U32
,
2974 [VCAP_AF_PIPELINE_PT
] = {
2975 .type
= VCAP_FIELD_U32
,
2979 [VCAP_AF_PIPELINE_ACT
] = {
2980 .type
= VCAP_FIELD_BIT
,
2984 [VCAP_AF_SWAP_MACS_ENA
] = {
2985 .type
= VCAP_FIELD_BIT
,
2989 [VCAP_AF_LOOP_ENA
] = {
2990 .type
= VCAP_FIELD_BIT
,
2996 static const struct vcap_field es2_base_type_actionfield
[] = {
2997 [VCAP_AF_HIT_ME_ONCE
] = {
2998 .type
= VCAP_FIELD_BIT
,
3002 [VCAP_AF_INTR_ENA
] = {
3003 .type
= VCAP_FIELD_BIT
,
3007 [VCAP_AF_FWD_MODE
] = {
3008 .type
= VCAP_FIELD_U32
,
3012 [VCAP_AF_COPY_QUEUE_NUM
] = {
3013 .type
= VCAP_FIELD_U32
,
3017 [VCAP_AF_COPY_PORT_NUM
] = {
3018 .type
= VCAP_FIELD_U32
,
3022 [VCAP_AF_MIRROR_PROBE_ID
] = {
3023 .type
= VCAP_FIELD_U32
,
3027 [VCAP_AF_CPU_COPY_ENA
] = {
3028 .type
= VCAP_FIELD_BIT
,
3032 [VCAP_AF_CPU_QUEUE_NUM
] = {
3033 .type
= VCAP_FIELD_U32
,
3037 [VCAP_AF_POLICE_ENA
] = {
3038 .type
= VCAP_FIELD_BIT
,
3042 [VCAP_AF_POLICE_REMARK
] = {
3043 .type
= VCAP_FIELD_BIT
,
3047 [VCAP_AF_POLICE_IDX
] = {
3048 .type
= VCAP_FIELD_U32
,
3052 [VCAP_AF_ES2_REW_CMD
] = {
3053 .type
= VCAP_FIELD_U32
,
3057 [VCAP_AF_CNT_ID
] = {
3058 .type
= VCAP_FIELD_U32
,
3062 [VCAP_AF_IGNORE_PIPELINE_CTRL
] = {
3063 .type
= VCAP_FIELD_BIT
,
3069 /* actionfield_set */
3070 static const struct vcap_set is0_actionfield_set
[] = {
3071 [VCAP_AFS_CLASSIFICATION
] = {
3081 [VCAP_AFS_CLASS_REDUCED
] = {
3088 static const struct vcap_set is2_actionfield_set
[] = {
3089 [VCAP_AFS_BASE_TYPE
] = {
3096 static const struct vcap_set es0_actionfield_set
[] = {
3104 static const struct vcap_set es2_actionfield_set
[] = {
3105 [VCAP_AFS_BASE_TYPE
] = {
3112 /* actionfield_set map */
3113 static const struct vcap_field
*is0_actionfield_set_map
[] = {
3114 [VCAP_AFS_CLASSIFICATION
] = is0_classification_actionfield
,
3115 [VCAP_AFS_FULL
] = is0_full_actionfield
,
3116 [VCAP_AFS_CLASS_REDUCED
] = is0_class_reduced_actionfield
,
3119 static const struct vcap_field
*is2_actionfield_set_map
[] = {
3120 [VCAP_AFS_BASE_TYPE
] = is2_base_type_actionfield
,
3123 static const struct vcap_field
*es0_actionfield_set_map
[] = {
3124 [VCAP_AFS_ES0
] = es0_es0_actionfield
,
3127 static const struct vcap_field
*es2_actionfield_set_map
[] = {
3128 [VCAP_AFS_BASE_TYPE
] = es2_base_type_actionfield
,
3131 /* actionfield_set map size */
3132 static int is0_actionfield_set_map_size
[] = {
3133 [VCAP_AFS_CLASSIFICATION
] = ARRAY_SIZE(is0_classification_actionfield
),
3134 [VCAP_AFS_FULL
] = ARRAY_SIZE(is0_full_actionfield
),
3135 [VCAP_AFS_CLASS_REDUCED
] = ARRAY_SIZE(is0_class_reduced_actionfield
),
3138 static int is2_actionfield_set_map_size
[] = {
3139 [VCAP_AFS_BASE_TYPE
] = ARRAY_SIZE(is2_base_type_actionfield
),
3142 static int es0_actionfield_set_map_size
[] = {
3143 [VCAP_AFS_ES0
] = ARRAY_SIZE(es0_es0_actionfield
),
3146 static int es2_actionfield_set_map_size
[] = {
3147 [VCAP_AFS_BASE_TYPE
] = ARRAY_SIZE(es2_base_type_actionfield
),
3151 static const struct vcap_typegroup is0_x12_keyfield_set_typegroups
[] = {
3215 static const struct vcap_typegroup is0_x6_keyfield_set_typegroups
[] = {
3249 static const struct vcap_typegroup is0_x3_keyfield_set_typegroups
[] = {
3253 static const struct vcap_typegroup is0_x2_keyfield_set_typegroups
[] = {
3257 static const struct vcap_typegroup is0_x1_keyfield_set_typegroups
[] = {
3261 static const struct vcap_typegroup is2_x12_keyfield_set_typegroups
[] = {
3285 static const struct vcap_typegroup is2_x6_keyfield_set_typegroups
[] = {
3299 static const struct vcap_typegroup is2_x3_keyfield_set_typegroups
[] = {
3303 static const struct vcap_typegroup is2_x1_keyfield_set_typegroups
[] = {
3307 static const struct vcap_typegroup es0_x1_keyfield_set_typegroups
[] = {
3311 static const struct vcap_typegroup es2_x12_keyfield_set_typegroups
[] = {
3335 static const struct vcap_typegroup es2_x6_keyfield_set_typegroups
[] = {
3349 static const struct vcap_typegroup es2_x3_keyfield_set_typegroups
[] = {
3353 static const struct vcap_typegroup es2_x1_keyfield_set_typegroups
[] = {
3357 static const struct vcap_typegroup
*is0_keyfield_set_typegroups
[] = {
3358 [12] = is0_x12_keyfield_set_typegroups
,
3359 [6] = is0_x6_keyfield_set_typegroups
,
3360 [3] = is0_x3_keyfield_set_typegroups
,
3361 [2] = is0_x2_keyfield_set_typegroups
,
3362 [1] = is0_x1_keyfield_set_typegroups
,
3366 static const struct vcap_typegroup
*is2_keyfield_set_typegroups
[] = {
3367 [12] = is2_x12_keyfield_set_typegroups
,
3368 [6] = is2_x6_keyfield_set_typegroups
,
3369 [3] = is2_x3_keyfield_set_typegroups
,
3370 [1] = is2_x1_keyfield_set_typegroups
,
3374 static const struct vcap_typegroup
*es0_keyfield_set_typegroups
[] = {
3375 [1] = es0_x1_keyfield_set_typegroups
,
3379 static const struct vcap_typegroup
*es2_keyfield_set_typegroups
[] = {
3380 [12] = es2_x12_keyfield_set_typegroups
,
3381 [6] = es2_x6_keyfield_set_typegroups
,
3382 [3] = es2_x3_keyfield_set_typegroups
,
3383 [1] = es2_x1_keyfield_set_typegroups
,
3387 static const struct vcap_typegroup is0_x3_actionfield_set_typegroups
[] = {
3406 static const struct vcap_typegroup is0_x2_actionfield_set_typegroups
[] = {
3420 static const struct vcap_typegroup is0_x1_actionfield_set_typegroups
[] = {
3429 static const struct vcap_typegroup is2_x3_actionfield_set_typegroups
[] = {
3448 static const struct vcap_typegroup is2_x1_actionfield_set_typegroups
[] = {
3452 static const struct vcap_typegroup es0_x1_actionfield_set_typegroups
[] = {
3456 static const struct vcap_typegroup es2_x3_actionfield_set_typegroups
[] = {
3475 static const struct vcap_typegroup es2_x1_actionfield_set_typegroups
[] = {
3479 static const struct vcap_typegroup
*is0_actionfield_set_typegroups
[] = {
3480 [3] = is0_x3_actionfield_set_typegroups
,
3481 [2] = is0_x2_actionfield_set_typegroups
,
3482 [1] = is0_x1_actionfield_set_typegroups
,
3486 static const struct vcap_typegroup
*is2_actionfield_set_typegroups
[] = {
3487 [3] = is2_x3_actionfield_set_typegroups
,
3488 [1] = is2_x1_actionfield_set_typegroups
,
3492 static const struct vcap_typegroup
*es0_actionfield_set_typegroups
[] = {
3493 [1] = es0_x1_actionfield_set_typegroups
,
3497 static const struct vcap_typegroup
*es2_actionfield_set_typegroups
[] = {
3498 [3] = es2_x3_actionfield_set_typegroups
,
3499 [1] = es2_x1_actionfield_set_typegroups
,
3503 /* Keyfieldset names */
3504 static const char * const vcap_keyfield_set_names
[] = {
3505 [VCAP_KFS_NO_VALUE
] = "(None)",
3506 [VCAP_KFS_ARP
] = "VCAP_KFS_ARP",
3507 [VCAP_KFS_ETAG
] = "VCAP_KFS_ETAG",
3508 [VCAP_KFS_IP4_OTHER
] = "VCAP_KFS_IP4_OTHER",
3509 [VCAP_KFS_IP4_TCP_UDP
] = "VCAP_KFS_IP4_TCP_UDP",
3510 [VCAP_KFS_IP4_VID
] = "VCAP_KFS_IP4_VID",
3511 [VCAP_KFS_IP6_OTHER
] = "VCAP_KFS_IP6_OTHER",
3512 [VCAP_KFS_IP6_STD
] = "VCAP_KFS_IP6_STD",
3513 [VCAP_KFS_IP6_TCP_UDP
] = "VCAP_KFS_IP6_TCP_UDP",
3514 [VCAP_KFS_IP6_VID
] = "VCAP_KFS_IP6_VID",
3515 [VCAP_KFS_IP_7TUPLE
] = "VCAP_KFS_IP_7TUPLE",
3516 [VCAP_KFS_ISDX
] = "VCAP_KFS_ISDX",
3517 [VCAP_KFS_LL_FULL
] = "VCAP_KFS_LL_FULL",
3518 [VCAP_KFS_MAC_ETYPE
] = "VCAP_KFS_MAC_ETYPE",
3519 [VCAP_KFS_MAC_LLC
] = "VCAP_KFS_MAC_LLC",
3520 [VCAP_KFS_MAC_SNAP
] = "VCAP_KFS_MAC_SNAP",
3521 [VCAP_KFS_NORMAL_5TUPLE_IP4
] = "VCAP_KFS_NORMAL_5TUPLE_IP4",
3522 [VCAP_KFS_NORMAL_7TUPLE
] = "VCAP_KFS_NORMAL_7TUPLE",
3523 [VCAP_KFS_OAM
] = "VCAP_KFS_OAM",
3524 [VCAP_KFS_PURE_5TUPLE_IP4
] = "VCAP_KFS_PURE_5TUPLE_IP4",
3525 [VCAP_KFS_SMAC_SIP4
] = "VCAP_KFS_SMAC_SIP4",
3526 [VCAP_KFS_SMAC_SIP6
] = "VCAP_KFS_SMAC_SIP6",
3529 /* Actionfieldset names */
3530 static const char * const vcap_actionfield_set_names
[] = {
3531 [VCAP_AFS_NO_VALUE
] = "(None)",
3532 [VCAP_AFS_BASE_TYPE
] = "VCAP_AFS_BASE_TYPE",
3533 [VCAP_AFS_CLASSIFICATION
] = "VCAP_AFS_CLASSIFICATION",
3534 [VCAP_AFS_CLASS_REDUCED
] = "VCAP_AFS_CLASS_REDUCED",
3535 [VCAP_AFS_ES0
] = "VCAP_AFS_ES0",
3536 [VCAP_AFS_FULL
] = "VCAP_AFS_FULL",
3537 [VCAP_AFS_SMAC_SIP
] = "VCAP_AFS_SMAC_SIP",
3540 /* Keyfield names */
3541 static const char * const vcap_keyfield_names
[] = {
3542 [VCAP_KF_NO_VALUE
] = "(None)",
3543 [VCAP_KF_8021BR_ECID_BASE
] = "8021BR_ECID_BASE",
3544 [VCAP_KF_8021BR_ECID_EXT
] = "8021BR_ECID_EXT",
3545 [VCAP_KF_8021BR_E_TAGGED
] = "8021BR_E_TAGGED",
3546 [VCAP_KF_8021BR_GRP
] = "8021BR_GRP",
3547 [VCAP_KF_8021BR_IGR_ECID_BASE
] = "8021BR_IGR_ECID_BASE",
3548 [VCAP_KF_8021BR_IGR_ECID_EXT
] = "8021BR_IGR_ECID_EXT",
3549 [VCAP_KF_8021Q_DEI0
] = "8021Q_DEI0",
3550 [VCAP_KF_8021Q_DEI1
] = "8021Q_DEI1",
3551 [VCAP_KF_8021Q_DEI2
] = "8021Q_DEI2",
3552 [VCAP_KF_8021Q_DEI_CLS
] = "8021Q_DEI_CLS",
3553 [VCAP_KF_8021Q_PCP0
] = "8021Q_PCP0",
3554 [VCAP_KF_8021Q_PCP1
] = "8021Q_PCP1",
3555 [VCAP_KF_8021Q_PCP2
] = "8021Q_PCP2",
3556 [VCAP_KF_8021Q_PCP_CLS
] = "8021Q_PCP_CLS",
3557 [VCAP_KF_8021Q_TPID
] = "8021Q_TPID",
3558 [VCAP_KF_8021Q_TPID0
] = "8021Q_TPID0",
3559 [VCAP_KF_8021Q_TPID1
] = "8021Q_TPID1",
3560 [VCAP_KF_8021Q_TPID2
] = "8021Q_TPID2",
3561 [VCAP_KF_8021Q_VID0
] = "8021Q_VID0",
3562 [VCAP_KF_8021Q_VID1
] = "8021Q_VID1",
3563 [VCAP_KF_8021Q_VID2
] = "8021Q_VID2",
3564 [VCAP_KF_8021Q_VID_CLS
] = "8021Q_VID_CLS",
3565 [VCAP_KF_8021Q_VLAN_TAGGED_IS
] = "8021Q_VLAN_TAGGED_IS",
3566 [VCAP_KF_8021Q_VLAN_TAGS
] = "8021Q_VLAN_TAGS",
3567 [VCAP_KF_ACL_GRP_ID
] = "ACL_GRP_ID",
3568 [VCAP_KF_ARP_ADDR_SPACE_OK_IS
] = "ARP_ADDR_SPACE_OK_IS",
3569 [VCAP_KF_ARP_LEN_OK_IS
] = "ARP_LEN_OK_IS",
3570 [VCAP_KF_ARP_OPCODE
] = "ARP_OPCODE",
3571 [VCAP_KF_ARP_OPCODE_UNKNOWN_IS
] = "ARP_OPCODE_UNKNOWN_IS",
3572 [VCAP_KF_ARP_PROTO_SPACE_OK_IS
] = "ARP_PROTO_SPACE_OK_IS",
3573 [VCAP_KF_ARP_SENDER_MATCH_IS
] = "ARP_SENDER_MATCH_IS",
3574 [VCAP_KF_ARP_TGT_MATCH_IS
] = "ARP_TGT_MATCH_IS",
3575 [VCAP_KF_COSID_CLS
] = "COSID_CLS",
3576 [VCAP_KF_ES0_ISDX_KEY_ENA
] = "ES0_ISDX_KEY_ENA",
3577 [VCAP_KF_ETYPE
] = "ETYPE",
3578 [VCAP_KF_ETYPE_LEN_IS
] = "ETYPE_LEN_IS",
3579 [VCAP_KF_HOST_MATCH
] = "HOST_MATCH",
3580 [VCAP_KF_IF_EGR_PORT_MASK
] = "IF_EGR_PORT_MASK",
3581 [VCAP_KF_IF_EGR_PORT_MASK_RNG
] = "IF_EGR_PORT_MASK_RNG",
3582 [VCAP_KF_IF_EGR_PORT_NO
] = "IF_EGR_PORT_NO",
3583 [VCAP_KF_IF_IGR_PORT
] = "IF_IGR_PORT",
3584 [VCAP_KF_IF_IGR_PORT_MASK
] = "IF_IGR_PORT_MASK",
3585 [VCAP_KF_IF_IGR_PORT_MASK_L3
] = "IF_IGR_PORT_MASK_L3",
3586 [VCAP_KF_IF_IGR_PORT_MASK_RNG
] = "IF_IGR_PORT_MASK_RNG",
3587 [VCAP_KF_IF_IGR_PORT_MASK_SEL
] = "IF_IGR_PORT_MASK_SEL",
3588 [VCAP_KF_IF_IGR_PORT_SEL
] = "IF_IGR_PORT_SEL",
3589 [VCAP_KF_IP4_IS
] = "IP4_IS",
3590 [VCAP_KF_IP_MC_IS
] = "IP_MC_IS",
3591 [VCAP_KF_IP_PAYLOAD_5TUPLE
] = "IP_PAYLOAD_5TUPLE",
3592 [VCAP_KF_IP_SNAP_IS
] = "IP_SNAP_IS",
3593 [VCAP_KF_ISDX_CLS
] = "ISDX_CLS",
3594 [VCAP_KF_ISDX_GT0_IS
] = "ISDX_GT0_IS",
3595 [VCAP_KF_L2_BC_IS
] = "L2_BC_IS",
3596 [VCAP_KF_L2_DMAC
] = "L2_DMAC",
3597 [VCAP_KF_L2_FRM_TYPE
] = "L2_FRM_TYPE",
3598 [VCAP_KF_L2_FWD_IS
] = "L2_FWD_IS",
3599 [VCAP_KF_L2_LLC
] = "L2_LLC",
3600 [VCAP_KF_L2_MC_IS
] = "L2_MC_IS",
3601 [VCAP_KF_L2_PAYLOAD0
] = "L2_PAYLOAD0",
3602 [VCAP_KF_L2_PAYLOAD1
] = "L2_PAYLOAD1",
3603 [VCAP_KF_L2_PAYLOAD2
] = "L2_PAYLOAD2",
3604 [VCAP_KF_L2_PAYLOAD_ETYPE
] = "L2_PAYLOAD_ETYPE",
3605 [VCAP_KF_L2_SMAC
] = "L2_SMAC",
3606 [VCAP_KF_L2_SNAP
] = "L2_SNAP",
3607 [VCAP_KF_L3_DIP_EQ_SIP_IS
] = "L3_DIP_EQ_SIP_IS",
3608 [VCAP_KF_L3_DPL_CLS
] = "L3_DPL_CLS",
3609 [VCAP_KF_L3_DSCP
] = "L3_DSCP",
3610 [VCAP_KF_L3_DST_IS
] = "L3_DST_IS",
3611 [VCAP_KF_L3_FRAGMENT
] = "L3_FRAGMENT",
3612 [VCAP_KF_L3_FRAGMENT_TYPE
] = "L3_FRAGMENT_TYPE",
3613 [VCAP_KF_L3_FRAG_INVLD_L4_LEN
] = "L3_FRAG_INVLD_L4_LEN",
3614 [VCAP_KF_L3_FRAG_OFS_GT0
] = "L3_FRAG_OFS_GT0",
3615 [VCAP_KF_L3_IP4_DIP
] = "L3_IP4_DIP",
3616 [VCAP_KF_L3_IP4_SIP
] = "L3_IP4_SIP",
3617 [VCAP_KF_L3_IP6_DIP
] = "L3_IP6_DIP",
3618 [VCAP_KF_L3_IP6_SIP
] = "L3_IP6_SIP",
3619 [VCAP_KF_L3_IP_PROTO
] = "L3_IP_PROTO",
3620 [VCAP_KF_L3_OPTIONS_IS
] = "L3_OPTIONS_IS",
3621 [VCAP_KF_L3_PAYLOAD
] = "L3_PAYLOAD",
3622 [VCAP_KF_L3_RT_IS
] = "L3_RT_IS",
3623 [VCAP_KF_L3_TOS
] = "L3_TOS",
3624 [VCAP_KF_L3_TTL_GT0
] = "L3_TTL_GT0",
3625 [VCAP_KF_L4_1588_DOM
] = "L4_1588_DOM",
3626 [VCAP_KF_L4_1588_VER
] = "L4_1588_VER",
3627 [VCAP_KF_L4_ACK
] = "L4_ACK",
3628 [VCAP_KF_L4_DPORT
] = "L4_DPORT",
3629 [VCAP_KF_L4_FIN
] = "L4_FIN",
3630 [VCAP_KF_L4_PAYLOAD
] = "L4_PAYLOAD",
3631 [VCAP_KF_L4_PSH
] = "L4_PSH",
3632 [VCAP_KF_L4_RNG
] = "L4_RNG",
3633 [VCAP_KF_L4_RST
] = "L4_RST",
3634 [VCAP_KF_L4_SEQUENCE_EQ0_IS
] = "L4_SEQUENCE_EQ0_IS",
3635 [VCAP_KF_L4_SPORT
] = "L4_SPORT",
3636 [VCAP_KF_L4_SPORT_EQ_DPORT_IS
] = "L4_SPORT_EQ_DPORT_IS",
3637 [VCAP_KF_L4_SYN
] = "L4_SYN",
3638 [VCAP_KF_L4_URG
] = "L4_URG",
3639 [VCAP_KF_LOOKUP_FIRST_IS
] = "LOOKUP_FIRST_IS",
3640 [VCAP_KF_LOOKUP_GEN_IDX
] = "LOOKUP_GEN_IDX",
3641 [VCAP_KF_LOOKUP_GEN_IDX_SEL
] = "LOOKUP_GEN_IDX_SEL",
3642 [VCAP_KF_LOOKUP_PAG
] = "LOOKUP_PAG",
3643 [VCAP_KF_MIRROR_PROBE
] = "MIRROR_PROBE",
3644 [VCAP_KF_OAM_CCM_CNTS_EQ0
] = "OAM_CCM_CNTS_EQ0",
3645 [VCAP_KF_OAM_DETECTED
] = "OAM_DETECTED",
3646 [VCAP_KF_OAM_FLAGS
] = "OAM_FLAGS",
3647 [VCAP_KF_OAM_MEL_FLAGS
] = "OAM_MEL_FLAGS",
3648 [VCAP_KF_OAM_MEPID
] = "OAM_MEPID",
3649 [VCAP_KF_OAM_OPCODE
] = "OAM_OPCODE",
3650 [VCAP_KF_OAM_VER
] = "OAM_VER",
3651 [VCAP_KF_OAM_Y1731_IS
] = "OAM_Y1731_IS",
3652 [VCAP_KF_PROT_ACTIVE
] = "PROT_ACTIVE",
3653 [VCAP_KF_TCP_IS
] = "TCP_IS",
3654 [VCAP_KF_TCP_UDP_IS
] = "TCP_UDP_IS",
3655 [VCAP_KF_TYPE
] = "TYPE",
3658 /* Actionfield names */
3659 static const char * const vcap_actionfield_names
[] = {
3660 [VCAP_AF_NO_VALUE
] = "(None)",
3661 [VCAP_AF_ACL_ID
] = "ACL_ID",
3662 [VCAP_AF_CLS_VID_SEL
] = "CLS_VID_SEL",
3663 [VCAP_AF_CNT_ID
] = "CNT_ID",
3664 [VCAP_AF_COPY_PORT_NUM
] = "COPY_PORT_NUM",
3665 [VCAP_AF_COPY_QUEUE_NUM
] = "COPY_QUEUE_NUM",
3666 [VCAP_AF_CPU_COPY_ENA
] = "CPU_COPY_ENA",
3667 [VCAP_AF_CPU_QU
] = "CPU_QU",
3668 [VCAP_AF_CPU_QUEUE_NUM
] = "CPU_QUEUE_NUM",
3669 [VCAP_AF_DEI_A_VAL
] = "DEI_A_VAL",
3670 [VCAP_AF_DEI_B_VAL
] = "DEI_B_VAL",
3671 [VCAP_AF_DEI_C_VAL
] = "DEI_C_VAL",
3672 [VCAP_AF_DEI_ENA
] = "DEI_ENA",
3673 [VCAP_AF_DEI_VAL
] = "DEI_VAL",
3674 [VCAP_AF_DP_ENA
] = "DP_ENA",
3675 [VCAP_AF_DP_VAL
] = "DP_VAL",
3676 [VCAP_AF_DSCP_ENA
] = "DSCP_ENA",
3677 [VCAP_AF_DSCP_SEL
] = "DSCP_SEL",
3678 [VCAP_AF_DSCP_VAL
] = "DSCP_VAL",
3679 [VCAP_AF_ES2_REW_CMD
] = "ES2_REW_CMD",
3680 [VCAP_AF_ESDX
] = "ESDX",
3681 [VCAP_AF_FWD_KILL_ENA
] = "FWD_KILL_ENA",
3682 [VCAP_AF_FWD_MODE
] = "FWD_MODE",
3683 [VCAP_AF_FWD_SEL
] = "FWD_SEL",
3684 [VCAP_AF_HIT_ME_ONCE
] = "HIT_ME_ONCE",
3685 [VCAP_AF_HOST_MATCH
] = "HOST_MATCH",
3686 [VCAP_AF_IGNORE_PIPELINE_CTRL
] = "IGNORE_PIPELINE_CTRL",
3687 [VCAP_AF_INTR_ENA
] = "INTR_ENA",
3688 [VCAP_AF_ISDX_ADD_REPLACE_SEL
] = "ISDX_ADD_REPLACE_SEL",
3689 [VCAP_AF_ISDX_ENA
] = "ISDX_ENA",
3690 [VCAP_AF_ISDX_VAL
] = "ISDX_VAL",
3691 [VCAP_AF_LOOP_ENA
] = "LOOP_ENA",
3692 [VCAP_AF_LRN_DIS
] = "LRN_DIS",
3693 [VCAP_AF_MAP_IDX
] = "MAP_IDX",
3694 [VCAP_AF_MAP_KEY
] = "MAP_KEY",
3695 [VCAP_AF_MAP_LOOKUP_SEL
] = "MAP_LOOKUP_SEL",
3696 [VCAP_AF_MASK_MODE
] = "MASK_MODE",
3697 [VCAP_AF_MATCH_ID
] = "MATCH_ID",
3698 [VCAP_AF_MATCH_ID_MASK
] = "MATCH_ID_MASK",
3699 [VCAP_AF_MIRROR_ENA
] = "MIRROR_ENA",
3700 [VCAP_AF_MIRROR_PROBE
] = "MIRROR_PROBE",
3701 [VCAP_AF_MIRROR_PROBE_ID
] = "MIRROR_PROBE_ID",
3702 [VCAP_AF_NXT_IDX
] = "NXT_IDX",
3703 [VCAP_AF_NXT_IDX_CTRL
] = "NXT_IDX_CTRL",
3704 [VCAP_AF_PAG_OVERRIDE_MASK
] = "PAG_OVERRIDE_MASK",
3705 [VCAP_AF_PAG_VAL
] = "PAG_VAL",
3706 [VCAP_AF_PCP_A_VAL
] = "PCP_A_VAL",
3707 [VCAP_AF_PCP_B_VAL
] = "PCP_B_VAL",
3708 [VCAP_AF_PCP_C_VAL
] = "PCP_C_VAL",
3709 [VCAP_AF_PCP_ENA
] = "PCP_ENA",
3710 [VCAP_AF_PCP_VAL
] = "PCP_VAL",
3711 [VCAP_AF_PIPELINE_ACT
] = "PIPELINE_ACT",
3712 [VCAP_AF_PIPELINE_FORCE_ENA
] = "PIPELINE_FORCE_ENA",
3713 [VCAP_AF_PIPELINE_PT
] = "PIPELINE_PT",
3714 [VCAP_AF_POLICE_ENA
] = "POLICE_ENA",
3715 [VCAP_AF_POLICE_IDX
] = "POLICE_IDX",
3716 [VCAP_AF_POLICE_REMARK
] = "POLICE_REMARK",
3717 [VCAP_AF_POLICE_VCAP_ONLY
] = "POLICE_VCAP_ONLY",
3718 [VCAP_AF_POP_VAL
] = "POP_VAL",
3719 [VCAP_AF_PORT_MASK
] = "PORT_MASK",
3720 [VCAP_AF_PUSH_CUSTOMER_TAG
] = "PUSH_CUSTOMER_TAG",
3721 [VCAP_AF_PUSH_INNER_TAG
] = "PUSH_INNER_TAG",
3722 [VCAP_AF_PUSH_OUTER_TAG
] = "PUSH_OUTER_TAG",
3723 [VCAP_AF_QOS_ENA
] = "QOS_ENA",
3724 [VCAP_AF_QOS_VAL
] = "QOS_VAL",
3725 [VCAP_AF_REW_OP
] = "REW_OP",
3726 [VCAP_AF_RT_DIS
] = "RT_DIS",
3727 [VCAP_AF_SWAP_MACS_ENA
] = "SWAP_MACS_ENA",
3728 [VCAP_AF_TAG_A_DEI_SEL
] = "TAG_A_DEI_SEL",
3729 [VCAP_AF_TAG_A_PCP_SEL
] = "TAG_A_PCP_SEL",
3730 [VCAP_AF_TAG_A_TPID_SEL
] = "TAG_A_TPID_SEL",
3731 [VCAP_AF_TAG_A_VID_SEL
] = "TAG_A_VID_SEL",
3732 [VCAP_AF_TAG_B_DEI_SEL
] = "TAG_B_DEI_SEL",
3733 [VCAP_AF_TAG_B_PCP_SEL
] = "TAG_B_PCP_SEL",
3734 [VCAP_AF_TAG_B_TPID_SEL
] = "TAG_B_TPID_SEL",
3735 [VCAP_AF_TAG_B_VID_SEL
] = "TAG_B_VID_SEL",
3736 [VCAP_AF_TAG_C_DEI_SEL
] = "TAG_C_DEI_SEL",
3737 [VCAP_AF_TAG_C_PCP_SEL
] = "TAG_C_PCP_SEL",
3738 [VCAP_AF_TAG_C_TPID_SEL
] = "TAG_C_TPID_SEL",
3739 [VCAP_AF_TAG_C_VID_SEL
] = "TAG_C_VID_SEL",
3740 [VCAP_AF_TYPE
] = "TYPE",
3741 [VCAP_AF_UNTAG_VID_ENA
] = "UNTAG_VID_ENA",
3742 [VCAP_AF_VID_A_VAL
] = "VID_A_VAL",
3743 [VCAP_AF_VID_B_VAL
] = "VID_B_VAL",
3744 [VCAP_AF_VID_C_VAL
] = "VID_C_VAL",
3745 [VCAP_AF_VID_VAL
] = "VID_VAL",
3749 const struct vcap_info lan969x_vcaps
[] = {
3758 .require_cnt_dis
= 0,
3760 .keyfield_set
= is0_keyfield_set
,
3761 .keyfield_set_size
= ARRAY_SIZE(is0_keyfield_set
),
3762 .actionfield_set
= is0_actionfield_set
,
3763 .actionfield_set_size
= ARRAY_SIZE(is0_actionfield_set
),
3764 .keyfield_set_map
= is0_keyfield_set_map
,
3765 .keyfield_set_map_size
= is0_keyfield_set_map_size
,
3766 .actionfield_set_map
= is0_actionfield_set_map
,
3767 .actionfield_set_map_size
= is0_actionfield_set_map_size
,
3768 .keyfield_set_typegroups
= is0_keyfield_set_typegroups
,
3769 .actionfield_set_typegroups
= is0_actionfield_set_typegroups
,
3779 .require_cnt_dis
= 0,
3781 .keyfield_set
= is2_keyfield_set
,
3782 .keyfield_set_size
= ARRAY_SIZE(is2_keyfield_set
),
3783 .actionfield_set
= is2_actionfield_set
,
3784 .actionfield_set_size
= ARRAY_SIZE(is2_actionfield_set
),
3785 .keyfield_set_map
= is2_keyfield_set_map
,
3786 .keyfield_set_map_size
= is2_keyfield_set_map_size
,
3787 .actionfield_set_map
= is2_actionfield_set_map
,
3788 .actionfield_set_map_size
= is2_actionfield_set_map_size
,
3789 .keyfield_set_typegroups
= is2_keyfield_set_typegroups
,
3790 .actionfield_set_typegroups
= is2_actionfield_set_typegroups
,
3800 .require_cnt_dis
= 0,
3802 .keyfield_set
= es0_keyfield_set
,
3803 .keyfield_set_size
= ARRAY_SIZE(es0_keyfield_set
),
3804 .actionfield_set
= es0_actionfield_set
,
3805 .actionfield_set_size
= ARRAY_SIZE(es0_actionfield_set
),
3806 .keyfield_set_map
= es0_keyfield_set_map
,
3807 .keyfield_set_map_size
= es0_keyfield_set_map_size
,
3808 .actionfield_set_map
= es0_actionfield_set_map
,
3809 .actionfield_set_map_size
= es0_actionfield_set_map_size
,
3810 .keyfield_set_typegroups
= es0_keyfield_set_typegroups
,
3811 .actionfield_set_typegroups
= es0_actionfield_set_typegroups
,
3821 .require_cnt_dis
= 0,
3823 .keyfield_set
= es2_keyfield_set
,
3824 .keyfield_set_size
= ARRAY_SIZE(es2_keyfield_set
),
3825 .actionfield_set
= es2_actionfield_set
,
3826 .actionfield_set_size
= ARRAY_SIZE(es2_actionfield_set
),
3827 .keyfield_set_map
= es2_keyfield_set_map
,
3828 .keyfield_set_map_size
= es2_keyfield_set_map_size
,
3829 .actionfield_set_map
= es2_actionfield_set_map
,
3830 .actionfield_set_map_size
= es2_actionfield_set_map_size
,
3831 .keyfield_set_typegroups
= es2_keyfield_set_typegroups
,
3832 .actionfield_set_typegroups
= es2_actionfield_set_typegroups
,
3836 const struct vcap_statistics lan969x_vcap_stats
= {
3839 .keyfield_set_names
= vcap_keyfield_set_names
,
3840 .actionfield_set_names
= vcap_actionfield_set_names
,
3841 .keyfield_names
= vcap_keyfield_names
,
3842 .actionfield_names
= vcap_actionfield_names
,