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
,