xref: /openbmc/linux/drivers/net/ethernet/microchip/vcap/vcap_model_kunit.c (revision 9a87ffc99ec8eb8d35eed7c4f816d75f5cc9662e)
15d7e5b04SSteen Hegelund // SPDX-License-Identifier: BSD-3-Clause
2*a5cc98adSSteen Hegelund /* Copyright (C) 2023 Microchip Technology Inc. and its subsidiaries.
3*a5cc98adSSteen Hegelund  * Microchip VCAP test model interface for kunit testing
4*a5cc98adSSteen Hegelund  */
5*a5cc98adSSteen Hegelund 
6*a5cc98adSSteen Hegelund /* This file is autogenerated by cml-utils 2023-02-10 11:16:00 +0100.
7*a5cc98adSSteen Hegelund  * Commit ID: c30fb4bf0281cd4a7133bdab6682f9e43c872ada
85d7e5b04SSteen Hegelund  */
95d7e5b04SSteen Hegelund 
105d7e5b04SSteen Hegelund #include <linux/types.h>
115d7e5b04SSteen Hegelund #include <linux/kernel.h>
125d7e5b04SSteen Hegelund 
135d7e5b04SSteen Hegelund #include "vcap_api.h"
145d7e5b04SSteen Hegelund #include "vcap_model_kunit.h"
155d7e5b04SSteen Hegelund 
165d7e5b04SSteen Hegelund /* keyfields */
175d7e5b04SSteen Hegelund static const struct vcap_field is0_ll_full_keyfield[] = {
185d7e5b04SSteen Hegelund 	[VCAP_KF_TYPE] = {
195d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
205d7e5b04SSteen Hegelund 		.offset = 0,
215d7e5b04SSteen Hegelund 		.width = 2,
225d7e5b04SSteen Hegelund 	},
235d7e5b04SSteen Hegelund 	[VCAP_KF_LOOKUP_FIRST_IS] = {
245d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
255d7e5b04SSteen Hegelund 		.offset = 2,
265d7e5b04SSteen Hegelund 		.width = 1,
275d7e5b04SSteen Hegelund 	},
285d7e5b04SSteen Hegelund 	[VCAP_KF_IF_IGR_PORT] = {
295d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
305d7e5b04SSteen Hegelund 		.offset = 3,
315d7e5b04SSteen Hegelund 		.width = 7,
325d7e5b04SSteen Hegelund 	},
335d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_VLAN_TAGS] = {
345d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
355d7e5b04SSteen Hegelund 		.offset = 10,
365d7e5b04SSteen Hegelund 		.width = 3,
375d7e5b04SSteen Hegelund 	},
385d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_TPID0] = {
395d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
405d7e5b04SSteen Hegelund 		.offset = 13,
415d7e5b04SSteen Hegelund 		.width = 3,
425d7e5b04SSteen Hegelund 	},
435d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_PCP0] = {
445d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
455d7e5b04SSteen Hegelund 		.offset = 16,
465d7e5b04SSteen Hegelund 		.width = 3,
475d7e5b04SSteen Hegelund 	},
485d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_DEI0] = {
495d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
505d7e5b04SSteen Hegelund 		.offset = 19,
515d7e5b04SSteen Hegelund 		.width = 1,
525d7e5b04SSteen Hegelund 	},
535d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_VID0] = {
545d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
555d7e5b04SSteen Hegelund 		.offset = 20,
565d7e5b04SSteen Hegelund 		.width = 12,
575d7e5b04SSteen Hegelund 	},
585d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_TPID1] = {
595d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
605d7e5b04SSteen Hegelund 		.offset = 32,
615d7e5b04SSteen Hegelund 		.width = 3,
625d7e5b04SSteen Hegelund 	},
635d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_PCP1] = {
645d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
655d7e5b04SSteen Hegelund 		.offset = 35,
665d7e5b04SSteen Hegelund 		.width = 3,
675d7e5b04SSteen Hegelund 	},
685d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_DEI1] = {
695d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
705d7e5b04SSteen Hegelund 		.offset = 38,
715d7e5b04SSteen Hegelund 		.width = 1,
725d7e5b04SSteen Hegelund 	},
735d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_VID1] = {
745d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
755d7e5b04SSteen Hegelund 		.offset = 39,
765d7e5b04SSteen Hegelund 		.width = 12,
775d7e5b04SSteen Hegelund 	},
785d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_TPID2] = {
795d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
805d7e5b04SSteen Hegelund 		.offset = 51,
815d7e5b04SSteen Hegelund 		.width = 3,
825d7e5b04SSteen Hegelund 	},
835d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_PCP2] = {
845d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
855d7e5b04SSteen Hegelund 		.offset = 54,
865d7e5b04SSteen Hegelund 		.width = 3,
875d7e5b04SSteen Hegelund 	},
885d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_DEI2] = {
895d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
905d7e5b04SSteen Hegelund 		.offset = 57,
915d7e5b04SSteen Hegelund 		.width = 1,
925d7e5b04SSteen Hegelund 	},
935d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_VID2] = {
945d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
955d7e5b04SSteen Hegelund 		.offset = 58,
965d7e5b04SSteen Hegelund 		.width = 12,
975d7e5b04SSteen Hegelund 	},
985d7e5b04SSteen Hegelund 	[VCAP_KF_L2_DMAC] = {
995d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U48,
1005d7e5b04SSteen Hegelund 		.offset = 70,
1015d7e5b04SSteen Hegelund 		.width = 48,
1025d7e5b04SSteen Hegelund 	},
1035d7e5b04SSteen Hegelund 	[VCAP_KF_L2_SMAC] = {
1045d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U48,
1055d7e5b04SSteen Hegelund 		.offset = 118,
1065d7e5b04SSteen Hegelund 		.width = 48,
1075d7e5b04SSteen Hegelund 	},
1085d7e5b04SSteen Hegelund 	[VCAP_KF_ETYPE_LEN_IS] = {
1095d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
1105d7e5b04SSteen Hegelund 		.offset = 166,
1115d7e5b04SSteen Hegelund 		.width = 1,
1125d7e5b04SSteen Hegelund 	},
1135d7e5b04SSteen Hegelund 	[VCAP_KF_ETYPE] = {
1145d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
1155d7e5b04SSteen Hegelund 		.offset = 167,
1165d7e5b04SSteen Hegelund 		.width = 16,
1175d7e5b04SSteen Hegelund 	},
1185d7e5b04SSteen Hegelund 	[VCAP_KF_IP_SNAP_IS] = {
1195d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
1205d7e5b04SSteen Hegelund 		.offset = 183,
1215d7e5b04SSteen Hegelund 		.width = 1,
1225d7e5b04SSteen Hegelund 	},
1235d7e5b04SSteen Hegelund 	[VCAP_KF_IP4_IS] = {
1245d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
1255d7e5b04SSteen Hegelund 		.offset = 184,
1265d7e5b04SSteen Hegelund 		.width = 1,
1275d7e5b04SSteen Hegelund 	},
1285d7e5b04SSteen Hegelund 	[VCAP_KF_L3_FRAGMENT_TYPE] = {
1295d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
1305d7e5b04SSteen Hegelund 		.offset = 185,
1315d7e5b04SSteen Hegelund 		.width = 2,
1325d7e5b04SSteen Hegelund 	},
1335d7e5b04SSteen Hegelund 	[VCAP_KF_L3_FRAG_INVLD_L4_LEN] = {
1345d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
1355d7e5b04SSteen Hegelund 		.offset = 187,
1365d7e5b04SSteen Hegelund 		.width = 1,
1375d7e5b04SSteen Hegelund 	},
1385d7e5b04SSteen Hegelund 	[VCAP_KF_L3_OPTIONS_IS] = {
1395d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
1405d7e5b04SSteen Hegelund 		.offset = 188,
1415d7e5b04SSteen Hegelund 		.width = 1,
1425d7e5b04SSteen Hegelund 	},
1435d7e5b04SSteen Hegelund 	[VCAP_KF_L3_DSCP] = {
1445d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
1455d7e5b04SSteen Hegelund 		.offset = 189,
1465d7e5b04SSteen Hegelund 		.width = 6,
1475d7e5b04SSteen Hegelund 	},
1485d7e5b04SSteen Hegelund 	[VCAP_KF_L3_IP4_DIP] = {
1495d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
1505d7e5b04SSteen Hegelund 		.offset = 195,
1515d7e5b04SSteen Hegelund 		.width = 32,
1525d7e5b04SSteen Hegelund 	},
1535d7e5b04SSteen Hegelund 	[VCAP_KF_L3_IP4_SIP] = {
1545d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
1555d7e5b04SSteen Hegelund 		.offset = 227,
1565d7e5b04SSteen Hegelund 		.width = 32,
1575d7e5b04SSteen Hegelund 	},
1585d7e5b04SSteen Hegelund 	[VCAP_KF_TCP_UDP_IS] = {
1595d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
1605d7e5b04SSteen Hegelund 		.offset = 259,
1615d7e5b04SSteen Hegelund 		.width = 1,
1625d7e5b04SSteen Hegelund 	},
1635d7e5b04SSteen Hegelund 	[VCAP_KF_TCP_IS] = {
1645d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
1655d7e5b04SSteen Hegelund 		.offset = 260,
1665d7e5b04SSteen Hegelund 		.width = 1,
1675d7e5b04SSteen Hegelund 	},
1685d7e5b04SSteen Hegelund 	[VCAP_KF_L4_SPORT] = {
1695d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
1705d7e5b04SSteen Hegelund 		.offset = 261,
1715d7e5b04SSteen Hegelund 		.width = 16,
1725d7e5b04SSteen Hegelund 	},
1735d7e5b04SSteen Hegelund 	[VCAP_KF_L4_RNG] = {
1745d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
1755d7e5b04SSteen Hegelund 		.offset = 277,
1765d7e5b04SSteen Hegelund 		.width = 8,
1775d7e5b04SSteen Hegelund 	},
1785d7e5b04SSteen Hegelund };
1795d7e5b04SSteen Hegelund 
1805d7e5b04SSteen Hegelund static const struct vcap_field is0_normal_7tuple_keyfield[] = {
1815d7e5b04SSteen Hegelund 	[VCAP_KF_TYPE] = {
1825d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
1835d7e5b04SSteen Hegelund 		.offset = 0,
1845d7e5b04SSteen Hegelund 		.width = 1,
1855d7e5b04SSteen Hegelund 	},
1865d7e5b04SSteen Hegelund 	[VCAP_KF_LOOKUP_FIRST_IS] = {
1875d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
1885d7e5b04SSteen Hegelund 		.offset = 1,
1895d7e5b04SSteen Hegelund 		.width = 1,
1905d7e5b04SSteen Hegelund 	},
1915d7e5b04SSteen Hegelund 	[VCAP_KF_LOOKUP_GEN_IDX_SEL] = {
1925d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
1935d7e5b04SSteen Hegelund 		.offset = 2,
1945d7e5b04SSteen Hegelund 		.width = 2,
1955d7e5b04SSteen Hegelund 	},
1965d7e5b04SSteen Hegelund 	[VCAP_KF_LOOKUP_GEN_IDX] = {
1975d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
1985d7e5b04SSteen Hegelund 		.offset = 4,
1995d7e5b04SSteen Hegelund 		.width = 12,
2005d7e5b04SSteen Hegelund 	},
2015d7e5b04SSteen Hegelund 	[VCAP_KF_IF_IGR_PORT_MASK_SEL] = {
2025d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
2035d7e5b04SSteen Hegelund 		.offset = 16,
2045d7e5b04SSteen Hegelund 		.width = 2,
2055d7e5b04SSteen Hegelund 	},
2065d7e5b04SSteen Hegelund 	[VCAP_KF_IF_IGR_PORT_MASK] = {
2075d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U72,
2085d7e5b04SSteen Hegelund 		.offset = 18,
2095d7e5b04SSteen Hegelund 		.width = 65,
2105d7e5b04SSteen Hegelund 	},
2115d7e5b04SSteen Hegelund 	[VCAP_KF_L2_MC_IS] = {
2125d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
2135d7e5b04SSteen Hegelund 		.offset = 83,
2145d7e5b04SSteen Hegelund 		.width = 1,
2155d7e5b04SSteen Hegelund 	},
2165d7e5b04SSteen Hegelund 	[VCAP_KF_L2_BC_IS] = {
2175d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
2185d7e5b04SSteen Hegelund 		.offset = 84,
2195d7e5b04SSteen Hegelund 		.width = 1,
2205d7e5b04SSteen Hegelund 	},
2215d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_VLAN_TAGS] = {
2225d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
2235d7e5b04SSteen Hegelund 		.offset = 85,
2245d7e5b04SSteen Hegelund 		.width = 3,
2255d7e5b04SSteen Hegelund 	},
2265d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_TPID0] = {
2275d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
2285d7e5b04SSteen Hegelund 		.offset = 88,
2295d7e5b04SSteen Hegelund 		.width = 3,
2305d7e5b04SSteen Hegelund 	},
2315d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_PCP0] = {
2325d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
2335d7e5b04SSteen Hegelund 		.offset = 91,
2345d7e5b04SSteen Hegelund 		.width = 3,
2355d7e5b04SSteen Hegelund 	},
2365d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_DEI0] = {
2375d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
2385d7e5b04SSteen Hegelund 		.offset = 94,
2395d7e5b04SSteen Hegelund 		.width = 1,
2405d7e5b04SSteen Hegelund 	},
2415d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_VID0] = {
2425d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
2435d7e5b04SSteen Hegelund 		.offset = 95,
2445d7e5b04SSteen Hegelund 		.width = 12,
2455d7e5b04SSteen Hegelund 	},
2465d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_TPID1] = {
2475d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
2485d7e5b04SSteen Hegelund 		.offset = 107,
2495d7e5b04SSteen Hegelund 		.width = 3,
2505d7e5b04SSteen Hegelund 	},
2515d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_PCP1] = {
2525d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
2535d7e5b04SSteen Hegelund 		.offset = 110,
2545d7e5b04SSteen Hegelund 		.width = 3,
2555d7e5b04SSteen Hegelund 	},
2565d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_DEI1] = {
2575d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
2585d7e5b04SSteen Hegelund 		.offset = 113,
2595d7e5b04SSteen Hegelund 		.width = 1,
2605d7e5b04SSteen Hegelund 	},
2615d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_VID1] = {
2625d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
2635d7e5b04SSteen Hegelund 		.offset = 114,
2645d7e5b04SSteen Hegelund 		.width = 12,
2655d7e5b04SSteen Hegelund 	},
2665d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_TPID2] = {
2675d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
2685d7e5b04SSteen Hegelund 		.offset = 126,
2695d7e5b04SSteen Hegelund 		.width = 3,
2705d7e5b04SSteen Hegelund 	},
2715d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_PCP2] = {
2725d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
2735d7e5b04SSteen Hegelund 		.offset = 129,
2745d7e5b04SSteen Hegelund 		.width = 3,
2755d7e5b04SSteen Hegelund 	},
2765d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_DEI2] = {
2775d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
2785d7e5b04SSteen Hegelund 		.offset = 132,
2795d7e5b04SSteen Hegelund 		.width = 1,
2805d7e5b04SSteen Hegelund 	},
2815d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_VID2] = {
2825d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
2835d7e5b04SSteen Hegelund 		.offset = 133,
2845d7e5b04SSteen Hegelund 		.width = 12,
2855d7e5b04SSteen Hegelund 	},
2865d7e5b04SSteen Hegelund 	[VCAP_KF_L2_DMAC] = {
2875d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U48,
2885d7e5b04SSteen Hegelund 		.offset = 145,
2895d7e5b04SSteen Hegelund 		.width = 48,
2905d7e5b04SSteen Hegelund 	},
2915d7e5b04SSteen Hegelund 	[VCAP_KF_L2_SMAC] = {
2925d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U48,
2935d7e5b04SSteen Hegelund 		.offset = 193,
2945d7e5b04SSteen Hegelund 		.width = 48,
2955d7e5b04SSteen Hegelund 	},
2965d7e5b04SSteen Hegelund 	[VCAP_KF_IP_MC_IS] = {
2975d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
2985d7e5b04SSteen Hegelund 		.offset = 241,
2995d7e5b04SSteen Hegelund 		.width = 1,
3005d7e5b04SSteen Hegelund 	},
3015d7e5b04SSteen Hegelund 	[VCAP_KF_ETYPE_LEN_IS] = {
3025d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
3035d7e5b04SSteen Hegelund 		.offset = 242,
3045d7e5b04SSteen Hegelund 		.width = 1,
3055d7e5b04SSteen Hegelund 	},
3065d7e5b04SSteen Hegelund 	[VCAP_KF_ETYPE] = {
3075d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
3085d7e5b04SSteen Hegelund 		.offset = 243,
3095d7e5b04SSteen Hegelund 		.width = 16,
3105d7e5b04SSteen Hegelund 	},
3115d7e5b04SSteen Hegelund 	[VCAP_KF_IP_SNAP_IS] = {
3125d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
3135d7e5b04SSteen Hegelund 		.offset = 259,
3145d7e5b04SSteen Hegelund 		.width = 1,
3155d7e5b04SSteen Hegelund 	},
3165d7e5b04SSteen Hegelund 	[VCAP_KF_IP4_IS] = {
3175d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
3185d7e5b04SSteen Hegelund 		.offset = 260,
3195d7e5b04SSteen Hegelund 		.width = 1,
3205d7e5b04SSteen Hegelund 	},
3215d7e5b04SSteen Hegelund 	[VCAP_KF_L3_FRAGMENT_TYPE] = {
3225d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
3235d7e5b04SSteen Hegelund 		.offset = 261,
3245d7e5b04SSteen Hegelund 		.width = 2,
3255d7e5b04SSteen Hegelund 	},
3265d7e5b04SSteen Hegelund 	[VCAP_KF_L3_FRAG_INVLD_L4_LEN] = {
3275d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
3285d7e5b04SSteen Hegelund 		.offset = 263,
3295d7e5b04SSteen Hegelund 		.width = 1,
3305d7e5b04SSteen Hegelund 	},
3315d7e5b04SSteen Hegelund 	[VCAP_KF_L3_OPTIONS_IS] = {
3325d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
3335d7e5b04SSteen Hegelund 		.offset = 264,
3345d7e5b04SSteen Hegelund 		.width = 1,
3355d7e5b04SSteen Hegelund 	},
3365d7e5b04SSteen Hegelund 	[VCAP_KF_L3_DSCP] = {
3375d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
3385d7e5b04SSteen Hegelund 		.offset = 265,
3395d7e5b04SSteen Hegelund 		.width = 6,
3405d7e5b04SSteen Hegelund 	},
3415d7e5b04SSteen Hegelund 	[VCAP_KF_L3_IP6_DIP] = {
3425d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U128,
3435d7e5b04SSteen Hegelund 		.offset = 271,
3445d7e5b04SSteen Hegelund 		.width = 128,
3455d7e5b04SSteen Hegelund 	},
3465d7e5b04SSteen Hegelund 	[VCAP_KF_L3_IP6_SIP] = {
3475d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U128,
3485d7e5b04SSteen Hegelund 		.offset = 399,
3495d7e5b04SSteen Hegelund 		.width = 128,
3505d7e5b04SSteen Hegelund 	},
3515d7e5b04SSteen Hegelund 	[VCAP_KF_TCP_UDP_IS] = {
3525d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
3535d7e5b04SSteen Hegelund 		.offset = 527,
3545d7e5b04SSteen Hegelund 		.width = 1,
3555d7e5b04SSteen Hegelund 	},
3565d7e5b04SSteen Hegelund 	[VCAP_KF_TCP_IS] = {
3575d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
3585d7e5b04SSteen Hegelund 		.offset = 528,
3595d7e5b04SSteen Hegelund 		.width = 1,
3605d7e5b04SSteen Hegelund 	},
3615d7e5b04SSteen Hegelund 	[VCAP_KF_L4_SPORT] = {
3625d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
3635d7e5b04SSteen Hegelund 		.offset = 529,
3645d7e5b04SSteen Hegelund 		.width = 16,
3655d7e5b04SSteen Hegelund 	},
3665d7e5b04SSteen Hegelund 	[VCAP_KF_L4_RNG] = {
3675d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
3685d7e5b04SSteen Hegelund 		.offset = 545,
3695d7e5b04SSteen Hegelund 		.width = 8,
3705d7e5b04SSteen Hegelund 	},
3715d7e5b04SSteen Hegelund };
3725d7e5b04SSteen Hegelund 
3735d7e5b04SSteen Hegelund static const struct vcap_field is0_normal_5tuple_ip4_keyfield[] = {
3745d7e5b04SSteen Hegelund 	[VCAP_KF_TYPE] = {
3755d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
3765d7e5b04SSteen Hegelund 		.offset = 0,
3775d7e5b04SSteen Hegelund 		.width = 2,
3785d7e5b04SSteen Hegelund 	},
3795d7e5b04SSteen Hegelund 	[VCAP_KF_LOOKUP_FIRST_IS] = {
3805d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
3815d7e5b04SSteen Hegelund 		.offset = 2,
3825d7e5b04SSteen Hegelund 		.width = 1,
3835d7e5b04SSteen Hegelund 	},
3845d7e5b04SSteen Hegelund 	[VCAP_KF_LOOKUP_GEN_IDX_SEL] = {
3855d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
3865d7e5b04SSteen Hegelund 		.offset = 3,
3875d7e5b04SSteen Hegelund 		.width = 2,
3885d7e5b04SSteen Hegelund 	},
3895d7e5b04SSteen Hegelund 	[VCAP_KF_LOOKUP_GEN_IDX] = {
3905d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
3915d7e5b04SSteen Hegelund 		.offset = 5,
3925d7e5b04SSteen Hegelund 		.width = 12,
3935d7e5b04SSteen Hegelund 	},
3945d7e5b04SSteen Hegelund 	[VCAP_KF_IF_IGR_PORT_MASK_SEL] = {
3955d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
3965d7e5b04SSteen Hegelund 		.offset = 17,
3975d7e5b04SSteen Hegelund 		.width = 2,
3985d7e5b04SSteen Hegelund 	},
3995d7e5b04SSteen Hegelund 	[VCAP_KF_IF_IGR_PORT_MASK] = {
4005d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U72,
4015d7e5b04SSteen Hegelund 		.offset = 19,
4025d7e5b04SSteen Hegelund 		.width = 65,
4035d7e5b04SSteen Hegelund 	},
4045d7e5b04SSteen Hegelund 	[VCAP_KF_L2_MC_IS] = {
4055d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
4065d7e5b04SSteen Hegelund 		.offset = 84,
4075d7e5b04SSteen Hegelund 		.width = 1,
4085d7e5b04SSteen Hegelund 	},
4095d7e5b04SSteen Hegelund 	[VCAP_KF_L2_BC_IS] = {
4105d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
4115d7e5b04SSteen Hegelund 		.offset = 85,
4125d7e5b04SSteen Hegelund 		.width = 1,
4135d7e5b04SSteen Hegelund 	},
4145d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_VLAN_TAGS] = {
4155d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
4165d7e5b04SSteen Hegelund 		.offset = 86,
4175d7e5b04SSteen Hegelund 		.width = 3,
4185d7e5b04SSteen Hegelund 	},
4195d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_TPID0] = {
4205d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
4215d7e5b04SSteen Hegelund 		.offset = 89,
4225d7e5b04SSteen Hegelund 		.width = 3,
4235d7e5b04SSteen Hegelund 	},
4245d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_PCP0] = {
4255d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
4265d7e5b04SSteen Hegelund 		.offset = 92,
4275d7e5b04SSteen Hegelund 		.width = 3,
4285d7e5b04SSteen Hegelund 	},
4295d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_DEI0] = {
4305d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
4315d7e5b04SSteen Hegelund 		.offset = 95,
4325d7e5b04SSteen Hegelund 		.width = 1,
4335d7e5b04SSteen Hegelund 	},
4345d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_VID0] = {
4355d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
4365d7e5b04SSteen Hegelund 		.offset = 96,
4375d7e5b04SSteen Hegelund 		.width = 12,
4385d7e5b04SSteen Hegelund 	},
4395d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_TPID1] = {
4405d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
4415d7e5b04SSteen Hegelund 		.offset = 108,
4425d7e5b04SSteen Hegelund 		.width = 3,
4435d7e5b04SSteen Hegelund 	},
4445d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_PCP1] = {
4455d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
4465d7e5b04SSteen Hegelund 		.offset = 111,
4475d7e5b04SSteen Hegelund 		.width = 3,
4485d7e5b04SSteen Hegelund 	},
4495d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_DEI1] = {
4505d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
4515d7e5b04SSteen Hegelund 		.offset = 114,
4525d7e5b04SSteen Hegelund 		.width = 1,
4535d7e5b04SSteen Hegelund 	},
4545d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_VID1] = {
4555d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
4565d7e5b04SSteen Hegelund 		.offset = 115,
4575d7e5b04SSteen Hegelund 		.width = 12,
4585d7e5b04SSteen Hegelund 	},
4595d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_TPID2] = {
4605d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
4615d7e5b04SSteen Hegelund 		.offset = 127,
4625d7e5b04SSteen Hegelund 		.width = 3,
4635d7e5b04SSteen Hegelund 	},
4645d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_PCP2] = {
4655d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
4665d7e5b04SSteen Hegelund 		.offset = 130,
4675d7e5b04SSteen Hegelund 		.width = 3,
4685d7e5b04SSteen Hegelund 	},
4695d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_DEI2] = {
4705d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
4715d7e5b04SSteen Hegelund 		.offset = 133,
4725d7e5b04SSteen Hegelund 		.width = 1,
4735d7e5b04SSteen Hegelund 	},
4745d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_VID2] = {
4755d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
4765d7e5b04SSteen Hegelund 		.offset = 134,
4775d7e5b04SSteen Hegelund 		.width = 12,
4785d7e5b04SSteen Hegelund 	},
4795d7e5b04SSteen Hegelund 	[VCAP_KF_IP_MC_IS] = {
4805d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
4815d7e5b04SSteen Hegelund 		.offset = 146,
4825d7e5b04SSteen Hegelund 		.width = 1,
4835d7e5b04SSteen Hegelund 	},
4845d7e5b04SSteen Hegelund 	[VCAP_KF_IP4_IS] = {
4855d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
4865d7e5b04SSteen Hegelund 		.offset = 147,
4875d7e5b04SSteen Hegelund 		.width = 1,
4885d7e5b04SSteen Hegelund 	},
4895d7e5b04SSteen Hegelund 	[VCAP_KF_L3_FRAGMENT_TYPE] = {
4905d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
4915d7e5b04SSteen Hegelund 		.offset = 148,
4925d7e5b04SSteen Hegelund 		.width = 2,
4935d7e5b04SSteen Hegelund 	},
4945d7e5b04SSteen Hegelund 	[VCAP_KF_L3_FRAG_INVLD_L4_LEN] = {
4955d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
4965d7e5b04SSteen Hegelund 		.offset = 150,
4975d7e5b04SSteen Hegelund 		.width = 1,
4985d7e5b04SSteen Hegelund 	},
4995d7e5b04SSteen Hegelund 	[VCAP_KF_L3_OPTIONS_IS] = {
5005d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
5015d7e5b04SSteen Hegelund 		.offset = 151,
5025d7e5b04SSteen Hegelund 		.width = 1,
5035d7e5b04SSteen Hegelund 	},
5045d7e5b04SSteen Hegelund 	[VCAP_KF_L3_DSCP] = {
5055d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
5065d7e5b04SSteen Hegelund 		.offset = 152,
5075d7e5b04SSteen Hegelund 		.width = 6,
5085d7e5b04SSteen Hegelund 	},
5095d7e5b04SSteen Hegelund 	[VCAP_KF_L3_IP4_DIP] = {
5105d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
5115d7e5b04SSteen Hegelund 		.offset = 158,
5125d7e5b04SSteen Hegelund 		.width = 32,
5135d7e5b04SSteen Hegelund 	},
5145d7e5b04SSteen Hegelund 	[VCAP_KF_L3_IP4_SIP] = {
5155d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
5165d7e5b04SSteen Hegelund 		.offset = 190,
5175d7e5b04SSteen Hegelund 		.width = 32,
5185d7e5b04SSteen Hegelund 	},
5195d7e5b04SSteen Hegelund 	[VCAP_KF_L3_IP_PROTO] = {
5205d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
5215d7e5b04SSteen Hegelund 		.offset = 222,
5225d7e5b04SSteen Hegelund 		.width = 8,
5235d7e5b04SSteen Hegelund 	},
5245d7e5b04SSteen Hegelund 	[VCAP_KF_TCP_UDP_IS] = {
5255d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
5265d7e5b04SSteen Hegelund 		.offset = 230,
5275d7e5b04SSteen Hegelund 		.width = 1,
5285d7e5b04SSteen Hegelund 	},
5295d7e5b04SSteen Hegelund 	[VCAP_KF_TCP_IS] = {
5305d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
5315d7e5b04SSteen Hegelund 		.offset = 231,
5325d7e5b04SSteen Hegelund 		.width = 1,
5335d7e5b04SSteen Hegelund 	},
5345d7e5b04SSteen Hegelund 	[VCAP_KF_L4_RNG] = {
5355d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
5365d7e5b04SSteen Hegelund 		.offset = 232,
5375d7e5b04SSteen Hegelund 		.width = 8,
5385d7e5b04SSteen Hegelund 	},
5395d7e5b04SSteen Hegelund 	[VCAP_KF_IP_PAYLOAD_5TUPLE] = {
5405d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
5415d7e5b04SSteen Hegelund 		.offset = 240,
5425d7e5b04SSteen Hegelund 		.width = 32,
5435d7e5b04SSteen Hegelund 	},
5445d7e5b04SSteen Hegelund };
5455d7e5b04SSteen Hegelund 
5465d7e5b04SSteen Hegelund static const struct vcap_field is0_pure_5tuple_ip4_keyfield[] = {
5475d7e5b04SSteen Hegelund 	[VCAP_KF_TYPE] = {
5485d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
5495d7e5b04SSteen Hegelund 		.offset = 0,
5505d7e5b04SSteen Hegelund 		.width = 2,
5515d7e5b04SSteen Hegelund 	},
5525d7e5b04SSteen Hegelund 	[VCAP_KF_LOOKUP_FIRST_IS] = {
5535d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
5545d7e5b04SSteen Hegelund 		.offset = 2,
5555d7e5b04SSteen Hegelund 		.width = 1,
5565d7e5b04SSteen Hegelund 	},
5575d7e5b04SSteen Hegelund 	[VCAP_KF_LOOKUP_GEN_IDX_SEL] = {
5585d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
5595d7e5b04SSteen Hegelund 		.offset = 3,
5605d7e5b04SSteen Hegelund 		.width = 2,
5615d7e5b04SSteen Hegelund 	},
5625d7e5b04SSteen Hegelund 	[VCAP_KF_LOOKUP_GEN_IDX] = {
5635d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
5645d7e5b04SSteen Hegelund 		.offset = 5,
5655d7e5b04SSteen Hegelund 		.width = 12,
5665d7e5b04SSteen Hegelund 	},
5675d7e5b04SSteen Hegelund 	[VCAP_KF_L3_FRAGMENT_TYPE] = {
5685d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
5695d7e5b04SSteen Hegelund 		.offset = 17,
5705d7e5b04SSteen Hegelund 		.width = 2,
5715d7e5b04SSteen Hegelund 	},
5725d7e5b04SSteen Hegelund 	[VCAP_KF_L3_FRAG_INVLD_L4_LEN] = {
5735d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
5745d7e5b04SSteen Hegelund 		.offset = 19,
5755d7e5b04SSteen Hegelund 		.width = 1,
5765d7e5b04SSteen Hegelund 	},
5775d7e5b04SSteen Hegelund 	[VCAP_KF_L3_OPTIONS_IS] = {
5785d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
5795d7e5b04SSteen Hegelund 		.offset = 20,
5805d7e5b04SSteen Hegelund 		.width = 1,
5815d7e5b04SSteen Hegelund 	},
5825d7e5b04SSteen Hegelund 	[VCAP_KF_L3_DSCP] = {
5835d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
5845d7e5b04SSteen Hegelund 		.offset = 21,
5855d7e5b04SSteen Hegelund 		.width = 6,
5865d7e5b04SSteen Hegelund 	},
5875d7e5b04SSteen Hegelund 	[VCAP_KF_L3_IP4_DIP] = {
5885d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
5895d7e5b04SSteen Hegelund 		.offset = 27,
5905d7e5b04SSteen Hegelund 		.width = 32,
5915d7e5b04SSteen Hegelund 	},
5925d7e5b04SSteen Hegelund 	[VCAP_KF_L3_IP4_SIP] = {
5935d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
5945d7e5b04SSteen Hegelund 		.offset = 59,
5955d7e5b04SSteen Hegelund 		.width = 32,
5965d7e5b04SSteen Hegelund 	},
5975d7e5b04SSteen Hegelund 	[VCAP_KF_L3_IP_PROTO] = {
5985d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
5995d7e5b04SSteen Hegelund 		.offset = 91,
6005d7e5b04SSteen Hegelund 		.width = 8,
6015d7e5b04SSteen Hegelund 	},
6025d7e5b04SSteen Hegelund 	[VCAP_KF_L4_RNG] = {
6035d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
6045d7e5b04SSteen Hegelund 		.offset = 99,
6055d7e5b04SSteen Hegelund 		.width = 8,
6065d7e5b04SSteen Hegelund 	},
6075d7e5b04SSteen Hegelund 	[VCAP_KF_IP_PAYLOAD_5TUPLE] = {
6085d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
6095d7e5b04SSteen Hegelund 		.offset = 107,
6105d7e5b04SSteen Hegelund 		.width = 32,
6115d7e5b04SSteen Hegelund 	},
6125d7e5b04SSteen Hegelund };
6135d7e5b04SSteen Hegelund 
6145d7e5b04SSteen Hegelund static const struct vcap_field is0_etag_keyfield[] = {
6155d7e5b04SSteen Hegelund 	[VCAP_KF_TYPE] = {
6165d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
6175d7e5b04SSteen Hegelund 		.offset = 0,
6185d7e5b04SSteen Hegelund 		.width = 2,
6195d7e5b04SSteen Hegelund 	},
6205d7e5b04SSteen Hegelund 	[VCAP_KF_LOOKUP_FIRST_IS] = {
6215d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
6225d7e5b04SSteen Hegelund 		.offset = 2,
6235d7e5b04SSteen Hegelund 		.width = 1,
6245d7e5b04SSteen Hegelund 	},
6255d7e5b04SSteen Hegelund 	[VCAP_KF_IF_IGR_PORT] = {
6265d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
6275d7e5b04SSteen Hegelund 		.offset = 3,
6285d7e5b04SSteen Hegelund 		.width = 7,
6295d7e5b04SSteen Hegelund 	},
6305d7e5b04SSteen Hegelund 	[VCAP_KF_8021BR_E_TAGGED] = {
6315d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
6325d7e5b04SSteen Hegelund 		.offset = 10,
6335d7e5b04SSteen Hegelund 		.width = 1,
6345d7e5b04SSteen Hegelund 	},
6355d7e5b04SSteen Hegelund 	[VCAP_KF_8021BR_GRP] = {
6365d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
6375d7e5b04SSteen Hegelund 		.offset = 11,
6385d7e5b04SSteen Hegelund 		.width = 2,
6395d7e5b04SSteen Hegelund 	},
6405d7e5b04SSteen Hegelund 	[VCAP_KF_8021BR_ECID_EXT] = {
6415d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
6425d7e5b04SSteen Hegelund 		.offset = 13,
6435d7e5b04SSteen Hegelund 		.width = 8,
6445d7e5b04SSteen Hegelund 	},
6455d7e5b04SSteen Hegelund 	[VCAP_KF_8021BR_ECID_BASE] = {
6465d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
6475d7e5b04SSteen Hegelund 		.offset = 21,
6485d7e5b04SSteen Hegelund 		.width = 12,
6495d7e5b04SSteen Hegelund 	},
6505d7e5b04SSteen Hegelund 	[VCAP_KF_8021BR_IGR_ECID_EXT] = {
6515d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
6525d7e5b04SSteen Hegelund 		.offset = 33,
6535d7e5b04SSteen Hegelund 		.width = 8,
6545d7e5b04SSteen Hegelund 	},
6555d7e5b04SSteen Hegelund 	[VCAP_KF_8021BR_IGR_ECID_BASE] = {
6565d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
6575d7e5b04SSteen Hegelund 		.offset = 41,
6585d7e5b04SSteen Hegelund 		.width = 12,
6595d7e5b04SSteen Hegelund 	},
6605d7e5b04SSteen Hegelund };
6615d7e5b04SSteen Hegelund 
6625d7e5b04SSteen Hegelund static const struct vcap_field is2_mac_etype_keyfield[] = {
6635d7e5b04SSteen Hegelund 	[VCAP_KF_TYPE] = {
6645d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
6655d7e5b04SSteen Hegelund 		.offset = 0,
6665d7e5b04SSteen Hegelund 		.width = 4,
6675d7e5b04SSteen Hegelund 	},
6685d7e5b04SSteen Hegelund 	[VCAP_KF_LOOKUP_FIRST_IS] = {
6695d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
6705d7e5b04SSteen Hegelund 		.offset = 4,
6715d7e5b04SSteen Hegelund 		.width = 1,
6725d7e5b04SSteen Hegelund 	},
6735d7e5b04SSteen Hegelund 	[VCAP_KF_LOOKUP_PAG] = {
6745d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
6755d7e5b04SSteen Hegelund 		.offset = 5,
6765d7e5b04SSteen Hegelund 		.width = 8,
6775d7e5b04SSteen Hegelund 	},
6785d7e5b04SSteen Hegelund 	[VCAP_KF_IF_IGR_PORT_MASK_L3] = {
6795d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
6805d7e5b04SSteen Hegelund 		.offset = 13,
6815d7e5b04SSteen Hegelund 		.width = 1,
6825d7e5b04SSteen Hegelund 	},
6835d7e5b04SSteen Hegelund 	[VCAP_KF_IF_IGR_PORT_MASK_RNG] = {
6845d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
6855d7e5b04SSteen Hegelund 		.offset = 14,
6865d7e5b04SSteen Hegelund 		.width = 4,
6875d7e5b04SSteen Hegelund 	},
6885d7e5b04SSteen Hegelund 	[VCAP_KF_IF_IGR_PORT_MASK_SEL] = {
6895d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
6905d7e5b04SSteen Hegelund 		.offset = 18,
6915d7e5b04SSteen Hegelund 		.width = 2,
6925d7e5b04SSteen Hegelund 	},
6935d7e5b04SSteen Hegelund 	[VCAP_KF_IF_IGR_PORT_MASK] = {
6945d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
6955d7e5b04SSteen Hegelund 		.offset = 20,
6965d7e5b04SSteen Hegelund 		.width = 32,
6975d7e5b04SSteen Hegelund 	},
6985d7e5b04SSteen Hegelund 	[VCAP_KF_L2_MC_IS] = {
6995d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
7005d7e5b04SSteen Hegelund 		.offset = 52,
7015d7e5b04SSteen Hegelund 		.width = 1,
7025d7e5b04SSteen Hegelund 	},
7035d7e5b04SSteen Hegelund 	[VCAP_KF_L2_BC_IS] = {
7045d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
7055d7e5b04SSteen Hegelund 		.offset = 53,
7065d7e5b04SSteen Hegelund 		.width = 1,
7075d7e5b04SSteen Hegelund 	},
7085d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_VLAN_TAGGED_IS] = {
7095d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
7105d7e5b04SSteen Hegelund 		.offset = 54,
7115d7e5b04SSteen Hegelund 		.width = 1,
7125d7e5b04SSteen Hegelund 	},
7135d7e5b04SSteen Hegelund 	[VCAP_KF_ISDX_GT0_IS] = {
7145d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
7155d7e5b04SSteen Hegelund 		.offset = 55,
7165d7e5b04SSteen Hegelund 		.width = 1,
7175d7e5b04SSteen Hegelund 	},
7185d7e5b04SSteen Hegelund 	[VCAP_KF_ISDX_CLS] = {
7195d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
7205d7e5b04SSteen Hegelund 		.offset = 56,
7215d7e5b04SSteen Hegelund 		.width = 12,
7225d7e5b04SSteen Hegelund 	},
7235d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_VID_CLS] = {
7245d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
7255d7e5b04SSteen Hegelund 		.offset = 68,
7265d7e5b04SSteen Hegelund 		.width = 13,
7275d7e5b04SSteen Hegelund 	},
7285d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_DEI_CLS] = {
7295d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
7305d7e5b04SSteen Hegelund 		.offset = 81,
7315d7e5b04SSteen Hegelund 		.width = 1,
7325d7e5b04SSteen Hegelund 	},
7335d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_PCP_CLS] = {
7345d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
7355d7e5b04SSteen Hegelund 		.offset = 82,
7365d7e5b04SSteen Hegelund 		.width = 3,
7375d7e5b04SSteen Hegelund 	},
7385d7e5b04SSteen Hegelund 	[VCAP_KF_L2_FWD_IS] = {
7395d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
7405d7e5b04SSteen Hegelund 		.offset = 85,
7415d7e5b04SSteen Hegelund 		.width = 1,
7425d7e5b04SSteen Hegelund 	},
7435d7e5b04SSteen Hegelund 	[VCAP_KF_L3_RT_IS] = {
7445d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
7455d7e5b04SSteen Hegelund 		.offset = 88,
7465d7e5b04SSteen Hegelund 		.width = 1,
7475d7e5b04SSteen Hegelund 	},
7485d7e5b04SSteen Hegelund 	[VCAP_KF_L3_DST_IS] = {
7495d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
7505d7e5b04SSteen Hegelund 		.offset = 89,
7515d7e5b04SSteen Hegelund 		.width = 1,
7525d7e5b04SSteen Hegelund 	},
7535d7e5b04SSteen Hegelund 	[VCAP_KF_L2_DMAC] = {
7545d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U48,
7555d7e5b04SSteen Hegelund 		.offset = 90,
7565d7e5b04SSteen Hegelund 		.width = 48,
7575d7e5b04SSteen Hegelund 	},
7585d7e5b04SSteen Hegelund 	[VCAP_KF_L2_SMAC] = {
7595d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U48,
7605d7e5b04SSteen Hegelund 		.offset = 138,
7615d7e5b04SSteen Hegelund 		.width = 48,
7625d7e5b04SSteen Hegelund 	},
7635d7e5b04SSteen Hegelund 	[VCAP_KF_ETYPE_LEN_IS] = {
7645d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
7655d7e5b04SSteen Hegelund 		.offset = 186,
7665d7e5b04SSteen Hegelund 		.width = 1,
7675d7e5b04SSteen Hegelund 	},
7685d7e5b04SSteen Hegelund 	[VCAP_KF_ETYPE] = {
7695d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
7705d7e5b04SSteen Hegelund 		.offset = 187,
7715d7e5b04SSteen Hegelund 		.width = 16,
7725d7e5b04SSteen Hegelund 	},
7735d7e5b04SSteen Hegelund 	[VCAP_KF_L2_PAYLOAD_ETYPE] = {
7745d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U64,
7755d7e5b04SSteen Hegelund 		.offset = 203,
7765d7e5b04SSteen Hegelund 		.width = 64,
7775d7e5b04SSteen Hegelund 	},
7785d7e5b04SSteen Hegelund 	[VCAP_KF_L4_RNG] = {
7795d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
7805d7e5b04SSteen Hegelund 		.offset = 267,
7815d7e5b04SSteen Hegelund 		.width = 16,
7825d7e5b04SSteen Hegelund 	},
7835d7e5b04SSteen Hegelund 	[VCAP_KF_OAM_CCM_CNTS_EQ0] = {
7845d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
7855d7e5b04SSteen Hegelund 		.offset = 283,
7865d7e5b04SSteen Hegelund 		.width = 1,
7875d7e5b04SSteen Hegelund 	},
7885d7e5b04SSteen Hegelund 	[VCAP_KF_OAM_Y1731_IS] = {
7895d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
7905d7e5b04SSteen Hegelund 		.offset = 284,
7915d7e5b04SSteen Hegelund 		.width = 1,
7925d7e5b04SSteen Hegelund 	},
7935d7e5b04SSteen Hegelund };
7945d7e5b04SSteen Hegelund 
7955d7e5b04SSteen Hegelund static const struct vcap_field is2_arp_keyfield[] = {
7965d7e5b04SSteen Hegelund 	[VCAP_KF_TYPE] = {
7975d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
7985d7e5b04SSteen Hegelund 		.offset = 0,
7995d7e5b04SSteen Hegelund 		.width = 4,
8005d7e5b04SSteen Hegelund 	},
8015d7e5b04SSteen Hegelund 	[VCAP_KF_LOOKUP_FIRST_IS] = {
8025d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
8035d7e5b04SSteen Hegelund 		.offset = 4,
8045d7e5b04SSteen Hegelund 		.width = 1,
8055d7e5b04SSteen Hegelund 	},
8065d7e5b04SSteen Hegelund 	[VCAP_KF_LOOKUP_PAG] = {
8075d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
8085d7e5b04SSteen Hegelund 		.offset = 5,
8095d7e5b04SSteen Hegelund 		.width = 8,
8105d7e5b04SSteen Hegelund 	},
8115d7e5b04SSteen Hegelund 	[VCAP_KF_IF_IGR_PORT_MASK_L3] = {
8125d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
8135d7e5b04SSteen Hegelund 		.offset = 13,
8145d7e5b04SSteen Hegelund 		.width = 1,
8155d7e5b04SSteen Hegelund 	},
8165d7e5b04SSteen Hegelund 	[VCAP_KF_IF_IGR_PORT_MASK_RNG] = {
8175d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
8185d7e5b04SSteen Hegelund 		.offset = 14,
8195d7e5b04SSteen Hegelund 		.width = 4,
8205d7e5b04SSteen Hegelund 	},
8215d7e5b04SSteen Hegelund 	[VCAP_KF_IF_IGR_PORT_MASK_SEL] = {
8225d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
8235d7e5b04SSteen Hegelund 		.offset = 18,
8245d7e5b04SSteen Hegelund 		.width = 2,
8255d7e5b04SSteen Hegelund 	},
8265d7e5b04SSteen Hegelund 	[VCAP_KF_IF_IGR_PORT_MASK] = {
8275d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
8285d7e5b04SSteen Hegelund 		.offset = 20,
8295d7e5b04SSteen Hegelund 		.width = 32,
8305d7e5b04SSteen Hegelund 	},
8315d7e5b04SSteen Hegelund 	[VCAP_KF_L2_MC_IS] = {
8325d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
8335d7e5b04SSteen Hegelund 		.offset = 52,
8345d7e5b04SSteen Hegelund 		.width = 1,
8355d7e5b04SSteen Hegelund 	},
8365d7e5b04SSteen Hegelund 	[VCAP_KF_L2_BC_IS] = {
8375d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
8385d7e5b04SSteen Hegelund 		.offset = 53,
8395d7e5b04SSteen Hegelund 		.width = 1,
8405d7e5b04SSteen Hegelund 	},
8415d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_VLAN_TAGGED_IS] = {
8425d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
8435d7e5b04SSteen Hegelund 		.offset = 54,
8445d7e5b04SSteen Hegelund 		.width = 1,
8455d7e5b04SSteen Hegelund 	},
8465d7e5b04SSteen Hegelund 	[VCAP_KF_ISDX_GT0_IS] = {
8475d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
8485d7e5b04SSteen Hegelund 		.offset = 55,
8495d7e5b04SSteen Hegelund 		.width = 1,
8505d7e5b04SSteen Hegelund 	},
8515d7e5b04SSteen Hegelund 	[VCAP_KF_ISDX_CLS] = {
8525d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
8535d7e5b04SSteen Hegelund 		.offset = 56,
8545d7e5b04SSteen Hegelund 		.width = 12,
8555d7e5b04SSteen Hegelund 	},
8565d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_VID_CLS] = {
8575d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
8585d7e5b04SSteen Hegelund 		.offset = 68,
8595d7e5b04SSteen Hegelund 		.width = 13,
8605d7e5b04SSteen Hegelund 	},
8615d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_DEI_CLS] = {
8625d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
8635d7e5b04SSteen Hegelund 		.offset = 81,
8645d7e5b04SSteen Hegelund 		.width = 1,
8655d7e5b04SSteen Hegelund 	},
8665d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_PCP_CLS] = {
8675d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
8685d7e5b04SSteen Hegelund 		.offset = 82,
8695d7e5b04SSteen Hegelund 		.width = 3,
8705d7e5b04SSteen Hegelund 	},
8715d7e5b04SSteen Hegelund 	[VCAP_KF_L2_FWD_IS] = {
8725d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
8735d7e5b04SSteen Hegelund 		.offset = 85,
8745d7e5b04SSteen Hegelund 		.width = 1,
8755d7e5b04SSteen Hegelund 	},
8765d7e5b04SSteen Hegelund 	[VCAP_KF_L2_SMAC] = {
8775d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U48,
8785d7e5b04SSteen Hegelund 		.offset = 86,
8795d7e5b04SSteen Hegelund 		.width = 48,
8805d7e5b04SSteen Hegelund 	},
8815d7e5b04SSteen Hegelund 	[VCAP_KF_ARP_ADDR_SPACE_OK_IS] = {
8825d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
8835d7e5b04SSteen Hegelund 		.offset = 134,
8845d7e5b04SSteen Hegelund 		.width = 1,
8855d7e5b04SSteen Hegelund 	},
8865d7e5b04SSteen Hegelund 	[VCAP_KF_ARP_PROTO_SPACE_OK_IS] = {
8875d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
8885d7e5b04SSteen Hegelund 		.offset = 135,
8895d7e5b04SSteen Hegelund 		.width = 1,
8905d7e5b04SSteen Hegelund 	},
8915d7e5b04SSteen Hegelund 	[VCAP_KF_ARP_LEN_OK_IS] = {
8925d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
8935d7e5b04SSteen Hegelund 		.offset = 136,
8945d7e5b04SSteen Hegelund 		.width = 1,
8955d7e5b04SSteen Hegelund 	},
8965d7e5b04SSteen Hegelund 	[VCAP_KF_ARP_TGT_MATCH_IS] = {
8975d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
8985d7e5b04SSteen Hegelund 		.offset = 137,
8995d7e5b04SSteen Hegelund 		.width = 1,
9005d7e5b04SSteen Hegelund 	},
9015d7e5b04SSteen Hegelund 	[VCAP_KF_ARP_SENDER_MATCH_IS] = {
9025d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
9035d7e5b04SSteen Hegelund 		.offset = 138,
9045d7e5b04SSteen Hegelund 		.width = 1,
9055d7e5b04SSteen Hegelund 	},
9065d7e5b04SSteen Hegelund 	[VCAP_KF_ARP_OPCODE_UNKNOWN_IS] = {
9075d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
9085d7e5b04SSteen Hegelund 		.offset = 139,
9095d7e5b04SSteen Hegelund 		.width = 1,
9105d7e5b04SSteen Hegelund 	},
9115d7e5b04SSteen Hegelund 	[VCAP_KF_ARP_OPCODE] = {
9125d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
9135d7e5b04SSteen Hegelund 		.offset = 140,
9145d7e5b04SSteen Hegelund 		.width = 2,
9155d7e5b04SSteen Hegelund 	},
9165d7e5b04SSteen Hegelund 	[VCAP_KF_L3_IP4_DIP] = {
9175d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
9185d7e5b04SSteen Hegelund 		.offset = 142,
9195d7e5b04SSteen Hegelund 		.width = 32,
9205d7e5b04SSteen Hegelund 	},
9215d7e5b04SSteen Hegelund 	[VCAP_KF_L3_IP4_SIP] = {
9225d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
9235d7e5b04SSteen Hegelund 		.offset = 174,
9245d7e5b04SSteen Hegelund 		.width = 32,
9255d7e5b04SSteen Hegelund 	},
9265d7e5b04SSteen Hegelund 	[VCAP_KF_L3_DIP_EQ_SIP_IS] = {
9275d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
9285d7e5b04SSteen Hegelund 		.offset = 206,
9295d7e5b04SSteen Hegelund 		.width = 1,
9305d7e5b04SSteen Hegelund 	},
9315d7e5b04SSteen Hegelund 	[VCAP_KF_L4_RNG] = {
9325d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
9335d7e5b04SSteen Hegelund 		.offset = 207,
9345d7e5b04SSteen Hegelund 		.width = 16,
9355d7e5b04SSteen Hegelund 	},
9365d7e5b04SSteen Hegelund };
9375d7e5b04SSteen Hegelund 
9385d7e5b04SSteen Hegelund static const struct vcap_field is2_ip4_tcp_udp_keyfield[] = {
9395d7e5b04SSteen Hegelund 	[VCAP_KF_TYPE] = {
9405d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
9415d7e5b04SSteen Hegelund 		.offset = 0,
9425d7e5b04SSteen Hegelund 		.width = 4,
9435d7e5b04SSteen Hegelund 	},
9445d7e5b04SSteen Hegelund 	[VCAP_KF_LOOKUP_FIRST_IS] = {
9455d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
9465d7e5b04SSteen Hegelund 		.offset = 4,
9475d7e5b04SSteen Hegelund 		.width = 1,
9485d7e5b04SSteen Hegelund 	},
9495d7e5b04SSteen Hegelund 	[VCAP_KF_LOOKUP_PAG] = {
9505d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
9515d7e5b04SSteen Hegelund 		.offset = 5,
9525d7e5b04SSteen Hegelund 		.width = 8,
9535d7e5b04SSteen Hegelund 	},
9545d7e5b04SSteen Hegelund 	[VCAP_KF_IF_IGR_PORT_MASK_L3] = {
9555d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
9565d7e5b04SSteen Hegelund 		.offset = 13,
9575d7e5b04SSteen Hegelund 		.width = 1,
9585d7e5b04SSteen Hegelund 	},
9595d7e5b04SSteen Hegelund 	[VCAP_KF_IF_IGR_PORT_MASK_RNG] = {
9605d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
9615d7e5b04SSteen Hegelund 		.offset = 14,
9625d7e5b04SSteen Hegelund 		.width = 4,
9635d7e5b04SSteen Hegelund 	},
9645d7e5b04SSteen Hegelund 	[VCAP_KF_IF_IGR_PORT_MASK_SEL] = {
9655d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
9665d7e5b04SSteen Hegelund 		.offset = 18,
9675d7e5b04SSteen Hegelund 		.width = 2,
9685d7e5b04SSteen Hegelund 	},
9695d7e5b04SSteen Hegelund 	[VCAP_KF_IF_IGR_PORT_MASK] = {
9705d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
9715d7e5b04SSteen Hegelund 		.offset = 20,
9725d7e5b04SSteen Hegelund 		.width = 32,
9735d7e5b04SSteen Hegelund 	},
9745d7e5b04SSteen Hegelund 	[VCAP_KF_L2_MC_IS] = {
9755d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
9765d7e5b04SSteen Hegelund 		.offset = 52,
9775d7e5b04SSteen Hegelund 		.width = 1,
9785d7e5b04SSteen Hegelund 	},
9795d7e5b04SSteen Hegelund 	[VCAP_KF_L2_BC_IS] = {
9805d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
9815d7e5b04SSteen Hegelund 		.offset = 53,
9825d7e5b04SSteen Hegelund 		.width = 1,
9835d7e5b04SSteen Hegelund 	},
9845d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_VLAN_TAGGED_IS] = {
9855d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
9865d7e5b04SSteen Hegelund 		.offset = 54,
9875d7e5b04SSteen Hegelund 		.width = 1,
9885d7e5b04SSteen Hegelund 	},
9895d7e5b04SSteen Hegelund 	[VCAP_KF_ISDX_GT0_IS] = {
9905d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
9915d7e5b04SSteen Hegelund 		.offset = 55,
9925d7e5b04SSteen Hegelund 		.width = 1,
9935d7e5b04SSteen Hegelund 	},
9945d7e5b04SSteen Hegelund 	[VCAP_KF_ISDX_CLS] = {
9955d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
9965d7e5b04SSteen Hegelund 		.offset = 56,
9975d7e5b04SSteen Hegelund 		.width = 12,
9985d7e5b04SSteen Hegelund 	},
9995d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_VID_CLS] = {
10005d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
10015d7e5b04SSteen Hegelund 		.offset = 68,
10025d7e5b04SSteen Hegelund 		.width = 13,
10035d7e5b04SSteen Hegelund 	},
10045d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_DEI_CLS] = {
10055d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
10065d7e5b04SSteen Hegelund 		.offset = 81,
10075d7e5b04SSteen Hegelund 		.width = 1,
10085d7e5b04SSteen Hegelund 	},
10095d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_PCP_CLS] = {
10105d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
10115d7e5b04SSteen Hegelund 		.offset = 82,
10125d7e5b04SSteen Hegelund 		.width = 3,
10135d7e5b04SSteen Hegelund 	},
10145d7e5b04SSteen Hegelund 	[VCAP_KF_L2_FWD_IS] = {
10155d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
10165d7e5b04SSteen Hegelund 		.offset = 85,
10175d7e5b04SSteen Hegelund 		.width = 1,
10185d7e5b04SSteen Hegelund 	},
10195d7e5b04SSteen Hegelund 	[VCAP_KF_L3_RT_IS] = {
10205d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
10215d7e5b04SSteen Hegelund 		.offset = 88,
10225d7e5b04SSteen Hegelund 		.width = 1,
10235d7e5b04SSteen Hegelund 	},
10245d7e5b04SSteen Hegelund 	[VCAP_KF_L3_DST_IS] = {
10255d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
10265d7e5b04SSteen Hegelund 		.offset = 89,
10275d7e5b04SSteen Hegelund 		.width = 1,
10285d7e5b04SSteen Hegelund 	},
10295d7e5b04SSteen Hegelund 	[VCAP_KF_IP4_IS] = {
10305d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
10315d7e5b04SSteen Hegelund 		.offset = 90,
10325d7e5b04SSteen Hegelund 		.width = 1,
10335d7e5b04SSteen Hegelund 	},
10345d7e5b04SSteen Hegelund 	[VCAP_KF_L3_FRAGMENT_TYPE] = {
10355d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
10365d7e5b04SSteen Hegelund 		.offset = 91,
10375d7e5b04SSteen Hegelund 		.width = 2,
10385d7e5b04SSteen Hegelund 	},
10395d7e5b04SSteen Hegelund 	[VCAP_KF_L3_FRAG_INVLD_L4_LEN] = {
10405d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
10415d7e5b04SSteen Hegelund 		.offset = 93,
10425d7e5b04SSteen Hegelund 		.width = 1,
10435d7e5b04SSteen Hegelund 	},
10445d7e5b04SSteen Hegelund 	[VCAP_KF_L3_OPTIONS_IS] = {
10455d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
10465d7e5b04SSteen Hegelund 		.offset = 94,
10475d7e5b04SSteen Hegelund 		.width = 1,
10485d7e5b04SSteen Hegelund 	},
10495d7e5b04SSteen Hegelund 	[VCAP_KF_L3_TTL_GT0] = {
10505d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
10515d7e5b04SSteen Hegelund 		.offset = 95,
10525d7e5b04SSteen Hegelund 		.width = 1,
10535d7e5b04SSteen Hegelund 	},
10545d7e5b04SSteen Hegelund 	[VCAP_KF_L3_TOS] = {
10555d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
10565d7e5b04SSteen Hegelund 		.offset = 96,
10575d7e5b04SSteen Hegelund 		.width = 8,
10585d7e5b04SSteen Hegelund 	},
10595d7e5b04SSteen Hegelund 	[VCAP_KF_L3_IP4_DIP] = {
10605d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
10615d7e5b04SSteen Hegelund 		.offset = 104,
10625d7e5b04SSteen Hegelund 		.width = 32,
10635d7e5b04SSteen Hegelund 	},
10645d7e5b04SSteen Hegelund 	[VCAP_KF_L3_IP4_SIP] = {
10655d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
10665d7e5b04SSteen Hegelund 		.offset = 136,
10675d7e5b04SSteen Hegelund 		.width = 32,
10685d7e5b04SSteen Hegelund 	},
10695d7e5b04SSteen Hegelund 	[VCAP_KF_L3_DIP_EQ_SIP_IS] = {
10705d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
10715d7e5b04SSteen Hegelund 		.offset = 168,
10725d7e5b04SSteen Hegelund 		.width = 1,
10735d7e5b04SSteen Hegelund 	},
10745d7e5b04SSteen Hegelund 	[VCAP_KF_TCP_IS] = {
10755d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
10765d7e5b04SSteen Hegelund 		.offset = 169,
10775d7e5b04SSteen Hegelund 		.width = 1,
10785d7e5b04SSteen Hegelund 	},
10795d7e5b04SSteen Hegelund 	[VCAP_KF_L4_DPORT] = {
10805d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
10815d7e5b04SSteen Hegelund 		.offset = 170,
10825d7e5b04SSteen Hegelund 		.width = 16,
10835d7e5b04SSteen Hegelund 	},
10845d7e5b04SSteen Hegelund 	[VCAP_KF_L4_SPORT] = {
10855d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
10865d7e5b04SSteen Hegelund 		.offset = 186,
10875d7e5b04SSteen Hegelund 		.width = 16,
10885d7e5b04SSteen Hegelund 	},
10895d7e5b04SSteen Hegelund 	[VCAP_KF_L4_RNG] = {
10905d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
10915d7e5b04SSteen Hegelund 		.offset = 202,
10925d7e5b04SSteen Hegelund 		.width = 16,
10935d7e5b04SSteen Hegelund 	},
10945d7e5b04SSteen Hegelund 	[VCAP_KF_L4_SPORT_EQ_DPORT_IS] = {
10955d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
10965d7e5b04SSteen Hegelund 		.offset = 218,
10975d7e5b04SSteen Hegelund 		.width = 1,
10985d7e5b04SSteen Hegelund 	},
10995d7e5b04SSteen Hegelund 	[VCAP_KF_L4_SEQUENCE_EQ0_IS] = {
11005d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
11015d7e5b04SSteen Hegelund 		.offset = 219,
11025d7e5b04SSteen Hegelund 		.width = 1,
11035d7e5b04SSteen Hegelund 	},
11045d7e5b04SSteen Hegelund 	[VCAP_KF_L4_FIN] = {
11055d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
11065d7e5b04SSteen Hegelund 		.offset = 220,
11075d7e5b04SSteen Hegelund 		.width = 1,
11085d7e5b04SSteen Hegelund 	},
11095d7e5b04SSteen Hegelund 	[VCAP_KF_L4_SYN] = {
11105d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
11115d7e5b04SSteen Hegelund 		.offset = 221,
11125d7e5b04SSteen Hegelund 		.width = 1,
11135d7e5b04SSteen Hegelund 	},
11145d7e5b04SSteen Hegelund 	[VCAP_KF_L4_RST] = {
11155d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
11165d7e5b04SSteen Hegelund 		.offset = 222,
11175d7e5b04SSteen Hegelund 		.width = 1,
11185d7e5b04SSteen Hegelund 	},
11195d7e5b04SSteen Hegelund 	[VCAP_KF_L4_PSH] = {
11205d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
11215d7e5b04SSteen Hegelund 		.offset = 223,
11225d7e5b04SSteen Hegelund 		.width = 1,
11235d7e5b04SSteen Hegelund 	},
11245d7e5b04SSteen Hegelund 	[VCAP_KF_L4_ACK] = {
11255d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
11265d7e5b04SSteen Hegelund 		.offset = 224,
11275d7e5b04SSteen Hegelund 		.width = 1,
11285d7e5b04SSteen Hegelund 	},
11295d7e5b04SSteen Hegelund 	[VCAP_KF_L4_URG] = {
11305d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
11315d7e5b04SSteen Hegelund 		.offset = 225,
11325d7e5b04SSteen Hegelund 		.width = 1,
11335d7e5b04SSteen Hegelund 	},
11345d7e5b04SSteen Hegelund 	[VCAP_KF_L4_PAYLOAD] = {
11355d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U64,
11365d7e5b04SSteen Hegelund 		.offset = 226,
11375d7e5b04SSteen Hegelund 		.width = 64,
11385d7e5b04SSteen Hegelund 	},
11395d7e5b04SSteen Hegelund };
11405d7e5b04SSteen Hegelund 
11415d7e5b04SSteen Hegelund static const struct vcap_field is2_ip4_other_keyfield[] = {
11425d7e5b04SSteen Hegelund 	[VCAP_KF_TYPE] = {
11435d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
11445d7e5b04SSteen Hegelund 		.offset = 0,
11455d7e5b04SSteen Hegelund 		.width = 4,
11465d7e5b04SSteen Hegelund 	},
11475d7e5b04SSteen Hegelund 	[VCAP_KF_LOOKUP_FIRST_IS] = {
11485d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
11495d7e5b04SSteen Hegelund 		.offset = 4,
11505d7e5b04SSteen Hegelund 		.width = 1,
11515d7e5b04SSteen Hegelund 	},
11525d7e5b04SSteen Hegelund 	[VCAP_KF_LOOKUP_PAG] = {
11535d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
11545d7e5b04SSteen Hegelund 		.offset = 5,
11555d7e5b04SSteen Hegelund 		.width = 8,
11565d7e5b04SSteen Hegelund 	},
11575d7e5b04SSteen Hegelund 	[VCAP_KF_IF_IGR_PORT_MASK_L3] = {
11585d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
11595d7e5b04SSteen Hegelund 		.offset = 13,
11605d7e5b04SSteen Hegelund 		.width = 1,
11615d7e5b04SSteen Hegelund 	},
11625d7e5b04SSteen Hegelund 	[VCAP_KF_IF_IGR_PORT_MASK_RNG] = {
11635d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
11645d7e5b04SSteen Hegelund 		.offset = 14,
11655d7e5b04SSteen Hegelund 		.width = 4,
11665d7e5b04SSteen Hegelund 	},
11675d7e5b04SSteen Hegelund 	[VCAP_KF_IF_IGR_PORT_MASK_SEL] = {
11685d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
11695d7e5b04SSteen Hegelund 		.offset = 18,
11705d7e5b04SSteen Hegelund 		.width = 2,
11715d7e5b04SSteen Hegelund 	},
11725d7e5b04SSteen Hegelund 	[VCAP_KF_IF_IGR_PORT_MASK] = {
11735d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
11745d7e5b04SSteen Hegelund 		.offset = 20,
11755d7e5b04SSteen Hegelund 		.width = 32,
11765d7e5b04SSteen Hegelund 	},
11775d7e5b04SSteen Hegelund 	[VCAP_KF_L2_MC_IS] = {
11785d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
11795d7e5b04SSteen Hegelund 		.offset = 52,
11805d7e5b04SSteen Hegelund 		.width = 1,
11815d7e5b04SSteen Hegelund 	},
11825d7e5b04SSteen Hegelund 	[VCAP_KF_L2_BC_IS] = {
11835d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
11845d7e5b04SSteen Hegelund 		.offset = 53,
11855d7e5b04SSteen Hegelund 		.width = 1,
11865d7e5b04SSteen Hegelund 	},
11875d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_VLAN_TAGGED_IS] = {
11885d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
11895d7e5b04SSteen Hegelund 		.offset = 54,
11905d7e5b04SSteen Hegelund 		.width = 1,
11915d7e5b04SSteen Hegelund 	},
11925d7e5b04SSteen Hegelund 	[VCAP_KF_ISDX_GT0_IS] = {
11935d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
11945d7e5b04SSteen Hegelund 		.offset = 55,
11955d7e5b04SSteen Hegelund 		.width = 1,
11965d7e5b04SSteen Hegelund 	},
11975d7e5b04SSteen Hegelund 	[VCAP_KF_ISDX_CLS] = {
11985d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
11995d7e5b04SSteen Hegelund 		.offset = 56,
12005d7e5b04SSteen Hegelund 		.width = 12,
12015d7e5b04SSteen Hegelund 	},
12025d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_VID_CLS] = {
12035d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
12045d7e5b04SSteen Hegelund 		.offset = 68,
12055d7e5b04SSteen Hegelund 		.width = 13,
12065d7e5b04SSteen Hegelund 	},
12075d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_DEI_CLS] = {
12085d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
12095d7e5b04SSteen Hegelund 		.offset = 81,
12105d7e5b04SSteen Hegelund 		.width = 1,
12115d7e5b04SSteen Hegelund 	},
12125d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_PCP_CLS] = {
12135d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
12145d7e5b04SSteen Hegelund 		.offset = 82,
12155d7e5b04SSteen Hegelund 		.width = 3,
12165d7e5b04SSteen Hegelund 	},
12175d7e5b04SSteen Hegelund 	[VCAP_KF_L2_FWD_IS] = {
12185d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
12195d7e5b04SSteen Hegelund 		.offset = 85,
12205d7e5b04SSteen Hegelund 		.width = 1,
12215d7e5b04SSteen Hegelund 	},
12225d7e5b04SSteen Hegelund 	[VCAP_KF_L3_RT_IS] = {
12235d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
12245d7e5b04SSteen Hegelund 		.offset = 88,
12255d7e5b04SSteen Hegelund 		.width = 1,
12265d7e5b04SSteen Hegelund 	},
12275d7e5b04SSteen Hegelund 	[VCAP_KF_L3_DST_IS] = {
12285d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
12295d7e5b04SSteen Hegelund 		.offset = 89,
12305d7e5b04SSteen Hegelund 		.width = 1,
12315d7e5b04SSteen Hegelund 	},
12325d7e5b04SSteen Hegelund 	[VCAP_KF_IP4_IS] = {
12335d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
12345d7e5b04SSteen Hegelund 		.offset = 90,
12355d7e5b04SSteen Hegelund 		.width = 1,
12365d7e5b04SSteen Hegelund 	},
12375d7e5b04SSteen Hegelund 	[VCAP_KF_L3_FRAGMENT_TYPE] = {
12385d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
12395d7e5b04SSteen Hegelund 		.offset = 91,
12405d7e5b04SSteen Hegelund 		.width = 2,
12415d7e5b04SSteen Hegelund 	},
12425d7e5b04SSteen Hegelund 	[VCAP_KF_L3_FRAG_INVLD_L4_LEN] = {
12435d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
12445d7e5b04SSteen Hegelund 		.offset = 93,
12455d7e5b04SSteen Hegelund 		.width = 1,
12465d7e5b04SSteen Hegelund 	},
12475d7e5b04SSteen Hegelund 	[VCAP_KF_L3_OPTIONS_IS] = {
12485d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
12495d7e5b04SSteen Hegelund 		.offset = 94,
12505d7e5b04SSteen Hegelund 		.width = 1,
12515d7e5b04SSteen Hegelund 	},
12525d7e5b04SSteen Hegelund 	[VCAP_KF_L3_TTL_GT0] = {
12535d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
12545d7e5b04SSteen Hegelund 		.offset = 95,
12555d7e5b04SSteen Hegelund 		.width = 1,
12565d7e5b04SSteen Hegelund 	},
12575d7e5b04SSteen Hegelund 	[VCAP_KF_L3_TOS] = {
12585d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
12595d7e5b04SSteen Hegelund 		.offset = 96,
12605d7e5b04SSteen Hegelund 		.width = 8,
12615d7e5b04SSteen Hegelund 	},
12625d7e5b04SSteen Hegelund 	[VCAP_KF_L3_IP4_DIP] = {
12635d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
12645d7e5b04SSteen Hegelund 		.offset = 104,
12655d7e5b04SSteen Hegelund 		.width = 32,
12665d7e5b04SSteen Hegelund 	},
12675d7e5b04SSteen Hegelund 	[VCAP_KF_L3_IP4_SIP] = {
12685d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
12695d7e5b04SSteen Hegelund 		.offset = 136,
12705d7e5b04SSteen Hegelund 		.width = 32,
12715d7e5b04SSteen Hegelund 	},
12725d7e5b04SSteen Hegelund 	[VCAP_KF_L3_DIP_EQ_SIP_IS] = {
12735d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
12745d7e5b04SSteen Hegelund 		.offset = 168,
12755d7e5b04SSteen Hegelund 		.width = 1,
12765d7e5b04SSteen Hegelund 	},
12775d7e5b04SSteen Hegelund 	[VCAP_KF_L3_IP_PROTO] = {
12785d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
12795d7e5b04SSteen Hegelund 		.offset = 169,
12805d7e5b04SSteen Hegelund 		.width = 8,
12815d7e5b04SSteen Hegelund 	},
12825d7e5b04SSteen Hegelund 	[VCAP_KF_L4_RNG] = {
12835d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
12845d7e5b04SSteen Hegelund 		.offset = 177,
12855d7e5b04SSteen Hegelund 		.width = 16,
12865d7e5b04SSteen Hegelund 	},
12875d7e5b04SSteen Hegelund 	[VCAP_KF_L3_PAYLOAD] = {
12885d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U112,
12895d7e5b04SSteen Hegelund 		.offset = 193,
12905d7e5b04SSteen Hegelund 		.width = 96,
12915d7e5b04SSteen Hegelund 	},
12925d7e5b04SSteen Hegelund };
12935d7e5b04SSteen Hegelund 
12945d7e5b04SSteen Hegelund static const struct vcap_field is2_ip6_std_keyfield[] = {
12955d7e5b04SSteen Hegelund 	[VCAP_KF_TYPE] = {
12965d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
12975d7e5b04SSteen Hegelund 		.offset = 0,
12985d7e5b04SSteen Hegelund 		.width = 4,
12995d7e5b04SSteen Hegelund 	},
13005d7e5b04SSteen Hegelund 	[VCAP_KF_LOOKUP_FIRST_IS] = {
13015d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
13025d7e5b04SSteen Hegelund 		.offset = 4,
13035d7e5b04SSteen Hegelund 		.width = 1,
13045d7e5b04SSteen Hegelund 	},
13055d7e5b04SSteen Hegelund 	[VCAP_KF_LOOKUP_PAG] = {
13065d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
13075d7e5b04SSteen Hegelund 		.offset = 5,
13085d7e5b04SSteen Hegelund 		.width = 8,
13095d7e5b04SSteen Hegelund 	},
13105d7e5b04SSteen Hegelund 	[VCAP_KF_IF_IGR_PORT_MASK_L3] = {
13115d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
13125d7e5b04SSteen Hegelund 		.offset = 13,
13135d7e5b04SSteen Hegelund 		.width = 1,
13145d7e5b04SSteen Hegelund 	},
13155d7e5b04SSteen Hegelund 	[VCAP_KF_IF_IGR_PORT_MASK_RNG] = {
13165d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
13175d7e5b04SSteen Hegelund 		.offset = 14,
13185d7e5b04SSteen Hegelund 		.width = 4,
13195d7e5b04SSteen Hegelund 	},
13205d7e5b04SSteen Hegelund 	[VCAP_KF_IF_IGR_PORT_MASK_SEL] = {
13215d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
13225d7e5b04SSteen Hegelund 		.offset = 18,
13235d7e5b04SSteen Hegelund 		.width = 2,
13245d7e5b04SSteen Hegelund 	},
13255d7e5b04SSteen Hegelund 	[VCAP_KF_IF_IGR_PORT_MASK] = {
13265d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
13275d7e5b04SSteen Hegelund 		.offset = 20,
13285d7e5b04SSteen Hegelund 		.width = 32,
13295d7e5b04SSteen Hegelund 	},
13305d7e5b04SSteen Hegelund 	[VCAP_KF_L2_MC_IS] = {
13315d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
13325d7e5b04SSteen Hegelund 		.offset = 52,
13335d7e5b04SSteen Hegelund 		.width = 1,
13345d7e5b04SSteen Hegelund 	},
13355d7e5b04SSteen Hegelund 	[VCAP_KF_L2_BC_IS] = {
13365d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
13375d7e5b04SSteen Hegelund 		.offset = 53,
13385d7e5b04SSteen Hegelund 		.width = 1,
13395d7e5b04SSteen Hegelund 	},
13405d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_VLAN_TAGGED_IS] = {
13415d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
13425d7e5b04SSteen Hegelund 		.offset = 54,
13435d7e5b04SSteen Hegelund 		.width = 1,
13445d7e5b04SSteen Hegelund 	},
13455d7e5b04SSteen Hegelund 	[VCAP_KF_ISDX_GT0_IS] = {
13465d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
13475d7e5b04SSteen Hegelund 		.offset = 55,
13485d7e5b04SSteen Hegelund 		.width = 1,
13495d7e5b04SSteen Hegelund 	},
13505d7e5b04SSteen Hegelund 	[VCAP_KF_ISDX_CLS] = {
13515d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
13525d7e5b04SSteen Hegelund 		.offset = 56,
13535d7e5b04SSteen Hegelund 		.width = 12,
13545d7e5b04SSteen Hegelund 	},
13555d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_VID_CLS] = {
13565d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
13575d7e5b04SSteen Hegelund 		.offset = 68,
13585d7e5b04SSteen Hegelund 		.width = 13,
13595d7e5b04SSteen Hegelund 	},
13605d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_DEI_CLS] = {
13615d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
13625d7e5b04SSteen Hegelund 		.offset = 81,
13635d7e5b04SSteen Hegelund 		.width = 1,
13645d7e5b04SSteen Hegelund 	},
13655d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_PCP_CLS] = {
13665d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
13675d7e5b04SSteen Hegelund 		.offset = 82,
13685d7e5b04SSteen Hegelund 		.width = 3,
13695d7e5b04SSteen Hegelund 	},
13705d7e5b04SSteen Hegelund 	[VCAP_KF_L2_FWD_IS] = {
13715d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
13725d7e5b04SSteen Hegelund 		.offset = 85,
13735d7e5b04SSteen Hegelund 		.width = 1,
13745d7e5b04SSteen Hegelund 	},
13755d7e5b04SSteen Hegelund 	[VCAP_KF_L3_RT_IS] = {
13765d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
13775d7e5b04SSteen Hegelund 		.offset = 88,
13785d7e5b04SSteen Hegelund 		.width = 1,
13795d7e5b04SSteen Hegelund 	},
13805d7e5b04SSteen Hegelund 	[VCAP_KF_L3_TTL_GT0] = {
13815d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
13825d7e5b04SSteen Hegelund 		.offset = 90,
13835d7e5b04SSteen Hegelund 		.width = 1,
13845d7e5b04SSteen Hegelund 	},
13855d7e5b04SSteen Hegelund 	[VCAP_KF_L3_IP6_SIP] = {
13865d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U128,
13875d7e5b04SSteen Hegelund 		.offset = 91,
13885d7e5b04SSteen Hegelund 		.width = 128,
13895d7e5b04SSteen Hegelund 	},
13905d7e5b04SSteen Hegelund 	[VCAP_KF_L3_DIP_EQ_SIP_IS] = {
13915d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
13925d7e5b04SSteen Hegelund 		.offset = 219,
13935d7e5b04SSteen Hegelund 		.width = 1,
13945d7e5b04SSteen Hegelund 	},
13955d7e5b04SSteen Hegelund 	[VCAP_KF_L3_IP_PROTO] = {
13965d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
13975d7e5b04SSteen Hegelund 		.offset = 220,
13985d7e5b04SSteen Hegelund 		.width = 8,
13995d7e5b04SSteen Hegelund 	},
14005d7e5b04SSteen Hegelund 	[VCAP_KF_L4_RNG] = {
14015d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
14025d7e5b04SSteen Hegelund 		.offset = 228,
14035d7e5b04SSteen Hegelund 		.width = 16,
14045d7e5b04SSteen Hegelund 	},
14055d7e5b04SSteen Hegelund 	[VCAP_KF_L3_PAYLOAD] = {
14065d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U48,
14075d7e5b04SSteen Hegelund 		.offset = 244,
14085d7e5b04SSteen Hegelund 		.width = 40,
14095d7e5b04SSteen Hegelund 	},
14105d7e5b04SSteen Hegelund };
14115d7e5b04SSteen Hegelund 
14125d7e5b04SSteen Hegelund static const struct vcap_field is2_ip_7tuple_keyfield[] = {
14135d7e5b04SSteen Hegelund 	[VCAP_KF_TYPE] = {
14145d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
14155d7e5b04SSteen Hegelund 		.offset = 0,
14165d7e5b04SSteen Hegelund 		.width = 2,
14175d7e5b04SSteen Hegelund 	},
14185d7e5b04SSteen Hegelund 	[VCAP_KF_LOOKUP_FIRST_IS] = {
14195d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
14205d7e5b04SSteen Hegelund 		.offset = 2,
14215d7e5b04SSteen Hegelund 		.width = 1,
14225d7e5b04SSteen Hegelund 	},
14235d7e5b04SSteen Hegelund 	[VCAP_KF_LOOKUP_PAG] = {
14245d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
14255d7e5b04SSteen Hegelund 		.offset = 3,
14265d7e5b04SSteen Hegelund 		.width = 8,
14275d7e5b04SSteen Hegelund 	},
14285d7e5b04SSteen Hegelund 	[VCAP_KF_IF_IGR_PORT_MASK_L3] = {
14295d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
14305d7e5b04SSteen Hegelund 		.offset = 11,
14315d7e5b04SSteen Hegelund 		.width = 1,
14325d7e5b04SSteen Hegelund 	},
14335d7e5b04SSteen Hegelund 	[VCAP_KF_IF_IGR_PORT_MASK_RNG] = {
14345d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
14355d7e5b04SSteen Hegelund 		.offset = 12,
14365d7e5b04SSteen Hegelund 		.width = 4,
14375d7e5b04SSteen Hegelund 	},
14385d7e5b04SSteen Hegelund 	[VCAP_KF_IF_IGR_PORT_MASK_SEL] = {
14395d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
14405d7e5b04SSteen Hegelund 		.offset = 16,
14415d7e5b04SSteen Hegelund 		.width = 2,
14425d7e5b04SSteen Hegelund 	},
14435d7e5b04SSteen Hegelund 	[VCAP_KF_IF_IGR_PORT_MASK] = {
14445d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U72,
14455d7e5b04SSteen Hegelund 		.offset = 18,
14465d7e5b04SSteen Hegelund 		.width = 65,
14475d7e5b04SSteen Hegelund 	},
14485d7e5b04SSteen Hegelund 	[VCAP_KF_L2_MC_IS] = {
14495d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
14505d7e5b04SSteen Hegelund 		.offset = 83,
14515d7e5b04SSteen Hegelund 		.width = 1,
14525d7e5b04SSteen Hegelund 	},
14535d7e5b04SSteen Hegelund 	[VCAP_KF_L2_BC_IS] = {
14545d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
14555d7e5b04SSteen Hegelund 		.offset = 84,
14565d7e5b04SSteen Hegelund 		.width = 1,
14575d7e5b04SSteen Hegelund 	},
14585d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_VLAN_TAGGED_IS] = {
14595d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
14605d7e5b04SSteen Hegelund 		.offset = 85,
14615d7e5b04SSteen Hegelund 		.width = 1,
14625d7e5b04SSteen Hegelund 	},
14635d7e5b04SSteen Hegelund 	[VCAP_KF_ISDX_GT0_IS] = {
14645d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
14655d7e5b04SSteen Hegelund 		.offset = 86,
14665d7e5b04SSteen Hegelund 		.width = 1,
14675d7e5b04SSteen Hegelund 	},
14685d7e5b04SSteen Hegelund 	[VCAP_KF_ISDX_CLS] = {
14695d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
14705d7e5b04SSteen Hegelund 		.offset = 87,
14715d7e5b04SSteen Hegelund 		.width = 12,
14725d7e5b04SSteen Hegelund 	},
14735d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_VID_CLS] = {
14745d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
14755d7e5b04SSteen Hegelund 		.offset = 99,
14765d7e5b04SSteen Hegelund 		.width = 13,
14775d7e5b04SSteen Hegelund 	},
14785d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_DEI_CLS] = {
14795d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
14805d7e5b04SSteen Hegelund 		.offset = 112,
14815d7e5b04SSteen Hegelund 		.width = 1,
14825d7e5b04SSteen Hegelund 	},
14835d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_PCP_CLS] = {
14845d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
14855d7e5b04SSteen Hegelund 		.offset = 113,
14865d7e5b04SSteen Hegelund 		.width = 3,
14875d7e5b04SSteen Hegelund 	},
14885d7e5b04SSteen Hegelund 	[VCAP_KF_L2_FWD_IS] = {
14895d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
14905d7e5b04SSteen Hegelund 		.offset = 116,
14915d7e5b04SSteen Hegelund 		.width = 1,
14925d7e5b04SSteen Hegelund 	},
14935d7e5b04SSteen Hegelund 	[VCAP_KF_L3_RT_IS] = {
14945d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
14955d7e5b04SSteen Hegelund 		.offset = 119,
14965d7e5b04SSteen Hegelund 		.width = 1,
14975d7e5b04SSteen Hegelund 	},
14985d7e5b04SSteen Hegelund 	[VCAP_KF_L3_DST_IS] = {
14995d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
15005d7e5b04SSteen Hegelund 		.offset = 120,
15015d7e5b04SSteen Hegelund 		.width = 1,
15025d7e5b04SSteen Hegelund 	},
15035d7e5b04SSteen Hegelund 	[VCAP_KF_L2_DMAC] = {
15045d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U48,
15055d7e5b04SSteen Hegelund 		.offset = 121,
15065d7e5b04SSteen Hegelund 		.width = 48,
15075d7e5b04SSteen Hegelund 	},
15085d7e5b04SSteen Hegelund 	[VCAP_KF_L2_SMAC] = {
15095d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U48,
15105d7e5b04SSteen Hegelund 		.offset = 169,
15115d7e5b04SSteen Hegelund 		.width = 48,
15125d7e5b04SSteen Hegelund 	},
15135d7e5b04SSteen Hegelund 	[VCAP_KF_IP4_IS] = {
15145d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
15155d7e5b04SSteen Hegelund 		.offset = 217,
15165d7e5b04SSteen Hegelund 		.width = 1,
15175d7e5b04SSteen Hegelund 	},
15185d7e5b04SSteen Hegelund 	[VCAP_KF_L3_TTL_GT0] = {
15195d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
15205d7e5b04SSteen Hegelund 		.offset = 218,
15215d7e5b04SSteen Hegelund 		.width = 1,
15225d7e5b04SSteen Hegelund 	},
15235d7e5b04SSteen Hegelund 	[VCAP_KF_L3_TOS] = {
15245d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
15255d7e5b04SSteen Hegelund 		.offset = 219,
15265d7e5b04SSteen Hegelund 		.width = 8,
15275d7e5b04SSteen Hegelund 	},
15285d7e5b04SSteen Hegelund 	[VCAP_KF_L3_IP6_DIP] = {
15295d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U128,
15305d7e5b04SSteen Hegelund 		.offset = 227,
15315d7e5b04SSteen Hegelund 		.width = 128,
15325d7e5b04SSteen Hegelund 	},
15335d7e5b04SSteen Hegelund 	[VCAP_KF_L3_IP6_SIP] = {
15345d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U128,
15355d7e5b04SSteen Hegelund 		.offset = 355,
15365d7e5b04SSteen Hegelund 		.width = 128,
15375d7e5b04SSteen Hegelund 	},
15385d7e5b04SSteen Hegelund 	[VCAP_KF_L3_DIP_EQ_SIP_IS] = {
15395d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
15405d7e5b04SSteen Hegelund 		.offset = 483,
15415d7e5b04SSteen Hegelund 		.width = 1,
15425d7e5b04SSteen Hegelund 	},
15435d7e5b04SSteen Hegelund 	[VCAP_KF_TCP_UDP_IS] = {
15445d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
15455d7e5b04SSteen Hegelund 		.offset = 484,
15465d7e5b04SSteen Hegelund 		.width = 1,
15475d7e5b04SSteen Hegelund 	},
15485d7e5b04SSteen Hegelund 	[VCAP_KF_TCP_IS] = {
15495d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
15505d7e5b04SSteen Hegelund 		.offset = 485,
15515d7e5b04SSteen Hegelund 		.width = 1,
15525d7e5b04SSteen Hegelund 	},
15535d7e5b04SSteen Hegelund 	[VCAP_KF_L4_DPORT] = {
15545d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
15555d7e5b04SSteen Hegelund 		.offset = 486,
15565d7e5b04SSteen Hegelund 		.width = 16,
15575d7e5b04SSteen Hegelund 	},
15585d7e5b04SSteen Hegelund 	[VCAP_KF_L4_SPORT] = {
15595d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
15605d7e5b04SSteen Hegelund 		.offset = 502,
15615d7e5b04SSteen Hegelund 		.width = 16,
15625d7e5b04SSteen Hegelund 	},
15635d7e5b04SSteen Hegelund 	[VCAP_KF_L4_RNG] = {
15645d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
15655d7e5b04SSteen Hegelund 		.offset = 518,
15665d7e5b04SSteen Hegelund 		.width = 16,
15675d7e5b04SSteen Hegelund 	},
15685d7e5b04SSteen Hegelund 	[VCAP_KF_L4_SPORT_EQ_DPORT_IS] = {
15695d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
15705d7e5b04SSteen Hegelund 		.offset = 534,
15715d7e5b04SSteen Hegelund 		.width = 1,
15725d7e5b04SSteen Hegelund 	},
15735d7e5b04SSteen Hegelund 	[VCAP_KF_L4_SEQUENCE_EQ0_IS] = {
15745d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
15755d7e5b04SSteen Hegelund 		.offset = 535,
15765d7e5b04SSteen Hegelund 		.width = 1,
15775d7e5b04SSteen Hegelund 	},
15785d7e5b04SSteen Hegelund 	[VCAP_KF_L4_FIN] = {
15795d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
15805d7e5b04SSteen Hegelund 		.offset = 536,
15815d7e5b04SSteen Hegelund 		.width = 1,
15825d7e5b04SSteen Hegelund 	},
15835d7e5b04SSteen Hegelund 	[VCAP_KF_L4_SYN] = {
15845d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
15855d7e5b04SSteen Hegelund 		.offset = 537,
15865d7e5b04SSteen Hegelund 		.width = 1,
15875d7e5b04SSteen Hegelund 	},
15885d7e5b04SSteen Hegelund 	[VCAP_KF_L4_RST] = {
15895d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
15905d7e5b04SSteen Hegelund 		.offset = 538,
15915d7e5b04SSteen Hegelund 		.width = 1,
15925d7e5b04SSteen Hegelund 	},
15935d7e5b04SSteen Hegelund 	[VCAP_KF_L4_PSH] = {
15945d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
15955d7e5b04SSteen Hegelund 		.offset = 539,
15965d7e5b04SSteen Hegelund 		.width = 1,
15975d7e5b04SSteen Hegelund 	},
15985d7e5b04SSteen Hegelund 	[VCAP_KF_L4_ACK] = {
15995d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
16005d7e5b04SSteen Hegelund 		.offset = 540,
16015d7e5b04SSteen Hegelund 		.width = 1,
16025d7e5b04SSteen Hegelund 	},
16035d7e5b04SSteen Hegelund 	[VCAP_KF_L4_URG] = {
16045d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
16055d7e5b04SSteen Hegelund 		.offset = 541,
16065d7e5b04SSteen Hegelund 		.width = 1,
16075d7e5b04SSteen Hegelund 	},
16085d7e5b04SSteen Hegelund 	[VCAP_KF_L4_PAYLOAD] = {
16095d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U64,
16105d7e5b04SSteen Hegelund 		.offset = 542,
16115d7e5b04SSteen Hegelund 		.width = 64,
16125d7e5b04SSteen Hegelund 	},
16135d7e5b04SSteen Hegelund };
16145d7e5b04SSteen Hegelund 
16155d7e5b04SSteen Hegelund static const struct vcap_field es2_mac_etype_keyfield[] = {
16165d7e5b04SSteen Hegelund 	[VCAP_KF_TYPE] = {
16175d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
16185d7e5b04SSteen Hegelund 		.offset = 0,
16195d7e5b04SSteen Hegelund 		.width = 3,
16205d7e5b04SSteen Hegelund 	},
16215d7e5b04SSteen Hegelund 	[VCAP_KF_LOOKUP_FIRST_IS] = {
16225d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
16235d7e5b04SSteen Hegelund 		.offset = 3,
16245d7e5b04SSteen Hegelund 		.width = 1,
16255d7e5b04SSteen Hegelund 	},
16265d7e5b04SSteen Hegelund 	[VCAP_KF_L2_MC_IS] = {
16275d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
16285d7e5b04SSteen Hegelund 		.offset = 13,
16295d7e5b04SSteen Hegelund 		.width = 1,
16305d7e5b04SSteen Hegelund 	},
16315d7e5b04SSteen Hegelund 	[VCAP_KF_L2_BC_IS] = {
16325d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
16335d7e5b04SSteen Hegelund 		.offset = 14,
16345d7e5b04SSteen Hegelund 		.width = 1,
16355d7e5b04SSteen Hegelund 	},
16365d7e5b04SSteen Hegelund 	[VCAP_KF_ISDX_GT0_IS] = {
16375d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
16385d7e5b04SSteen Hegelund 		.offset = 15,
16395d7e5b04SSteen Hegelund 		.width = 1,
16405d7e5b04SSteen Hegelund 	},
16415d7e5b04SSteen Hegelund 	[VCAP_KF_ISDX_CLS] = {
16425d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
16435d7e5b04SSteen Hegelund 		.offset = 16,
16445d7e5b04SSteen Hegelund 		.width = 12,
16455d7e5b04SSteen Hegelund 	},
16465d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_VLAN_TAGGED_IS] = {
16475d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
16485d7e5b04SSteen Hegelund 		.offset = 28,
16495d7e5b04SSteen Hegelund 		.width = 1,
16505d7e5b04SSteen Hegelund 	},
16515d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_VID_CLS] = {
16525d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
16535d7e5b04SSteen Hegelund 		.offset = 29,
16545d7e5b04SSteen Hegelund 		.width = 13,
16555d7e5b04SSteen Hegelund 	},
16565d7e5b04SSteen Hegelund 	[VCAP_KF_IF_EGR_PORT_MASK_RNG] = {
16575d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
16585d7e5b04SSteen Hegelund 		.offset = 42,
16595d7e5b04SSteen Hegelund 		.width = 3,
16605d7e5b04SSteen Hegelund 	},
16615d7e5b04SSteen Hegelund 	[VCAP_KF_IF_EGR_PORT_MASK] = {
16625d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
16635d7e5b04SSteen Hegelund 		.offset = 45,
16645d7e5b04SSteen Hegelund 		.width = 32,
16655d7e5b04SSteen Hegelund 	},
16665d7e5b04SSteen Hegelund 	[VCAP_KF_IF_IGR_PORT_SEL] = {
16675d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
16685d7e5b04SSteen Hegelund 		.offset = 77,
16695d7e5b04SSteen Hegelund 		.width = 1,
16705d7e5b04SSteen Hegelund 	},
16715d7e5b04SSteen Hegelund 	[VCAP_KF_IF_IGR_PORT] = {
16725d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
16735d7e5b04SSteen Hegelund 		.offset = 78,
16745d7e5b04SSteen Hegelund 		.width = 9,
16755d7e5b04SSteen Hegelund 	},
16765d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_PCP_CLS] = {
16775d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
16785d7e5b04SSteen Hegelund 		.offset = 87,
16795d7e5b04SSteen Hegelund 		.width = 3,
16805d7e5b04SSteen Hegelund 	},
16815d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_DEI_CLS] = {
16825d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
16835d7e5b04SSteen Hegelund 		.offset = 90,
16845d7e5b04SSteen Hegelund 		.width = 1,
16855d7e5b04SSteen Hegelund 	},
16865d7e5b04SSteen Hegelund 	[VCAP_KF_COSID_CLS] = {
16875d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
16885d7e5b04SSteen Hegelund 		.offset = 91,
16895d7e5b04SSteen Hegelund 		.width = 3,
16905d7e5b04SSteen Hegelund 	},
16915d7e5b04SSteen Hegelund 	[VCAP_KF_L3_DPL_CLS] = {
16925d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
16935d7e5b04SSteen Hegelund 		.offset = 94,
16945d7e5b04SSteen Hegelund 		.width = 1,
16955d7e5b04SSteen Hegelund 	},
16965d7e5b04SSteen Hegelund 	[VCAP_KF_L3_RT_IS] = {
16975d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
16985d7e5b04SSteen Hegelund 		.offset = 95,
16995d7e5b04SSteen Hegelund 		.width = 1,
17005d7e5b04SSteen Hegelund 	},
17015d7e5b04SSteen Hegelund 	[VCAP_KF_L2_DMAC] = {
17025d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U48,
17035d7e5b04SSteen Hegelund 		.offset = 99,
17045d7e5b04SSteen Hegelund 		.width = 48,
17055d7e5b04SSteen Hegelund 	},
17065d7e5b04SSteen Hegelund 	[VCAP_KF_L2_SMAC] = {
17075d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U48,
17085d7e5b04SSteen Hegelund 		.offset = 147,
17095d7e5b04SSteen Hegelund 		.width = 48,
17105d7e5b04SSteen Hegelund 	},
17115d7e5b04SSteen Hegelund 	[VCAP_KF_ETYPE_LEN_IS] = {
17125d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
17135d7e5b04SSteen Hegelund 		.offset = 195,
17145d7e5b04SSteen Hegelund 		.width = 1,
17155d7e5b04SSteen Hegelund 	},
17165d7e5b04SSteen Hegelund 	[VCAP_KF_ETYPE] = {
17175d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
17185d7e5b04SSteen Hegelund 		.offset = 196,
17195d7e5b04SSteen Hegelund 		.width = 16,
17205d7e5b04SSteen Hegelund 	},
17215d7e5b04SSteen Hegelund 	[VCAP_KF_L2_PAYLOAD_ETYPE] = {
17225d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U64,
17235d7e5b04SSteen Hegelund 		.offset = 212,
17245d7e5b04SSteen Hegelund 		.width = 64,
17255d7e5b04SSteen Hegelund 	},
17265d7e5b04SSteen Hegelund 	[VCAP_KF_OAM_CCM_CNTS_EQ0] = {
17275d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
17285d7e5b04SSteen Hegelund 		.offset = 276,
17295d7e5b04SSteen Hegelund 		.width = 1,
17305d7e5b04SSteen Hegelund 	},
17315d7e5b04SSteen Hegelund 	[VCAP_KF_OAM_Y1731_IS] = {
17325d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
17335d7e5b04SSteen Hegelund 		.offset = 277,
17345d7e5b04SSteen Hegelund 		.width = 1,
17355d7e5b04SSteen Hegelund 	},
17365d7e5b04SSteen Hegelund };
17375d7e5b04SSteen Hegelund 
17385d7e5b04SSteen Hegelund static const struct vcap_field es2_arp_keyfield[] = {
17395d7e5b04SSteen Hegelund 	[VCAP_KF_TYPE] = {
17405d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
17415d7e5b04SSteen Hegelund 		.offset = 0,
17425d7e5b04SSteen Hegelund 		.width = 3,
17435d7e5b04SSteen Hegelund 	},
17445d7e5b04SSteen Hegelund 	[VCAP_KF_LOOKUP_FIRST_IS] = {
17455d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
17465d7e5b04SSteen Hegelund 		.offset = 3,
17475d7e5b04SSteen Hegelund 		.width = 1,
17485d7e5b04SSteen Hegelund 	},
17495d7e5b04SSteen Hegelund 	[VCAP_KF_L2_MC_IS] = {
17505d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
17515d7e5b04SSteen Hegelund 		.offset = 13,
17525d7e5b04SSteen Hegelund 		.width = 1,
17535d7e5b04SSteen Hegelund 	},
17545d7e5b04SSteen Hegelund 	[VCAP_KF_L2_BC_IS] = {
17555d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
17565d7e5b04SSteen Hegelund 		.offset = 14,
17575d7e5b04SSteen Hegelund 		.width = 1,
17585d7e5b04SSteen Hegelund 	},
17595d7e5b04SSteen Hegelund 	[VCAP_KF_ISDX_GT0_IS] = {
17605d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
17615d7e5b04SSteen Hegelund 		.offset = 15,
17625d7e5b04SSteen Hegelund 		.width = 1,
17635d7e5b04SSteen Hegelund 	},
17645d7e5b04SSteen Hegelund 	[VCAP_KF_ISDX_CLS] = {
17655d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
17665d7e5b04SSteen Hegelund 		.offset = 16,
17675d7e5b04SSteen Hegelund 		.width = 12,
17685d7e5b04SSteen Hegelund 	},
17695d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_VLAN_TAGGED_IS] = {
17705d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
17715d7e5b04SSteen Hegelund 		.offset = 28,
17725d7e5b04SSteen Hegelund 		.width = 1,
17735d7e5b04SSteen Hegelund 	},
17745d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_VID_CLS] = {
17755d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
17765d7e5b04SSteen Hegelund 		.offset = 29,
17775d7e5b04SSteen Hegelund 		.width = 13,
17785d7e5b04SSteen Hegelund 	},
17795d7e5b04SSteen Hegelund 	[VCAP_KF_IF_EGR_PORT_MASK_RNG] = {
17805d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
17815d7e5b04SSteen Hegelund 		.offset = 42,
17825d7e5b04SSteen Hegelund 		.width = 3,
17835d7e5b04SSteen Hegelund 	},
17845d7e5b04SSteen Hegelund 	[VCAP_KF_IF_EGR_PORT_MASK] = {
17855d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
17865d7e5b04SSteen Hegelund 		.offset = 45,
17875d7e5b04SSteen Hegelund 		.width = 32,
17885d7e5b04SSteen Hegelund 	},
17895d7e5b04SSteen Hegelund 	[VCAP_KF_IF_IGR_PORT_SEL] = {
17905d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
17915d7e5b04SSteen Hegelund 		.offset = 77,
17925d7e5b04SSteen Hegelund 		.width = 1,
17935d7e5b04SSteen Hegelund 	},
17945d7e5b04SSteen Hegelund 	[VCAP_KF_IF_IGR_PORT] = {
17955d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
17965d7e5b04SSteen Hegelund 		.offset = 78,
17975d7e5b04SSteen Hegelund 		.width = 9,
17985d7e5b04SSteen Hegelund 	},
17995d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_PCP_CLS] = {
18005d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
18015d7e5b04SSteen Hegelund 		.offset = 87,
18025d7e5b04SSteen Hegelund 		.width = 3,
18035d7e5b04SSteen Hegelund 	},
18045d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_DEI_CLS] = {
18055d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
18065d7e5b04SSteen Hegelund 		.offset = 90,
18075d7e5b04SSteen Hegelund 		.width = 1,
18085d7e5b04SSteen Hegelund 	},
18095d7e5b04SSteen Hegelund 	[VCAP_KF_COSID_CLS] = {
18105d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
18115d7e5b04SSteen Hegelund 		.offset = 91,
18125d7e5b04SSteen Hegelund 		.width = 3,
18135d7e5b04SSteen Hegelund 	},
18145d7e5b04SSteen Hegelund 	[VCAP_KF_L3_DPL_CLS] = {
18155d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
18165d7e5b04SSteen Hegelund 		.offset = 94,
18175d7e5b04SSteen Hegelund 		.width = 1,
18185d7e5b04SSteen Hegelund 	},
18195d7e5b04SSteen Hegelund 	[VCAP_KF_L2_SMAC] = {
18205d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U48,
18215d7e5b04SSteen Hegelund 		.offset = 98,
18225d7e5b04SSteen Hegelund 		.width = 48,
18235d7e5b04SSteen Hegelund 	},
18245d7e5b04SSteen Hegelund 	[VCAP_KF_ARP_ADDR_SPACE_OK_IS] = {
18255d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
18265d7e5b04SSteen Hegelund 		.offset = 146,
18275d7e5b04SSteen Hegelund 		.width = 1,
18285d7e5b04SSteen Hegelund 	},
18295d7e5b04SSteen Hegelund 	[VCAP_KF_ARP_PROTO_SPACE_OK_IS] = {
18305d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
18315d7e5b04SSteen Hegelund 		.offset = 147,
18325d7e5b04SSteen Hegelund 		.width = 1,
18335d7e5b04SSteen Hegelund 	},
18345d7e5b04SSteen Hegelund 	[VCAP_KF_ARP_LEN_OK_IS] = {
18355d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
18365d7e5b04SSteen Hegelund 		.offset = 148,
18375d7e5b04SSteen Hegelund 		.width = 1,
18385d7e5b04SSteen Hegelund 	},
18395d7e5b04SSteen Hegelund 	[VCAP_KF_ARP_TGT_MATCH_IS] = {
18405d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
18415d7e5b04SSteen Hegelund 		.offset = 149,
18425d7e5b04SSteen Hegelund 		.width = 1,
18435d7e5b04SSteen Hegelund 	},
18445d7e5b04SSteen Hegelund 	[VCAP_KF_ARP_SENDER_MATCH_IS] = {
18455d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
18465d7e5b04SSteen Hegelund 		.offset = 150,
18475d7e5b04SSteen Hegelund 		.width = 1,
18485d7e5b04SSteen Hegelund 	},
18495d7e5b04SSteen Hegelund 	[VCAP_KF_ARP_OPCODE_UNKNOWN_IS] = {
18505d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
18515d7e5b04SSteen Hegelund 		.offset = 151,
18525d7e5b04SSteen Hegelund 		.width = 1,
18535d7e5b04SSteen Hegelund 	},
18545d7e5b04SSteen Hegelund 	[VCAP_KF_ARP_OPCODE] = {
18555d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
18565d7e5b04SSteen Hegelund 		.offset = 152,
18575d7e5b04SSteen Hegelund 		.width = 2,
18585d7e5b04SSteen Hegelund 	},
18595d7e5b04SSteen Hegelund 	[VCAP_KF_L3_IP4_DIP] = {
18605d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
18615d7e5b04SSteen Hegelund 		.offset = 154,
18625d7e5b04SSteen Hegelund 		.width = 32,
18635d7e5b04SSteen Hegelund 	},
18645d7e5b04SSteen Hegelund 	[VCAP_KF_L3_IP4_SIP] = {
18655d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
18665d7e5b04SSteen Hegelund 		.offset = 186,
18675d7e5b04SSteen Hegelund 		.width = 32,
18685d7e5b04SSteen Hegelund 	},
18695d7e5b04SSteen Hegelund 	[VCAP_KF_L3_DIP_EQ_SIP_IS] = {
18705d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
18715d7e5b04SSteen Hegelund 		.offset = 218,
18725d7e5b04SSteen Hegelund 		.width = 1,
18735d7e5b04SSteen Hegelund 	},
18745d7e5b04SSteen Hegelund };
18755d7e5b04SSteen Hegelund 
18765d7e5b04SSteen Hegelund static const struct vcap_field es2_ip4_tcp_udp_keyfield[] = {
18775d7e5b04SSteen Hegelund 	[VCAP_KF_TYPE] = {
18785d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
18795d7e5b04SSteen Hegelund 		.offset = 0,
18805d7e5b04SSteen Hegelund 		.width = 3,
18815d7e5b04SSteen Hegelund 	},
18825d7e5b04SSteen Hegelund 	[VCAP_KF_LOOKUP_FIRST_IS] = {
18835d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
18845d7e5b04SSteen Hegelund 		.offset = 3,
18855d7e5b04SSteen Hegelund 		.width = 1,
18865d7e5b04SSteen Hegelund 	},
18875d7e5b04SSteen Hegelund 	[VCAP_KF_L2_MC_IS] = {
18885d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
18895d7e5b04SSteen Hegelund 		.offset = 13,
18905d7e5b04SSteen Hegelund 		.width = 1,
18915d7e5b04SSteen Hegelund 	},
18925d7e5b04SSteen Hegelund 	[VCAP_KF_L2_BC_IS] = {
18935d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
18945d7e5b04SSteen Hegelund 		.offset = 14,
18955d7e5b04SSteen Hegelund 		.width = 1,
18965d7e5b04SSteen Hegelund 	},
18975d7e5b04SSteen Hegelund 	[VCAP_KF_ISDX_GT0_IS] = {
18985d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
18995d7e5b04SSteen Hegelund 		.offset = 15,
19005d7e5b04SSteen Hegelund 		.width = 1,
19015d7e5b04SSteen Hegelund 	},
19025d7e5b04SSteen Hegelund 	[VCAP_KF_ISDX_CLS] = {
19035d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
19045d7e5b04SSteen Hegelund 		.offset = 16,
19055d7e5b04SSteen Hegelund 		.width = 12,
19065d7e5b04SSteen Hegelund 	},
19075d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_VLAN_TAGGED_IS] = {
19085d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
19095d7e5b04SSteen Hegelund 		.offset = 28,
19105d7e5b04SSteen Hegelund 		.width = 1,
19115d7e5b04SSteen Hegelund 	},
19125d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_VID_CLS] = {
19135d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
19145d7e5b04SSteen Hegelund 		.offset = 29,
19155d7e5b04SSteen Hegelund 		.width = 13,
19165d7e5b04SSteen Hegelund 	},
19175d7e5b04SSteen Hegelund 	[VCAP_KF_IF_EGR_PORT_MASK_RNG] = {
19185d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
19195d7e5b04SSteen Hegelund 		.offset = 42,
19205d7e5b04SSteen Hegelund 		.width = 3,
19215d7e5b04SSteen Hegelund 	},
19225d7e5b04SSteen Hegelund 	[VCAP_KF_IF_EGR_PORT_MASK] = {
19235d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
19245d7e5b04SSteen Hegelund 		.offset = 45,
19255d7e5b04SSteen Hegelund 		.width = 32,
19265d7e5b04SSteen Hegelund 	},
19275d7e5b04SSteen Hegelund 	[VCAP_KF_IF_IGR_PORT_SEL] = {
19285d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
19295d7e5b04SSteen Hegelund 		.offset = 77,
19305d7e5b04SSteen Hegelund 		.width = 1,
19315d7e5b04SSteen Hegelund 	},
19325d7e5b04SSteen Hegelund 	[VCAP_KF_IF_IGR_PORT] = {
19335d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
19345d7e5b04SSteen Hegelund 		.offset = 78,
19355d7e5b04SSteen Hegelund 		.width = 9,
19365d7e5b04SSteen Hegelund 	},
19375d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_PCP_CLS] = {
19385d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
19395d7e5b04SSteen Hegelund 		.offset = 87,
19405d7e5b04SSteen Hegelund 		.width = 3,
19415d7e5b04SSteen Hegelund 	},
19425d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_DEI_CLS] = {
19435d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
19445d7e5b04SSteen Hegelund 		.offset = 90,
19455d7e5b04SSteen Hegelund 		.width = 1,
19465d7e5b04SSteen Hegelund 	},
19475d7e5b04SSteen Hegelund 	[VCAP_KF_COSID_CLS] = {
19485d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
19495d7e5b04SSteen Hegelund 		.offset = 91,
19505d7e5b04SSteen Hegelund 		.width = 3,
19515d7e5b04SSteen Hegelund 	},
19525d7e5b04SSteen Hegelund 	[VCAP_KF_L3_DPL_CLS] = {
19535d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
19545d7e5b04SSteen Hegelund 		.offset = 94,
19555d7e5b04SSteen Hegelund 		.width = 1,
19565d7e5b04SSteen Hegelund 	},
19575d7e5b04SSteen Hegelund 	[VCAP_KF_L3_RT_IS] = {
19585d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
19595d7e5b04SSteen Hegelund 		.offset = 95,
19605d7e5b04SSteen Hegelund 		.width = 1,
19615d7e5b04SSteen Hegelund 	},
19625d7e5b04SSteen Hegelund 	[VCAP_KF_IP4_IS] = {
19635d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
19645d7e5b04SSteen Hegelund 		.offset = 99,
19655d7e5b04SSteen Hegelund 		.width = 1,
19665d7e5b04SSteen Hegelund 	},
19675d7e5b04SSteen Hegelund 	[VCAP_KF_L3_FRAGMENT_TYPE] = {
19685d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
19695d7e5b04SSteen Hegelund 		.offset = 100,
19705d7e5b04SSteen Hegelund 		.width = 2,
19715d7e5b04SSteen Hegelund 	},
19725d7e5b04SSteen Hegelund 	[VCAP_KF_L3_OPTIONS_IS] = {
19735d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
19745d7e5b04SSteen Hegelund 		.offset = 102,
19755d7e5b04SSteen Hegelund 		.width = 1,
19765d7e5b04SSteen Hegelund 	},
19775d7e5b04SSteen Hegelund 	[VCAP_KF_L3_TTL_GT0] = {
19785d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
19795d7e5b04SSteen Hegelund 		.offset = 103,
19805d7e5b04SSteen Hegelund 		.width = 1,
19815d7e5b04SSteen Hegelund 	},
19825d7e5b04SSteen Hegelund 	[VCAP_KF_L3_TOS] = {
19835d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
19845d7e5b04SSteen Hegelund 		.offset = 104,
19855d7e5b04SSteen Hegelund 		.width = 8,
19865d7e5b04SSteen Hegelund 	},
19875d7e5b04SSteen Hegelund 	[VCAP_KF_L3_IP4_DIP] = {
19885d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
19895d7e5b04SSteen Hegelund 		.offset = 112,
19905d7e5b04SSteen Hegelund 		.width = 32,
19915d7e5b04SSteen Hegelund 	},
19925d7e5b04SSteen Hegelund 	[VCAP_KF_L3_IP4_SIP] = {
19935d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
19945d7e5b04SSteen Hegelund 		.offset = 144,
19955d7e5b04SSteen Hegelund 		.width = 32,
19965d7e5b04SSteen Hegelund 	},
19975d7e5b04SSteen Hegelund 	[VCAP_KF_L3_DIP_EQ_SIP_IS] = {
19985d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
19995d7e5b04SSteen Hegelund 		.offset = 176,
20005d7e5b04SSteen Hegelund 		.width = 1,
20015d7e5b04SSteen Hegelund 	},
20025d7e5b04SSteen Hegelund 	[VCAP_KF_TCP_IS] = {
20035d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
20045d7e5b04SSteen Hegelund 		.offset = 177,
20055d7e5b04SSteen Hegelund 		.width = 1,
20065d7e5b04SSteen Hegelund 	},
20075d7e5b04SSteen Hegelund 	[VCAP_KF_L4_DPORT] = {
20085d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
20095d7e5b04SSteen Hegelund 		.offset = 178,
20105d7e5b04SSteen Hegelund 		.width = 16,
20115d7e5b04SSteen Hegelund 	},
20125d7e5b04SSteen Hegelund 	[VCAP_KF_L4_SPORT] = {
20135d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
20145d7e5b04SSteen Hegelund 		.offset = 194,
20155d7e5b04SSteen Hegelund 		.width = 16,
20165d7e5b04SSteen Hegelund 	},
20175d7e5b04SSteen Hegelund 	[VCAP_KF_L4_RNG] = {
20185d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
20195d7e5b04SSteen Hegelund 		.offset = 210,
20205d7e5b04SSteen Hegelund 		.width = 16,
20215d7e5b04SSteen Hegelund 	},
20225d7e5b04SSteen Hegelund 	[VCAP_KF_L4_SPORT_EQ_DPORT_IS] = {
20235d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
20245d7e5b04SSteen Hegelund 		.offset = 226,
20255d7e5b04SSteen Hegelund 		.width = 1,
20265d7e5b04SSteen Hegelund 	},
20275d7e5b04SSteen Hegelund 	[VCAP_KF_L4_SEQUENCE_EQ0_IS] = {
20285d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
20295d7e5b04SSteen Hegelund 		.offset = 227,
20305d7e5b04SSteen Hegelund 		.width = 1,
20315d7e5b04SSteen Hegelund 	},
20325d7e5b04SSteen Hegelund 	[VCAP_KF_L4_FIN] = {
20335d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
20345d7e5b04SSteen Hegelund 		.offset = 228,
20355d7e5b04SSteen Hegelund 		.width = 1,
20365d7e5b04SSteen Hegelund 	},
20375d7e5b04SSteen Hegelund 	[VCAP_KF_L4_SYN] = {
20385d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
20395d7e5b04SSteen Hegelund 		.offset = 229,
20405d7e5b04SSteen Hegelund 		.width = 1,
20415d7e5b04SSteen Hegelund 	},
20425d7e5b04SSteen Hegelund 	[VCAP_KF_L4_RST] = {
20435d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
20445d7e5b04SSteen Hegelund 		.offset = 230,
20455d7e5b04SSteen Hegelund 		.width = 1,
20465d7e5b04SSteen Hegelund 	},
20475d7e5b04SSteen Hegelund 	[VCAP_KF_L4_PSH] = {
20485d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
20495d7e5b04SSteen Hegelund 		.offset = 231,
20505d7e5b04SSteen Hegelund 		.width = 1,
20515d7e5b04SSteen Hegelund 	},
20525d7e5b04SSteen Hegelund 	[VCAP_KF_L4_ACK] = {
20535d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
20545d7e5b04SSteen Hegelund 		.offset = 232,
20555d7e5b04SSteen Hegelund 		.width = 1,
20565d7e5b04SSteen Hegelund 	},
20575d7e5b04SSteen Hegelund 	[VCAP_KF_L4_URG] = {
20585d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
20595d7e5b04SSteen Hegelund 		.offset = 233,
20605d7e5b04SSteen Hegelund 		.width = 1,
20615d7e5b04SSteen Hegelund 	},
20625d7e5b04SSteen Hegelund 	[VCAP_KF_L4_PAYLOAD] = {
20635d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U64,
20645d7e5b04SSteen Hegelund 		.offset = 234,
20655d7e5b04SSteen Hegelund 		.width = 64,
20665d7e5b04SSteen Hegelund 	},
20675d7e5b04SSteen Hegelund };
20685d7e5b04SSteen Hegelund 
20695d7e5b04SSteen Hegelund static const struct vcap_field es2_ip4_other_keyfield[] = {
20705d7e5b04SSteen Hegelund 	[VCAP_KF_TYPE] = {
20715d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
20725d7e5b04SSteen Hegelund 		.offset = 0,
20735d7e5b04SSteen Hegelund 		.width = 3,
20745d7e5b04SSteen Hegelund 	},
20755d7e5b04SSteen Hegelund 	[VCAP_KF_LOOKUP_FIRST_IS] = {
20765d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
20775d7e5b04SSteen Hegelund 		.offset = 3,
20785d7e5b04SSteen Hegelund 		.width = 1,
20795d7e5b04SSteen Hegelund 	},
20805d7e5b04SSteen Hegelund 	[VCAP_KF_L2_MC_IS] = {
20815d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
20825d7e5b04SSteen Hegelund 		.offset = 13,
20835d7e5b04SSteen Hegelund 		.width = 1,
20845d7e5b04SSteen Hegelund 	},
20855d7e5b04SSteen Hegelund 	[VCAP_KF_L2_BC_IS] = {
20865d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
20875d7e5b04SSteen Hegelund 		.offset = 14,
20885d7e5b04SSteen Hegelund 		.width = 1,
20895d7e5b04SSteen Hegelund 	},
20905d7e5b04SSteen Hegelund 	[VCAP_KF_ISDX_GT0_IS] = {
20915d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
20925d7e5b04SSteen Hegelund 		.offset = 15,
20935d7e5b04SSteen Hegelund 		.width = 1,
20945d7e5b04SSteen Hegelund 	},
20955d7e5b04SSteen Hegelund 	[VCAP_KF_ISDX_CLS] = {
20965d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
20975d7e5b04SSteen Hegelund 		.offset = 16,
20985d7e5b04SSteen Hegelund 		.width = 12,
20995d7e5b04SSteen Hegelund 	},
21005d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_VLAN_TAGGED_IS] = {
21015d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
21025d7e5b04SSteen Hegelund 		.offset = 28,
21035d7e5b04SSteen Hegelund 		.width = 1,
21045d7e5b04SSteen Hegelund 	},
21055d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_VID_CLS] = {
21065d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
21075d7e5b04SSteen Hegelund 		.offset = 29,
21085d7e5b04SSteen Hegelund 		.width = 13,
21095d7e5b04SSteen Hegelund 	},
21105d7e5b04SSteen Hegelund 	[VCAP_KF_IF_EGR_PORT_MASK_RNG] = {
21115d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
21125d7e5b04SSteen Hegelund 		.offset = 42,
21135d7e5b04SSteen Hegelund 		.width = 3,
21145d7e5b04SSteen Hegelund 	},
21155d7e5b04SSteen Hegelund 	[VCAP_KF_IF_EGR_PORT_MASK] = {
21165d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
21175d7e5b04SSteen Hegelund 		.offset = 45,
21185d7e5b04SSteen Hegelund 		.width = 32,
21195d7e5b04SSteen Hegelund 	},
21205d7e5b04SSteen Hegelund 	[VCAP_KF_IF_IGR_PORT_SEL] = {
21215d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
21225d7e5b04SSteen Hegelund 		.offset = 77,
21235d7e5b04SSteen Hegelund 		.width = 1,
21245d7e5b04SSteen Hegelund 	},
21255d7e5b04SSteen Hegelund 	[VCAP_KF_IF_IGR_PORT] = {
21265d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
21275d7e5b04SSteen Hegelund 		.offset = 78,
21285d7e5b04SSteen Hegelund 		.width = 9,
21295d7e5b04SSteen Hegelund 	},
21305d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_PCP_CLS] = {
21315d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
21325d7e5b04SSteen Hegelund 		.offset = 87,
21335d7e5b04SSteen Hegelund 		.width = 3,
21345d7e5b04SSteen Hegelund 	},
21355d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_DEI_CLS] = {
21365d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
21375d7e5b04SSteen Hegelund 		.offset = 90,
21385d7e5b04SSteen Hegelund 		.width = 1,
21395d7e5b04SSteen Hegelund 	},
21405d7e5b04SSteen Hegelund 	[VCAP_KF_COSID_CLS] = {
21415d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
21425d7e5b04SSteen Hegelund 		.offset = 91,
21435d7e5b04SSteen Hegelund 		.width = 3,
21445d7e5b04SSteen Hegelund 	},
21455d7e5b04SSteen Hegelund 	[VCAP_KF_L3_DPL_CLS] = {
21465d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
21475d7e5b04SSteen Hegelund 		.offset = 94,
21485d7e5b04SSteen Hegelund 		.width = 1,
21495d7e5b04SSteen Hegelund 	},
21505d7e5b04SSteen Hegelund 	[VCAP_KF_L3_RT_IS] = {
21515d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
21525d7e5b04SSteen Hegelund 		.offset = 95,
21535d7e5b04SSteen Hegelund 		.width = 1,
21545d7e5b04SSteen Hegelund 	},
21555d7e5b04SSteen Hegelund 	[VCAP_KF_IP4_IS] = {
21565d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
21575d7e5b04SSteen Hegelund 		.offset = 99,
21585d7e5b04SSteen Hegelund 		.width = 1,
21595d7e5b04SSteen Hegelund 	},
21605d7e5b04SSteen Hegelund 	[VCAP_KF_L3_FRAGMENT_TYPE] = {
21615d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
21625d7e5b04SSteen Hegelund 		.offset = 100,
21635d7e5b04SSteen Hegelund 		.width = 2,
21645d7e5b04SSteen Hegelund 	},
21655d7e5b04SSteen Hegelund 	[VCAP_KF_L3_OPTIONS_IS] = {
21665d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
21675d7e5b04SSteen Hegelund 		.offset = 102,
21685d7e5b04SSteen Hegelund 		.width = 1,
21695d7e5b04SSteen Hegelund 	},
21705d7e5b04SSteen Hegelund 	[VCAP_KF_L3_TTL_GT0] = {
21715d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
21725d7e5b04SSteen Hegelund 		.offset = 103,
21735d7e5b04SSteen Hegelund 		.width = 1,
21745d7e5b04SSteen Hegelund 	},
21755d7e5b04SSteen Hegelund 	[VCAP_KF_L3_TOS] = {
21765d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
21775d7e5b04SSteen Hegelund 		.offset = 104,
21785d7e5b04SSteen Hegelund 		.width = 8,
21795d7e5b04SSteen Hegelund 	},
21805d7e5b04SSteen Hegelund 	[VCAP_KF_L3_IP4_DIP] = {
21815d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
21825d7e5b04SSteen Hegelund 		.offset = 112,
21835d7e5b04SSteen Hegelund 		.width = 32,
21845d7e5b04SSteen Hegelund 	},
21855d7e5b04SSteen Hegelund 	[VCAP_KF_L3_IP4_SIP] = {
21865d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
21875d7e5b04SSteen Hegelund 		.offset = 144,
21885d7e5b04SSteen Hegelund 		.width = 32,
21895d7e5b04SSteen Hegelund 	},
21905d7e5b04SSteen Hegelund 	[VCAP_KF_L3_DIP_EQ_SIP_IS] = {
21915d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
21925d7e5b04SSteen Hegelund 		.offset = 176,
21935d7e5b04SSteen Hegelund 		.width = 1,
21945d7e5b04SSteen Hegelund 	},
21955d7e5b04SSteen Hegelund 	[VCAP_KF_L3_IP_PROTO] = {
21965d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
21975d7e5b04SSteen Hegelund 		.offset = 177,
21985d7e5b04SSteen Hegelund 		.width = 8,
21995d7e5b04SSteen Hegelund 	},
22005d7e5b04SSteen Hegelund 	[VCAP_KF_L3_PAYLOAD] = {
22015d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U112,
22025d7e5b04SSteen Hegelund 		.offset = 185,
22035d7e5b04SSteen Hegelund 		.width = 96,
22045d7e5b04SSteen Hegelund 	},
22055d7e5b04SSteen Hegelund };
22065d7e5b04SSteen Hegelund 
22075d7e5b04SSteen Hegelund static const struct vcap_field es2_ip_7tuple_keyfield[] = {
22085d7e5b04SSteen Hegelund 	[VCAP_KF_LOOKUP_FIRST_IS] = {
22095d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
22105d7e5b04SSteen Hegelund 		.offset = 0,
22115d7e5b04SSteen Hegelund 		.width = 1,
22125d7e5b04SSteen Hegelund 	},
22135d7e5b04SSteen Hegelund 	[VCAP_KF_L2_MC_IS] = {
22145d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
22155d7e5b04SSteen Hegelund 		.offset = 10,
22165d7e5b04SSteen Hegelund 		.width = 1,
22175d7e5b04SSteen Hegelund 	},
22185d7e5b04SSteen Hegelund 	[VCAP_KF_L2_BC_IS] = {
22195d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
22205d7e5b04SSteen Hegelund 		.offset = 11,
22215d7e5b04SSteen Hegelund 		.width = 1,
22225d7e5b04SSteen Hegelund 	},
22235d7e5b04SSteen Hegelund 	[VCAP_KF_ISDX_GT0_IS] = {
22245d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
22255d7e5b04SSteen Hegelund 		.offset = 12,
22265d7e5b04SSteen Hegelund 		.width = 1,
22275d7e5b04SSteen Hegelund 	},
22285d7e5b04SSteen Hegelund 	[VCAP_KF_ISDX_CLS] = {
22295d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
22305d7e5b04SSteen Hegelund 		.offset = 13,
22315d7e5b04SSteen Hegelund 		.width = 12,
22325d7e5b04SSteen Hegelund 	},
22335d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_VLAN_TAGGED_IS] = {
22345d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
22355d7e5b04SSteen Hegelund 		.offset = 25,
22365d7e5b04SSteen Hegelund 		.width = 1,
22375d7e5b04SSteen Hegelund 	},
22385d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_VID_CLS] = {
22395d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
22405d7e5b04SSteen Hegelund 		.offset = 26,
22415d7e5b04SSteen Hegelund 		.width = 13,
22425d7e5b04SSteen Hegelund 	},
22435d7e5b04SSteen Hegelund 	[VCAP_KF_IF_EGR_PORT_MASK_RNG] = {
22445d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
22455d7e5b04SSteen Hegelund 		.offset = 39,
22465d7e5b04SSteen Hegelund 		.width = 3,
22475d7e5b04SSteen Hegelund 	},
22485d7e5b04SSteen Hegelund 	[VCAP_KF_IF_EGR_PORT_MASK] = {
22495d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
22505d7e5b04SSteen Hegelund 		.offset = 42,
22515d7e5b04SSteen Hegelund 		.width = 32,
22525d7e5b04SSteen Hegelund 	},
22535d7e5b04SSteen Hegelund 	[VCAP_KF_IF_IGR_PORT_SEL] = {
22545d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
22555d7e5b04SSteen Hegelund 		.offset = 74,
22565d7e5b04SSteen Hegelund 		.width = 1,
22575d7e5b04SSteen Hegelund 	},
22585d7e5b04SSteen Hegelund 	[VCAP_KF_IF_IGR_PORT] = {
22595d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
22605d7e5b04SSteen Hegelund 		.offset = 75,
22615d7e5b04SSteen Hegelund 		.width = 9,
22625d7e5b04SSteen Hegelund 	},
22635d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_PCP_CLS] = {
22645d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
22655d7e5b04SSteen Hegelund 		.offset = 84,
22665d7e5b04SSteen Hegelund 		.width = 3,
22675d7e5b04SSteen Hegelund 	},
22685d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_DEI_CLS] = {
22695d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
22705d7e5b04SSteen Hegelund 		.offset = 87,
22715d7e5b04SSteen Hegelund 		.width = 1,
22725d7e5b04SSteen Hegelund 	},
22735d7e5b04SSteen Hegelund 	[VCAP_KF_COSID_CLS] = {
22745d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
22755d7e5b04SSteen Hegelund 		.offset = 88,
22765d7e5b04SSteen Hegelund 		.width = 3,
22775d7e5b04SSteen Hegelund 	},
22785d7e5b04SSteen Hegelund 	[VCAP_KF_L3_DPL_CLS] = {
22795d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
22805d7e5b04SSteen Hegelund 		.offset = 91,
22815d7e5b04SSteen Hegelund 		.width = 1,
22825d7e5b04SSteen Hegelund 	},
22835d7e5b04SSteen Hegelund 	[VCAP_KF_L3_RT_IS] = {
22845d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
22855d7e5b04SSteen Hegelund 		.offset = 92,
22865d7e5b04SSteen Hegelund 		.width = 1,
22875d7e5b04SSteen Hegelund 	},
22885d7e5b04SSteen Hegelund 	[VCAP_KF_L2_DMAC] = {
22895d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U48,
22905d7e5b04SSteen Hegelund 		.offset = 96,
22915d7e5b04SSteen Hegelund 		.width = 48,
22925d7e5b04SSteen Hegelund 	},
22935d7e5b04SSteen Hegelund 	[VCAP_KF_L2_SMAC] = {
22945d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U48,
22955d7e5b04SSteen Hegelund 		.offset = 144,
22965d7e5b04SSteen Hegelund 		.width = 48,
22975d7e5b04SSteen Hegelund 	},
22985d7e5b04SSteen Hegelund 	[VCAP_KF_IP4_IS] = {
22995d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
23005d7e5b04SSteen Hegelund 		.offset = 192,
23015d7e5b04SSteen Hegelund 		.width = 1,
23025d7e5b04SSteen Hegelund 	},
23035d7e5b04SSteen Hegelund 	[VCAP_KF_L3_TTL_GT0] = {
23045d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
23055d7e5b04SSteen Hegelund 		.offset = 193,
23065d7e5b04SSteen Hegelund 		.width = 1,
23075d7e5b04SSteen Hegelund 	},
23085d7e5b04SSteen Hegelund 	[VCAP_KF_L3_TOS] = {
23095d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
23105d7e5b04SSteen Hegelund 		.offset = 194,
23115d7e5b04SSteen Hegelund 		.width = 8,
23125d7e5b04SSteen Hegelund 	},
23135d7e5b04SSteen Hegelund 	[VCAP_KF_L3_IP6_DIP] = {
23145d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U128,
23155d7e5b04SSteen Hegelund 		.offset = 202,
23165d7e5b04SSteen Hegelund 		.width = 128,
23175d7e5b04SSteen Hegelund 	},
23185d7e5b04SSteen Hegelund 	[VCAP_KF_L3_IP6_SIP] = {
23195d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U128,
23205d7e5b04SSteen Hegelund 		.offset = 330,
23215d7e5b04SSteen Hegelund 		.width = 128,
23225d7e5b04SSteen Hegelund 	},
23235d7e5b04SSteen Hegelund 	[VCAP_KF_L3_DIP_EQ_SIP_IS] = {
23245d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
23255d7e5b04SSteen Hegelund 		.offset = 458,
23265d7e5b04SSteen Hegelund 		.width = 1,
23275d7e5b04SSteen Hegelund 	},
23285d7e5b04SSteen Hegelund 	[VCAP_KF_TCP_UDP_IS] = {
23295d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
23305d7e5b04SSteen Hegelund 		.offset = 459,
23315d7e5b04SSteen Hegelund 		.width = 1,
23325d7e5b04SSteen Hegelund 	},
23335d7e5b04SSteen Hegelund 	[VCAP_KF_TCP_IS] = {
23345d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
23355d7e5b04SSteen Hegelund 		.offset = 460,
23365d7e5b04SSteen Hegelund 		.width = 1,
23375d7e5b04SSteen Hegelund 	},
23385d7e5b04SSteen Hegelund 	[VCAP_KF_L4_DPORT] = {
23395d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
23405d7e5b04SSteen Hegelund 		.offset = 461,
23415d7e5b04SSteen Hegelund 		.width = 16,
23425d7e5b04SSteen Hegelund 	},
23435d7e5b04SSteen Hegelund 	[VCAP_KF_L4_SPORT] = {
23445d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
23455d7e5b04SSteen Hegelund 		.offset = 477,
23465d7e5b04SSteen Hegelund 		.width = 16,
23475d7e5b04SSteen Hegelund 	},
23485d7e5b04SSteen Hegelund 	[VCAP_KF_L4_RNG] = {
23495d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
23505d7e5b04SSteen Hegelund 		.offset = 493,
23515d7e5b04SSteen Hegelund 		.width = 16,
23525d7e5b04SSteen Hegelund 	},
23535d7e5b04SSteen Hegelund 	[VCAP_KF_L4_SPORT_EQ_DPORT_IS] = {
23545d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
23555d7e5b04SSteen Hegelund 		.offset = 509,
23565d7e5b04SSteen Hegelund 		.width = 1,
23575d7e5b04SSteen Hegelund 	},
23585d7e5b04SSteen Hegelund 	[VCAP_KF_L4_SEQUENCE_EQ0_IS] = {
23595d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
23605d7e5b04SSteen Hegelund 		.offset = 510,
23615d7e5b04SSteen Hegelund 		.width = 1,
23625d7e5b04SSteen Hegelund 	},
23635d7e5b04SSteen Hegelund 	[VCAP_KF_L4_FIN] = {
23645d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
23655d7e5b04SSteen Hegelund 		.offset = 511,
23665d7e5b04SSteen Hegelund 		.width = 1,
23675d7e5b04SSteen Hegelund 	},
23685d7e5b04SSteen Hegelund 	[VCAP_KF_L4_SYN] = {
23695d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
23705d7e5b04SSteen Hegelund 		.offset = 512,
23715d7e5b04SSteen Hegelund 		.width = 1,
23725d7e5b04SSteen Hegelund 	},
23735d7e5b04SSteen Hegelund 	[VCAP_KF_L4_RST] = {
23745d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
23755d7e5b04SSteen Hegelund 		.offset = 513,
23765d7e5b04SSteen Hegelund 		.width = 1,
23775d7e5b04SSteen Hegelund 	},
23785d7e5b04SSteen Hegelund 	[VCAP_KF_L4_PSH] = {
23795d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
23805d7e5b04SSteen Hegelund 		.offset = 514,
23815d7e5b04SSteen Hegelund 		.width = 1,
23825d7e5b04SSteen Hegelund 	},
23835d7e5b04SSteen Hegelund 	[VCAP_KF_L4_ACK] = {
23845d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
23855d7e5b04SSteen Hegelund 		.offset = 515,
23865d7e5b04SSteen Hegelund 		.width = 1,
23875d7e5b04SSteen Hegelund 	},
23885d7e5b04SSteen Hegelund 	[VCAP_KF_L4_URG] = {
23895d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
23905d7e5b04SSteen Hegelund 		.offset = 516,
23915d7e5b04SSteen Hegelund 		.width = 1,
23925d7e5b04SSteen Hegelund 	},
23935d7e5b04SSteen Hegelund 	[VCAP_KF_L4_PAYLOAD] = {
23945d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U64,
23955d7e5b04SSteen Hegelund 		.offset = 517,
23965d7e5b04SSteen Hegelund 		.width = 64,
23975d7e5b04SSteen Hegelund 	},
23985d7e5b04SSteen Hegelund };
23995d7e5b04SSteen Hegelund 
2400*a5cc98adSSteen Hegelund static const struct vcap_field es2_ip6_std_keyfield[] = {
2401*a5cc98adSSteen Hegelund 	[VCAP_KF_TYPE] = {
2402*a5cc98adSSteen Hegelund 		.type = VCAP_FIELD_U32,
2403*a5cc98adSSteen Hegelund 		.offset = 0,
2404*a5cc98adSSteen Hegelund 		.width = 3,
2405*a5cc98adSSteen Hegelund 	},
2406*a5cc98adSSteen Hegelund 	[VCAP_KF_LOOKUP_FIRST_IS] = {
2407*a5cc98adSSteen Hegelund 		.type = VCAP_FIELD_BIT,
2408*a5cc98adSSteen Hegelund 		.offset = 3,
2409*a5cc98adSSteen Hegelund 		.width = 1,
2410*a5cc98adSSteen Hegelund 	},
2411*a5cc98adSSteen Hegelund 	[VCAP_KF_L2_MC_IS] = {
2412*a5cc98adSSteen Hegelund 		.type = VCAP_FIELD_BIT,
2413*a5cc98adSSteen Hegelund 		.offset = 13,
2414*a5cc98adSSteen Hegelund 		.width = 1,
2415*a5cc98adSSteen Hegelund 	},
2416*a5cc98adSSteen Hegelund 	[VCAP_KF_L2_BC_IS] = {
2417*a5cc98adSSteen Hegelund 		.type = VCAP_FIELD_BIT,
2418*a5cc98adSSteen Hegelund 		.offset = 14,
2419*a5cc98adSSteen Hegelund 		.width = 1,
2420*a5cc98adSSteen Hegelund 	},
2421*a5cc98adSSteen Hegelund 	[VCAP_KF_ISDX_GT0_IS] = {
2422*a5cc98adSSteen Hegelund 		.type = VCAP_FIELD_BIT,
2423*a5cc98adSSteen Hegelund 		.offset = 15,
2424*a5cc98adSSteen Hegelund 		.width = 1,
2425*a5cc98adSSteen Hegelund 	},
2426*a5cc98adSSteen Hegelund 	[VCAP_KF_ISDX_CLS] = {
2427*a5cc98adSSteen Hegelund 		.type = VCAP_FIELD_U32,
2428*a5cc98adSSteen Hegelund 		.offset = 16,
2429*a5cc98adSSteen Hegelund 		.width = 12,
2430*a5cc98adSSteen Hegelund 	},
2431*a5cc98adSSteen Hegelund 	[VCAP_KF_8021Q_VLAN_TAGGED_IS] = {
2432*a5cc98adSSteen Hegelund 		.type = VCAP_FIELD_BIT,
2433*a5cc98adSSteen Hegelund 		.offset = 28,
2434*a5cc98adSSteen Hegelund 		.width = 1,
2435*a5cc98adSSteen Hegelund 	},
2436*a5cc98adSSteen Hegelund 	[VCAP_KF_8021Q_VID_CLS] = {
2437*a5cc98adSSteen Hegelund 		.type = VCAP_FIELD_U32,
2438*a5cc98adSSteen Hegelund 		.offset = 29,
2439*a5cc98adSSteen Hegelund 		.width = 13,
2440*a5cc98adSSteen Hegelund 	},
2441*a5cc98adSSteen Hegelund 	[VCAP_KF_IF_EGR_PORT_MASK_RNG] = {
2442*a5cc98adSSteen Hegelund 		.type = VCAP_FIELD_U32,
2443*a5cc98adSSteen Hegelund 		.offset = 42,
2444*a5cc98adSSteen Hegelund 		.width = 3,
2445*a5cc98adSSteen Hegelund 	},
2446*a5cc98adSSteen Hegelund 	[VCAP_KF_IF_EGR_PORT_MASK] = {
2447*a5cc98adSSteen Hegelund 		.type = VCAP_FIELD_U32,
2448*a5cc98adSSteen Hegelund 		.offset = 45,
2449*a5cc98adSSteen Hegelund 		.width = 32,
2450*a5cc98adSSteen Hegelund 	},
2451*a5cc98adSSteen Hegelund 	[VCAP_KF_IF_IGR_PORT_SEL] = {
2452*a5cc98adSSteen Hegelund 		.type = VCAP_FIELD_BIT,
2453*a5cc98adSSteen Hegelund 		.offset = 77,
2454*a5cc98adSSteen Hegelund 		.width = 1,
2455*a5cc98adSSteen Hegelund 	},
2456*a5cc98adSSteen Hegelund 	[VCAP_KF_IF_IGR_PORT] = {
2457*a5cc98adSSteen Hegelund 		.type = VCAP_FIELD_U32,
2458*a5cc98adSSteen Hegelund 		.offset = 78,
2459*a5cc98adSSteen Hegelund 		.width = 9,
2460*a5cc98adSSteen Hegelund 	},
2461*a5cc98adSSteen Hegelund 	[VCAP_KF_8021Q_PCP_CLS] = {
2462*a5cc98adSSteen Hegelund 		.type = VCAP_FIELD_U32,
2463*a5cc98adSSteen Hegelund 		.offset = 87,
2464*a5cc98adSSteen Hegelund 		.width = 3,
2465*a5cc98adSSteen Hegelund 	},
2466*a5cc98adSSteen Hegelund 	[VCAP_KF_8021Q_DEI_CLS] = {
2467*a5cc98adSSteen Hegelund 		.type = VCAP_FIELD_BIT,
2468*a5cc98adSSteen Hegelund 		.offset = 90,
2469*a5cc98adSSteen Hegelund 		.width = 1,
2470*a5cc98adSSteen Hegelund 	},
2471*a5cc98adSSteen Hegelund 	[VCAP_KF_COSID_CLS] = {
2472*a5cc98adSSteen Hegelund 		.type = VCAP_FIELD_U32,
2473*a5cc98adSSteen Hegelund 		.offset = 91,
2474*a5cc98adSSteen Hegelund 		.width = 3,
2475*a5cc98adSSteen Hegelund 	},
2476*a5cc98adSSteen Hegelund 	[VCAP_KF_L3_DPL_CLS] = {
2477*a5cc98adSSteen Hegelund 		.type = VCAP_FIELD_BIT,
2478*a5cc98adSSteen Hegelund 		.offset = 94,
2479*a5cc98adSSteen Hegelund 		.width = 1,
2480*a5cc98adSSteen Hegelund 	},
2481*a5cc98adSSteen Hegelund 	[VCAP_KF_L3_RT_IS] = {
2482*a5cc98adSSteen Hegelund 		.type = VCAP_FIELD_BIT,
2483*a5cc98adSSteen Hegelund 		.offset = 95,
2484*a5cc98adSSteen Hegelund 		.width = 1,
2485*a5cc98adSSteen Hegelund 	},
2486*a5cc98adSSteen Hegelund 	[VCAP_KF_L3_TTL_GT0] = {
2487*a5cc98adSSteen Hegelund 		.type = VCAP_FIELD_BIT,
2488*a5cc98adSSteen Hegelund 		.offset = 99,
2489*a5cc98adSSteen Hegelund 		.width = 1,
2490*a5cc98adSSteen Hegelund 	},
2491*a5cc98adSSteen Hegelund 	[VCAP_KF_L3_IP6_SIP] = {
2492*a5cc98adSSteen Hegelund 		.type = VCAP_FIELD_U128,
2493*a5cc98adSSteen Hegelund 		.offset = 100,
2494*a5cc98adSSteen Hegelund 		.width = 128,
2495*a5cc98adSSteen Hegelund 	},
2496*a5cc98adSSteen Hegelund 	[VCAP_KF_L3_DIP_EQ_SIP_IS] = {
2497*a5cc98adSSteen Hegelund 		.type = VCAP_FIELD_BIT,
2498*a5cc98adSSteen Hegelund 		.offset = 228,
2499*a5cc98adSSteen Hegelund 		.width = 1,
2500*a5cc98adSSteen Hegelund 	},
2501*a5cc98adSSteen Hegelund 	[VCAP_KF_L3_IP_PROTO] = {
2502*a5cc98adSSteen Hegelund 		.type = VCAP_FIELD_U32,
2503*a5cc98adSSteen Hegelund 		.offset = 229,
2504*a5cc98adSSteen Hegelund 		.width = 8,
2505*a5cc98adSSteen Hegelund 	},
2506*a5cc98adSSteen Hegelund 	[VCAP_KF_L4_RNG] = {
2507*a5cc98adSSteen Hegelund 		.type = VCAP_FIELD_U32,
2508*a5cc98adSSteen Hegelund 		.offset = 237,
2509*a5cc98adSSteen Hegelund 		.width = 16,
2510*a5cc98adSSteen Hegelund 	},
2511*a5cc98adSSteen Hegelund 	[VCAP_KF_L3_PAYLOAD] = {
2512*a5cc98adSSteen Hegelund 		.type = VCAP_FIELD_U48,
2513*a5cc98adSSteen Hegelund 		.offset = 253,
2514*a5cc98adSSteen Hegelund 		.width = 40,
2515*a5cc98adSSteen Hegelund 	},
2516*a5cc98adSSteen Hegelund };
2517*a5cc98adSSteen Hegelund 
25185d7e5b04SSteen Hegelund static const struct vcap_field es2_ip4_vid_keyfield[] = {
25195d7e5b04SSteen Hegelund 	[VCAP_KF_LOOKUP_FIRST_IS] = {
25205d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
25215d7e5b04SSteen Hegelund 		.offset = 0,
25225d7e5b04SSteen Hegelund 		.width = 1,
25235d7e5b04SSteen Hegelund 	},
25245d7e5b04SSteen Hegelund 	[VCAP_KF_ACL_GRP_ID] = {
25255d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
25265d7e5b04SSteen Hegelund 		.offset = 1,
25275d7e5b04SSteen Hegelund 		.width = 8,
25285d7e5b04SSteen Hegelund 	},
25295d7e5b04SSteen Hegelund 	[VCAP_KF_PROT_ACTIVE] = {
25305d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
25315d7e5b04SSteen Hegelund 		.offset = 9,
25325d7e5b04SSteen Hegelund 		.width = 1,
25335d7e5b04SSteen Hegelund 	},
25345d7e5b04SSteen Hegelund 	[VCAP_KF_L2_MC_IS] = {
25355d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
25365d7e5b04SSteen Hegelund 		.offset = 10,
25375d7e5b04SSteen Hegelund 		.width = 1,
25385d7e5b04SSteen Hegelund 	},
25395d7e5b04SSteen Hegelund 	[VCAP_KF_L2_BC_IS] = {
25405d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
25415d7e5b04SSteen Hegelund 		.offset = 11,
25425d7e5b04SSteen Hegelund 		.width = 1,
25435d7e5b04SSteen Hegelund 	},
25445d7e5b04SSteen Hegelund 	[VCAP_KF_ISDX_GT0_IS] = {
25455d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
25465d7e5b04SSteen Hegelund 		.offset = 12,
25475d7e5b04SSteen Hegelund 		.width = 1,
25485d7e5b04SSteen Hegelund 	},
25495d7e5b04SSteen Hegelund 	[VCAP_KF_ISDX_CLS] = {
25505d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
25515d7e5b04SSteen Hegelund 		.offset = 13,
25525d7e5b04SSteen Hegelund 		.width = 12,
25535d7e5b04SSteen Hegelund 	},
25545d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_VLAN_TAGGED_IS] = {
25555d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
25565d7e5b04SSteen Hegelund 		.offset = 25,
25575d7e5b04SSteen Hegelund 		.width = 1,
25585d7e5b04SSteen Hegelund 	},
25595d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_VID_CLS] = {
25605d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
25615d7e5b04SSteen Hegelund 		.offset = 26,
25625d7e5b04SSteen Hegelund 		.width = 13,
25635d7e5b04SSteen Hegelund 	},
25645d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_PCP_CLS] = {
25655d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
25665d7e5b04SSteen Hegelund 		.offset = 39,
25675d7e5b04SSteen Hegelund 		.width = 3,
25685d7e5b04SSteen Hegelund 	},
25695d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_DEI_CLS] = {
25705d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
25715d7e5b04SSteen Hegelund 		.offset = 42,
25725d7e5b04SSteen Hegelund 		.width = 1,
25735d7e5b04SSteen Hegelund 	},
25745d7e5b04SSteen Hegelund 	[VCAP_KF_COSID_CLS] = {
25755d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
25765d7e5b04SSteen Hegelund 		.offset = 43,
25775d7e5b04SSteen Hegelund 		.width = 3,
25785d7e5b04SSteen Hegelund 	},
25795d7e5b04SSteen Hegelund 	[VCAP_KF_L3_DPL_CLS] = {
25805d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
25815d7e5b04SSteen Hegelund 		.offset = 46,
25825d7e5b04SSteen Hegelund 		.width = 1,
25835d7e5b04SSteen Hegelund 	},
25845d7e5b04SSteen Hegelund 	[VCAP_KF_L3_RT_IS] = {
25855d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
25865d7e5b04SSteen Hegelund 		.offset = 47,
25875d7e5b04SSteen Hegelund 		.width = 1,
25885d7e5b04SSteen Hegelund 	},
25895d7e5b04SSteen Hegelund 	[VCAP_KF_ES0_ISDX_KEY_ENA] = {
25905d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
25915d7e5b04SSteen Hegelund 		.offset = 48,
25925d7e5b04SSteen Hegelund 		.width = 1,
25935d7e5b04SSteen Hegelund 	},
25949d712b8dSSteen Hegelund 	[VCAP_KF_MIRROR_PROBE] = {
25955d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
25965d7e5b04SSteen Hegelund 		.offset = 49,
25975d7e5b04SSteen Hegelund 		.width = 2,
25985d7e5b04SSteen Hegelund 	},
25995d7e5b04SSteen Hegelund 	[VCAP_KF_IP4_IS] = {
26005d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
26015d7e5b04SSteen Hegelund 		.offset = 51,
26025d7e5b04SSteen Hegelund 		.width = 1,
26035d7e5b04SSteen Hegelund 	},
26045d7e5b04SSteen Hegelund 	[VCAP_KF_L3_IP4_DIP] = {
26055d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
26065d7e5b04SSteen Hegelund 		.offset = 52,
26075d7e5b04SSteen Hegelund 		.width = 32,
26085d7e5b04SSteen Hegelund 	},
26095d7e5b04SSteen Hegelund 	[VCAP_KF_L3_IP4_SIP] = {
26105d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
26115d7e5b04SSteen Hegelund 		.offset = 84,
26125d7e5b04SSteen Hegelund 		.width = 32,
26135d7e5b04SSteen Hegelund 	},
26145d7e5b04SSteen Hegelund 	[VCAP_KF_L4_RNG] = {
26155d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
26165d7e5b04SSteen Hegelund 		.offset = 116,
26175d7e5b04SSteen Hegelund 		.width = 16,
26185d7e5b04SSteen Hegelund 	},
26195d7e5b04SSteen Hegelund };
26205d7e5b04SSteen Hegelund 
26215d7e5b04SSteen Hegelund static const struct vcap_field es2_ip6_vid_keyfield[] = {
26225d7e5b04SSteen Hegelund 	[VCAP_KF_TYPE] = {
26235d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
26245d7e5b04SSteen Hegelund 		.offset = 0,
26255d7e5b04SSteen Hegelund 		.width = 3,
26265d7e5b04SSteen Hegelund 	},
26275d7e5b04SSteen Hegelund 	[VCAP_KF_LOOKUP_FIRST_IS] = {
26285d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
26295d7e5b04SSteen Hegelund 		.offset = 3,
26305d7e5b04SSteen Hegelund 		.width = 1,
26315d7e5b04SSteen Hegelund 	},
26325d7e5b04SSteen Hegelund 	[VCAP_KF_ACL_GRP_ID] = {
26335d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
26345d7e5b04SSteen Hegelund 		.offset = 4,
26355d7e5b04SSteen Hegelund 		.width = 8,
26365d7e5b04SSteen Hegelund 	},
26375d7e5b04SSteen Hegelund 	[VCAP_KF_PROT_ACTIVE] = {
26385d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
26395d7e5b04SSteen Hegelund 		.offset = 12,
26405d7e5b04SSteen Hegelund 		.width = 1,
26415d7e5b04SSteen Hegelund 	},
26425d7e5b04SSteen Hegelund 	[VCAP_KF_L2_MC_IS] = {
26435d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
26445d7e5b04SSteen Hegelund 		.offset = 13,
26455d7e5b04SSteen Hegelund 		.width = 1,
26465d7e5b04SSteen Hegelund 	},
26475d7e5b04SSteen Hegelund 	[VCAP_KF_L2_BC_IS] = {
26485d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
26495d7e5b04SSteen Hegelund 		.offset = 14,
26505d7e5b04SSteen Hegelund 		.width = 1,
26515d7e5b04SSteen Hegelund 	},
26525d7e5b04SSteen Hegelund 	[VCAP_KF_ISDX_GT0_IS] = {
26535d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
26545d7e5b04SSteen Hegelund 		.offset = 15,
26555d7e5b04SSteen Hegelund 		.width = 1,
26565d7e5b04SSteen Hegelund 	},
26575d7e5b04SSteen Hegelund 	[VCAP_KF_ISDX_CLS] = {
26585d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
26595d7e5b04SSteen Hegelund 		.offset = 16,
26605d7e5b04SSteen Hegelund 		.width = 12,
26615d7e5b04SSteen Hegelund 	},
26625d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_VLAN_TAGGED_IS] = {
26635d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
26645d7e5b04SSteen Hegelund 		.offset = 28,
26655d7e5b04SSteen Hegelund 		.width = 1,
26665d7e5b04SSteen Hegelund 	},
26675d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_VID_CLS] = {
26685d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
26695d7e5b04SSteen Hegelund 		.offset = 29,
26705d7e5b04SSteen Hegelund 		.width = 13,
26715d7e5b04SSteen Hegelund 	},
26725d7e5b04SSteen Hegelund 	[VCAP_KF_L3_RT_IS] = {
26735d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
26745d7e5b04SSteen Hegelund 		.offset = 42,
26755d7e5b04SSteen Hegelund 		.width = 1,
26765d7e5b04SSteen Hegelund 	},
26775d7e5b04SSteen Hegelund 	[VCAP_KF_L3_IP6_DIP] = {
26785d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U128,
26795d7e5b04SSteen Hegelund 		.offset = 43,
26805d7e5b04SSteen Hegelund 		.width = 128,
26815d7e5b04SSteen Hegelund 	},
26825d7e5b04SSteen Hegelund 	[VCAP_KF_L3_IP6_SIP] = {
26835d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U128,
26845d7e5b04SSteen Hegelund 		.offset = 171,
26855d7e5b04SSteen Hegelund 		.width = 128,
26865d7e5b04SSteen Hegelund 	},
26875d7e5b04SSteen Hegelund };
26885d7e5b04SSteen Hegelund 
26895d7e5b04SSteen Hegelund /* keyfield_set */
26905d7e5b04SSteen Hegelund static const struct vcap_set is0_keyfield_set[] = {
26915d7e5b04SSteen Hegelund 	[VCAP_KFS_LL_FULL] = {
26925d7e5b04SSteen Hegelund 		.type_id = 0,
26935d7e5b04SSteen Hegelund 		.sw_per_item = 6,
26945d7e5b04SSteen Hegelund 		.sw_cnt = 2,
26955d7e5b04SSteen Hegelund 	},
26965d7e5b04SSteen Hegelund 	[VCAP_KFS_NORMAL_7TUPLE] = {
26975d7e5b04SSteen Hegelund 		.type_id = 0,
26985d7e5b04SSteen Hegelund 		.sw_per_item = 12,
26995d7e5b04SSteen Hegelund 		.sw_cnt = 1,
27005d7e5b04SSteen Hegelund 	},
27015d7e5b04SSteen Hegelund 	[VCAP_KFS_NORMAL_5TUPLE_IP4] = {
27025d7e5b04SSteen Hegelund 		.type_id = 2,
27035d7e5b04SSteen Hegelund 		.sw_per_item = 6,
27045d7e5b04SSteen Hegelund 		.sw_cnt = 2,
27055d7e5b04SSteen Hegelund 	},
27065d7e5b04SSteen Hegelund 	[VCAP_KFS_PURE_5TUPLE_IP4] = {
27075d7e5b04SSteen Hegelund 		.type_id = 2,
27085d7e5b04SSteen Hegelund 		.sw_per_item = 3,
27095d7e5b04SSteen Hegelund 		.sw_cnt = 4,
27105d7e5b04SSteen Hegelund 	},
27115d7e5b04SSteen Hegelund 	[VCAP_KFS_ETAG] = {
27125d7e5b04SSteen Hegelund 		.type_id = 3,
27135d7e5b04SSteen Hegelund 		.sw_per_item = 2,
27145d7e5b04SSteen Hegelund 		.sw_cnt = 6,
27155d7e5b04SSteen Hegelund 	},
27165d7e5b04SSteen Hegelund };
27175d7e5b04SSteen Hegelund 
27185d7e5b04SSteen Hegelund static const struct vcap_set is2_keyfield_set[] = {
27195d7e5b04SSteen Hegelund 	[VCAP_KFS_MAC_ETYPE] = {
27205d7e5b04SSteen Hegelund 		.type_id = 0,
27215d7e5b04SSteen Hegelund 		.sw_per_item = 6,
27225d7e5b04SSteen Hegelund 		.sw_cnt = 2,
27235d7e5b04SSteen Hegelund 	},
27245d7e5b04SSteen Hegelund 	[VCAP_KFS_ARP] = {
27255d7e5b04SSteen Hegelund 		.type_id = 3,
27265d7e5b04SSteen Hegelund 		.sw_per_item = 6,
27275d7e5b04SSteen Hegelund 		.sw_cnt = 2,
27285d7e5b04SSteen Hegelund 	},
27295d7e5b04SSteen Hegelund 	[VCAP_KFS_IP4_TCP_UDP] = {
27305d7e5b04SSteen Hegelund 		.type_id = 4,
27315d7e5b04SSteen Hegelund 		.sw_per_item = 6,
27325d7e5b04SSteen Hegelund 		.sw_cnt = 2,
27335d7e5b04SSteen Hegelund 	},
27345d7e5b04SSteen Hegelund 	[VCAP_KFS_IP4_OTHER] = {
27355d7e5b04SSteen Hegelund 		.type_id = 5,
27365d7e5b04SSteen Hegelund 		.sw_per_item = 6,
27375d7e5b04SSteen Hegelund 		.sw_cnt = 2,
27385d7e5b04SSteen Hegelund 	},
27395d7e5b04SSteen Hegelund 	[VCAP_KFS_IP6_STD] = {
27405d7e5b04SSteen Hegelund 		.type_id = 6,
27415d7e5b04SSteen Hegelund 		.sw_per_item = 6,
27425d7e5b04SSteen Hegelund 		.sw_cnt = 2,
27435d7e5b04SSteen Hegelund 	},
27445d7e5b04SSteen Hegelund 	[VCAP_KFS_IP_7TUPLE] = {
27455d7e5b04SSteen Hegelund 		.type_id = 1,
27465d7e5b04SSteen Hegelund 		.sw_per_item = 12,
27475d7e5b04SSteen Hegelund 		.sw_cnt = 1,
27485d7e5b04SSteen Hegelund 	},
27495d7e5b04SSteen Hegelund };
27505d7e5b04SSteen Hegelund 
27515d7e5b04SSteen Hegelund static const struct vcap_set es2_keyfield_set[] = {
27525d7e5b04SSteen Hegelund 	[VCAP_KFS_MAC_ETYPE] = {
27535d7e5b04SSteen Hegelund 		.type_id = 0,
27545d7e5b04SSteen Hegelund 		.sw_per_item = 6,
27555d7e5b04SSteen Hegelund 		.sw_cnt = 2,
27565d7e5b04SSteen Hegelund 	},
27575d7e5b04SSteen Hegelund 	[VCAP_KFS_ARP] = {
27585d7e5b04SSteen Hegelund 		.type_id = 1,
27595d7e5b04SSteen Hegelund 		.sw_per_item = 6,
27605d7e5b04SSteen Hegelund 		.sw_cnt = 2,
27615d7e5b04SSteen Hegelund 	},
27625d7e5b04SSteen Hegelund 	[VCAP_KFS_IP4_TCP_UDP] = {
27635d7e5b04SSteen Hegelund 		.type_id = 2,
27645d7e5b04SSteen Hegelund 		.sw_per_item = 6,
27655d7e5b04SSteen Hegelund 		.sw_cnt = 2,
27665d7e5b04SSteen Hegelund 	},
27675d7e5b04SSteen Hegelund 	[VCAP_KFS_IP4_OTHER] = {
27685d7e5b04SSteen Hegelund 		.type_id = 3,
27695d7e5b04SSteen Hegelund 		.sw_per_item = 6,
27705d7e5b04SSteen Hegelund 		.sw_cnt = 2,
27715d7e5b04SSteen Hegelund 	},
27725d7e5b04SSteen Hegelund 	[VCAP_KFS_IP_7TUPLE] = {
27735d7e5b04SSteen Hegelund 		.type_id = -1,
27745d7e5b04SSteen Hegelund 		.sw_per_item = 12,
27755d7e5b04SSteen Hegelund 		.sw_cnt = 1,
27765d7e5b04SSteen Hegelund 	},
2777*a5cc98adSSteen Hegelund 	[VCAP_KFS_IP6_STD] = {
2778*a5cc98adSSteen Hegelund 		.type_id = 4,
2779*a5cc98adSSteen Hegelund 		.sw_per_item = 6,
2780*a5cc98adSSteen Hegelund 		.sw_cnt = 2,
2781*a5cc98adSSteen Hegelund 	},
27825d7e5b04SSteen Hegelund 	[VCAP_KFS_IP4_VID] = {
27835d7e5b04SSteen Hegelund 		.type_id = -1,
27845d7e5b04SSteen Hegelund 		.sw_per_item = 3,
27855d7e5b04SSteen Hegelund 		.sw_cnt = 4,
27865d7e5b04SSteen Hegelund 	},
27875d7e5b04SSteen Hegelund 	[VCAP_KFS_IP6_VID] = {
27885d7e5b04SSteen Hegelund 		.type_id = 5,
27895d7e5b04SSteen Hegelund 		.sw_per_item = 6,
27905d7e5b04SSteen Hegelund 		.sw_cnt = 2,
27915d7e5b04SSteen Hegelund 	},
27925d7e5b04SSteen Hegelund };
27935d7e5b04SSteen Hegelund 
27945d7e5b04SSteen Hegelund /* keyfield_set map */
27955d7e5b04SSteen Hegelund static const struct vcap_field *is0_keyfield_set_map[] = {
27965d7e5b04SSteen Hegelund 	[VCAP_KFS_LL_FULL] = is0_ll_full_keyfield,
27975d7e5b04SSteen Hegelund 	[VCAP_KFS_NORMAL_7TUPLE] = is0_normal_7tuple_keyfield,
27985d7e5b04SSteen Hegelund 	[VCAP_KFS_NORMAL_5TUPLE_IP4] = is0_normal_5tuple_ip4_keyfield,
27995d7e5b04SSteen Hegelund 	[VCAP_KFS_PURE_5TUPLE_IP4] = is0_pure_5tuple_ip4_keyfield,
28005d7e5b04SSteen Hegelund 	[VCAP_KFS_ETAG] = is0_etag_keyfield,
28015d7e5b04SSteen Hegelund };
28025d7e5b04SSteen Hegelund 
28035d7e5b04SSteen Hegelund static const struct vcap_field *is2_keyfield_set_map[] = {
28045d7e5b04SSteen Hegelund 	[VCAP_KFS_MAC_ETYPE] = is2_mac_etype_keyfield,
28055d7e5b04SSteen Hegelund 	[VCAP_KFS_ARP] = is2_arp_keyfield,
28065d7e5b04SSteen Hegelund 	[VCAP_KFS_IP4_TCP_UDP] = is2_ip4_tcp_udp_keyfield,
28075d7e5b04SSteen Hegelund 	[VCAP_KFS_IP4_OTHER] = is2_ip4_other_keyfield,
28085d7e5b04SSteen Hegelund 	[VCAP_KFS_IP6_STD] = is2_ip6_std_keyfield,
28095d7e5b04SSteen Hegelund 	[VCAP_KFS_IP_7TUPLE] = is2_ip_7tuple_keyfield,
28105d7e5b04SSteen Hegelund };
28115d7e5b04SSteen Hegelund 
28125d7e5b04SSteen Hegelund static const struct vcap_field *es2_keyfield_set_map[] = {
28135d7e5b04SSteen Hegelund 	[VCAP_KFS_MAC_ETYPE] = es2_mac_etype_keyfield,
28145d7e5b04SSteen Hegelund 	[VCAP_KFS_ARP] = es2_arp_keyfield,
28155d7e5b04SSteen Hegelund 	[VCAP_KFS_IP4_TCP_UDP] = es2_ip4_tcp_udp_keyfield,
28165d7e5b04SSteen Hegelund 	[VCAP_KFS_IP4_OTHER] = es2_ip4_other_keyfield,
28175d7e5b04SSteen Hegelund 	[VCAP_KFS_IP_7TUPLE] = es2_ip_7tuple_keyfield,
2818*a5cc98adSSteen Hegelund 	[VCAP_KFS_IP6_STD] = es2_ip6_std_keyfield,
28195d7e5b04SSteen Hegelund 	[VCAP_KFS_IP4_VID] = es2_ip4_vid_keyfield,
28205d7e5b04SSteen Hegelund 	[VCAP_KFS_IP6_VID] = es2_ip6_vid_keyfield,
28215d7e5b04SSteen Hegelund };
28225d7e5b04SSteen Hegelund 
28235d7e5b04SSteen Hegelund /* keyfield_set map sizes */
28245d7e5b04SSteen Hegelund static int is0_keyfield_set_map_size[] = {
28255d7e5b04SSteen Hegelund 	[VCAP_KFS_LL_FULL] = ARRAY_SIZE(is0_ll_full_keyfield),
28265d7e5b04SSteen Hegelund 	[VCAP_KFS_NORMAL_7TUPLE] = ARRAY_SIZE(is0_normal_7tuple_keyfield),
28275d7e5b04SSteen Hegelund 	[VCAP_KFS_NORMAL_5TUPLE_IP4] = ARRAY_SIZE(is0_normal_5tuple_ip4_keyfield),
28285d7e5b04SSteen Hegelund 	[VCAP_KFS_PURE_5TUPLE_IP4] = ARRAY_SIZE(is0_pure_5tuple_ip4_keyfield),
28295d7e5b04SSteen Hegelund 	[VCAP_KFS_ETAG] = ARRAY_SIZE(is0_etag_keyfield),
28305d7e5b04SSteen Hegelund };
28315d7e5b04SSteen Hegelund 
28325d7e5b04SSteen Hegelund static int is2_keyfield_set_map_size[] = {
28335d7e5b04SSteen Hegelund 	[VCAP_KFS_MAC_ETYPE] = ARRAY_SIZE(is2_mac_etype_keyfield),
28345d7e5b04SSteen Hegelund 	[VCAP_KFS_ARP] = ARRAY_SIZE(is2_arp_keyfield),
28355d7e5b04SSteen Hegelund 	[VCAP_KFS_IP4_TCP_UDP] = ARRAY_SIZE(is2_ip4_tcp_udp_keyfield),
28365d7e5b04SSteen Hegelund 	[VCAP_KFS_IP4_OTHER] = ARRAY_SIZE(is2_ip4_other_keyfield),
28375d7e5b04SSteen Hegelund 	[VCAP_KFS_IP6_STD] = ARRAY_SIZE(is2_ip6_std_keyfield),
28385d7e5b04SSteen Hegelund 	[VCAP_KFS_IP_7TUPLE] = ARRAY_SIZE(is2_ip_7tuple_keyfield),
28395d7e5b04SSteen Hegelund };
28405d7e5b04SSteen Hegelund 
28415d7e5b04SSteen Hegelund static int es2_keyfield_set_map_size[] = {
28425d7e5b04SSteen Hegelund 	[VCAP_KFS_MAC_ETYPE] = ARRAY_SIZE(es2_mac_etype_keyfield),
28435d7e5b04SSteen Hegelund 	[VCAP_KFS_ARP] = ARRAY_SIZE(es2_arp_keyfield),
28445d7e5b04SSteen Hegelund 	[VCAP_KFS_IP4_TCP_UDP] = ARRAY_SIZE(es2_ip4_tcp_udp_keyfield),
28455d7e5b04SSteen Hegelund 	[VCAP_KFS_IP4_OTHER] = ARRAY_SIZE(es2_ip4_other_keyfield),
28465d7e5b04SSteen Hegelund 	[VCAP_KFS_IP_7TUPLE] = ARRAY_SIZE(es2_ip_7tuple_keyfield),
2847*a5cc98adSSteen Hegelund 	[VCAP_KFS_IP6_STD] = ARRAY_SIZE(es2_ip6_std_keyfield),
28485d7e5b04SSteen Hegelund 	[VCAP_KFS_IP4_VID] = ARRAY_SIZE(es2_ip4_vid_keyfield),
28495d7e5b04SSteen Hegelund 	[VCAP_KFS_IP6_VID] = ARRAY_SIZE(es2_ip6_vid_keyfield),
28505d7e5b04SSteen Hegelund };
28515d7e5b04SSteen Hegelund 
28525d7e5b04SSteen Hegelund /* actionfields */
28535d7e5b04SSteen Hegelund static const struct vcap_field is0_classification_actionfield[] = {
28545d7e5b04SSteen Hegelund 	[VCAP_AF_TYPE] = {
28555d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
28565d7e5b04SSteen Hegelund 		.offset = 0,
28575d7e5b04SSteen Hegelund 		.width = 1,
28585d7e5b04SSteen Hegelund 	},
28595d7e5b04SSteen Hegelund 	[VCAP_AF_DSCP_ENA] = {
28605d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
28615d7e5b04SSteen Hegelund 		.offset = 1,
28625d7e5b04SSteen Hegelund 		.width = 1,
28635d7e5b04SSteen Hegelund 	},
28645d7e5b04SSteen Hegelund 	[VCAP_AF_DSCP_VAL] = {
28655d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
28665d7e5b04SSteen Hegelund 		.offset = 2,
28675d7e5b04SSteen Hegelund 		.width = 6,
28685d7e5b04SSteen Hegelund 	},
28695d7e5b04SSteen Hegelund 	[VCAP_AF_QOS_ENA] = {
28705d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
28715d7e5b04SSteen Hegelund 		.offset = 12,
28725d7e5b04SSteen Hegelund 		.width = 1,
28735d7e5b04SSteen Hegelund 	},
28745d7e5b04SSteen Hegelund 	[VCAP_AF_QOS_VAL] = {
28755d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
28765d7e5b04SSteen Hegelund 		.offset = 13,
28775d7e5b04SSteen Hegelund 		.width = 3,
28785d7e5b04SSteen Hegelund 	},
28795d7e5b04SSteen Hegelund 	[VCAP_AF_DP_ENA] = {
28805d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
28815d7e5b04SSteen Hegelund 		.offset = 16,
28825d7e5b04SSteen Hegelund 		.width = 1,
28835d7e5b04SSteen Hegelund 	},
28845d7e5b04SSteen Hegelund 	[VCAP_AF_DP_VAL] = {
28855d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
28865d7e5b04SSteen Hegelund 		.offset = 17,
28875d7e5b04SSteen Hegelund 		.width = 2,
28885d7e5b04SSteen Hegelund 	},
28895d7e5b04SSteen Hegelund 	[VCAP_AF_DEI_ENA] = {
28905d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
28915d7e5b04SSteen Hegelund 		.offset = 19,
28925d7e5b04SSteen Hegelund 		.width = 1,
28935d7e5b04SSteen Hegelund 	},
28945d7e5b04SSteen Hegelund 	[VCAP_AF_DEI_VAL] = {
28955d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
28965d7e5b04SSteen Hegelund 		.offset = 20,
28975d7e5b04SSteen Hegelund 		.width = 1,
28985d7e5b04SSteen Hegelund 	},
28995d7e5b04SSteen Hegelund 	[VCAP_AF_PCP_ENA] = {
29005d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
29015d7e5b04SSteen Hegelund 		.offset = 21,
29025d7e5b04SSteen Hegelund 		.width = 1,
29035d7e5b04SSteen Hegelund 	},
29045d7e5b04SSteen Hegelund 	[VCAP_AF_PCP_VAL] = {
29055d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
29065d7e5b04SSteen Hegelund 		.offset = 22,
29075d7e5b04SSteen Hegelund 		.width = 3,
29085d7e5b04SSteen Hegelund 	},
29095d7e5b04SSteen Hegelund 	[VCAP_AF_MAP_LOOKUP_SEL] = {
29105d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
29115d7e5b04SSteen Hegelund 		.offset = 25,
29125d7e5b04SSteen Hegelund 		.width = 2,
29135d7e5b04SSteen Hegelund 	},
29145d7e5b04SSteen Hegelund 	[VCAP_AF_MAP_KEY] = {
29155d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
29165d7e5b04SSteen Hegelund 		.offset = 27,
29175d7e5b04SSteen Hegelund 		.width = 3,
29185d7e5b04SSteen Hegelund 	},
29195d7e5b04SSteen Hegelund 	[VCAP_AF_MAP_IDX] = {
29205d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
29215d7e5b04SSteen Hegelund 		.offset = 30,
29225d7e5b04SSteen Hegelund 		.width = 9,
29235d7e5b04SSteen Hegelund 	},
29245d7e5b04SSteen Hegelund 	[VCAP_AF_CLS_VID_SEL] = {
29255d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
29265d7e5b04SSteen Hegelund 		.offset = 39,
29275d7e5b04SSteen Hegelund 		.width = 3,
29285d7e5b04SSteen Hegelund 	},
29295d7e5b04SSteen Hegelund 	[VCAP_AF_VID_VAL] = {
29305d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
29315d7e5b04SSteen Hegelund 		.offset = 45,
29325d7e5b04SSteen Hegelund 		.width = 13,
29335d7e5b04SSteen Hegelund 	},
29345d7e5b04SSteen Hegelund 	[VCAP_AF_ISDX_ADD_REPLACE_SEL] = {
29355d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
29365d7e5b04SSteen Hegelund 		.offset = 68,
29375d7e5b04SSteen Hegelund 		.width = 1,
29385d7e5b04SSteen Hegelund 	},
29395d7e5b04SSteen Hegelund 	[VCAP_AF_ISDX_VAL] = {
29405d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
29415d7e5b04SSteen Hegelund 		.offset = 69,
29425d7e5b04SSteen Hegelund 		.width = 12,
29435d7e5b04SSteen Hegelund 	},
29445d7e5b04SSteen Hegelund 	[VCAP_AF_PAG_OVERRIDE_MASK] = {
29455d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
29465d7e5b04SSteen Hegelund 		.offset = 109,
29475d7e5b04SSteen Hegelund 		.width = 8,
29485d7e5b04SSteen Hegelund 	},
29495d7e5b04SSteen Hegelund 	[VCAP_AF_PAG_VAL] = {
29505d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
29515d7e5b04SSteen Hegelund 		.offset = 117,
29525d7e5b04SSteen Hegelund 		.width = 8,
29535d7e5b04SSteen Hegelund 	},
29545d7e5b04SSteen Hegelund 	[VCAP_AF_NXT_IDX_CTRL] = {
29555d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
29565d7e5b04SSteen Hegelund 		.offset = 171,
29575d7e5b04SSteen Hegelund 		.width = 3,
29585d7e5b04SSteen Hegelund 	},
29595d7e5b04SSteen Hegelund 	[VCAP_AF_NXT_IDX] = {
29605d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
29615d7e5b04SSteen Hegelund 		.offset = 174,
29625d7e5b04SSteen Hegelund 		.width = 12,
29635d7e5b04SSteen Hegelund 	},
29645d7e5b04SSteen Hegelund };
29655d7e5b04SSteen Hegelund 
29665d7e5b04SSteen Hegelund static const struct vcap_field is0_full_actionfield[] = {
29675d7e5b04SSteen Hegelund 	[VCAP_AF_DSCP_ENA] = {
29685d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
29695d7e5b04SSteen Hegelund 		.offset = 0,
29705d7e5b04SSteen Hegelund 		.width = 1,
29715d7e5b04SSteen Hegelund 	},
29725d7e5b04SSteen Hegelund 	[VCAP_AF_DSCP_VAL] = {
29735d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
29745d7e5b04SSteen Hegelund 		.offset = 1,
29755d7e5b04SSteen Hegelund 		.width = 6,
29765d7e5b04SSteen Hegelund 	},
29775d7e5b04SSteen Hegelund 	[VCAP_AF_QOS_ENA] = {
29785d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
29795d7e5b04SSteen Hegelund 		.offset = 11,
29805d7e5b04SSteen Hegelund 		.width = 1,
29815d7e5b04SSteen Hegelund 	},
29825d7e5b04SSteen Hegelund 	[VCAP_AF_QOS_VAL] = {
29835d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
29845d7e5b04SSteen Hegelund 		.offset = 12,
29855d7e5b04SSteen Hegelund 		.width = 3,
29865d7e5b04SSteen Hegelund 	},
29875d7e5b04SSteen Hegelund 	[VCAP_AF_DP_ENA] = {
29885d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
29895d7e5b04SSteen Hegelund 		.offset = 15,
29905d7e5b04SSteen Hegelund 		.width = 1,
29915d7e5b04SSteen Hegelund 	},
29925d7e5b04SSteen Hegelund 	[VCAP_AF_DP_VAL] = {
29935d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
29945d7e5b04SSteen Hegelund 		.offset = 16,
29955d7e5b04SSteen Hegelund 		.width = 2,
29965d7e5b04SSteen Hegelund 	},
29975d7e5b04SSteen Hegelund 	[VCAP_AF_DEI_ENA] = {
29985d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
29995d7e5b04SSteen Hegelund 		.offset = 18,
30005d7e5b04SSteen Hegelund 		.width = 1,
30015d7e5b04SSteen Hegelund 	},
30025d7e5b04SSteen Hegelund 	[VCAP_AF_DEI_VAL] = {
30035d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
30045d7e5b04SSteen Hegelund 		.offset = 19,
30055d7e5b04SSteen Hegelund 		.width = 1,
30065d7e5b04SSteen Hegelund 	},
30075d7e5b04SSteen Hegelund 	[VCAP_AF_PCP_ENA] = {
30085d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
30095d7e5b04SSteen Hegelund 		.offset = 20,
30105d7e5b04SSteen Hegelund 		.width = 1,
30115d7e5b04SSteen Hegelund 	},
30125d7e5b04SSteen Hegelund 	[VCAP_AF_PCP_VAL] = {
30135d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
30145d7e5b04SSteen Hegelund 		.offset = 21,
30155d7e5b04SSteen Hegelund 		.width = 3,
30165d7e5b04SSteen Hegelund 	},
30175d7e5b04SSteen Hegelund 	[VCAP_AF_MAP_LOOKUP_SEL] = {
30185d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
30195d7e5b04SSteen Hegelund 		.offset = 24,
30205d7e5b04SSteen Hegelund 		.width = 2,
30215d7e5b04SSteen Hegelund 	},
30225d7e5b04SSteen Hegelund 	[VCAP_AF_MAP_KEY] = {
30235d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
30245d7e5b04SSteen Hegelund 		.offset = 26,
30255d7e5b04SSteen Hegelund 		.width = 3,
30265d7e5b04SSteen Hegelund 	},
30275d7e5b04SSteen Hegelund 	[VCAP_AF_MAP_IDX] = {
30285d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
30295d7e5b04SSteen Hegelund 		.offset = 29,
30305d7e5b04SSteen Hegelund 		.width = 9,
30315d7e5b04SSteen Hegelund 	},
30325d7e5b04SSteen Hegelund 	[VCAP_AF_CLS_VID_SEL] = {
30335d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
30345d7e5b04SSteen Hegelund 		.offset = 38,
30355d7e5b04SSteen Hegelund 		.width = 3,
30365d7e5b04SSteen Hegelund 	},
30375d7e5b04SSteen Hegelund 	[VCAP_AF_VID_VAL] = {
30385d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
30395d7e5b04SSteen Hegelund 		.offset = 44,
30405d7e5b04SSteen Hegelund 		.width = 13,
30415d7e5b04SSteen Hegelund 	},
30425d7e5b04SSteen Hegelund 	[VCAP_AF_ISDX_ADD_REPLACE_SEL] = {
30435d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
30445d7e5b04SSteen Hegelund 		.offset = 67,
30455d7e5b04SSteen Hegelund 		.width = 1,
30465d7e5b04SSteen Hegelund 	},
30475d7e5b04SSteen Hegelund 	[VCAP_AF_ISDX_VAL] = {
30485d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
30495d7e5b04SSteen Hegelund 		.offset = 68,
30505d7e5b04SSteen Hegelund 		.width = 12,
30515d7e5b04SSteen Hegelund 	},
30525d7e5b04SSteen Hegelund 	[VCAP_AF_MASK_MODE] = {
30535d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
30545d7e5b04SSteen Hegelund 		.offset = 80,
30555d7e5b04SSteen Hegelund 		.width = 3,
30565d7e5b04SSteen Hegelund 	},
30575d7e5b04SSteen Hegelund 	[VCAP_AF_PORT_MASK] = {
30585d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U72,
30595d7e5b04SSteen Hegelund 		.offset = 83,
30605d7e5b04SSteen Hegelund 		.width = 65,
30615d7e5b04SSteen Hegelund 	},
30625d7e5b04SSteen Hegelund 	[VCAP_AF_PAG_OVERRIDE_MASK] = {
30635d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
30645d7e5b04SSteen Hegelund 		.offset = 204,
30655d7e5b04SSteen Hegelund 		.width = 8,
30665d7e5b04SSteen Hegelund 	},
30675d7e5b04SSteen Hegelund 	[VCAP_AF_PAG_VAL] = {
30685d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
30695d7e5b04SSteen Hegelund 		.offset = 212,
30705d7e5b04SSteen Hegelund 		.width = 8,
30715d7e5b04SSteen Hegelund 	},
30725d7e5b04SSteen Hegelund 	[VCAP_AF_NXT_IDX_CTRL] = {
30735d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
30745d7e5b04SSteen Hegelund 		.offset = 298,
30755d7e5b04SSteen Hegelund 		.width = 3,
30765d7e5b04SSteen Hegelund 	},
30775d7e5b04SSteen Hegelund 	[VCAP_AF_NXT_IDX] = {
30785d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
30795d7e5b04SSteen Hegelund 		.offset = 301,
30805d7e5b04SSteen Hegelund 		.width = 12,
30815d7e5b04SSteen Hegelund 	},
30825d7e5b04SSteen Hegelund };
30835d7e5b04SSteen Hegelund 
30845d7e5b04SSteen Hegelund static const struct vcap_field is0_class_reduced_actionfield[] = {
30855d7e5b04SSteen Hegelund 	[VCAP_AF_TYPE] = {
30865d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
30875d7e5b04SSteen Hegelund 		.offset = 0,
30885d7e5b04SSteen Hegelund 		.width = 1,
30895d7e5b04SSteen Hegelund 	},
30905d7e5b04SSteen Hegelund 	[VCAP_AF_QOS_ENA] = {
30915d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
30925d7e5b04SSteen Hegelund 		.offset = 5,
30935d7e5b04SSteen Hegelund 		.width = 1,
30945d7e5b04SSteen Hegelund 	},
30955d7e5b04SSteen Hegelund 	[VCAP_AF_QOS_VAL] = {
30965d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
30975d7e5b04SSteen Hegelund 		.offset = 6,
30985d7e5b04SSteen Hegelund 		.width = 3,
30995d7e5b04SSteen Hegelund 	},
31005d7e5b04SSteen Hegelund 	[VCAP_AF_DP_ENA] = {
31015d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
31025d7e5b04SSteen Hegelund 		.offset = 9,
31035d7e5b04SSteen Hegelund 		.width = 1,
31045d7e5b04SSteen Hegelund 	},
31055d7e5b04SSteen Hegelund 	[VCAP_AF_DP_VAL] = {
31065d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
31075d7e5b04SSteen Hegelund 		.offset = 10,
31085d7e5b04SSteen Hegelund 		.width = 2,
31095d7e5b04SSteen Hegelund 	},
31105d7e5b04SSteen Hegelund 	[VCAP_AF_MAP_LOOKUP_SEL] = {
31115d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
31125d7e5b04SSteen Hegelund 		.offset = 12,
31135d7e5b04SSteen Hegelund 		.width = 2,
31145d7e5b04SSteen Hegelund 	},
31155d7e5b04SSteen Hegelund 	[VCAP_AF_MAP_KEY] = {
31165d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
31175d7e5b04SSteen Hegelund 		.offset = 14,
31185d7e5b04SSteen Hegelund 		.width = 3,
31195d7e5b04SSteen Hegelund 	},
31205d7e5b04SSteen Hegelund 	[VCAP_AF_CLS_VID_SEL] = {
31215d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
31225d7e5b04SSteen Hegelund 		.offset = 17,
31235d7e5b04SSteen Hegelund 		.width = 3,
31245d7e5b04SSteen Hegelund 	},
31255d7e5b04SSteen Hegelund 	[VCAP_AF_VID_VAL] = {
31265d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
31275d7e5b04SSteen Hegelund 		.offset = 23,
31285d7e5b04SSteen Hegelund 		.width = 13,
31295d7e5b04SSteen Hegelund 	},
31305d7e5b04SSteen Hegelund 	[VCAP_AF_ISDX_ADD_REPLACE_SEL] = {
31315d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
31325d7e5b04SSteen Hegelund 		.offset = 46,
31335d7e5b04SSteen Hegelund 		.width = 1,
31345d7e5b04SSteen Hegelund 	},
31355d7e5b04SSteen Hegelund 	[VCAP_AF_ISDX_VAL] = {
31365d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
31375d7e5b04SSteen Hegelund 		.offset = 47,
31385d7e5b04SSteen Hegelund 		.width = 12,
31395d7e5b04SSteen Hegelund 	},
31405d7e5b04SSteen Hegelund 	[VCAP_AF_NXT_IDX_CTRL] = {
31415d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
31425d7e5b04SSteen Hegelund 		.offset = 90,
31435d7e5b04SSteen Hegelund 		.width = 3,
31445d7e5b04SSteen Hegelund 	},
31455d7e5b04SSteen Hegelund 	[VCAP_AF_NXT_IDX] = {
31465d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
31475d7e5b04SSteen Hegelund 		.offset = 93,
31485d7e5b04SSteen Hegelund 		.width = 12,
31495d7e5b04SSteen Hegelund 	},
31505d7e5b04SSteen Hegelund };
31515d7e5b04SSteen Hegelund 
31525d7e5b04SSteen Hegelund static const struct vcap_field is2_base_type_actionfield[] = {
31535d7e5b04SSteen Hegelund 	[VCAP_AF_PIPELINE_FORCE_ENA] = {
31545d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
31555d7e5b04SSteen Hegelund 		.offset = 1,
31565d7e5b04SSteen Hegelund 		.width = 1,
31575d7e5b04SSteen Hegelund 	},
31585d7e5b04SSteen Hegelund 	[VCAP_AF_PIPELINE_PT] = {
31595d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
31605d7e5b04SSteen Hegelund 		.offset = 2,
31615d7e5b04SSteen Hegelund 		.width = 5,
31625d7e5b04SSteen Hegelund 	},
31635d7e5b04SSteen Hegelund 	[VCAP_AF_HIT_ME_ONCE] = {
31645d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
31655d7e5b04SSteen Hegelund 		.offset = 7,
31665d7e5b04SSteen Hegelund 		.width = 1,
31675d7e5b04SSteen Hegelund 	},
31685d7e5b04SSteen Hegelund 	[VCAP_AF_INTR_ENA] = {
31695d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
31705d7e5b04SSteen Hegelund 		.offset = 8,
31715d7e5b04SSteen Hegelund 		.width = 1,
31725d7e5b04SSteen Hegelund 	},
31735d7e5b04SSteen Hegelund 	[VCAP_AF_CPU_COPY_ENA] = {
31745d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
31755d7e5b04SSteen Hegelund 		.offset = 9,
31765d7e5b04SSteen Hegelund 		.width = 1,
31775d7e5b04SSteen Hegelund 	},
31785d7e5b04SSteen Hegelund 	[VCAP_AF_CPU_QUEUE_NUM] = {
31795d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
31805d7e5b04SSteen Hegelund 		.offset = 10,
31815d7e5b04SSteen Hegelund 		.width = 3,
31825d7e5b04SSteen Hegelund 	},
31835d7e5b04SSteen Hegelund 	[VCAP_AF_LRN_DIS] = {
31845d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
31855d7e5b04SSteen Hegelund 		.offset = 14,
31865d7e5b04SSteen Hegelund 		.width = 1,
31875d7e5b04SSteen Hegelund 	},
31885d7e5b04SSteen Hegelund 	[VCAP_AF_RT_DIS] = {
31895d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
31905d7e5b04SSteen Hegelund 		.offset = 15,
31915d7e5b04SSteen Hegelund 		.width = 1,
31925d7e5b04SSteen Hegelund 	},
31935d7e5b04SSteen Hegelund 	[VCAP_AF_POLICE_ENA] = {
31945d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
31955d7e5b04SSteen Hegelund 		.offset = 16,
31965d7e5b04SSteen Hegelund 		.width = 1,
31975d7e5b04SSteen Hegelund 	},
31985d7e5b04SSteen Hegelund 	[VCAP_AF_POLICE_IDX] = {
31995d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
32005d7e5b04SSteen Hegelund 		.offset = 17,
32015d7e5b04SSteen Hegelund 		.width = 6,
32025d7e5b04SSteen Hegelund 	},
32035d7e5b04SSteen Hegelund 	[VCAP_AF_IGNORE_PIPELINE_CTRL] = {
32045d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
32055d7e5b04SSteen Hegelund 		.offset = 23,
32065d7e5b04SSteen Hegelund 		.width = 1,
32075d7e5b04SSteen Hegelund 	},
32085d7e5b04SSteen Hegelund 	[VCAP_AF_MASK_MODE] = {
32095d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
32105d7e5b04SSteen Hegelund 		.offset = 27,
32115d7e5b04SSteen Hegelund 		.width = 3,
32125d7e5b04SSteen Hegelund 	},
32135d7e5b04SSteen Hegelund 	[VCAP_AF_PORT_MASK] = {
32145d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U72,
32155d7e5b04SSteen Hegelund 		.offset = 30,
32165d7e5b04SSteen Hegelund 		.width = 68,
32175d7e5b04SSteen Hegelund 	},
32185d7e5b04SSteen Hegelund 	[VCAP_AF_MIRROR_PROBE] = {
32195d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
32205d7e5b04SSteen Hegelund 		.offset = 111,
32215d7e5b04SSteen Hegelund 		.width = 2,
32225d7e5b04SSteen Hegelund 	},
32235d7e5b04SSteen Hegelund 	[VCAP_AF_MATCH_ID] = {
32245d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
32255d7e5b04SSteen Hegelund 		.offset = 159,
32265d7e5b04SSteen Hegelund 		.width = 16,
32275d7e5b04SSteen Hegelund 	},
32285d7e5b04SSteen Hegelund 	[VCAP_AF_MATCH_ID_MASK] = {
32295d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
32305d7e5b04SSteen Hegelund 		.offset = 175,
32315d7e5b04SSteen Hegelund 		.width = 16,
32325d7e5b04SSteen Hegelund 	},
32335d7e5b04SSteen Hegelund 	[VCAP_AF_CNT_ID] = {
32345d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
32355d7e5b04SSteen Hegelund 		.offset = 191,
32365d7e5b04SSteen Hegelund 		.width = 12,
32375d7e5b04SSteen Hegelund 	},
32385d7e5b04SSteen Hegelund };
32395d7e5b04SSteen Hegelund 
32405d7e5b04SSteen Hegelund static const struct vcap_field es2_base_type_actionfield[] = {
32415d7e5b04SSteen Hegelund 	[VCAP_AF_HIT_ME_ONCE] = {
32425d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
32435d7e5b04SSteen Hegelund 		.offset = 0,
32445d7e5b04SSteen Hegelund 		.width = 1,
32455d7e5b04SSteen Hegelund 	},
32465d7e5b04SSteen Hegelund 	[VCAP_AF_INTR_ENA] = {
32475d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
32485d7e5b04SSteen Hegelund 		.offset = 1,
32495d7e5b04SSteen Hegelund 		.width = 1,
32505d7e5b04SSteen Hegelund 	},
32515d7e5b04SSteen Hegelund 	[VCAP_AF_FWD_MODE] = {
32525d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
32535d7e5b04SSteen Hegelund 		.offset = 2,
32545d7e5b04SSteen Hegelund 		.width = 2,
32555d7e5b04SSteen Hegelund 	},
32565d7e5b04SSteen Hegelund 	[VCAP_AF_COPY_QUEUE_NUM] = {
32575d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
32585d7e5b04SSteen Hegelund 		.offset = 4,
32595d7e5b04SSteen Hegelund 		.width = 16,
32605d7e5b04SSteen Hegelund 	},
32615d7e5b04SSteen Hegelund 	[VCAP_AF_COPY_PORT_NUM] = {
32625d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
32635d7e5b04SSteen Hegelund 		.offset = 20,
32645d7e5b04SSteen Hegelund 		.width = 7,
32655d7e5b04SSteen Hegelund 	},
32665d7e5b04SSteen Hegelund 	[VCAP_AF_MIRROR_PROBE_ID] = {
32675d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
32685d7e5b04SSteen Hegelund 		.offset = 27,
32695d7e5b04SSteen Hegelund 		.width = 2,
32705d7e5b04SSteen Hegelund 	},
32715d7e5b04SSteen Hegelund 	[VCAP_AF_CPU_COPY_ENA] = {
32725d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
32735d7e5b04SSteen Hegelund 		.offset = 29,
32745d7e5b04SSteen Hegelund 		.width = 1,
32755d7e5b04SSteen Hegelund 	},
32765d7e5b04SSteen Hegelund 	[VCAP_AF_CPU_QUEUE_NUM] = {
32775d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
32785d7e5b04SSteen Hegelund 		.offset = 30,
32795d7e5b04SSteen Hegelund 		.width = 3,
32805d7e5b04SSteen Hegelund 	},
32815d7e5b04SSteen Hegelund 	[VCAP_AF_POLICE_ENA] = {
32825d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
32835d7e5b04SSteen Hegelund 		.offset = 33,
32845d7e5b04SSteen Hegelund 		.width = 1,
32855d7e5b04SSteen Hegelund 	},
32865d7e5b04SSteen Hegelund 	[VCAP_AF_POLICE_REMARK] = {
32875d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
32885d7e5b04SSteen Hegelund 		.offset = 34,
32895d7e5b04SSteen Hegelund 		.width = 1,
32905d7e5b04SSteen Hegelund 	},
32915d7e5b04SSteen Hegelund 	[VCAP_AF_POLICE_IDX] = {
32925d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
32935d7e5b04SSteen Hegelund 		.offset = 35,
32945d7e5b04SSteen Hegelund 		.width = 6,
32955d7e5b04SSteen Hegelund 	},
32965d7e5b04SSteen Hegelund 	[VCAP_AF_ES2_REW_CMD] = {
32975d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
32985d7e5b04SSteen Hegelund 		.offset = 41,
32995d7e5b04SSteen Hegelund 		.width = 3,
33005d7e5b04SSteen Hegelund 	},
33015d7e5b04SSteen Hegelund 	[VCAP_AF_CNT_ID] = {
33025d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_U32,
33035d7e5b04SSteen Hegelund 		.offset = 44,
33045d7e5b04SSteen Hegelund 		.width = 11,
33055d7e5b04SSteen Hegelund 	},
33065d7e5b04SSteen Hegelund 	[VCAP_AF_IGNORE_PIPELINE_CTRL] = {
33075d7e5b04SSteen Hegelund 		.type = VCAP_FIELD_BIT,
33085d7e5b04SSteen Hegelund 		.offset = 55,
33095d7e5b04SSteen Hegelund 		.width = 1,
33105d7e5b04SSteen Hegelund 	},
33115d7e5b04SSteen Hegelund };
33125d7e5b04SSteen Hegelund 
33135d7e5b04SSteen Hegelund /* actionfield_set */
33145d7e5b04SSteen Hegelund static const struct vcap_set is0_actionfield_set[] = {
33155d7e5b04SSteen Hegelund 	[VCAP_AFS_CLASSIFICATION] = {
33165d7e5b04SSteen Hegelund 		.type_id = 1,
33175d7e5b04SSteen Hegelund 		.sw_per_item = 2,
33185d7e5b04SSteen Hegelund 		.sw_cnt = 6,
33195d7e5b04SSteen Hegelund 	},
33205d7e5b04SSteen Hegelund 	[VCAP_AFS_FULL] = {
33215d7e5b04SSteen Hegelund 		.type_id = -1,
33225d7e5b04SSteen Hegelund 		.sw_per_item = 3,
33235d7e5b04SSteen Hegelund 		.sw_cnt = 4,
33245d7e5b04SSteen Hegelund 	},
33255d7e5b04SSteen Hegelund 	[VCAP_AFS_CLASS_REDUCED] = {
33265d7e5b04SSteen Hegelund 		.type_id = 1,
33275d7e5b04SSteen Hegelund 		.sw_per_item = 1,
33285d7e5b04SSteen Hegelund 		.sw_cnt = 12,
33295d7e5b04SSteen Hegelund 	},
33305d7e5b04SSteen Hegelund };
33315d7e5b04SSteen Hegelund 
33325d7e5b04SSteen Hegelund static const struct vcap_set is2_actionfield_set[] = {
33335d7e5b04SSteen Hegelund 	[VCAP_AFS_BASE_TYPE] = {
33345d7e5b04SSteen Hegelund 		.type_id = -1,
33355d7e5b04SSteen Hegelund 		.sw_per_item = 3,
33365d7e5b04SSteen Hegelund 		.sw_cnt = 4,
33375d7e5b04SSteen Hegelund 	},
33385d7e5b04SSteen Hegelund };
33395d7e5b04SSteen Hegelund 
33405d7e5b04SSteen Hegelund static const struct vcap_set es2_actionfield_set[] = {
33415d7e5b04SSteen Hegelund 	[VCAP_AFS_BASE_TYPE] = {
33425d7e5b04SSteen Hegelund 		.type_id = -1,
33435d7e5b04SSteen Hegelund 		.sw_per_item = 3,
33445d7e5b04SSteen Hegelund 		.sw_cnt = 4,
33455d7e5b04SSteen Hegelund 	},
33465d7e5b04SSteen Hegelund };
33475d7e5b04SSteen Hegelund 
33485d7e5b04SSteen Hegelund /* actionfield_set map */
33495d7e5b04SSteen Hegelund static const struct vcap_field *is0_actionfield_set_map[] = {
33505d7e5b04SSteen Hegelund 	[VCAP_AFS_CLASSIFICATION] = is0_classification_actionfield,
33515d7e5b04SSteen Hegelund 	[VCAP_AFS_FULL] = is0_full_actionfield,
33525d7e5b04SSteen Hegelund 	[VCAP_AFS_CLASS_REDUCED] = is0_class_reduced_actionfield,
33535d7e5b04SSteen Hegelund };
33545d7e5b04SSteen Hegelund 
33555d7e5b04SSteen Hegelund static const struct vcap_field *is2_actionfield_set_map[] = {
33565d7e5b04SSteen Hegelund 	[VCAP_AFS_BASE_TYPE] = is2_base_type_actionfield,
33575d7e5b04SSteen Hegelund };
33585d7e5b04SSteen Hegelund 
33595d7e5b04SSteen Hegelund static const struct vcap_field *es2_actionfield_set_map[] = {
33605d7e5b04SSteen Hegelund 	[VCAP_AFS_BASE_TYPE] = es2_base_type_actionfield,
33615d7e5b04SSteen Hegelund };
33625d7e5b04SSteen Hegelund 
33635d7e5b04SSteen Hegelund /* actionfield_set map size */
33645d7e5b04SSteen Hegelund static int is0_actionfield_set_map_size[] = {
33655d7e5b04SSteen Hegelund 	[VCAP_AFS_CLASSIFICATION] = ARRAY_SIZE(is0_classification_actionfield),
33665d7e5b04SSteen Hegelund 	[VCAP_AFS_FULL] = ARRAY_SIZE(is0_full_actionfield),
33675d7e5b04SSteen Hegelund 	[VCAP_AFS_CLASS_REDUCED] = ARRAY_SIZE(is0_class_reduced_actionfield),
33685d7e5b04SSteen Hegelund };
33695d7e5b04SSteen Hegelund 
33705d7e5b04SSteen Hegelund static int is2_actionfield_set_map_size[] = {
33715d7e5b04SSteen Hegelund 	[VCAP_AFS_BASE_TYPE] = ARRAY_SIZE(is2_base_type_actionfield),
33725d7e5b04SSteen Hegelund };
33735d7e5b04SSteen Hegelund 
33745d7e5b04SSteen Hegelund static int es2_actionfield_set_map_size[] = {
33755d7e5b04SSteen Hegelund 	[VCAP_AFS_BASE_TYPE] = ARRAY_SIZE(es2_base_type_actionfield),
33765d7e5b04SSteen Hegelund };
33775d7e5b04SSteen Hegelund 
33785d7e5b04SSteen Hegelund /* Type Groups */
33795d7e5b04SSteen Hegelund static const struct vcap_typegroup is0_x12_keyfield_set_typegroups[] = {
33805d7e5b04SSteen Hegelund 	{
33815d7e5b04SSteen Hegelund 		.offset = 0,
33825d7e5b04SSteen Hegelund 		.width = 5,
33835d7e5b04SSteen Hegelund 		.value = 16,
33845d7e5b04SSteen Hegelund 	},
33855d7e5b04SSteen Hegelund 	{
33865d7e5b04SSteen Hegelund 		.offset = 52,
33875d7e5b04SSteen Hegelund 		.width = 1,
33885d7e5b04SSteen Hegelund 		.value = 0,
33895d7e5b04SSteen Hegelund 	},
33905d7e5b04SSteen Hegelund 	{
33915d7e5b04SSteen Hegelund 		.offset = 104,
33925d7e5b04SSteen Hegelund 		.width = 2,
33935d7e5b04SSteen Hegelund 		.value = 0,
33945d7e5b04SSteen Hegelund 	},
33955d7e5b04SSteen Hegelund 	{
33965d7e5b04SSteen Hegelund 		.offset = 156,
33975d7e5b04SSteen Hegelund 		.width = 3,
33985d7e5b04SSteen Hegelund 		.value = 0,
33995d7e5b04SSteen Hegelund 	},
34005d7e5b04SSteen Hegelund 	{
34015d7e5b04SSteen Hegelund 		.offset = 208,
34025d7e5b04SSteen Hegelund 		.width = 2,
34035d7e5b04SSteen Hegelund 		.value = 0,
34045d7e5b04SSteen Hegelund 	},
34055d7e5b04SSteen Hegelund 	{
34065d7e5b04SSteen Hegelund 		.offset = 260,
34075d7e5b04SSteen Hegelund 		.width = 1,
34085d7e5b04SSteen Hegelund 		.value = 0,
34095d7e5b04SSteen Hegelund 	},
34105d7e5b04SSteen Hegelund 	{
34115d7e5b04SSteen Hegelund 		.offset = 312,
34125d7e5b04SSteen Hegelund 		.width = 4,
34135d7e5b04SSteen Hegelund 		.value = 0,
34145d7e5b04SSteen Hegelund 	},
34155d7e5b04SSteen Hegelund 	{
34165d7e5b04SSteen Hegelund 		.offset = 364,
34175d7e5b04SSteen Hegelund 		.width = 1,
34185d7e5b04SSteen Hegelund 		.value = 0,
34195d7e5b04SSteen Hegelund 	},
34205d7e5b04SSteen Hegelund 	{
34215d7e5b04SSteen Hegelund 		.offset = 416,
34225d7e5b04SSteen Hegelund 		.width = 2,
34235d7e5b04SSteen Hegelund 		.value = 0,
34245d7e5b04SSteen Hegelund 	},
34255d7e5b04SSteen Hegelund 	{
34265d7e5b04SSteen Hegelund 		.offset = 468,
34275d7e5b04SSteen Hegelund 		.width = 3,
34285d7e5b04SSteen Hegelund 		.value = 0,
34295d7e5b04SSteen Hegelund 	},
34305d7e5b04SSteen Hegelund 	{
34315d7e5b04SSteen Hegelund 		.offset = 520,
34325d7e5b04SSteen Hegelund 		.width = 2,
34335d7e5b04SSteen Hegelund 		.value = 0,
34345d7e5b04SSteen Hegelund 	},
34355d7e5b04SSteen Hegelund 	{
34365d7e5b04SSteen Hegelund 		.offset = 572,
34375d7e5b04SSteen Hegelund 		.width = 1,
34385d7e5b04SSteen Hegelund 		.value = 0,
34395d7e5b04SSteen Hegelund 	},
34405d7e5b04SSteen Hegelund 	{}
34415d7e5b04SSteen Hegelund };
34425d7e5b04SSteen Hegelund 
34435d7e5b04SSteen Hegelund static const struct vcap_typegroup is0_x6_keyfield_set_typegroups[] = {
34445d7e5b04SSteen Hegelund 	{
34455d7e5b04SSteen Hegelund 		.offset = 0,
34465d7e5b04SSteen Hegelund 		.width = 4,
34475d7e5b04SSteen Hegelund 		.value = 8,
34485d7e5b04SSteen Hegelund 	},
34495d7e5b04SSteen Hegelund 	{
34505d7e5b04SSteen Hegelund 		.offset = 52,
34515d7e5b04SSteen Hegelund 		.width = 1,
34525d7e5b04SSteen Hegelund 		.value = 0,
34535d7e5b04SSteen Hegelund 	},
34545d7e5b04SSteen Hegelund 	{
34555d7e5b04SSteen Hegelund 		.offset = 104,
34565d7e5b04SSteen Hegelund 		.width = 2,
34575d7e5b04SSteen Hegelund 		.value = 0,
34585d7e5b04SSteen Hegelund 	},
34595d7e5b04SSteen Hegelund 	{
34605d7e5b04SSteen Hegelund 		.offset = 156,
34615d7e5b04SSteen Hegelund 		.width = 3,
34625d7e5b04SSteen Hegelund 		.value = 0,
34635d7e5b04SSteen Hegelund 	},
34645d7e5b04SSteen Hegelund 	{
34655d7e5b04SSteen Hegelund 		.offset = 208,
34665d7e5b04SSteen Hegelund 		.width = 2,
34675d7e5b04SSteen Hegelund 		.value = 0,
34685d7e5b04SSteen Hegelund 	},
34695d7e5b04SSteen Hegelund 	{
34705d7e5b04SSteen Hegelund 		.offset = 260,
34715d7e5b04SSteen Hegelund 		.width = 1,
34725d7e5b04SSteen Hegelund 		.value = 0,
34735d7e5b04SSteen Hegelund 	},
34745d7e5b04SSteen Hegelund 	{}
34755d7e5b04SSteen Hegelund };
34765d7e5b04SSteen Hegelund 
34775d7e5b04SSteen Hegelund static const struct vcap_typegroup is0_x3_keyfield_set_typegroups[] = {
34785d7e5b04SSteen Hegelund 	{
34795d7e5b04SSteen Hegelund 		.offset = 0,
34805d7e5b04SSteen Hegelund 		.width = 3,
34815d7e5b04SSteen Hegelund 		.value = 4,
34825d7e5b04SSteen Hegelund 	},
34835d7e5b04SSteen Hegelund 	{
34845d7e5b04SSteen Hegelund 		.offset = 52,
34855d7e5b04SSteen Hegelund 		.width = 2,
34865d7e5b04SSteen Hegelund 		.value = 0,
34875d7e5b04SSteen Hegelund 	},
34885d7e5b04SSteen Hegelund 	{
34895d7e5b04SSteen Hegelund 		.offset = 104,
34905d7e5b04SSteen Hegelund 		.width = 2,
34915d7e5b04SSteen Hegelund 		.value = 0,
34925d7e5b04SSteen Hegelund 	},
34935d7e5b04SSteen Hegelund 	{}
34945d7e5b04SSteen Hegelund };
34955d7e5b04SSteen Hegelund 
34965d7e5b04SSteen Hegelund static const struct vcap_typegroup is0_x2_keyfield_set_typegroups[] = {
34975d7e5b04SSteen Hegelund 	{
34985d7e5b04SSteen Hegelund 		.offset = 0,
34995d7e5b04SSteen Hegelund 		.width = 2,
35005d7e5b04SSteen Hegelund 		.value = 2,
35015d7e5b04SSteen Hegelund 	},
35025d7e5b04SSteen Hegelund 	{
35035d7e5b04SSteen Hegelund 		.offset = 52,
35045d7e5b04SSteen Hegelund 		.width = 1,
35055d7e5b04SSteen Hegelund 		.value = 0,
35065d7e5b04SSteen Hegelund 	},
35075d7e5b04SSteen Hegelund 	{}
35085d7e5b04SSteen Hegelund };
35095d7e5b04SSteen Hegelund 
35105d7e5b04SSteen Hegelund static const struct vcap_typegroup is0_x1_keyfield_set_typegroups[] = {
35115d7e5b04SSteen Hegelund 	{}
35125d7e5b04SSteen Hegelund };
35135d7e5b04SSteen Hegelund 
35145d7e5b04SSteen Hegelund static const struct vcap_typegroup is2_x12_keyfield_set_typegroups[] = {
35155d7e5b04SSteen Hegelund 	{
35165d7e5b04SSteen Hegelund 		.offset = 0,
35175d7e5b04SSteen Hegelund 		.width = 3,
35185d7e5b04SSteen Hegelund 		.value = 4,
35195d7e5b04SSteen Hegelund 	},
35205d7e5b04SSteen Hegelund 	{
35215d7e5b04SSteen Hegelund 		.offset = 156,
35225d7e5b04SSteen Hegelund 		.width = 1,
35235d7e5b04SSteen Hegelund 		.value = 0,
35245d7e5b04SSteen Hegelund 	},
35255d7e5b04SSteen Hegelund 	{
35265d7e5b04SSteen Hegelund 		.offset = 312,
35275d7e5b04SSteen Hegelund 		.width = 2,
35285d7e5b04SSteen Hegelund 		.value = 0,
35295d7e5b04SSteen Hegelund 	},
35305d7e5b04SSteen Hegelund 	{
35315d7e5b04SSteen Hegelund 		.offset = 468,
35325d7e5b04SSteen Hegelund 		.width = 1,
35335d7e5b04SSteen Hegelund 		.value = 0,
35345d7e5b04SSteen Hegelund 	},
35355d7e5b04SSteen Hegelund 	{}
35365d7e5b04SSteen Hegelund };
35375d7e5b04SSteen Hegelund 
35385d7e5b04SSteen Hegelund static const struct vcap_typegroup is2_x6_keyfield_set_typegroups[] = {
35395d7e5b04SSteen Hegelund 	{
35405d7e5b04SSteen Hegelund 		.offset = 0,
35415d7e5b04SSteen Hegelund 		.width = 2,
35425d7e5b04SSteen Hegelund 		.value = 2,
35435d7e5b04SSteen Hegelund 	},
35445d7e5b04SSteen Hegelund 	{
35455d7e5b04SSteen Hegelund 		.offset = 156,
35465d7e5b04SSteen Hegelund 		.width = 1,
35475d7e5b04SSteen Hegelund 		.value = 0,
35485d7e5b04SSteen Hegelund 	},
35495d7e5b04SSteen Hegelund 	{}
35505d7e5b04SSteen Hegelund };
35515d7e5b04SSteen Hegelund 
35525d7e5b04SSteen Hegelund static const struct vcap_typegroup is2_x3_keyfield_set_typegroups[] = {
35535d7e5b04SSteen Hegelund 	{}
35545d7e5b04SSteen Hegelund };
35555d7e5b04SSteen Hegelund 
35565d7e5b04SSteen Hegelund static const struct vcap_typegroup is2_x1_keyfield_set_typegroups[] = {
35575d7e5b04SSteen Hegelund 	{}
35585d7e5b04SSteen Hegelund };
35595d7e5b04SSteen Hegelund 
35605d7e5b04SSteen Hegelund static const struct vcap_typegroup es2_x12_keyfield_set_typegroups[] = {
35615d7e5b04SSteen Hegelund 	{
35625d7e5b04SSteen Hegelund 		.offset = 0,
35635d7e5b04SSteen Hegelund 		.width = 3,
35645d7e5b04SSteen Hegelund 		.value = 4,
35655d7e5b04SSteen Hegelund 	},
35665d7e5b04SSteen Hegelund 	{
35675d7e5b04SSteen Hegelund 		.offset = 156,
35685d7e5b04SSteen Hegelund 		.width = 1,
35695d7e5b04SSteen Hegelund 		.value = 0,
35705d7e5b04SSteen Hegelund 	},
35715d7e5b04SSteen Hegelund 	{
35725d7e5b04SSteen Hegelund 		.offset = 312,
35735d7e5b04SSteen Hegelund 		.width = 2,
35745d7e5b04SSteen Hegelund 		.value = 0,
35755d7e5b04SSteen Hegelund 	},
35765d7e5b04SSteen Hegelund 	{
35775d7e5b04SSteen Hegelund 		.offset = 468,
35785d7e5b04SSteen Hegelund 		.width = 1,
35795d7e5b04SSteen Hegelund 		.value = 0,
35805d7e5b04SSteen Hegelund 	},
35815d7e5b04SSteen Hegelund 	{}
35825d7e5b04SSteen Hegelund };
35835d7e5b04SSteen Hegelund 
35845d7e5b04SSteen Hegelund static const struct vcap_typegroup es2_x6_keyfield_set_typegroups[] = {
35855d7e5b04SSteen Hegelund 	{
35865d7e5b04SSteen Hegelund 		.offset = 0,
35875d7e5b04SSteen Hegelund 		.width = 2,
35885d7e5b04SSteen Hegelund 		.value = 2,
35895d7e5b04SSteen Hegelund 	},
35905d7e5b04SSteen Hegelund 	{
35915d7e5b04SSteen Hegelund 		.offset = 156,
35925d7e5b04SSteen Hegelund 		.width = 1,
35935d7e5b04SSteen Hegelund 		.value = 0,
35945d7e5b04SSteen Hegelund 	},
35955d7e5b04SSteen Hegelund 	{}
35965d7e5b04SSteen Hegelund };
35975d7e5b04SSteen Hegelund 
35985d7e5b04SSteen Hegelund static const struct vcap_typegroup es2_x3_keyfield_set_typegroups[] = {
35995d7e5b04SSteen Hegelund 	{
36005d7e5b04SSteen Hegelund 		.offset = 0,
36015d7e5b04SSteen Hegelund 		.width = 1,
36025d7e5b04SSteen Hegelund 		.value = 1,
36035d7e5b04SSteen Hegelund 	},
36045d7e5b04SSteen Hegelund 	{}
36055d7e5b04SSteen Hegelund };
36065d7e5b04SSteen Hegelund 
36075d7e5b04SSteen Hegelund static const struct vcap_typegroup es2_x1_keyfield_set_typegroups[] = {
36085d7e5b04SSteen Hegelund 	{}
36095d7e5b04SSteen Hegelund };
36105d7e5b04SSteen Hegelund 
36115d7e5b04SSteen Hegelund static const struct vcap_typegroup *is0_keyfield_set_typegroups[] = {
36125d7e5b04SSteen Hegelund 	[12] = is0_x12_keyfield_set_typegroups,
36135d7e5b04SSteen Hegelund 	[6] = is0_x6_keyfield_set_typegroups,
36145d7e5b04SSteen Hegelund 	[3] = is0_x3_keyfield_set_typegroups,
36155d7e5b04SSteen Hegelund 	[2] = is0_x2_keyfield_set_typegroups,
36165d7e5b04SSteen Hegelund 	[1] = is0_x1_keyfield_set_typegroups,
36175d7e5b04SSteen Hegelund 	[13] = NULL,
36185d7e5b04SSteen Hegelund };
36195d7e5b04SSteen Hegelund 
36205d7e5b04SSteen Hegelund static const struct vcap_typegroup *is2_keyfield_set_typegroups[] = {
36215d7e5b04SSteen Hegelund 	[12] = is2_x12_keyfield_set_typegroups,
36225d7e5b04SSteen Hegelund 	[6] = is2_x6_keyfield_set_typegroups,
36235d7e5b04SSteen Hegelund 	[3] = is2_x3_keyfield_set_typegroups,
36245d7e5b04SSteen Hegelund 	[1] = is2_x1_keyfield_set_typegroups,
36255d7e5b04SSteen Hegelund 	[13] = NULL,
36265d7e5b04SSteen Hegelund };
36275d7e5b04SSteen Hegelund 
36285d7e5b04SSteen Hegelund static const struct vcap_typegroup *es2_keyfield_set_typegroups[] = {
36295d7e5b04SSteen Hegelund 	[12] = es2_x12_keyfield_set_typegroups,
36305d7e5b04SSteen Hegelund 	[6] = es2_x6_keyfield_set_typegroups,
36315d7e5b04SSteen Hegelund 	[3] = es2_x3_keyfield_set_typegroups,
36325d7e5b04SSteen Hegelund 	[1] = es2_x1_keyfield_set_typegroups,
36335d7e5b04SSteen Hegelund 	[13] = NULL,
36345d7e5b04SSteen Hegelund };
36355d7e5b04SSteen Hegelund 
36365d7e5b04SSteen Hegelund static const struct vcap_typegroup is0_x3_actionfield_set_typegroups[] = {
36375d7e5b04SSteen Hegelund 	{
36385d7e5b04SSteen Hegelund 		.offset = 0,
36395d7e5b04SSteen Hegelund 		.width = 3,
36405d7e5b04SSteen Hegelund 		.value = 4,
36415d7e5b04SSteen Hegelund 	},
36425d7e5b04SSteen Hegelund 	{
36435d7e5b04SSteen Hegelund 		.offset = 110,
36445d7e5b04SSteen Hegelund 		.width = 2,
36455d7e5b04SSteen Hegelund 		.value = 0,
36465d7e5b04SSteen Hegelund 	},
36475d7e5b04SSteen Hegelund 	{
36485d7e5b04SSteen Hegelund 		.offset = 220,
36495d7e5b04SSteen Hegelund 		.width = 2,
36505d7e5b04SSteen Hegelund 		.value = 0,
36515d7e5b04SSteen Hegelund 	},
36525d7e5b04SSteen Hegelund 	{}
36535d7e5b04SSteen Hegelund };
36545d7e5b04SSteen Hegelund 
36555d7e5b04SSteen Hegelund static const struct vcap_typegroup is0_x2_actionfield_set_typegroups[] = {
36565d7e5b04SSteen Hegelund 	{
36575d7e5b04SSteen Hegelund 		.offset = 0,
36585d7e5b04SSteen Hegelund 		.width = 2,
36595d7e5b04SSteen Hegelund 		.value = 2,
36605d7e5b04SSteen Hegelund 	},
36615d7e5b04SSteen Hegelund 	{
36625d7e5b04SSteen Hegelund 		.offset = 110,
36635d7e5b04SSteen Hegelund 		.width = 1,
36645d7e5b04SSteen Hegelund 		.value = 0,
36655d7e5b04SSteen Hegelund 	},
36665d7e5b04SSteen Hegelund 	{}
36675d7e5b04SSteen Hegelund };
36685d7e5b04SSteen Hegelund 
36695d7e5b04SSteen Hegelund static const struct vcap_typegroup is0_x1_actionfield_set_typegroups[] = {
36705d7e5b04SSteen Hegelund 	{
36715d7e5b04SSteen Hegelund 		.offset = 0,
36725d7e5b04SSteen Hegelund 		.width = 1,
36735d7e5b04SSteen Hegelund 		.value = 1,
36745d7e5b04SSteen Hegelund 	},
36755d7e5b04SSteen Hegelund 	{}
36765d7e5b04SSteen Hegelund };
36775d7e5b04SSteen Hegelund 
36785d7e5b04SSteen Hegelund static const struct vcap_typegroup is2_x3_actionfield_set_typegroups[] = {
36795d7e5b04SSteen Hegelund 	{
36805d7e5b04SSteen Hegelund 		.offset = 0,
36815d7e5b04SSteen Hegelund 		.width = 2,
36825d7e5b04SSteen Hegelund 		.value = 2,
36835d7e5b04SSteen Hegelund 	},
36845d7e5b04SSteen Hegelund 	{
36855d7e5b04SSteen Hegelund 		.offset = 110,
36865d7e5b04SSteen Hegelund 		.width = 1,
36875d7e5b04SSteen Hegelund 		.value = 0,
36885d7e5b04SSteen Hegelund 	},
36895d7e5b04SSteen Hegelund 	{
36905d7e5b04SSteen Hegelund 		.offset = 220,
36915d7e5b04SSteen Hegelund 		.width = 1,
36925d7e5b04SSteen Hegelund 		.value = 0,
36935d7e5b04SSteen Hegelund 	},
36945d7e5b04SSteen Hegelund 	{}
36955d7e5b04SSteen Hegelund };
36965d7e5b04SSteen Hegelund 
36975d7e5b04SSteen Hegelund static const struct vcap_typegroup is2_x1_actionfield_set_typegroups[] = {
36985d7e5b04SSteen Hegelund 	{}
36995d7e5b04SSteen Hegelund };
37005d7e5b04SSteen Hegelund 
37015d7e5b04SSteen Hegelund static const struct vcap_typegroup es2_x3_actionfield_set_typegroups[] = {
37025d7e5b04SSteen Hegelund 	{
37035d7e5b04SSteen Hegelund 		.offset = 0,
37045d7e5b04SSteen Hegelund 		.width = 2,
37055d7e5b04SSteen Hegelund 		.value = 2,
37065d7e5b04SSteen Hegelund 	},
37075d7e5b04SSteen Hegelund 	{
37085d7e5b04SSteen Hegelund 		.offset = 21,
37095d7e5b04SSteen Hegelund 		.width = 1,
37105d7e5b04SSteen Hegelund 		.value = 0,
37115d7e5b04SSteen Hegelund 	},
37125d7e5b04SSteen Hegelund 	{
37135d7e5b04SSteen Hegelund 		.offset = 42,
37145d7e5b04SSteen Hegelund 		.width = 1,
37155d7e5b04SSteen Hegelund 		.value = 0,
37165d7e5b04SSteen Hegelund 	},
37175d7e5b04SSteen Hegelund 	{}
37185d7e5b04SSteen Hegelund };
37195d7e5b04SSteen Hegelund 
37205d7e5b04SSteen Hegelund static const struct vcap_typegroup es2_x1_actionfield_set_typegroups[] = {
37215d7e5b04SSteen Hegelund 	{}
37225d7e5b04SSteen Hegelund };
37235d7e5b04SSteen Hegelund 
37245d7e5b04SSteen Hegelund static const struct vcap_typegroup *is0_actionfield_set_typegroups[] = {
37255d7e5b04SSteen Hegelund 	[3] = is0_x3_actionfield_set_typegroups,
37265d7e5b04SSteen Hegelund 	[2] = is0_x2_actionfield_set_typegroups,
37275d7e5b04SSteen Hegelund 	[1] = is0_x1_actionfield_set_typegroups,
37285d7e5b04SSteen Hegelund 	[13] = NULL,
37295d7e5b04SSteen Hegelund };
37305d7e5b04SSteen Hegelund 
37315d7e5b04SSteen Hegelund static const struct vcap_typegroup *is2_actionfield_set_typegroups[] = {
37325d7e5b04SSteen Hegelund 	[3] = is2_x3_actionfield_set_typegroups,
37335d7e5b04SSteen Hegelund 	[1] = is2_x1_actionfield_set_typegroups,
37345d7e5b04SSteen Hegelund 	[13] = NULL,
37355d7e5b04SSteen Hegelund };
37365d7e5b04SSteen Hegelund 
37375d7e5b04SSteen Hegelund static const struct vcap_typegroup *es2_actionfield_set_typegroups[] = {
37385d7e5b04SSteen Hegelund 	[3] = es2_x3_actionfield_set_typegroups,
37395d7e5b04SSteen Hegelund 	[1] = es2_x1_actionfield_set_typegroups,
37405d7e5b04SSteen Hegelund 	[13] = NULL,
37415d7e5b04SSteen Hegelund };
37425d7e5b04SSteen Hegelund 
37435d7e5b04SSteen Hegelund /* Keyfieldset names */
37445d7e5b04SSteen Hegelund static const char * const vcap_keyfield_set_names[] = {
37455d7e5b04SSteen Hegelund 	[VCAP_KFS_NO_VALUE]                      =  "(None)",
37465d7e5b04SSteen Hegelund 	[VCAP_KFS_ARP]                           =  "VCAP_KFS_ARP",
37475d7e5b04SSteen Hegelund 	[VCAP_KFS_ETAG]                          =  "VCAP_KFS_ETAG",
37485d7e5b04SSteen Hegelund 	[VCAP_KFS_IP4_OTHER]                     =  "VCAP_KFS_IP4_OTHER",
37495d7e5b04SSteen Hegelund 	[VCAP_KFS_IP4_TCP_UDP]                   =  "VCAP_KFS_IP4_TCP_UDP",
37505d7e5b04SSteen Hegelund 	[VCAP_KFS_IP4_VID]                       =  "VCAP_KFS_IP4_VID",
3751f274a659SSteen Hegelund 	[VCAP_KFS_IP6_OTHER]                     =  "VCAP_KFS_IP6_OTHER",
37525d7e5b04SSteen Hegelund 	[VCAP_KFS_IP6_STD]                       =  "VCAP_KFS_IP6_STD",
3753f274a659SSteen Hegelund 	[VCAP_KFS_IP6_TCP_UDP]                   =  "VCAP_KFS_IP6_TCP_UDP",
37545d7e5b04SSteen Hegelund 	[VCAP_KFS_IP6_VID]                       =  "VCAP_KFS_IP6_VID",
37555d7e5b04SSteen Hegelund 	[VCAP_KFS_IP_7TUPLE]                     =  "VCAP_KFS_IP_7TUPLE",
3756*a5cc98adSSteen Hegelund 	[VCAP_KFS_ISDX]                          =  "VCAP_KFS_ISDX",
37575d7e5b04SSteen Hegelund 	[VCAP_KFS_LL_FULL]                       =  "VCAP_KFS_LL_FULL",
37585d7e5b04SSteen Hegelund 	[VCAP_KFS_MAC_ETYPE]                     =  "VCAP_KFS_MAC_ETYPE",
3759f274a659SSteen Hegelund 	[VCAP_KFS_MAC_LLC]                       =  "VCAP_KFS_MAC_LLC",
3760f274a659SSteen Hegelund 	[VCAP_KFS_MAC_SNAP]                      =  "VCAP_KFS_MAC_SNAP",
37615d7e5b04SSteen Hegelund 	[VCAP_KFS_NORMAL_5TUPLE_IP4]             =  "VCAP_KFS_NORMAL_5TUPLE_IP4",
37625d7e5b04SSteen Hegelund 	[VCAP_KFS_NORMAL_7TUPLE]                 =  "VCAP_KFS_NORMAL_7TUPLE",
3763f274a659SSteen Hegelund 	[VCAP_KFS_OAM]                           =  "VCAP_KFS_OAM",
37645d7e5b04SSteen Hegelund 	[VCAP_KFS_PURE_5TUPLE_IP4]               =  "VCAP_KFS_PURE_5TUPLE_IP4",
3765f274a659SSteen Hegelund 	[VCAP_KFS_SMAC_SIP4]                     =  "VCAP_KFS_SMAC_SIP4",
3766f274a659SSteen Hegelund 	[VCAP_KFS_SMAC_SIP6]                     =  "VCAP_KFS_SMAC_SIP6",
37675d7e5b04SSteen Hegelund };
37685d7e5b04SSteen Hegelund 
37695d7e5b04SSteen Hegelund /* Actionfieldset names */
37705d7e5b04SSteen Hegelund static const char * const vcap_actionfield_set_names[] = {
37715d7e5b04SSteen Hegelund 	[VCAP_AFS_NO_VALUE]                      =  "(None)",
37725d7e5b04SSteen Hegelund 	[VCAP_AFS_BASE_TYPE]                     =  "VCAP_AFS_BASE_TYPE",
37735d7e5b04SSteen Hegelund 	[VCAP_AFS_CLASSIFICATION]                =  "VCAP_AFS_CLASSIFICATION",
37745d7e5b04SSteen Hegelund 	[VCAP_AFS_CLASS_REDUCED]                 =  "VCAP_AFS_CLASS_REDUCED",
3775*a5cc98adSSteen Hegelund 	[VCAP_AFS_ES0]                           =  "VCAP_AFS_ES0",
37765d7e5b04SSteen Hegelund 	[VCAP_AFS_FULL]                          =  "VCAP_AFS_FULL",
3777f274a659SSteen Hegelund 	[VCAP_AFS_SMAC_SIP]                      =  "VCAP_AFS_SMAC_SIP",
37785d7e5b04SSteen Hegelund };
37795d7e5b04SSteen Hegelund 
37805d7e5b04SSteen Hegelund /* Keyfield names */
37815d7e5b04SSteen Hegelund static const char * const vcap_keyfield_names[] = {
37825d7e5b04SSteen Hegelund 	[VCAP_KF_NO_VALUE]                       =  "(None)",
37835d7e5b04SSteen Hegelund 	[VCAP_KF_8021BR_ECID_BASE]               =  "8021BR_ECID_BASE",
37845d7e5b04SSteen Hegelund 	[VCAP_KF_8021BR_ECID_EXT]                =  "8021BR_ECID_EXT",
37855d7e5b04SSteen Hegelund 	[VCAP_KF_8021BR_E_TAGGED]                =  "8021BR_E_TAGGED",
37865d7e5b04SSteen Hegelund 	[VCAP_KF_8021BR_GRP]                     =  "8021BR_GRP",
37875d7e5b04SSteen Hegelund 	[VCAP_KF_8021BR_IGR_ECID_BASE]           =  "8021BR_IGR_ECID_BASE",
37885d7e5b04SSteen Hegelund 	[VCAP_KF_8021BR_IGR_ECID_EXT]            =  "8021BR_IGR_ECID_EXT",
37895d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_DEI0]                     =  "8021Q_DEI0",
37905d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_DEI1]                     =  "8021Q_DEI1",
37915d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_DEI2]                     =  "8021Q_DEI2",
37925d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_DEI_CLS]                  =  "8021Q_DEI_CLS",
37935d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_PCP0]                     =  "8021Q_PCP0",
37945d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_PCP1]                     =  "8021Q_PCP1",
37955d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_PCP2]                     =  "8021Q_PCP2",
37965d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_PCP_CLS]                  =  "8021Q_PCP_CLS",
3797*a5cc98adSSteen Hegelund 	[VCAP_KF_8021Q_TPID]                     =  "8021Q_TPID",
37985d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_TPID0]                    =  "8021Q_TPID0",
37995d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_TPID1]                    =  "8021Q_TPID1",
38005d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_TPID2]                    =  "8021Q_TPID2",
38015d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_VID0]                     =  "8021Q_VID0",
38025d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_VID1]                     =  "8021Q_VID1",
38035d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_VID2]                     =  "8021Q_VID2",
38045d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_VID_CLS]                  =  "8021Q_VID_CLS",
38055d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_VLAN_TAGGED_IS]           =  "8021Q_VLAN_TAGGED_IS",
38065d7e5b04SSteen Hegelund 	[VCAP_KF_8021Q_VLAN_TAGS]                =  "8021Q_VLAN_TAGS",
38075d7e5b04SSteen Hegelund 	[VCAP_KF_ACL_GRP_ID]                     =  "ACL_GRP_ID",
38085d7e5b04SSteen Hegelund 	[VCAP_KF_ARP_ADDR_SPACE_OK_IS]           =  "ARP_ADDR_SPACE_OK_IS",
38095d7e5b04SSteen Hegelund 	[VCAP_KF_ARP_LEN_OK_IS]                  =  "ARP_LEN_OK_IS",
38105d7e5b04SSteen Hegelund 	[VCAP_KF_ARP_OPCODE]                     =  "ARP_OPCODE",
38115d7e5b04SSteen Hegelund 	[VCAP_KF_ARP_OPCODE_UNKNOWN_IS]          =  "ARP_OPCODE_UNKNOWN_IS",
38125d7e5b04SSteen Hegelund 	[VCAP_KF_ARP_PROTO_SPACE_OK_IS]          =  "ARP_PROTO_SPACE_OK_IS",
38135d7e5b04SSteen Hegelund 	[VCAP_KF_ARP_SENDER_MATCH_IS]            =  "ARP_SENDER_MATCH_IS",
38145d7e5b04SSteen Hegelund 	[VCAP_KF_ARP_TGT_MATCH_IS]               =  "ARP_TGT_MATCH_IS",
38155d7e5b04SSteen Hegelund 	[VCAP_KF_COSID_CLS]                      =  "COSID_CLS",
38165d7e5b04SSteen Hegelund 	[VCAP_KF_ES0_ISDX_KEY_ENA]               =  "ES0_ISDX_KEY_ENA",
38175d7e5b04SSteen Hegelund 	[VCAP_KF_ETYPE]                          =  "ETYPE",
38185d7e5b04SSteen Hegelund 	[VCAP_KF_ETYPE_LEN_IS]                   =  "ETYPE_LEN_IS",
3819f274a659SSteen Hegelund 	[VCAP_KF_HOST_MATCH]                     =  "HOST_MATCH",
38205d7e5b04SSteen Hegelund 	[VCAP_KF_IF_EGR_PORT_MASK]               =  "IF_EGR_PORT_MASK",
38215d7e5b04SSteen Hegelund 	[VCAP_KF_IF_EGR_PORT_MASK_RNG]           =  "IF_EGR_PORT_MASK_RNG",
3822*a5cc98adSSteen Hegelund 	[VCAP_KF_IF_EGR_PORT_NO]                 =  "IF_EGR_PORT_NO",
38235d7e5b04SSteen Hegelund 	[VCAP_KF_IF_IGR_PORT]                    =  "IF_IGR_PORT",
38245d7e5b04SSteen Hegelund 	[VCAP_KF_IF_IGR_PORT_MASK]               =  "IF_IGR_PORT_MASK",
38255d7e5b04SSteen Hegelund 	[VCAP_KF_IF_IGR_PORT_MASK_L3]            =  "IF_IGR_PORT_MASK_L3",
38265d7e5b04SSteen Hegelund 	[VCAP_KF_IF_IGR_PORT_MASK_RNG]           =  "IF_IGR_PORT_MASK_RNG",
38275d7e5b04SSteen Hegelund 	[VCAP_KF_IF_IGR_PORT_MASK_SEL]           =  "IF_IGR_PORT_MASK_SEL",
38285d7e5b04SSteen Hegelund 	[VCAP_KF_IF_IGR_PORT_SEL]                =  "IF_IGR_PORT_SEL",
38295d7e5b04SSteen Hegelund 	[VCAP_KF_IP4_IS]                         =  "IP4_IS",
38305d7e5b04SSteen Hegelund 	[VCAP_KF_IP_MC_IS]                       =  "IP_MC_IS",
38315d7e5b04SSteen Hegelund 	[VCAP_KF_IP_PAYLOAD_5TUPLE]              =  "IP_PAYLOAD_5TUPLE",
38325d7e5b04SSteen Hegelund 	[VCAP_KF_IP_SNAP_IS]                     =  "IP_SNAP_IS",
38335d7e5b04SSteen Hegelund 	[VCAP_KF_ISDX_CLS]                       =  "ISDX_CLS",
38345d7e5b04SSteen Hegelund 	[VCAP_KF_ISDX_GT0_IS]                    =  "ISDX_GT0_IS",
38355d7e5b04SSteen Hegelund 	[VCAP_KF_L2_BC_IS]                       =  "L2_BC_IS",
38365d7e5b04SSteen Hegelund 	[VCAP_KF_L2_DMAC]                        =  "L2_DMAC",
3837f274a659SSteen Hegelund 	[VCAP_KF_L2_FRM_TYPE]                    =  "L2_FRM_TYPE",
38385d7e5b04SSteen Hegelund 	[VCAP_KF_L2_FWD_IS]                      =  "L2_FWD_IS",
3839f274a659SSteen Hegelund 	[VCAP_KF_L2_LLC]                         =  "L2_LLC",
38405d7e5b04SSteen Hegelund 	[VCAP_KF_L2_MC_IS]                       =  "L2_MC_IS",
3841f274a659SSteen Hegelund 	[VCAP_KF_L2_PAYLOAD0]                    =  "L2_PAYLOAD0",
3842f274a659SSteen Hegelund 	[VCAP_KF_L2_PAYLOAD1]                    =  "L2_PAYLOAD1",
3843f274a659SSteen Hegelund 	[VCAP_KF_L2_PAYLOAD2]                    =  "L2_PAYLOAD2",
38445d7e5b04SSteen Hegelund 	[VCAP_KF_L2_PAYLOAD_ETYPE]               =  "L2_PAYLOAD_ETYPE",
38455d7e5b04SSteen Hegelund 	[VCAP_KF_L2_SMAC]                        =  "L2_SMAC",
3846f274a659SSteen Hegelund 	[VCAP_KF_L2_SNAP]                        =  "L2_SNAP",
38475d7e5b04SSteen Hegelund 	[VCAP_KF_L3_DIP_EQ_SIP_IS]               =  "L3_DIP_EQ_SIP_IS",
38485d7e5b04SSteen Hegelund 	[VCAP_KF_L3_DPL_CLS]                     =  "L3_DPL_CLS",
38495d7e5b04SSteen Hegelund 	[VCAP_KF_L3_DSCP]                        =  "L3_DSCP",
38505d7e5b04SSteen Hegelund 	[VCAP_KF_L3_DST_IS]                      =  "L3_DST_IS",
3851f274a659SSteen Hegelund 	[VCAP_KF_L3_FRAGMENT]                    =  "L3_FRAGMENT",
38525d7e5b04SSteen Hegelund 	[VCAP_KF_L3_FRAGMENT_TYPE]               =  "L3_FRAGMENT_TYPE",
38535d7e5b04SSteen Hegelund 	[VCAP_KF_L3_FRAG_INVLD_L4_LEN]           =  "L3_FRAG_INVLD_L4_LEN",
3854f274a659SSteen Hegelund 	[VCAP_KF_L3_FRAG_OFS_GT0]                =  "L3_FRAG_OFS_GT0",
38555d7e5b04SSteen Hegelund 	[VCAP_KF_L3_IP4_DIP]                     =  "L3_IP4_DIP",
38565d7e5b04SSteen Hegelund 	[VCAP_KF_L3_IP4_SIP]                     =  "L3_IP4_SIP",
38575d7e5b04SSteen Hegelund 	[VCAP_KF_L3_IP6_DIP]                     =  "L3_IP6_DIP",
38585d7e5b04SSteen Hegelund 	[VCAP_KF_L3_IP6_SIP]                     =  "L3_IP6_SIP",
38595d7e5b04SSteen Hegelund 	[VCAP_KF_L3_IP_PROTO]                    =  "L3_IP_PROTO",
38605d7e5b04SSteen Hegelund 	[VCAP_KF_L3_OPTIONS_IS]                  =  "L3_OPTIONS_IS",
38615d7e5b04SSteen Hegelund 	[VCAP_KF_L3_PAYLOAD]                     =  "L3_PAYLOAD",
38625d7e5b04SSteen Hegelund 	[VCAP_KF_L3_RT_IS]                       =  "L3_RT_IS",
38635d7e5b04SSteen Hegelund 	[VCAP_KF_L3_TOS]                         =  "L3_TOS",
38645d7e5b04SSteen Hegelund 	[VCAP_KF_L3_TTL_GT0]                     =  "L3_TTL_GT0",
3865f274a659SSteen Hegelund 	[VCAP_KF_L4_1588_DOM]                    =  "L4_1588_DOM",
3866f274a659SSteen Hegelund 	[VCAP_KF_L4_1588_VER]                    =  "L4_1588_VER",
38675d7e5b04SSteen Hegelund 	[VCAP_KF_L4_ACK]                         =  "L4_ACK",
38685d7e5b04SSteen Hegelund 	[VCAP_KF_L4_DPORT]                       =  "L4_DPORT",
38695d7e5b04SSteen Hegelund 	[VCAP_KF_L4_FIN]                         =  "L4_FIN",
38705d7e5b04SSteen Hegelund 	[VCAP_KF_L4_PAYLOAD]                     =  "L4_PAYLOAD",
38715d7e5b04SSteen Hegelund 	[VCAP_KF_L4_PSH]                         =  "L4_PSH",
38725d7e5b04SSteen Hegelund 	[VCAP_KF_L4_RNG]                         =  "L4_RNG",
38735d7e5b04SSteen Hegelund 	[VCAP_KF_L4_RST]                         =  "L4_RST",
38745d7e5b04SSteen Hegelund 	[VCAP_KF_L4_SEQUENCE_EQ0_IS]             =  "L4_SEQUENCE_EQ0_IS",
38755d7e5b04SSteen Hegelund 	[VCAP_KF_L4_SPORT]                       =  "L4_SPORT",
38765d7e5b04SSteen Hegelund 	[VCAP_KF_L4_SPORT_EQ_DPORT_IS]           =  "L4_SPORT_EQ_DPORT_IS",
38775d7e5b04SSteen Hegelund 	[VCAP_KF_L4_SYN]                         =  "L4_SYN",
38785d7e5b04SSteen Hegelund 	[VCAP_KF_L4_URG]                         =  "L4_URG",
38795d7e5b04SSteen Hegelund 	[VCAP_KF_LOOKUP_FIRST_IS]                =  "LOOKUP_FIRST_IS",
38805d7e5b04SSteen Hegelund 	[VCAP_KF_LOOKUP_GEN_IDX]                 =  "LOOKUP_GEN_IDX",
38815d7e5b04SSteen Hegelund 	[VCAP_KF_LOOKUP_GEN_IDX_SEL]             =  "LOOKUP_GEN_IDX_SEL",
38825d7e5b04SSteen Hegelund 	[VCAP_KF_LOOKUP_PAG]                     =  "LOOKUP_PAG",
38839d712b8dSSteen Hegelund 	[VCAP_KF_MIRROR_PROBE]                   =  "MIRROR_PROBE",
38845d7e5b04SSteen Hegelund 	[VCAP_KF_OAM_CCM_CNTS_EQ0]               =  "OAM_CCM_CNTS_EQ0",
3885f274a659SSteen Hegelund 	[VCAP_KF_OAM_DETECTED]                   =  "OAM_DETECTED",
3886f274a659SSteen Hegelund 	[VCAP_KF_OAM_FLAGS]                      =  "OAM_FLAGS",
38875d7e5b04SSteen Hegelund 	[VCAP_KF_OAM_MEL_FLAGS]                  =  "OAM_MEL_FLAGS",
3888f274a659SSteen Hegelund 	[VCAP_KF_OAM_MEPID]                      =  "OAM_MEPID",
3889f274a659SSteen Hegelund 	[VCAP_KF_OAM_OPCODE]                     =  "OAM_OPCODE",
3890f274a659SSteen Hegelund 	[VCAP_KF_OAM_VER]                        =  "OAM_VER",
38915d7e5b04SSteen Hegelund 	[VCAP_KF_OAM_Y1731_IS]                   =  "OAM_Y1731_IS",
38925d7e5b04SSteen Hegelund 	[VCAP_KF_PROT_ACTIVE]                    =  "PROT_ACTIVE",
38935d7e5b04SSteen Hegelund 	[VCAP_KF_TCP_IS]                         =  "TCP_IS",
38945d7e5b04SSteen Hegelund 	[VCAP_KF_TCP_UDP_IS]                     =  "TCP_UDP_IS",
38955d7e5b04SSteen Hegelund 	[VCAP_KF_TYPE]                           =  "TYPE",
38965d7e5b04SSteen Hegelund };
38975d7e5b04SSteen Hegelund 
38985d7e5b04SSteen Hegelund /* Actionfield names */
38995d7e5b04SSteen Hegelund static const char * const vcap_actionfield_names[] = {
39005d7e5b04SSteen Hegelund 	[VCAP_AF_NO_VALUE]                       =  "(None)",
3901f274a659SSteen Hegelund 	[VCAP_AF_ACL_ID]                         =  "ACL_ID",
39025d7e5b04SSteen Hegelund 	[VCAP_AF_CLS_VID_SEL]                    =  "CLS_VID_SEL",
39035d7e5b04SSteen Hegelund 	[VCAP_AF_CNT_ID]                         =  "CNT_ID",
39045d7e5b04SSteen Hegelund 	[VCAP_AF_COPY_PORT_NUM]                  =  "COPY_PORT_NUM",
39055d7e5b04SSteen Hegelund 	[VCAP_AF_COPY_QUEUE_NUM]                 =  "COPY_QUEUE_NUM",
39065d7e5b04SSteen Hegelund 	[VCAP_AF_CPU_COPY_ENA]                   =  "CPU_COPY_ENA",
3907*a5cc98adSSteen Hegelund 	[VCAP_AF_CPU_QU]                         =  "CPU_QU",
39085d7e5b04SSteen Hegelund 	[VCAP_AF_CPU_QUEUE_NUM]                  =  "CPU_QUEUE_NUM",
3909*a5cc98adSSteen Hegelund 	[VCAP_AF_DEI_A_VAL]                      =  "DEI_A_VAL",
3910*a5cc98adSSteen Hegelund 	[VCAP_AF_DEI_B_VAL]                      =  "DEI_B_VAL",
3911*a5cc98adSSteen Hegelund 	[VCAP_AF_DEI_C_VAL]                      =  "DEI_C_VAL",
39125d7e5b04SSteen Hegelund 	[VCAP_AF_DEI_ENA]                        =  "DEI_ENA",
39135d7e5b04SSteen Hegelund 	[VCAP_AF_DEI_VAL]                        =  "DEI_VAL",
39145d7e5b04SSteen Hegelund 	[VCAP_AF_DP_ENA]                         =  "DP_ENA",
39155d7e5b04SSteen Hegelund 	[VCAP_AF_DP_VAL]                         =  "DP_VAL",
39165d7e5b04SSteen Hegelund 	[VCAP_AF_DSCP_ENA]                       =  "DSCP_ENA",
3917*a5cc98adSSteen Hegelund 	[VCAP_AF_DSCP_SEL]                       =  "DSCP_SEL",
39185d7e5b04SSteen Hegelund 	[VCAP_AF_DSCP_VAL]                       =  "DSCP_VAL",
39195d7e5b04SSteen Hegelund 	[VCAP_AF_ES2_REW_CMD]                    =  "ES2_REW_CMD",
3920*a5cc98adSSteen Hegelund 	[VCAP_AF_ESDX]                           =  "ESDX",
3921f274a659SSteen Hegelund 	[VCAP_AF_FWD_KILL_ENA]                   =  "FWD_KILL_ENA",
39225d7e5b04SSteen Hegelund 	[VCAP_AF_FWD_MODE]                       =  "FWD_MODE",
3923*a5cc98adSSteen Hegelund 	[VCAP_AF_FWD_SEL]                        =  "FWD_SEL",
39245d7e5b04SSteen Hegelund 	[VCAP_AF_HIT_ME_ONCE]                    =  "HIT_ME_ONCE",
3925f274a659SSteen Hegelund 	[VCAP_AF_HOST_MATCH]                     =  "HOST_MATCH",
39265d7e5b04SSteen Hegelund 	[VCAP_AF_IGNORE_PIPELINE_CTRL]           =  "IGNORE_PIPELINE_CTRL",
39275d7e5b04SSteen Hegelund 	[VCAP_AF_INTR_ENA]                       =  "INTR_ENA",
39285d7e5b04SSteen Hegelund 	[VCAP_AF_ISDX_ADD_REPLACE_SEL]           =  "ISDX_ADD_REPLACE_SEL",
3929f274a659SSteen Hegelund 	[VCAP_AF_ISDX_ENA]                       =  "ISDX_ENA",
39305d7e5b04SSteen Hegelund 	[VCAP_AF_ISDX_VAL]                       =  "ISDX_VAL",
3931*a5cc98adSSteen Hegelund 	[VCAP_AF_LOOP_ENA]                       =  "LOOP_ENA",
39325d7e5b04SSteen Hegelund 	[VCAP_AF_LRN_DIS]                        =  "LRN_DIS",
39335d7e5b04SSteen Hegelund 	[VCAP_AF_MAP_IDX]                        =  "MAP_IDX",
39345d7e5b04SSteen Hegelund 	[VCAP_AF_MAP_KEY]                        =  "MAP_KEY",
39355d7e5b04SSteen Hegelund 	[VCAP_AF_MAP_LOOKUP_SEL]                 =  "MAP_LOOKUP_SEL",
39365d7e5b04SSteen Hegelund 	[VCAP_AF_MASK_MODE]                      =  "MASK_MODE",
39375d7e5b04SSteen Hegelund 	[VCAP_AF_MATCH_ID]                       =  "MATCH_ID",
39385d7e5b04SSteen Hegelund 	[VCAP_AF_MATCH_ID_MASK]                  =  "MATCH_ID_MASK",
3939f274a659SSteen Hegelund 	[VCAP_AF_MIRROR_ENA]                     =  "MIRROR_ENA",
39405d7e5b04SSteen Hegelund 	[VCAP_AF_MIRROR_PROBE]                   =  "MIRROR_PROBE",
39415d7e5b04SSteen Hegelund 	[VCAP_AF_MIRROR_PROBE_ID]                =  "MIRROR_PROBE_ID",
39425d7e5b04SSteen Hegelund 	[VCAP_AF_NXT_IDX]                        =  "NXT_IDX",
39435d7e5b04SSteen Hegelund 	[VCAP_AF_NXT_IDX_CTRL]                   =  "NXT_IDX_CTRL",
39445d7e5b04SSteen Hegelund 	[VCAP_AF_PAG_OVERRIDE_MASK]              =  "PAG_OVERRIDE_MASK",
39455d7e5b04SSteen Hegelund 	[VCAP_AF_PAG_VAL]                        =  "PAG_VAL",
3946*a5cc98adSSteen Hegelund 	[VCAP_AF_PCP_A_VAL]                      =  "PCP_A_VAL",
3947*a5cc98adSSteen Hegelund 	[VCAP_AF_PCP_B_VAL]                      =  "PCP_B_VAL",
3948*a5cc98adSSteen Hegelund 	[VCAP_AF_PCP_C_VAL]                      =  "PCP_C_VAL",
39495d7e5b04SSteen Hegelund 	[VCAP_AF_PCP_ENA]                        =  "PCP_ENA",
39505d7e5b04SSteen Hegelund 	[VCAP_AF_PCP_VAL]                        =  "PCP_VAL",
3951*a5cc98adSSteen Hegelund 	[VCAP_AF_PIPELINE_ACT]                   =  "PIPELINE_ACT",
39525d7e5b04SSteen Hegelund 	[VCAP_AF_PIPELINE_FORCE_ENA]             =  "PIPELINE_FORCE_ENA",
39535d7e5b04SSteen Hegelund 	[VCAP_AF_PIPELINE_PT]                    =  "PIPELINE_PT",
39545d7e5b04SSteen Hegelund 	[VCAP_AF_POLICE_ENA]                     =  "POLICE_ENA",
39555d7e5b04SSteen Hegelund 	[VCAP_AF_POLICE_IDX]                     =  "POLICE_IDX",
39565d7e5b04SSteen Hegelund 	[VCAP_AF_POLICE_REMARK]                  =  "POLICE_REMARK",
3957f274a659SSteen Hegelund 	[VCAP_AF_POLICE_VCAP_ONLY]               =  "POLICE_VCAP_ONLY",
3958*a5cc98adSSteen Hegelund 	[VCAP_AF_POP_VAL]                        =  "POP_VAL",
39595d7e5b04SSteen Hegelund 	[VCAP_AF_PORT_MASK]                      =  "PORT_MASK",
3960*a5cc98adSSteen Hegelund 	[VCAP_AF_PUSH_CUSTOMER_TAG]              =  "PUSH_CUSTOMER_TAG",
3961*a5cc98adSSteen Hegelund 	[VCAP_AF_PUSH_INNER_TAG]                 =  "PUSH_INNER_TAG",
3962*a5cc98adSSteen Hegelund 	[VCAP_AF_PUSH_OUTER_TAG]                 =  "PUSH_OUTER_TAG",
39635d7e5b04SSteen Hegelund 	[VCAP_AF_QOS_ENA]                        =  "QOS_ENA",
39645d7e5b04SSteen Hegelund 	[VCAP_AF_QOS_VAL]                        =  "QOS_VAL",
3965f274a659SSteen Hegelund 	[VCAP_AF_REW_OP]                         =  "REW_OP",
39665d7e5b04SSteen Hegelund 	[VCAP_AF_RT_DIS]                         =  "RT_DIS",
3967*a5cc98adSSteen Hegelund 	[VCAP_AF_SWAP_MACS_ENA]                  =  "SWAP_MACS_ENA",
3968*a5cc98adSSteen Hegelund 	[VCAP_AF_TAG_A_DEI_SEL]                  =  "TAG_A_DEI_SEL",
3969*a5cc98adSSteen Hegelund 	[VCAP_AF_TAG_A_PCP_SEL]                  =  "TAG_A_PCP_SEL",
3970*a5cc98adSSteen Hegelund 	[VCAP_AF_TAG_A_TPID_SEL]                 =  "TAG_A_TPID_SEL",
3971*a5cc98adSSteen Hegelund 	[VCAP_AF_TAG_A_VID_SEL]                  =  "TAG_A_VID_SEL",
3972*a5cc98adSSteen Hegelund 	[VCAP_AF_TAG_B_DEI_SEL]                  =  "TAG_B_DEI_SEL",
3973*a5cc98adSSteen Hegelund 	[VCAP_AF_TAG_B_PCP_SEL]                  =  "TAG_B_PCP_SEL",
3974*a5cc98adSSteen Hegelund 	[VCAP_AF_TAG_B_TPID_SEL]                 =  "TAG_B_TPID_SEL",
3975*a5cc98adSSteen Hegelund 	[VCAP_AF_TAG_B_VID_SEL]                  =  "TAG_B_VID_SEL",
3976*a5cc98adSSteen Hegelund 	[VCAP_AF_TAG_C_DEI_SEL]                  =  "TAG_C_DEI_SEL",
3977*a5cc98adSSteen Hegelund 	[VCAP_AF_TAG_C_PCP_SEL]                  =  "TAG_C_PCP_SEL",
3978*a5cc98adSSteen Hegelund 	[VCAP_AF_TAG_C_TPID_SEL]                 =  "TAG_C_TPID_SEL",
3979*a5cc98adSSteen Hegelund 	[VCAP_AF_TAG_C_VID_SEL]                  =  "TAG_C_VID_SEL",
39805d7e5b04SSteen Hegelund 	[VCAP_AF_TYPE]                           =  "TYPE",
3981*a5cc98adSSteen Hegelund 	[VCAP_AF_UNTAG_VID_ENA]                  =  "UNTAG_VID_ENA",
3982*a5cc98adSSteen Hegelund 	[VCAP_AF_VID_A_VAL]                      =  "VID_A_VAL",
3983*a5cc98adSSteen Hegelund 	[VCAP_AF_VID_B_VAL]                      =  "VID_B_VAL",
3984*a5cc98adSSteen Hegelund 	[VCAP_AF_VID_C_VAL]                      =  "VID_C_VAL",
39855d7e5b04SSteen Hegelund 	[VCAP_AF_VID_VAL]                        =  "VID_VAL",
39865d7e5b04SSteen Hegelund };
39875d7e5b04SSteen Hegelund 
39885d7e5b04SSteen Hegelund /* VCAPs */
39895d7e5b04SSteen Hegelund const struct vcap_info kunit_test_vcaps[] = {
39905d7e5b04SSteen Hegelund 	[VCAP_TYPE_IS0] = {
39915d7e5b04SSteen Hegelund 		.name = "is0",
39925d7e5b04SSteen Hegelund 		.rows = 1024,
39935d7e5b04SSteen Hegelund 		.sw_count = 12,
39945d7e5b04SSteen Hegelund 		.sw_width = 52,
39955d7e5b04SSteen Hegelund 		.sticky_width = 1,
39965d7e5b04SSteen Hegelund 		.act_width = 110,
39975d7e5b04SSteen Hegelund 		.default_cnt = 140,
39985d7e5b04SSteen Hegelund 		.require_cnt_dis = 0,
39995d7e5b04SSteen Hegelund 		.version = 1,
40005d7e5b04SSteen Hegelund 		.keyfield_set = is0_keyfield_set,
40015d7e5b04SSteen Hegelund 		.keyfield_set_size = ARRAY_SIZE(is0_keyfield_set),
40025d7e5b04SSteen Hegelund 		.actionfield_set = is0_actionfield_set,
40035d7e5b04SSteen Hegelund 		.actionfield_set_size = ARRAY_SIZE(is0_actionfield_set),
40045d7e5b04SSteen Hegelund 		.keyfield_set_map = is0_keyfield_set_map,
40055d7e5b04SSteen Hegelund 		.keyfield_set_map_size = is0_keyfield_set_map_size,
40065d7e5b04SSteen Hegelund 		.actionfield_set_map = is0_actionfield_set_map,
40075d7e5b04SSteen Hegelund 		.actionfield_set_map_size = is0_actionfield_set_map_size,
40085d7e5b04SSteen Hegelund 		.keyfield_set_typegroups = is0_keyfield_set_typegroups,
40095d7e5b04SSteen Hegelund 		.actionfield_set_typegroups = is0_actionfield_set_typegroups,
40105d7e5b04SSteen Hegelund 	},
40115d7e5b04SSteen Hegelund 	[VCAP_TYPE_IS2] = {
40125d7e5b04SSteen Hegelund 		.name = "is2",
40135d7e5b04SSteen Hegelund 		.rows = 256,
40145d7e5b04SSteen Hegelund 		.sw_count = 12,
40155d7e5b04SSteen Hegelund 		.sw_width = 52,
40165d7e5b04SSteen Hegelund 		.sticky_width = 1,
40175d7e5b04SSteen Hegelund 		.act_width = 110,
40185d7e5b04SSteen Hegelund 		.default_cnt = 73,
40195d7e5b04SSteen Hegelund 		.require_cnt_dis = 0,
40205d7e5b04SSteen Hegelund 		.version = 1,
40215d7e5b04SSteen Hegelund 		.keyfield_set = is2_keyfield_set,
40225d7e5b04SSteen Hegelund 		.keyfield_set_size = ARRAY_SIZE(is2_keyfield_set),
40235d7e5b04SSteen Hegelund 		.actionfield_set = is2_actionfield_set,
40245d7e5b04SSteen Hegelund 		.actionfield_set_size = ARRAY_SIZE(is2_actionfield_set),
40255d7e5b04SSteen Hegelund 		.keyfield_set_map = is2_keyfield_set_map,
40265d7e5b04SSteen Hegelund 		.keyfield_set_map_size = is2_keyfield_set_map_size,
40275d7e5b04SSteen Hegelund 		.actionfield_set_map = is2_actionfield_set_map,
40285d7e5b04SSteen Hegelund 		.actionfield_set_map_size = is2_actionfield_set_map_size,
40295d7e5b04SSteen Hegelund 		.keyfield_set_typegroups = is2_keyfield_set_typegroups,
40305d7e5b04SSteen Hegelund 		.actionfield_set_typegroups = is2_actionfield_set_typegroups,
40315d7e5b04SSteen Hegelund 	},
40325d7e5b04SSteen Hegelund 	[VCAP_TYPE_ES2] = {
40335d7e5b04SSteen Hegelund 		.name = "es2",
40345d7e5b04SSteen Hegelund 		.rows = 1024,
40355d7e5b04SSteen Hegelund 		.sw_count = 12,
40365d7e5b04SSteen Hegelund 		.sw_width = 52,
40375d7e5b04SSteen Hegelund 		.sticky_width = 1,
40385d7e5b04SSteen Hegelund 		.act_width = 21,
40395d7e5b04SSteen Hegelund 		.default_cnt = 74,
40405d7e5b04SSteen Hegelund 		.require_cnt_dis = 0,
40415d7e5b04SSteen Hegelund 		.version = 1,
40425d7e5b04SSteen Hegelund 		.keyfield_set = es2_keyfield_set,
40435d7e5b04SSteen Hegelund 		.keyfield_set_size = ARRAY_SIZE(es2_keyfield_set),
40445d7e5b04SSteen Hegelund 		.actionfield_set = es2_actionfield_set,
40455d7e5b04SSteen Hegelund 		.actionfield_set_size = ARRAY_SIZE(es2_actionfield_set),
40465d7e5b04SSteen Hegelund 		.keyfield_set_map = es2_keyfield_set_map,
40475d7e5b04SSteen Hegelund 		.keyfield_set_map_size = es2_keyfield_set_map_size,
40485d7e5b04SSteen Hegelund 		.actionfield_set_map = es2_actionfield_set_map,
40495d7e5b04SSteen Hegelund 		.actionfield_set_map_size = es2_actionfield_set_map_size,
40505d7e5b04SSteen Hegelund 		.keyfield_set_typegroups = es2_keyfield_set_typegroups,
40515d7e5b04SSteen Hegelund 		.actionfield_set_typegroups = es2_actionfield_set_typegroups,
40525d7e5b04SSteen Hegelund 	},
40535d7e5b04SSteen Hegelund };
40545d7e5b04SSteen Hegelund 
40555d7e5b04SSteen Hegelund const struct vcap_statistics kunit_test_vcap_stats = {
40565d7e5b04SSteen Hegelund 	.name = "kunit_test",
40575d7e5b04SSteen Hegelund 	.count = 3,
40585d7e5b04SSteen Hegelund 	.keyfield_set_names = vcap_keyfield_set_names,
40595d7e5b04SSteen Hegelund 	.actionfield_set_names = vcap_actionfield_set_names,
40605d7e5b04SSteen Hegelund 	.keyfield_names = vcap_keyfield_names,
40615d7e5b04SSteen Hegelund 	.actionfield_names = vcap_actionfield_names,
40625d7e5b04SSteen Hegelund };
4063