139bedc16SHoratiu Vultur // SPDX-License-Identifier: (GPL-2.0 OR MIT) 239bedc16SHoratiu Vultur 339bedc16SHoratiu Vultur #include <linux/types.h> 439bedc16SHoratiu Vultur #include <linux/kernel.h> 539bedc16SHoratiu Vultur 639bedc16SHoratiu Vultur #include "lan966x_vcap_ag_api.h" 739bedc16SHoratiu Vultur 839bedc16SHoratiu Vultur /* keyfields */ 999ce286dSHoratiu Vultur static const struct vcap_field is1_normal_keyfield[] = { 1099ce286dSHoratiu Vultur [VCAP_KF_TYPE] = { 1199ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 1299ce286dSHoratiu Vultur .offset = 0, 1399ce286dSHoratiu Vultur .width = 1, 1499ce286dSHoratiu Vultur }, 1599ce286dSHoratiu Vultur [VCAP_KF_LOOKUP_INDEX] = { 1699ce286dSHoratiu Vultur .type = VCAP_FIELD_U32, 1799ce286dSHoratiu Vultur .offset = 1, 1899ce286dSHoratiu Vultur .width = 2, 1999ce286dSHoratiu Vultur }, 2099ce286dSHoratiu Vultur [VCAP_KF_IF_IGR_PORT_MASK] = { 2199ce286dSHoratiu Vultur .type = VCAP_FIELD_U32, 2299ce286dSHoratiu Vultur .offset = 3, 2399ce286dSHoratiu Vultur .width = 9, 2499ce286dSHoratiu Vultur }, 2599ce286dSHoratiu Vultur [VCAP_KF_L2_MC_IS] = { 2699ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 2799ce286dSHoratiu Vultur .offset = 12, 2899ce286dSHoratiu Vultur .width = 1, 2999ce286dSHoratiu Vultur }, 3099ce286dSHoratiu Vultur [VCAP_KF_L2_BC_IS] = { 3199ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 3299ce286dSHoratiu Vultur .offset = 13, 3399ce286dSHoratiu Vultur .width = 1, 3499ce286dSHoratiu Vultur }, 3599ce286dSHoratiu Vultur [VCAP_KF_IP_MC_IS] = { 3699ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 3799ce286dSHoratiu Vultur .offset = 14, 3899ce286dSHoratiu Vultur .width = 1, 3999ce286dSHoratiu Vultur }, 4099ce286dSHoratiu Vultur [VCAP_KF_8021CB_R_TAGGED_IS] = { 4199ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 4299ce286dSHoratiu Vultur .offset = 15, 4399ce286dSHoratiu Vultur .width = 1, 4499ce286dSHoratiu Vultur }, 4599ce286dSHoratiu Vultur [VCAP_KF_8021Q_VLAN_TAGGED_IS] = { 4699ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 4799ce286dSHoratiu Vultur .offset = 16, 4899ce286dSHoratiu Vultur .width = 1, 4999ce286dSHoratiu Vultur }, 5099ce286dSHoratiu Vultur [VCAP_KF_8021Q_VLAN_DBL_TAGGED_IS] = { 5199ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 5299ce286dSHoratiu Vultur .offset = 17, 5399ce286dSHoratiu Vultur .width = 1, 5499ce286dSHoratiu Vultur }, 5599ce286dSHoratiu Vultur [VCAP_KF_8021Q_TPID0] = { 5699ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 5799ce286dSHoratiu Vultur .offset = 18, 5899ce286dSHoratiu Vultur .width = 1, 5999ce286dSHoratiu Vultur }, 6099ce286dSHoratiu Vultur [VCAP_KF_8021Q_VID0] = { 6199ce286dSHoratiu Vultur .type = VCAP_FIELD_U32, 6299ce286dSHoratiu Vultur .offset = 19, 6399ce286dSHoratiu Vultur .width = 12, 6499ce286dSHoratiu Vultur }, 6599ce286dSHoratiu Vultur [VCAP_KF_8021Q_DEI0] = { 6699ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 6799ce286dSHoratiu Vultur .offset = 31, 6899ce286dSHoratiu Vultur .width = 1, 6999ce286dSHoratiu Vultur }, 7099ce286dSHoratiu Vultur [VCAP_KF_8021Q_PCP0] = { 7199ce286dSHoratiu Vultur .type = VCAP_FIELD_U32, 7299ce286dSHoratiu Vultur .offset = 32, 7399ce286dSHoratiu Vultur .width = 3, 7499ce286dSHoratiu Vultur }, 7599ce286dSHoratiu Vultur [VCAP_KF_L2_SMAC] = { 7699ce286dSHoratiu Vultur .type = VCAP_FIELD_U48, 7799ce286dSHoratiu Vultur .offset = 35, 7899ce286dSHoratiu Vultur .width = 48, 7999ce286dSHoratiu Vultur }, 8099ce286dSHoratiu Vultur [VCAP_KF_ETYPE_LEN_IS] = { 8199ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 8299ce286dSHoratiu Vultur .offset = 83, 8399ce286dSHoratiu Vultur .width = 1, 8499ce286dSHoratiu Vultur }, 8599ce286dSHoratiu Vultur [VCAP_KF_ETYPE] = { 8699ce286dSHoratiu Vultur .type = VCAP_FIELD_U32, 8799ce286dSHoratiu Vultur .offset = 84, 8899ce286dSHoratiu Vultur .width = 16, 8999ce286dSHoratiu Vultur }, 9099ce286dSHoratiu Vultur [VCAP_KF_IP_SNAP_IS] = { 9199ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 9299ce286dSHoratiu Vultur .offset = 100, 9399ce286dSHoratiu Vultur .width = 1, 9499ce286dSHoratiu Vultur }, 9599ce286dSHoratiu Vultur [VCAP_KF_IP4_IS] = { 9699ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 9799ce286dSHoratiu Vultur .offset = 101, 9899ce286dSHoratiu Vultur .width = 1, 9999ce286dSHoratiu Vultur }, 10099ce286dSHoratiu Vultur [VCAP_KF_L3_FRAGMENT] = { 10199ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 10299ce286dSHoratiu Vultur .offset = 102, 10399ce286dSHoratiu Vultur .width = 1, 10499ce286dSHoratiu Vultur }, 10599ce286dSHoratiu Vultur [VCAP_KF_L3_FRAG_OFS_GT0] = { 10699ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 10799ce286dSHoratiu Vultur .offset = 103, 10899ce286dSHoratiu Vultur .width = 1, 10999ce286dSHoratiu Vultur }, 11099ce286dSHoratiu Vultur [VCAP_KF_L3_OPTIONS_IS] = { 11199ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 11299ce286dSHoratiu Vultur .offset = 104, 11399ce286dSHoratiu Vultur .width = 1, 11499ce286dSHoratiu Vultur }, 11599ce286dSHoratiu Vultur [VCAP_KF_L3_DSCP] = { 11699ce286dSHoratiu Vultur .type = VCAP_FIELD_U32, 11799ce286dSHoratiu Vultur .offset = 105, 11899ce286dSHoratiu Vultur .width = 6, 11999ce286dSHoratiu Vultur }, 12099ce286dSHoratiu Vultur [VCAP_KF_L3_IP4_SIP] = { 12199ce286dSHoratiu Vultur .type = VCAP_FIELD_U32, 12299ce286dSHoratiu Vultur .offset = 111, 12399ce286dSHoratiu Vultur .width = 32, 12499ce286dSHoratiu Vultur }, 12599ce286dSHoratiu Vultur [VCAP_KF_TCP_UDP_IS] = { 12699ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 12799ce286dSHoratiu Vultur .offset = 143, 12899ce286dSHoratiu Vultur .width = 1, 12999ce286dSHoratiu Vultur }, 13099ce286dSHoratiu Vultur [VCAP_KF_TCP_IS] = { 13199ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 13299ce286dSHoratiu Vultur .offset = 144, 13399ce286dSHoratiu Vultur .width = 1, 13499ce286dSHoratiu Vultur }, 13599ce286dSHoratiu Vultur [VCAP_KF_L4_SPORT] = { 13699ce286dSHoratiu Vultur .type = VCAP_FIELD_U32, 13799ce286dSHoratiu Vultur .offset = 145, 13899ce286dSHoratiu Vultur .width = 16, 13999ce286dSHoratiu Vultur }, 14099ce286dSHoratiu Vultur [VCAP_KF_L4_RNG] = { 14199ce286dSHoratiu Vultur .type = VCAP_FIELD_U32, 14299ce286dSHoratiu Vultur .offset = 161, 14399ce286dSHoratiu Vultur .width = 8, 14499ce286dSHoratiu Vultur }, 14599ce286dSHoratiu Vultur }; 14699ce286dSHoratiu Vultur 14799ce286dSHoratiu Vultur static const struct vcap_field is1_5tuple_ip4_keyfield[] = { 14899ce286dSHoratiu Vultur [VCAP_KF_TYPE] = { 14999ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 15099ce286dSHoratiu Vultur .offset = 0, 15199ce286dSHoratiu Vultur .width = 1, 15299ce286dSHoratiu Vultur }, 15399ce286dSHoratiu Vultur [VCAP_KF_LOOKUP_INDEX] = { 15499ce286dSHoratiu Vultur .type = VCAP_FIELD_U32, 15599ce286dSHoratiu Vultur .offset = 1, 15699ce286dSHoratiu Vultur .width = 2, 15799ce286dSHoratiu Vultur }, 15899ce286dSHoratiu Vultur [VCAP_KF_IF_IGR_PORT_MASK] = { 15999ce286dSHoratiu Vultur .type = VCAP_FIELD_U32, 16099ce286dSHoratiu Vultur .offset = 3, 16199ce286dSHoratiu Vultur .width = 9, 16299ce286dSHoratiu Vultur }, 16399ce286dSHoratiu Vultur [VCAP_KF_L2_MC_IS] = { 16499ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 16599ce286dSHoratiu Vultur .offset = 12, 16699ce286dSHoratiu Vultur .width = 1, 16799ce286dSHoratiu Vultur }, 16899ce286dSHoratiu Vultur [VCAP_KF_L2_BC_IS] = { 16999ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 17099ce286dSHoratiu Vultur .offset = 13, 17199ce286dSHoratiu Vultur .width = 1, 17299ce286dSHoratiu Vultur }, 17399ce286dSHoratiu Vultur [VCAP_KF_IP_MC_IS] = { 17499ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 17599ce286dSHoratiu Vultur .offset = 14, 17699ce286dSHoratiu Vultur .width = 1, 17799ce286dSHoratiu Vultur }, 17899ce286dSHoratiu Vultur [VCAP_KF_8021CB_R_TAGGED_IS] = { 17999ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 18099ce286dSHoratiu Vultur .offset = 15, 18199ce286dSHoratiu Vultur .width = 1, 18299ce286dSHoratiu Vultur }, 18399ce286dSHoratiu Vultur [VCAP_KF_8021Q_VLAN_TAGGED_IS] = { 18499ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 18599ce286dSHoratiu Vultur .offset = 16, 18699ce286dSHoratiu Vultur .width = 1, 18799ce286dSHoratiu Vultur }, 18899ce286dSHoratiu Vultur [VCAP_KF_8021Q_VLAN_DBL_TAGGED_IS] = { 18999ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 19099ce286dSHoratiu Vultur .offset = 17, 19199ce286dSHoratiu Vultur .width = 1, 19299ce286dSHoratiu Vultur }, 19399ce286dSHoratiu Vultur [VCAP_KF_8021Q_TPID0] = { 19499ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 19599ce286dSHoratiu Vultur .offset = 18, 19699ce286dSHoratiu Vultur .width = 1, 19799ce286dSHoratiu Vultur }, 19899ce286dSHoratiu Vultur [VCAP_KF_8021Q_VID0] = { 19999ce286dSHoratiu Vultur .type = VCAP_FIELD_U32, 20099ce286dSHoratiu Vultur .offset = 19, 20199ce286dSHoratiu Vultur .width = 12, 20299ce286dSHoratiu Vultur }, 20399ce286dSHoratiu Vultur [VCAP_KF_8021Q_DEI0] = { 20499ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 20599ce286dSHoratiu Vultur .offset = 31, 20699ce286dSHoratiu Vultur .width = 1, 20799ce286dSHoratiu Vultur }, 20899ce286dSHoratiu Vultur [VCAP_KF_8021Q_PCP0] = { 20999ce286dSHoratiu Vultur .type = VCAP_FIELD_U32, 21099ce286dSHoratiu Vultur .offset = 32, 21199ce286dSHoratiu Vultur .width = 3, 21299ce286dSHoratiu Vultur }, 21399ce286dSHoratiu Vultur [VCAP_KF_8021Q_TPID1] = { 21499ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 21599ce286dSHoratiu Vultur .offset = 35, 21699ce286dSHoratiu Vultur .width = 1, 21799ce286dSHoratiu Vultur }, 21899ce286dSHoratiu Vultur [VCAP_KF_8021Q_VID1] = { 21999ce286dSHoratiu Vultur .type = VCAP_FIELD_U32, 22099ce286dSHoratiu Vultur .offset = 36, 22199ce286dSHoratiu Vultur .width = 12, 22299ce286dSHoratiu Vultur }, 22399ce286dSHoratiu Vultur [VCAP_KF_8021Q_DEI1] = { 22499ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 22599ce286dSHoratiu Vultur .offset = 48, 22699ce286dSHoratiu Vultur .width = 1, 22799ce286dSHoratiu Vultur }, 22899ce286dSHoratiu Vultur [VCAP_KF_8021Q_PCP1] = { 22999ce286dSHoratiu Vultur .type = VCAP_FIELD_U32, 23099ce286dSHoratiu Vultur .offset = 49, 23199ce286dSHoratiu Vultur .width = 3, 23299ce286dSHoratiu Vultur }, 23399ce286dSHoratiu Vultur [VCAP_KF_IP4_IS] = { 23499ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 23599ce286dSHoratiu Vultur .offset = 52, 23699ce286dSHoratiu Vultur .width = 1, 23799ce286dSHoratiu Vultur }, 23899ce286dSHoratiu Vultur [VCAP_KF_L3_FRAGMENT] = { 23999ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 24099ce286dSHoratiu Vultur .offset = 53, 24199ce286dSHoratiu Vultur .width = 1, 24299ce286dSHoratiu Vultur }, 24399ce286dSHoratiu Vultur [VCAP_KF_L3_FRAG_OFS_GT0] = { 24499ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 24599ce286dSHoratiu Vultur .offset = 54, 24699ce286dSHoratiu Vultur .width = 1, 24799ce286dSHoratiu Vultur }, 24899ce286dSHoratiu Vultur [VCAP_KF_L3_OPTIONS_IS] = { 24999ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 25099ce286dSHoratiu Vultur .offset = 55, 25199ce286dSHoratiu Vultur .width = 1, 25299ce286dSHoratiu Vultur }, 25399ce286dSHoratiu Vultur [VCAP_KF_L3_DSCP] = { 25499ce286dSHoratiu Vultur .type = VCAP_FIELD_U32, 25599ce286dSHoratiu Vultur .offset = 56, 25699ce286dSHoratiu Vultur .width = 6, 25799ce286dSHoratiu Vultur }, 25899ce286dSHoratiu Vultur [VCAP_KF_L3_IP4_DIP] = { 25999ce286dSHoratiu Vultur .type = VCAP_FIELD_U32, 26099ce286dSHoratiu Vultur .offset = 62, 26199ce286dSHoratiu Vultur .width = 32, 26299ce286dSHoratiu Vultur }, 26399ce286dSHoratiu Vultur [VCAP_KF_L3_IP4_SIP] = { 26499ce286dSHoratiu Vultur .type = VCAP_FIELD_U32, 26599ce286dSHoratiu Vultur .offset = 94, 26699ce286dSHoratiu Vultur .width = 32, 26799ce286dSHoratiu Vultur }, 26899ce286dSHoratiu Vultur [VCAP_KF_L3_IP_PROTO] = { 26999ce286dSHoratiu Vultur .type = VCAP_FIELD_U32, 27099ce286dSHoratiu Vultur .offset = 126, 27199ce286dSHoratiu Vultur .width = 8, 27299ce286dSHoratiu Vultur }, 27399ce286dSHoratiu Vultur [VCAP_KF_TCP_UDP_IS] = { 27499ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 27599ce286dSHoratiu Vultur .offset = 134, 27699ce286dSHoratiu Vultur .width = 1, 27799ce286dSHoratiu Vultur }, 27899ce286dSHoratiu Vultur [VCAP_KF_TCP_IS] = { 27999ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 28099ce286dSHoratiu Vultur .offset = 135, 28199ce286dSHoratiu Vultur .width = 1, 28299ce286dSHoratiu Vultur }, 28399ce286dSHoratiu Vultur [VCAP_KF_L4_RNG] = { 28499ce286dSHoratiu Vultur .type = VCAP_FIELD_U32, 28599ce286dSHoratiu Vultur .offset = 136, 28699ce286dSHoratiu Vultur .width = 8, 28799ce286dSHoratiu Vultur }, 28899ce286dSHoratiu Vultur [VCAP_KF_IP_PAYLOAD_5TUPLE] = { 28999ce286dSHoratiu Vultur .type = VCAP_FIELD_U32, 29099ce286dSHoratiu Vultur .offset = 144, 29199ce286dSHoratiu Vultur .width = 32, 29299ce286dSHoratiu Vultur }, 29399ce286dSHoratiu Vultur }; 29499ce286dSHoratiu Vultur 29599ce286dSHoratiu Vultur static const struct vcap_field is1_normal_ip6_keyfield[] = { 29699ce286dSHoratiu Vultur [VCAP_KF_TYPE] = { 29799ce286dSHoratiu Vultur .type = VCAP_FIELD_U32, 29899ce286dSHoratiu Vultur .offset = 0, 29999ce286dSHoratiu Vultur .width = 2, 30099ce286dSHoratiu Vultur }, 30199ce286dSHoratiu Vultur [VCAP_KF_LOOKUP_INDEX] = { 30299ce286dSHoratiu Vultur .type = VCAP_FIELD_U32, 30399ce286dSHoratiu Vultur .offset = 2, 30499ce286dSHoratiu Vultur .width = 2, 30599ce286dSHoratiu Vultur }, 30699ce286dSHoratiu Vultur [VCAP_KF_IF_IGR_PORT_MASK] = { 30799ce286dSHoratiu Vultur .type = VCAP_FIELD_U32, 30899ce286dSHoratiu Vultur .offset = 4, 30999ce286dSHoratiu Vultur .width = 9, 31099ce286dSHoratiu Vultur }, 31199ce286dSHoratiu Vultur [VCAP_KF_L2_MC_IS] = { 31299ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 31399ce286dSHoratiu Vultur .offset = 13, 31499ce286dSHoratiu Vultur .width = 1, 31599ce286dSHoratiu Vultur }, 31699ce286dSHoratiu Vultur [VCAP_KF_L2_BC_IS] = { 31799ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 31899ce286dSHoratiu Vultur .offset = 14, 31999ce286dSHoratiu Vultur .width = 1, 32099ce286dSHoratiu Vultur }, 32199ce286dSHoratiu Vultur [VCAP_KF_IP_MC_IS] = { 32299ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 32399ce286dSHoratiu Vultur .offset = 15, 32499ce286dSHoratiu Vultur .width = 1, 32599ce286dSHoratiu Vultur }, 32699ce286dSHoratiu Vultur [VCAP_KF_8021CB_R_TAGGED_IS] = { 32799ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 32899ce286dSHoratiu Vultur .offset = 16, 32999ce286dSHoratiu Vultur .width = 1, 33099ce286dSHoratiu Vultur }, 33199ce286dSHoratiu Vultur [VCAP_KF_8021Q_VLAN_TAGGED_IS] = { 33299ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 33399ce286dSHoratiu Vultur .offset = 17, 33499ce286dSHoratiu Vultur .width = 1, 33599ce286dSHoratiu Vultur }, 33699ce286dSHoratiu Vultur [VCAP_KF_8021Q_VLAN_DBL_TAGGED_IS] = { 33799ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 33899ce286dSHoratiu Vultur .offset = 18, 33999ce286dSHoratiu Vultur .width = 1, 34099ce286dSHoratiu Vultur }, 34199ce286dSHoratiu Vultur [VCAP_KF_8021Q_TPID0] = { 34299ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 34399ce286dSHoratiu Vultur .offset = 19, 34499ce286dSHoratiu Vultur .width = 1, 34599ce286dSHoratiu Vultur }, 34699ce286dSHoratiu Vultur [VCAP_KF_8021Q_VID0] = { 34799ce286dSHoratiu Vultur .type = VCAP_FIELD_U32, 34899ce286dSHoratiu Vultur .offset = 20, 34999ce286dSHoratiu Vultur .width = 12, 35099ce286dSHoratiu Vultur }, 35199ce286dSHoratiu Vultur [VCAP_KF_8021Q_DEI0] = { 35299ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 35399ce286dSHoratiu Vultur .offset = 32, 35499ce286dSHoratiu Vultur .width = 1, 35599ce286dSHoratiu Vultur }, 35699ce286dSHoratiu Vultur [VCAP_KF_8021Q_PCP0] = { 35799ce286dSHoratiu Vultur .type = VCAP_FIELD_U32, 35899ce286dSHoratiu Vultur .offset = 33, 35999ce286dSHoratiu Vultur .width = 3, 36099ce286dSHoratiu Vultur }, 36199ce286dSHoratiu Vultur [VCAP_KF_8021Q_TPID1] = { 36299ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 36399ce286dSHoratiu Vultur .offset = 36, 36499ce286dSHoratiu Vultur .width = 1, 36599ce286dSHoratiu Vultur }, 36699ce286dSHoratiu Vultur [VCAP_KF_8021Q_VID1] = { 36799ce286dSHoratiu Vultur .type = VCAP_FIELD_U32, 36899ce286dSHoratiu Vultur .offset = 37, 36999ce286dSHoratiu Vultur .width = 12, 37099ce286dSHoratiu Vultur }, 37199ce286dSHoratiu Vultur [VCAP_KF_8021Q_DEI1] = { 37299ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 37399ce286dSHoratiu Vultur .offset = 49, 37499ce286dSHoratiu Vultur .width = 1, 37599ce286dSHoratiu Vultur }, 37699ce286dSHoratiu Vultur [VCAP_KF_8021Q_PCP1] = { 37799ce286dSHoratiu Vultur .type = VCAP_FIELD_U32, 37899ce286dSHoratiu Vultur .offset = 50, 37999ce286dSHoratiu Vultur .width = 3, 38099ce286dSHoratiu Vultur }, 38199ce286dSHoratiu Vultur [VCAP_KF_L2_SMAC] = { 38299ce286dSHoratiu Vultur .type = VCAP_FIELD_U48, 38399ce286dSHoratiu Vultur .offset = 53, 38499ce286dSHoratiu Vultur .width = 48, 38599ce286dSHoratiu Vultur }, 38699ce286dSHoratiu Vultur [VCAP_KF_L3_DSCP] = { 38799ce286dSHoratiu Vultur .type = VCAP_FIELD_U32, 38899ce286dSHoratiu Vultur .offset = 101, 38999ce286dSHoratiu Vultur .width = 6, 39099ce286dSHoratiu Vultur }, 39199ce286dSHoratiu Vultur [VCAP_KF_L3_IP6_SIP] = { 39299ce286dSHoratiu Vultur .type = VCAP_FIELD_U128, 39399ce286dSHoratiu Vultur .offset = 107, 39499ce286dSHoratiu Vultur .width = 128, 39599ce286dSHoratiu Vultur }, 39699ce286dSHoratiu Vultur [VCAP_KF_L3_IP_PROTO] = { 39799ce286dSHoratiu Vultur .type = VCAP_FIELD_U32, 39899ce286dSHoratiu Vultur .offset = 235, 39999ce286dSHoratiu Vultur .width = 8, 40099ce286dSHoratiu Vultur }, 40199ce286dSHoratiu Vultur [VCAP_KF_TCP_UDP_IS] = { 40299ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 40399ce286dSHoratiu Vultur .offset = 243, 40499ce286dSHoratiu Vultur .width = 1, 40599ce286dSHoratiu Vultur }, 40699ce286dSHoratiu Vultur [VCAP_KF_L4_RNG] = { 40799ce286dSHoratiu Vultur .type = VCAP_FIELD_U32, 40899ce286dSHoratiu Vultur .offset = 244, 40999ce286dSHoratiu Vultur .width = 8, 41099ce286dSHoratiu Vultur }, 41199ce286dSHoratiu Vultur [VCAP_KF_IP_PAYLOAD_S1_IP6] = { 41299ce286dSHoratiu Vultur .type = VCAP_FIELD_U112, 41399ce286dSHoratiu Vultur .offset = 252, 41499ce286dSHoratiu Vultur .width = 112, 41599ce286dSHoratiu Vultur }, 41699ce286dSHoratiu Vultur }; 41799ce286dSHoratiu Vultur 41899ce286dSHoratiu Vultur static const struct vcap_field is1_7tuple_keyfield[] = { 41999ce286dSHoratiu Vultur [VCAP_KF_TYPE] = { 42099ce286dSHoratiu Vultur .type = VCAP_FIELD_U32, 42199ce286dSHoratiu Vultur .offset = 0, 42299ce286dSHoratiu Vultur .width = 2, 42399ce286dSHoratiu Vultur }, 42499ce286dSHoratiu Vultur [VCAP_KF_LOOKUP_INDEX] = { 42599ce286dSHoratiu Vultur .type = VCAP_FIELD_U32, 42699ce286dSHoratiu Vultur .offset = 2, 42799ce286dSHoratiu Vultur .width = 2, 42899ce286dSHoratiu Vultur }, 42999ce286dSHoratiu Vultur [VCAP_KF_IF_IGR_PORT_MASK] = { 43099ce286dSHoratiu Vultur .type = VCAP_FIELD_U32, 43199ce286dSHoratiu Vultur .offset = 4, 43299ce286dSHoratiu Vultur .width = 9, 43399ce286dSHoratiu Vultur }, 43499ce286dSHoratiu Vultur [VCAP_KF_L2_MC_IS] = { 43599ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 43699ce286dSHoratiu Vultur .offset = 13, 43799ce286dSHoratiu Vultur .width = 1, 43899ce286dSHoratiu Vultur }, 43999ce286dSHoratiu Vultur [VCAP_KF_L2_BC_IS] = { 44099ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 44199ce286dSHoratiu Vultur .offset = 14, 44299ce286dSHoratiu Vultur .width = 1, 44399ce286dSHoratiu Vultur }, 44499ce286dSHoratiu Vultur [VCAP_KF_IP_MC_IS] = { 44599ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 44699ce286dSHoratiu Vultur .offset = 15, 44799ce286dSHoratiu Vultur .width = 1, 44899ce286dSHoratiu Vultur }, 44999ce286dSHoratiu Vultur [VCAP_KF_8021CB_R_TAGGED_IS] = { 45099ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 45199ce286dSHoratiu Vultur .offset = 16, 45299ce286dSHoratiu Vultur .width = 1, 45399ce286dSHoratiu Vultur }, 45499ce286dSHoratiu Vultur [VCAP_KF_8021Q_VLAN_TAGGED_IS] = { 45599ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 45699ce286dSHoratiu Vultur .offset = 17, 45799ce286dSHoratiu Vultur .width = 1, 45899ce286dSHoratiu Vultur }, 45999ce286dSHoratiu Vultur [VCAP_KF_8021Q_VLAN_DBL_TAGGED_IS] = { 46099ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 46199ce286dSHoratiu Vultur .offset = 18, 46299ce286dSHoratiu Vultur .width = 1, 46399ce286dSHoratiu Vultur }, 46499ce286dSHoratiu Vultur [VCAP_KF_8021Q_TPID0] = { 46599ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 46699ce286dSHoratiu Vultur .offset = 19, 46799ce286dSHoratiu Vultur .width = 1, 46899ce286dSHoratiu Vultur }, 46999ce286dSHoratiu Vultur [VCAP_KF_8021Q_VID0] = { 47099ce286dSHoratiu Vultur .type = VCAP_FIELD_U32, 47199ce286dSHoratiu Vultur .offset = 20, 47299ce286dSHoratiu Vultur .width = 12, 47399ce286dSHoratiu Vultur }, 47499ce286dSHoratiu Vultur [VCAP_KF_8021Q_DEI0] = { 47599ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 47699ce286dSHoratiu Vultur .offset = 32, 47799ce286dSHoratiu Vultur .width = 1, 47899ce286dSHoratiu Vultur }, 47999ce286dSHoratiu Vultur [VCAP_KF_8021Q_PCP0] = { 48099ce286dSHoratiu Vultur .type = VCAP_FIELD_U32, 48199ce286dSHoratiu Vultur .offset = 33, 48299ce286dSHoratiu Vultur .width = 3, 48399ce286dSHoratiu Vultur }, 48499ce286dSHoratiu Vultur [VCAP_KF_8021Q_TPID1] = { 48599ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 48699ce286dSHoratiu Vultur .offset = 36, 48799ce286dSHoratiu Vultur .width = 1, 48899ce286dSHoratiu Vultur }, 48999ce286dSHoratiu Vultur [VCAP_KF_8021Q_VID1] = { 49099ce286dSHoratiu Vultur .type = VCAP_FIELD_U32, 49199ce286dSHoratiu Vultur .offset = 37, 49299ce286dSHoratiu Vultur .width = 12, 49399ce286dSHoratiu Vultur }, 49499ce286dSHoratiu Vultur [VCAP_KF_8021Q_DEI1] = { 49599ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 49699ce286dSHoratiu Vultur .offset = 49, 49799ce286dSHoratiu Vultur .width = 1, 49899ce286dSHoratiu Vultur }, 49999ce286dSHoratiu Vultur [VCAP_KF_8021Q_PCP1] = { 50099ce286dSHoratiu Vultur .type = VCAP_FIELD_U32, 50199ce286dSHoratiu Vultur .offset = 50, 50299ce286dSHoratiu Vultur .width = 3, 50399ce286dSHoratiu Vultur }, 50499ce286dSHoratiu Vultur [VCAP_KF_L2_DMAC] = { 50599ce286dSHoratiu Vultur .type = VCAP_FIELD_U48, 50699ce286dSHoratiu Vultur .offset = 53, 50799ce286dSHoratiu Vultur .width = 48, 50899ce286dSHoratiu Vultur }, 50999ce286dSHoratiu Vultur [VCAP_KF_L2_SMAC] = { 51099ce286dSHoratiu Vultur .type = VCAP_FIELD_U48, 51199ce286dSHoratiu Vultur .offset = 101, 51299ce286dSHoratiu Vultur .width = 48, 51399ce286dSHoratiu Vultur }, 51499ce286dSHoratiu Vultur [VCAP_KF_ETYPE_LEN_IS] = { 51599ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 51699ce286dSHoratiu Vultur .offset = 149, 51799ce286dSHoratiu Vultur .width = 1, 51899ce286dSHoratiu Vultur }, 51999ce286dSHoratiu Vultur [VCAP_KF_ETYPE] = { 52099ce286dSHoratiu Vultur .type = VCAP_FIELD_U32, 52199ce286dSHoratiu Vultur .offset = 150, 52299ce286dSHoratiu Vultur .width = 16, 52399ce286dSHoratiu Vultur }, 52499ce286dSHoratiu Vultur [VCAP_KF_IP_SNAP_IS] = { 52599ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 52699ce286dSHoratiu Vultur .offset = 166, 52799ce286dSHoratiu Vultur .width = 1, 52899ce286dSHoratiu Vultur }, 52999ce286dSHoratiu Vultur [VCAP_KF_IP4_IS] = { 53099ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 53199ce286dSHoratiu Vultur .offset = 167, 53299ce286dSHoratiu Vultur .width = 1, 53399ce286dSHoratiu Vultur }, 53499ce286dSHoratiu Vultur [VCAP_KF_L3_FRAGMENT] = { 53599ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 53699ce286dSHoratiu Vultur .offset = 168, 53799ce286dSHoratiu Vultur .width = 1, 53899ce286dSHoratiu Vultur }, 53999ce286dSHoratiu Vultur [VCAP_KF_L3_FRAG_OFS_GT0] = { 54099ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 54199ce286dSHoratiu Vultur .offset = 169, 54299ce286dSHoratiu Vultur .width = 1, 54399ce286dSHoratiu Vultur }, 54499ce286dSHoratiu Vultur [VCAP_KF_L3_OPTIONS_IS] = { 54599ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 54699ce286dSHoratiu Vultur .offset = 170, 54799ce286dSHoratiu Vultur .width = 1, 54899ce286dSHoratiu Vultur }, 54999ce286dSHoratiu Vultur [VCAP_KF_L3_DSCP] = { 55099ce286dSHoratiu Vultur .type = VCAP_FIELD_U32, 55199ce286dSHoratiu Vultur .offset = 171, 55299ce286dSHoratiu Vultur .width = 6, 55399ce286dSHoratiu Vultur }, 55499ce286dSHoratiu Vultur [VCAP_KF_L3_IP6_DIP_MSB] = { 55599ce286dSHoratiu Vultur .type = VCAP_FIELD_U32, 55699ce286dSHoratiu Vultur .offset = 177, 55799ce286dSHoratiu Vultur .width = 16, 55899ce286dSHoratiu Vultur }, 55999ce286dSHoratiu Vultur [VCAP_KF_L3_IP6_DIP] = { 56099ce286dSHoratiu Vultur .type = VCAP_FIELD_U64, 56199ce286dSHoratiu Vultur .offset = 193, 56299ce286dSHoratiu Vultur .width = 64, 56399ce286dSHoratiu Vultur }, 56499ce286dSHoratiu Vultur [VCAP_KF_L3_IP6_SIP_MSB] = { 56599ce286dSHoratiu Vultur .type = VCAP_FIELD_U32, 56699ce286dSHoratiu Vultur .offset = 257, 56799ce286dSHoratiu Vultur .width = 16, 56899ce286dSHoratiu Vultur }, 56999ce286dSHoratiu Vultur [VCAP_KF_L3_IP6_SIP] = { 57099ce286dSHoratiu Vultur .type = VCAP_FIELD_U64, 57199ce286dSHoratiu Vultur .offset = 273, 57299ce286dSHoratiu Vultur .width = 64, 57399ce286dSHoratiu Vultur }, 57499ce286dSHoratiu Vultur [VCAP_KF_TCP_UDP_IS] = { 57599ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 57699ce286dSHoratiu Vultur .offset = 337, 57799ce286dSHoratiu Vultur .width = 1, 57899ce286dSHoratiu Vultur }, 57999ce286dSHoratiu Vultur [VCAP_KF_TCP_IS] = { 58099ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 58199ce286dSHoratiu Vultur .offset = 338, 58299ce286dSHoratiu Vultur .width = 1, 58399ce286dSHoratiu Vultur }, 58499ce286dSHoratiu Vultur [VCAP_KF_L4_SPORT] = { 58599ce286dSHoratiu Vultur .type = VCAP_FIELD_U32, 58699ce286dSHoratiu Vultur .offset = 339, 58799ce286dSHoratiu Vultur .width = 16, 58899ce286dSHoratiu Vultur }, 58999ce286dSHoratiu Vultur [VCAP_KF_L4_RNG] = { 59099ce286dSHoratiu Vultur .type = VCAP_FIELD_U32, 59199ce286dSHoratiu Vultur .offset = 355, 59299ce286dSHoratiu Vultur .width = 8, 59399ce286dSHoratiu Vultur }, 59499ce286dSHoratiu Vultur }; 59599ce286dSHoratiu Vultur 59699ce286dSHoratiu Vultur static const struct vcap_field is1_5tuple_ip6_keyfield[] = { 59799ce286dSHoratiu Vultur [VCAP_KF_TYPE] = { 59899ce286dSHoratiu Vultur .type = VCAP_FIELD_U32, 59999ce286dSHoratiu Vultur .offset = 0, 60099ce286dSHoratiu Vultur .width = 2, 60199ce286dSHoratiu Vultur }, 60299ce286dSHoratiu Vultur [VCAP_KF_LOOKUP_INDEX] = { 60399ce286dSHoratiu Vultur .type = VCAP_FIELD_U32, 60499ce286dSHoratiu Vultur .offset = 2, 60599ce286dSHoratiu Vultur .width = 2, 60699ce286dSHoratiu Vultur }, 60799ce286dSHoratiu Vultur [VCAP_KF_IF_IGR_PORT_MASK] = { 60899ce286dSHoratiu Vultur .type = VCAP_FIELD_U32, 60999ce286dSHoratiu Vultur .offset = 4, 61099ce286dSHoratiu Vultur .width = 9, 61199ce286dSHoratiu Vultur }, 61299ce286dSHoratiu Vultur [VCAP_KF_L2_MC_IS] = { 61399ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 61499ce286dSHoratiu Vultur .offset = 13, 61599ce286dSHoratiu Vultur .width = 1, 61699ce286dSHoratiu Vultur }, 61799ce286dSHoratiu Vultur [VCAP_KF_L2_BC_IS] = { 61899ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 61999ce286dSHoratiu Vultur .offset = 14, 62099ce286dSHoratiu Vultur .width = 1, 62199ce286dSHoratiu Vultur }, 62299ce286dSHoratiu Vultur [VCAP_KF_IP_MC_IS] = { 62399ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 62499ce286dSHoratiu Vultur .offset = 15, 62599ce286dSHoratiu Vultur .width = 1, 62699ce286dSHoratiu Vultur }, 62799ce286dSHoratiu Vultur [VCAP_KF_8021CB_R_TAGGED_IS] = { 62899ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 62999ce286dSHoratiu Vultur .offset = 16, 63099ce286dSHoratiu Vultur .width = 1, 63199ce286dSHoratiu Vultur }, 63299ce286dSHoratiu Vultur [VCAP_KF_8021Q_VLAN_TAGGED_IS] = { 63399ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 63499ce286dSHoratiu Vultur .offset = 17, 63599ce286dSHoratiu Vultur .width = 1, 63699ce286dSHoratiu Vultur }, 63799ce286dSHoratiu Vultur [VCAP_KF_8021Q_VLAN_DBL_TAGGED_IS] = { 63899ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 63999ce286dSHoratiu Vultur .offset = 18, 64099ce286dSHoratiu Vultur .width = 1, 64199ce286dSHoratiu Vultur }, 64299ce286dSHoratiu Vultur [VCAP_KF_8021Q_TPID0] = { 64399ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 64499ce286dSHoratiu Vultur .offset = 19, 64599ce286dSHoratiu Vultur .width = 1, 64699ce286dSHoratiu Vultur }, 64799ce286dSHoratiu Vultur [VCAP_KF_8021Q_VID0] = { 64899ce286dSHoratiu Vultur .type = VCAP_FIELD_U32, 64999ce286dSHoratiu Vultur .offset = 20, 65099ce286dSHoratiu Vultur .width = 12, 65199ce286dSHoratiu Vultur }, 65299ce286dSHoratiu Vultur [VCAP_KF_8021Q_DEI0] = { 65399ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 65499ce286dSHoratiu Vultur .offset = 32, 65599ce286dSHoratiu Vultur .width = 1, 65699ce286dSHoratiu Vultur }, 65799ce286dSHoratiu Vultur [VCAP_KF_8021Q_PCP0] = { 65899ce286dSHoratiu Vultur .type = VCAP_FIELD_U32, 65999ce286dSHoratiu Vultur .offset = 33, 66099ce286dSHoratiu Vultur .width = 3, 66199ce286dSHoratiu Vultur }, 66299ce286dSHoratiu Vultur [VCAP_KF_8021Q_TPID1] = { 66399ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 66499ce286dSHoratiu Vultur .offset = 36, 66599ce286dSHoratiu Vultur .width = 1, 66699ce286dSHoratiu Vultur }, 66799ce286dSHoratiu Vultur [VCAP_KF_8021Q_VID1] = { 66899ce286dSHoratiu Vultur .type = VCAP_FIELD_U32, 66999ce286dSHoratiu Vultur .offset = 37, 67099ce286dSHoratiu Vultur .width = 12, 67199ce286dSHoratiu Vultur }, 67299ce286dSHoratiu Vultur [VCAP_KF_8021Q_DEI1] = { 67399ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 67499ce286dSHoratiu Vultur .offset = 49, 67599ce286dSHoratiu Vultur .width = 1, 67699ce286dSHoratiu Vultur }, 67799ce286dSHoratiu Vultur [VCAP_KF_8021Q_PCP1] = { 67899ce286dSHoratiu Vultur .type = VCAP_FIELD_U32, 67999ce286dSHoratiu Vultur .offset = 50, 68099ce286dSHoratiu Vultur .width = 3, 68199ce286dSHoratiu Vultur }, 68299ce286dSHoratiu Vultur [VCAP_KF_L3_DSCP] = { 68399ce286dSHoratiu Vultur .type = VCAP_FIELD_U32, 68499ce286dSHoratiu Vultur .offset = 53, 68599ce286dSHoratiu Vultur .width = 6, 68699ce286dSHoratiu Vultur }, 68799ce286dSHoratiu Vultur [VCAP_KF_L3_IP6_DIP] = { 68899ce286dSHoratiu Vultur .type = VCAP_FIELD_U128, 68999ce286dSHoratiu Vultur .offset = 59, 69099ce286dSHoratiu Vultur .width = 128, 69199ce286dSHoratiu Vultur }, 69299ce286dSHoratiu Vultur [VCAP_KF_L3_IP6_SIP] = { 69399ce286dSHoratiu Vultur .type = VCAP_FIELD_U128, 69499ce286dSHoratiu Vultur .offset = 187, 69599ce286dSHoratiu Vultur .width = 128, 69699ce286dSHoratiu Vultur }, 69799ce286dSHoratiu Vultur [VCAP_KF_L3_IP_PROTO] = { 69899ce286dSHoratiu Vultur .type = VCAP_FIELD_U32, 69999ce286dSHoratiu Vultur .offset = 315, 70099ce286dSHoratiu Vultur .width = 8, 70199ce286dSHoratiu Vultur }, 70299ce286dSHoratiu Vultur [VCAP_KF_TCP_UDP_IS] = { 70399ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 70499ce286dSHoratiu Vultur .offset = 323, 70599ce286dSHoratiu Vultur .width = 1, 70699ce286dSHoratiu Vultur }, 70799ce286dSHoratiu Vultur [VCAP_KF_L4_RNG] = { 70899ce286dSHoratiu Vultur .type = VCAP_FIELD_U32, 70999ce286dSHoratiu Vultur .offset = 324, 71099ce286dSHoratiu Vultur .width = 8, 71199ce286dSHoratiu Vultur }, 71299ce286dSHoratiu Vultur [VCAP_KF_IP_PAYLOAD_5TUPLE] = { 71399ce286dSHoratiu Vultur .type = VCAP_FIELD_U32, 71499ce286dSHoratiu Vultur .offset = 332, 71599ce286dSHoratiu Vultur .width = 32, 71699ce286dSHoratiu Vultur }, 71799ce286dSHoratiu Vultur }; 71899ce286dSHoratiu Vultur 71999ce286dSHoratiu Vultur static const struct vcap_field is1_dbl_vid_keyfield[] = { 72099ce286dSHoratiu Vultur [VCAP_KF_TYPE] = { 72199ce286dSHoratiu Vultur .type = VCAP_FIELD_U32, 72299ce286dSHoratiu Vultur .offset = 0, 72399ce286dSHoratiu Vultur .width = 2, 72499ce286dSHoratiu Vultur }, 72599ce286dSHoratiu Vultur [VCAP_KF_LOOKUP_INDEX] = { 72699ce286dSHoratiu Vultur .type = VCAP_FIELD_U32, 72799ce286dSHoratiu Vultur .offset = 2, 72899ce286dSHoratiu Vultur .width = 2, 72999ce286dSHoratiu Vultur }, 73099ce286dSHoratiu Vultur [VCAP_KF_IF_IGR_PORT_MASK] = { 73199ce286dSHoratiu Vultur .type = VCAP_FIELD_U32, 73299ce286dSHoratiu Vultur .offset = 4, 73399ce286dSHoratiu Vultur .width = 9, 73499ce286dSHoratiu Vultur }, 73599ce286dSHoratiu Vultur [VCAP_KF_L2_MC_IS] = { 73699ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 73799ce286dSHoratiu Vultur .offset = 13, 73899ce286dSHoratiu Vultur .width = 1, 73999ce286dSHoratiu Vultur }, 74099ce286dSHoratiu Vultur [VCAP_KF_L2_BC_IS] = { 74199ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 74299ce286dSHoratiu Vultur .offset = 14, 74399ce286dSHoratiu Vultur .width = 1, 74499ce286dSHoratiu Vultur }, 74599ce286dSHoratiu Vultur [VCAP_KF_IP_MC_IS] = { 74699ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 74799ce286dSHoratiu Vultur .offset = 15, 74899ce286dSHoratiu Vultur .width = 1, 74999ce286dSHoratiu Vultur }, 75099ce286dSHoratiu Vultur [VCAP_KF_8021CB_R_TAGGED_IS] = { 75199ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 75299ce286dSHoratiu Vultur .offset = 16, 75399ce286dSHoratiu Vultur .width = 1, 75499ce286dSHoratiu Vultur }, 75599ce286dSHoratiu Vultur [VCAP_KF_8021Q_VLAN_TAGGED_IS] = { 75699ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 75799ce286dSHoratiu Vultur .offset = 17, 75899ce286dSHoratiu Vultur .width = 1, 75999ce286dSHoratiu Vultur }, 76099ce286dSHoratiu Vultur [VCAP_KF_8021Q_VLAN_DBL_TAGGED_IS] = { 76199ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 76299ce286dSHoratiu Vultur .offset = 18, 76399ce286dSHoratiu Vultur .width = 1, 76499ce286dSHoratiu Vultur }, 76599ce286dSHoratiu Vultur [VCAP_KF_8021Q_TPID0] = { 76699ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 76799ce286dSHoratiu Vultur .offset = 19, 76899ce286dSHoratiu Vultur .width = 1, 76999ce286dSHoratiu Vultur }, 77099ce286dSHoratiu Vultur [VCAP_KF_8021Q_VID0] = { 77199ce286dSHoratiu Vultur .type = VCAP_FIELD_U32, 77299ce286dSHoratiu Vultur .offset = 20, 77399ce286dSHoratiu Vultur .width = 12, 77499ce286dSHoratiu Vultur }, 77599ce286dSHoratiu Vultur [VCAP_KF_8021Q_DEI0] = { 77699ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 77799ce286dSHoratiu Vultur .offset = 32, 77899ce286dSHoratiu Vultur .width = 1, 77999ce286dSHoratiu Vultur }, 78099ce286dSHoratiu Vultur [VCAP_KF_8021Q_PCP0] = { 78199ce286dSHoratiu Vultur .type = VCAP_FIELD_U32, 78299ce286dSHoratiu Vultur .offset = 33, 78399ce286dSHoratiu Vultur .width = 3, 78499ce286dSHoratiu Vultur }, 78599ce286dSHoratiu Vultur [VCAP_KF_8021Q_TPID1] = { 78699ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 78799ce286dSHoratiu Vultur .offset = 36, 78899ce286dSHoratiu Vultur .width = 1, 78999ce286dSHoratiu Vultur }, 79099ce286dSHoratiu Vultur [VCAP_KF_8021Q_VID1] = { 79199ce286dSHoratiu Vultur .type = VCAP_FIELD_U32, 79299ce286dSHoratiu Vultur .offset = 37, 79399ce286dSHoratiu Vultur .width = 12, 79499ce286dSHoratiu Vultur }, 79599ce286dSHoratiu Vultur [VCAP_KF_8021Q_DEI1] = { 79699ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 79799ce286dSHoratiu Vultur .offset = 49, 79899ce286dSHoratiu Vultur .width = 1, 79999ce286dSHoratiu Vultur }, 80099ce286dSHoratiu Vultur [VCAP_KF_8021Q_PCP1] = { 80199ce286dSHoratiu Vultur .type = VCAP_FIELD_U32, 80299ce286dSHoratiu Vultur .offset = 50, 80399ce286dSHoratiu Vultur .width = 3, 80499ce286dSHoratiu Vultur }, 80599ce286dSHoratiu Vultur [VCAP_KF_ETYPE_LEN_IS] = { 80699ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 80799ce286dSHoratiu Vultur .offset = 53, 80899ce286dSHoratiu Vultur .width = 1, 80999ce286dSHoratiu Vultur }, 81099ce286dSHoratiu Vultur [VCAP_KF_ETYPE] = { 81199ce286dSHoratiu Vultur .type = VCAP_FIELD_U32, 81299ce286dSHoratiu Vultur .offset = 54, 81399ce286dSHoratiu Vultur .width = 16, 81499ce286dSHoratiu Vultur }, 81599ce286dSHoratiu Vultur [VCAP_KF_IP_SNAP_IS] = { 81699ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 81799ce286dSHoratiu Vultur .offset = 70, 81899ce286dSHoratiu Vultur .width = 1, 81999ce286dSHoratiu Vultur }, 82099ce286dSHoratiu Vultur [VCAP_KF_IP4_IS] = { 82199ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 82299ce286dSHoratiu Vultur .offset = 71, 82399ce286dSHoratiu Vultur .width = 1, 82499ce286dSHoratiu Vultur }, 82599ce286dSHoratiu Vultur [VCAP_KF_L3_FRAGMENT] = { 82699ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 82799ce286dSHoratiu Vultur .offset = 72, 82899ce286dSHoratiu Vultur .width = 1, 82999ce286dSHoratiu Vultur }, 83099ce286dSHoratiu Vultur [VCAP_KF_L3_FRAG_OFS_GT0] = { 83199ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 83299ce286dSHoratiu Vultur .offset = 73, 83399ce286dSHoratiu Vultur .width = 1, 83499ce286dSHoratiu Vultur }, 83599ce286dSHoratiu Vultur [VCAP_KF_L3_OPTIONS_IS] = { 83699ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 83799ce286dSHoratiu Vultur .offset = 74, 83899ce286dSHoratiu Vultur .width = 1, 83999ce286dSHoratiu Vultur }, 84099ce286dSHoratiu Vultur [VCAP_KF_L3_DSCP] = { 84199ce286dSHoratiu Vultur .type = VCAP_FIELD_U32, 84299ce286dSHoratiu Vultur .offset = 75, 84399ce286dSHoratiu Vultur .width = 6, 84499ce286dSHoratiu Vultur }, 84599ce286dSHoratiu Vultur [VCAP_KF_TCP_UDP_IS] = { 84699ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 84799ce286dSHoratiu Vultur .offset = 81, 84899ce286dSHoratiu Vultur .width = 1, 84999ce286dSHoratiu Vultur }, 85099ce286dSHoratiu Vultur [VCAP_KF_TCP_IS] = { 85199ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 85299ce286dSHoratiu Vultur .offset = 82, 85399ce286dSHoratiu Vultur .width = 1, 85499ce286dSHoratiu Vultur }, 85599ce286dSHoratiu Vultur }; 85699ce286dSHoratiu Vultur 85799ce286dSHoratiu Vultur static const struct vcap_field is1_rt_keyfield[] = { 85899ce286dSHoratiu Vultur [VCAP_KF_TYPE] = { 85999ce286dSHoratiu Vultur .type = VCAP_FIELD_U32, 86099ce286dSHoratiu Vultur .offset = 0, 86199ce286dSHoratiu Vultur .width = 2, 86299ce286dSHoratiu Vultur }, 86399ce286dSHoratiu Vultur [VCAP_KF_LOOKUP_FIRST_IS] = { 86499ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 86599ce286dSHoratiu Vultur .offset = 2, 86699ce286dSHoratiu Vultur .width = 1, 86799ce286dSHoratiu Vultur }, 86899ce286dSHoratiu Vultur [VCAP_KF_IF_IGR_PORT] = { 86999ce286dSHoratiu Vultur .type = VCAP_FIELD_U32, 87099ce286dSHoratiu Vultur .offset = 3, 87199ce286dSHoratiu Vultur .width = 3, 87299ce286dSHoratiu Vultur }, 87399ce286dSHoratiu Vultur [VCAP_KF_8021CB_R_TAGGED_IS] = { 87499ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 87599ce286dSHoratiu Vultur .offset = 6, 87699ce286dSHoratiu Vultur .width = 1, 87799ce286dSHoratiu Vultur }, 87899ce286dSHoratiu Vultur [VCAP_KF_8021Q_VLAN_TAGGED_IS] = { 87999ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 88099ce286dSHoratiu Vultur .offset = 7, 88199ce286dSHoratiu Vultur .width = 1, 88299ce286dSHoratiu Vultur }, 88399ce286dSHoratiu Vultur [VCAP_KF_8021Q_VLAN_DBL_TAGGED_IS] = { 88499ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 88599ce286dSHoratiu Vultur .offset = 8, 88699ce286dSHoratiu Vultur .width = 1, 88799ce286dSHoratiu Vultur }, 88899ce286dSHoratiu Vultur [VCAP_KF_L2_MAC] = { 88999ce286dSHoratiu Vultur .type = VCAP_FIELD_U48, 89099ce286dSHoratiu Vultur .offset = 9, 89199ce286dSHoratiu Vultur .width = 48, 89299ce286dSHoratiu Vultur }, 89399ce286dSHoratiu Vultur [VCAP_KF_RT_VLAN_IDX] = { 89499ce286dSHoratiu Vultur .type = VCAP_FIELD_U32, 89599ce286dSHoratiu Vultur .offset = 57, 89699ce286dSHoratiu Vultur .width = 3, 89799ce286dSHoratiu Vultur }, 89899ce286dSHoratiu Vultur [VCAP_KF_RT_TYPE] = { 89999ce286dSHoratiu Vultur .type = VCAP_FIELD_U32, 90099ce286dSHoratiu Vultur .offset = 60, 90199ce286dSHoratiu Vultur .width = 2, 90299ce286dSHoratiu Vultur }, 90399ce286dSHoratiu Vultur [VCAP_KF_RT_FRMID] = { 90499ce286dSHoratiu Vultur .type = VCAP_FIELD_U32, 90599ce286dSHoratiu Vultur .offset = 62, 90699ce286dSHoratiu Vultur .width = 32, 90799ce286dSHoratiu Vultur }, 90899ce286dSHoratiu Vultur }; 90999ce286dSHoratiu Vultur 91099ce286dSHoratiu Vultur static const struct vcap_field is1_dmac_vid_keyfield[] = { 91199ce286dSHoratiu Vultur [VCAP_KF_TYPE] = { 91299ce286dSHoratiu Vultur .type = VCAP_FIELD_U32, 91399ce286dSHoratiu Vultur .offset = 0, 91499ce286dSHoratiu Vultur .width = 2, 91599ce286dSHoratiu Vultur }, 91699ce286dSHoratiu Vultur [VCAP_KF_LOOKUP_INDEX] = { 91799ce286dSHoratiu Vultur .type = VCAP_FIELD_U32, 91899ce286dSHoratiu Vultur .offset = 2, 91999ce286dSHoratiu Vultur .width = 2, 92099ce286dSHoratiu Vultur }, 92199ce286dSHoratiu Vultur [VCAP_KF_IF_IGR_PORT_MASK] = { 92299ce286dSHoratiu Vultur .type = VCAP_FIELD_U32, 92399ce286dSHoratiu Vultur .offset = 4, 92499ce286dSHoratiu Vultur .width = 9, 92599ce286dSHoratiu Vultur }, 92699ce286dSHoratiu Vultur [VCAP_KF_8021CB_R_TAGGED_IS] = { 92799ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 92899ce286dSHoratiu Vultur .offset = 13, 92999ce286dSHoratiu Vultur .width = 1, 93099ce286dSHoratiu Vultur }, 93199ce286dSHoratiu Vultur [VCAP_KF_8021Q_VLAN_TAGGED_IS] = { 93299ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 93399ce286dSHoratiu Vultur .offset = 14, 93499ce286dSHoratiu Vultur .width = 1, 93599ce286dSHoratiu Vultur }, 93699ce286dSHoratiu Vultur [VCAP_KF_8021Q_VLAN_DBL_TAGGED_IS] = { 93799ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 93899ce286dSHoratiu Vultur .offset = 15, 93999ce286dSHoratiu Vultur .width = 1, 94099ce286dSHoratiu Vultur }, 94199ce286dSHoratiu Vultur [VCAP_KF_8021Q_TPID0] = { 94299ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 94399ce286dSHoratiu Vultur .offset = 16, 94499ce286dSHoratiu Vultur .width = 1, 94599ce286dSHoratiu Vultur }, 94699ce286dSHoratiu Vultur [VCAP_KF_8021Q_VID0] = { 94799ce286dSHoratiu Vultur .type = VCAP_FIELD_U32, 94899ce286dSHoratiu Vultur .offset = 17, 94999ce286dSHoratiu Vultur .width = 12, 95099ce286dSHoratiu Vultur }, 95199ce286dSHoratiu Vultur [VCAP_KF_8021Q_DEI0] = { 95299ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 95399ce286dSHoratiu Vultur .offset = 29, 95499ce286dSHoratiu Vultur .width = 1, 95599ce286dSHoratiu Vultur }, 95699ce286dSHoratiu Vultur [VCAP_KF_8021Q_PCP0] = { 95799ce286dSHoratiu Vultur .type = VCAP_FIELD_U32, 95899ce286dSHoratiu Vultur .offset = 30, 95999ce286dSHoratiu Vultur .width = 3, 96099ce286dSHoratiu Vultur }, 96199ce286dSHoratiu Vultur [VCAP_KF_L2_DMAC] = { 96299ce286dSHoratiu Vultur .type = VCAP_FIELD_U48, 96399ce286dSHoratiu Vultur .offset = 33, 96499ce286dSHoratiu Vultur .width = 48, 96599ce286dSHoratiu Vultur }, 96699ce286dSHoratiu Vultur }; 96799ce286dSHoratiu Vultur 96839bedc16SHoratiu Vultur static const struct vcap_field is2_mac_etype_keyfield[] = { 96939bedc16SHoratiu Vultur [VCAP_KF_TYPE] = { 97039bedc16SHoratiu Vultur .type = VCAP_FIELD_U32, 97139bedc16SHoratiu Vultur .offset = 0, 97239bedc16SHoratiu Vultur .width = 4, 97339bedc16SHoratiu Vultur }, 97439bedc16SHoratiu Vultur [VCAP_KF_LOOKUP_FIRST_IS] = { 97539bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 97639bedc16SHoratiu Vultur .offset = 4, 97739bedc16SHoratiu Vultur .width = 1, 97839bedc16SHoratiu Vultur }, 97939bedc16SHoratiu Vultur [VCAP_KF_LOOKUP_PAG] = { 98039bedc16SHoratiu Vultur .type = VCAP_FIELD_U32, 98139bedc16SHoratiu Vultur .offset = 5, 98239bedc16SHoratiu Vultur .width = 8, 98339bedc16SHoratiu Vultur }, 98439bedc16SHoratiu Vultur [VCAP_KF_IF_IGR_PORT_MASK] = { 98539bedc16SHoratiu Vultur .type = VCAP_FIELD_U32, 98639bedc16SHoratiu Vultur .offset = 13, 98739bedc16SHoratiu Vultur .width = 9, 98839bedc16SHoratiu Vultur }, 98939bedc16SHoratiu Vultur [VCAP_KF_ISDX_GT0_IS] = { 99039bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 99139bedc16SHoratiu Vultur .offset = 22, 99239bedc16SHoratiu Vultur .width = 1, 99339bedc16SHoratiu Vultur }, 99439bedc16SHoratiu Vultur [VCAP_KF_HOST_MATCH] = { 99539bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 99639bedc16SHoratiu Vultur .offset = 23, 99739bedc16SHoratiu Vultur .width = 1, 99839bedc16SHoratiu Vultur }, 99939bedc16SHoratiu Vultur [VCAP_KF_L2_MC_IS] = { 100039bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 100139bedc16SHoratiu Vultur .offset = 24, 100239bedc16SHoratiu Vultur .width = 1, 100339bedc16SHoratiu Vultur }, 100439bedc16SHoratiu Vultur [VCAP_KF_L2_BC_IS] = { 100539bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 100639bedc16SHoratiu Vultur .offset = 25, 100739bedc16SHoratiu Vultur .width = 1, 100839bedc16SHoratiu Vultur }, 100939bedc16SHoratiu Vultur [VCAP_KF_8021Q_VLAN_TAGGED_IS] = { 101039bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 101139bedc16SHoratiu Vultur .offset = 26, 101239bedc16SHoratiu Vultur .width = 1, 101339bedc16SHoratiu Vultur }, 101439bedc16SHoratiu Vultur [VCAP_KF_8021Q_VID_CLS] = { 101539bedc16SHoratiu Vultur .type = VCAP_FIELD_U32, 101639bedc16SHoratiu Vultur .offset = 27, 101739bedc16SHoratiu Vultur .width = 12, 101839bedc16SHoratiu Vultur }, 101939bedc16SHoratiu Vultur [VCAP_KF_8021Q_DEI_CLS] = { 102039bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 102139bedc16SHoratiu Vultur .offset = 39, 102239bedc16SHoratiu Vultur .width = 1, 102339bedc16SHoratiu Vultur }, 102439bedc16SHoratiu Vultur [VCAP_KF_8021Q_PCP_CLS] = { 102539bedc16SHoratiu Vultur .type = VCAP_FIELD_U32, 102639bedc16SHoratiu Vultur .offset = 40, 102739bedc16SHoratiu Vultur .width = 3, 102839bedc16SHoratiu Vultur }, 102939bedc16SHoratiu Vultur [VCAP_KF_L2_DMAC] = { 103039bedc16SHoratiu Vultur .type = VCAP_FIELD_U48, 103139bedc16SHoratiu Vultur .offset = 43, 103239bedc16SHoratiu Vultur .width = 48, 103339bedc16SHoratiu Vultur }, 103439bedc16SHoratiu Vultur [VCAP_KF_L2_SMAC] = { 103539bedc16SHoratiu Vultur .type = VCAP_FIELD_U48, 103639bedc16SHoratiu Vultur .offset = 91, 103739bedc16SHoratiu Vultur .width = 48, 103839bedc16SHoratiu Vultur }, 103939bedc16SHoratiu Vultur [VCAP_KF_ETYPE] = { 104039bedc16SHoratiu Vultur .type = VCAP_FIELD_U32, 104139bedc16SHoratiu Vultur .offset = 139, 104239bedc16SHoratiu Vultur .width = 16, 104339bedc16SHoratiu Vultur }, 104439bedc16SHoratiu Vultur [VCAP_KF_L2_FRM_TYPE] = { 104539bedc16SHoratiu Vultur .type = VCAP_FIELD_U32, 104639bedc16SHoratiu Vultur .offset = 155, 104739bedc16SHoratiu Vultur .width = 4, 104839bedc16SHoratiu Vultur }, 104939bedc16SHoratiu Vultur [VCAP_KF_L2_PAYLOAD0] = { 105039bedc16SHoratiu Vultur .type = VCAP_FIELD_U32, 105139bedc16SHoratiu Vultur .offset = 159, 105239bedc16SHoratiu Vultur .width = 16, 105339bedc16SHoratiu Vultur }, 105439bedc16SHoratiu Vultur [VCAP_KF_L2_PAYLOAD1] = { 105539bedc16SHoratiu Vultur .type = VCAP_FIELD_U32, 105639bedc16SHoratiu Vultur .offset = 175, 105739bedc16SHoratiu Vultur .width = 8, 105839bedc16SHoratiu Vultur }, 105939bedc16SHoratiu Vultur [VCAP_KF_L2_PAYLOAD2] = { 106039bedc16SHoratiu Vultur .type = VCAP_FIELD_U32, 106139bedc16SHoratiu Vultur .offset = 183, 106239bedc16SHoratiu Vultur .width = 3, 106339bedc16SHoratiu Vultur }, 106439bedc16SHoratiu Vultur }; 106539bedc16SHoratiu Vultur 106639bedc16SHoratiu Vultur static const struct vcap_field is2_mac_llc_keyfield[] = { 106739bedc16SHoratiu Vultur [VCAP_KF_TYPE] = { 106839bedc16SHoratiu Vultur .type = VCAP_FIELD_U32, 106939bedc16SHoratiu Vultur .offset = 0, 107039bedc16SHoratiu Vultur .width = 4, 107139bedc16SHoratiu Vultur }, 107239bedc16SHoratiu Vultur [VCAP_KF_LOOKUP_FIRST_IS] = { 107339bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 107439bedc16SHoratiu Vultur .offset = 4, 107539bedc16SHoratiu Vultur .width = 1, 107639bedc16SHoratiu Vultur }, 107739bedc16SHoratiu Vultur [VCAP_KF_LOOKUP_PAG] = { 107839bedc16SHoratiu Vultur .type = VCAP_FIELD_U32, 107939bedc16SHoratiu Vultur .offset = 5, 108039bedc16SHoratiu Vultur .width = 8, 108139bedc16SHoratiu Vultur }, 108239bedc16SHoratiu Vultur [VCAP_KF_IF_IGR_PORT_MASK] = { 108339bedc16SHoratiu Vultur .type = VCAP_FIELD_U32, 108439bedc16SHoratiu Vultur .offset = 13, 108539bedc16SHoratiu Vultur .width = 9, 108639bedc16SHoratiu Vultur }, 108739bedc16SHoratiu Vultur [VCAP_KF_ISDX_GT0_IS] = { 108839bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 108939bedc16SHoratiu Vultur .offset = 22, 109039bedc16SHoratiu Vultur .width = 1, 109139bedc16SHoratiu Vultur }, 109239bedc16SHoratiu Vultur [VCAP_KF_HOST_MATCH] = { 109339bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 109439bedc16SHoratiu Vultur .offset = 23, 109539bedc16SHoratiu Vultur .width = 1, 109639bedc16SHoratiu Vultur }, 109739bedc16SHoratiu Vultur [VCAP_KF_L2_MC_IS] = { 109839bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 109939bedc16SHoratiu Vultur .offset = 24, 110039bedc16SHoratiu Vultur .width = 1, 110139bedc16SHoratiu Vultur }, 110239bedc16SHoratiu Vultur [VCAP_KF_L2_BC_IS] = { 110339bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 110439bedc16SHoratiu Vultur .offset = 25, 110539bedc16SHoratiu Vultur .width = 1, 110639bedc16SHoratiu Vultur }, 110739bedc16SHoratiu Vultur [VCAP_KF_8021Q_VLAN_TAGGED_IS] = { 110839bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 110939bedc16SHoratiu Vultur .offset = 26, 111039bedc16SHoratiu Vultur .width = 1, 111139bedc16SHoratiu Vultur }, 111239bedc16SHoratiu Vultur [VCAP_KF_8021Q_VID_CLS] = { 111339bedc16SHoratiu Vultur .type = VCAP_FIELD_U32, 111439bedc16SHoratiu Vultur .offset = 27, 111539bedc16SHoratiu Vultur .width = 12, 111639bedc16SHoratiu Vultur }, 111739bedc16SHoratiu Vultur [VCAP_KF_8021Q_DEI_CLS] = { 111839bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 111939bedc16SHoratiu Vultur .offset = 39, 112039bedc16SHoratiu Vultur .width = 1, 112139bedc16SHoratiu Vultur }, 112239bedc16SHoratiu Vultur [VCAP_KF_8021Q_PCP_CLS] = { 112339bedc16SHoratiu Vultur .type = VCAP_FIELD_U32, 112439bedc16SHoratiu Vultur .offset = 40, 112539bedc16SHoratiu Vultur .width = 3, 112639bedc16SHoratiu Vultur }, 112739bedc16SHoratiu Vultur [VCAP_KF_L2_DMAC] = { 112839bedc16SHoratiu Vultur .type = VCAP_FIELD_U48, 112939bedc16SHoratiu Vultur .offset = 43, 113039bedc16SHoratiu Vultur .width = 48, 113139bedc16SHoratiu Vultur }, 113239bedc16SHoratiu Vultur [VCAP_KF_L2_SMAC] = { 113339bedc16SHoratiu Vultur .type = VCAP_FIELD_U48, 113439bedc16SHoratiu Vultur .offset = 91, 113539bedc16SHoratiu Vultur .width = 48, 113639bedc16SHoratiu Vultur }, 113739bedc16SHoratiu Vultur [VCAP_KF_L2_LLC] = { 113839bedc16SHoratiu Vultur .type = VCAP_FIELD_U48, 113939bedc16SHoratiu Vultur .offset = 139, 114039bedc16SHoratiu Vultur .width = 40, 114139bedc16SHoratiu Vultur }, 114239bedc16SHoratiu Vultur }; 114339bedc16SHoratiu Vultur 114439bedc16SHoratiu Vultur static const struct vcap_field is2_mac_snap_keyfield[] = { 114539bedc16SHoratiu Vultur [VCAP_KF_TYPE] = { 114639bedc16SHoratiu Vultur .type = VCAP_FIELD_U32, 114739bedc16SHoratiu Vultur .offset = 0, 114839bedc16SHoratiu Vultur .width = 4, 114939bedc16SHoratiu Vultur }, 115039bedc16SHoratiu Vultur [VCAP_KF_LOOKUP_FIRST_IS] = { 115139bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 115239bedc16SHoratiu Vultur .offset = 4, 115339bedc16SHoratiu Vultur .width = 1, 115439bedc16SHoratiu Vultur }, 115539bedc16SHoratiu Vultur [VCAP_KF_LOOKUP_PAG] = { 115639bedc16SHoratiu Vultur .type = VCAP_FIELD_U32, 115739bedc16SHoratiu Vultur .offset = 5, 115839bedc16SHoratiu Vultur .width = 8, 115939bedc16SHoratiu Vultur }, 116039bedc16SHoratiu Vultur [VCAP_KF_IF_IGR_PORT_MASK] = { 116139bedc16SHoratiu Vultur .type = VCAP_FIELD_U32, 116239bedc16SHoratiu Vultur .offset = 13, 116339bedc16SHoratiu Vultur .width = 9, 116439bedc16SHoratiu Vultur }, 116539bedc16SHoratiu Vultur [VCAP_KF_ISDX_GT0_IS] = { 116639bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 116739bedc16SHoratiu Vultur .offset = 22, 116839bedc16SHoratiu Vultur .width = 1, 116939bedc16SHoratiu Vultur }, 117039bedc16SHoratiu Vultur [VCAP_KF_HOST_MATCH] = { 117139bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 117239bedc16SHoratiu Vultur .offset = 23, 117339bedc16SHoratiu Vultur .width = 1, 117439bedc16SHoratiu Vultur }, 117539bedc16SHoratiu Vultur [VCAP_KF_L2_MC_IS] = { 117639bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 117739bedc16SHoratiu Vultur .offset = 24, 117839bedc16SHoratiu Vultur .width = 1, 117939bedc16SHoratiu Vultur }, 118039bedc16SHoratiu Vultur [VCAP_KF_L2_BC_IS] = { 118139bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 118239bedc16SHoratiu Vultur .offset = 25, 118339bedc16SHoratiu Vultur .width = 1, 118439bedc16SHoratiu Vultur }, 118539bedc16SHoratiu Vultur [VCAP_KF_8021Q_VLAN_TAGGED_IS] = { 118639bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 118739bedc16SHoratiu Vultur .offset = 26, 118839bedc16SHoratiu Vultur .width = 1, 118939bedc16SHoratiu Vultur }, 119039bedc16SHoratiu Vultur [VCAP_KF_8021Q_VID_CLS] = { 119139bedc16SHoratiu Vultur .type = VCAP_FIELD_U32, 119239bedc16SHoratiu Vultur .offset = 27, 119339bedc16SHoratiu Vultur .width = 12, 119439bedc16SHoratiu Vultur }, 119539bedc16SHoratiu Vultur [VCAP_KF_8021Q_DEI_CLS] = { 119639bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 119739bedc16SHoratiu Vultur .offset = 39, 119839bedc16SHoratiu Vultur .width = 1, 119939bedc16SHoratiu Vultur }, 120039bedc16SHoratiu Vultur [VCAP_KF_8021Q_PCP_CLS] = { 120139bedc16SHoratiu Vultur .type = VCAP_FIELD_U32, 120239bedc16SHoratiu Vultur .offset = 40, 120339bedc16SHoratiu Vultur .width = 3, 120439bedc16SHoratiu Vultur }, 120539bedc16SHoratiu Vultur [VCAP_KF_L2_DMAC] = { 120639bedc16SHoratiu Vultur .type = VCAP_FIELD_U48, 120739bedc16SHoratiu Vultur .offset = 43, 120839bedc16SHoratiu Vultur .width = 48, 120939bedc16SHoratiu Vultur }, 121039bedc16SHoratiu Vultur [VCAP_KF_L2_SMAC] = { 121139bedc16SHoratiu Vultur .type = VCAP_FIELD_U48, 121239bedc16SHoratiu Vultur .offset = 91, 121339bedc16SHoratiu Vultur .width = 48, 121439bedc16SHoratiu Vultur }, 121539bedc16SHoratiu Vultur [VCAP_KF_L2_SNAP] = { 121639bedc16SHoratiu Vultur .type = VCAP_FIELD_U48, 121739bedc16SHoratiu Vultur .offset = 139, 121839bedc16SHoratiu Vultur .width = 40, 121939bedc16SHoratiu Vultur }, 122039bedc16SHoratiu Vultur }; 122139bedc16SHoratiu Vultur 122239bedc16SHoratiu Vultur static const struct vcap_field is2_arp_keyfield[] = { 122339bedc16SHoratiu Vultur [VCAP_KF_TYPE] = { 122439bedc16SHoratiu Vultur .type = VCAP_FIELD_U32, 122539bedc16SHoratiu Vultur .offset = 0, 122639bedc16SHoratiu Vultur .width = 4, 122739bedc16SHoratiu Vultur }, 122839bedc16SHoratiu Vultur [VCAP_KF_LOOKUP_FIRST_IS] = { 122939bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 123039bedc16SHoratiu Vultur .offset = 4, 123139bedc16SHoratiu Vultur .width = 1, 123239bedc16SHoratiu Vultur }, 123339bedc16SHoratiu Vultur [VCAP_KF_LOOKUP_PAG] = { 123439bedc16SHoratiu Vultur .type = VCAP_FIELD_U32, 123539bedc16SHoratiu Vultur .offset = 5, 123639bedc16SHoratiu Vultur .width = 8, 123739bedc16SHoratiu Vultur }, 123839bedc16SHoratiu Vultur [VCAP_KF_IF_IGR_PORT_MASK] = { 123939bedc16SHoratiu Vultur .type = VCAP_FIELD_U32, 124039bedc16SHoratiu Vultur .offset = 13, 124139bedc16SHoratiu Vultur .width = 9, 124239bedc16SHoratiu Vultur }, 124339bedc16SHoratiu Vultur [VCAP_KF_ISDX_GT0_IS] = { 124439bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 124539bedc16SHoratiu Vultur .offset = 22, 124639bedc16SHoratiu Vultur .width = 1, 124739bedc16SHoratiu Vultur }, 124839bedc16SHoratiu Vultur [VCAP_KF_HOST_MATCH] = { 124939bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 125039bedc16SHoratiu Vultur .offset = 23, 125139bedc16SHoratiu Vultur .width = 1, 125239bedc16SHoratiu Vultur }, 125339bedc16SHoratiu Vultur [VCAP_KF_L2_MC_IS] = { 125439bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 125539bedc16SHoratiu Vultur .offset = 24, 125639bedc16SHoratiu Vultur .width = 1, 125739bedc16SHoratiu Vultur }, 125839bedc16SHoratiu Vultur [VCAP_KF_L2_BC_IS] = { 125939bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 126039bedc16SHoratiu Vultur .offset = 25, 126139bedc16SHoratiu Vultur .width = 1, 126239bedc16SHoratiu Vultur }, 126339bedc16SHoratiu Vultur [VCAP_KF_8021Q_VLAN_TAGGED_IS] = { 126439bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 126539bedc16SHoratiu Vultur .offset = 26, 126639bedc16SHoratiu Vultur .width = 1, 126739bedc16SHoratiu Vultur }, 126839bedc16SHoratiu Vultur [VCAP_KF_8021Q_VID_CLS] = { 126939bedc16SHoratiu Vultur .type = VCAP_FIELD_U32, 127039bedc16SHoratiu Vultur .offset = 27, 127139bedc16SHoratiu Vultur .width = 12, 127239bedc16SHoratiu Vultur }, 127339bedc16SHoratiu Vultur [VCAP_KF_8021Q_DEI_CLS] = { 127439bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 127539bedc16SHoratiu Vultur .offset = 39, 127639bedc16SHoratiu Vultur .width = 1, 127739bedc16SHoratiu Vultur }, 127839bedc16SHoratiu Vultur [VCAP_KF_8021Q_PCP_CLS] = { 127939bedc16SHoratiu Vultur .type = VCAP_FIELD_U32, 128039bedc16SHoratiu Vultur .offset = 40, 128139bedc16SHoratiu Vultur .width = 3, 128239bedc16SHoratiu Vultur }, 128339bedc16SHoratiu Vultur [VCAP_KF_L2_SMAC] = { 128439bedc16SHoratiu Vultur .type = VCAP_FIELD_U48, 128539bedc16SHoratiu Vultur .offset = 43, 128639bedc16SHoratiu Vultur .width = 48, 128739bedc16SHoratiu Vultur }, 128839bedc16SHoratiu Vultur [VCAP_KF_ARP_ADDR_SPACE_OK_IS] = { 128939bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 129039bedc16SHoratiu Vultur .offset = 91, 129139bedc16SHoratiu Vultur .width = 1, 129239bedc16SHoratiu Vultur }, 129339bedc16SHoratiu Vultur [VCAP_KF_ARP_PROTO_SPACE_OK_IS] = { 129439bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 129539bedc16SHoratiu Vultur .offset = 92, 129639bedc16SHoratiu Vultur .width = 1, 129739bedc16SHoratiu Vultur }, 129839bedc16SHoratiu Vultur [VCAP_KF_ARP_LEN_OK_IS] = { 129939bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 130039bedc16SHoratiu Vultur .offset = 93, 130139bedc16SHoratiu Vultur .width = 1, 130239bedc16SHoratiu Vultur }, 130339bedc16SHoratiu Vultur [VCAP_KF_ARP_TGT_MATCH_IS] = { 130439bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 130539bedc16SHoratiu Vultur .offset = 94, 130639bedc16SHoratiu Vultur .width = 1, 130739bedc16SHoratiu Vultur }, 130839bedc16SHoratiu Vultur [VCAP_KF_ARP_SENDER_MATCH_IS] = { 130939bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 131039bedc16SHoratiu Vultur .offset = 95, 131139bedc16SHoratiu Vultur .width = 1, 131239bedc16SHoratiu Vultur }, 131339bedc16SHoratiu Vultur [VCAP_KF_ARP_OPCODE_UNKNOWN_IS] = { 131439bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 131539bedc16SHoratiu Vultur .offset = 96, 131639bedc16SHoratiu Vultur .width = 1, 131739bedc16SHoratiu Vultur }, 131839bedc16SHoratiu Vultur [VCAP_KF_ARP_OPCODE] = { 131939bedc16SHoratiu Vultur .type = VCAP_FIELD_U32, 132039bedc16SHoratiu Vultur .offset = 97, 132139bedc16SHoratiu Vultur .width = 2, 132239bedc16SHoratiu Vultur }, 132339bedc16SHoratiu Vultur [VCAP_KF_L3_IP4_DIP] = { 132439bedc16SHoratiu Vultur .type = VCAP_FIELD_U32, 132539bedc16SHoratiu Vultur .offset = 99, 132639bedc16SHoratiu Vultur .width = 32, 132739bedc16SHoratiu Vultur }, 132839bedc16SHoratiu Vultur [VCAP_KF_L3_IP4_SIP] = { 132939bedc16SHoratiu Vultur .type = VCAP_FIELD_U32, 133039bedc16SHoratiu Vultur .offset = 131, 133139bedc16SHoratiu Vultur .width = 32, 133239bedc16SHoratiu Vultur }, 133339bedc16SHoratiu Vultur [VCAP_KF_L3_DIP_EQ_SIP_IS] = { 133439bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 133539bedc16SHoratiu Vultur .offset = 163, 133639bedc16SHoratiu Vultur .width = 1, 133739bedc16SHoratiu Vultur }, 133839bedc16SHoratiu Vultur }; 133939bedc16SHoratiu Vultur 134039bedc16SHoratiu Vultur static const struct vcap_field is2_ip4_tcp_udp_keyfield[] = { 134139bedc16SHoratiu Vultur [VCAP_KF_TYPE] = { 134239bedc16SHoratiu Vultur .type = VCAP_FIELD_U32, 134339bedc16SHoratiu Vultur .offset = 0, 134439bedc16SHoratiu Vultur .width = 4, 134539bedc16SHoratiu Vultur }, 134639bedc16SHoratiu Vultur [VCAP_KF_LOOKUP_FIRST_IS] = { 134739bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 134839bedc16SHoratiu Vultur .offset = 4, 134939bedc16SHoratiu Vultur .width = 1, 135039bedc16SHoratiu Vultur }, 135139bedc16SHoratiu Vultur [VCAP_KF_LOOKUP_PAG] = { 135239bedc16SHoratiu Vultur .type = VCAP_FIELD_U32, 135339bedc16SHoratiu Vultur .offset = 5, 135439bedc16SHoratiu Vultur .width = 8, 135539bedc16SHoratiu Vultur }, 135639bedc16SHoratiu Vultur [VCAP_KF_IF_IGR_PORT_MASK] = { 135739bedc16SHoratiu Vultur .type = VCAP_FIELD_U32, 135839bedc16SHoratiu Vultur .offset = 13, 135939bedc16SHoratiu Vultur .width = 9, 136039bedc16SHoratiu Vultur }, 136139bedc16SHoratiu Vultur [VCAP_KF_ISDX_GT0_IS] = { 136239bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 136339bedc16SHoratiu Vultur .offset = 22, 136439bedc16SHoratiu Vultur .width = 1, 136539bedc16SHoratiu Vultur }, 136639bedc16SHoratiu Vultur [VCAP_KF_HOST_MATCH] = { 136739bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 136839bedc16SHoratiu Vultur .offset = 23, 136939bedc16SHoratiu Vultur .width = 1, 137039bedc16SHoratiu Vultur }, 137139bedc16SHoratiu Vultur [VCAP_KF_L2_MC_IS] = { 137239bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 137339bedc16SHoratiu Vultur .offset = 24, 137439bedc16SHoratiu Vultur .width = 1, 137539bedc16SHoratiu Vultur }, 137639bedc16SHoratiu Vultur [VCAP_KF_L2_BC_IS] = { 137739bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 137839bedc16SHoratiu Vultur .offset = 25, 137939bedc16SHoratiu Vultur .width = 1, 138039bedc16SHoratiu Vultur }, 138139bedc16SHoratiu Vultur [VCAP_KF_8021Q_VLAN_TAGGED_IS] = { 138239bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 138339bedc16SHoratiu Vultur .offset = 26, 138439bedc16SHoratiu Vultur .width = 1, 138539bedc16SHoratiu Vultur }, 138639bedc16SHoratiu Vultur [VCAP_KF_8021Q_VID_CLS] = { 138739bedc16SHoratiu Vultur .type = VCAP_FIELD_U32, 138839bedc16SHoratiu Vultur .offset = 27, 138939bedc16SHoratiu Vultur .width = 12, 139039bedc16SHoratiu Vultur }, 139139bedc16SHoratiu Vultur [VCAP_KF_8021Q_DEI_CLS] = { 139239bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 139339bedc16SHoratiu Vultur .offset = 39, 139439bedc16SHoratiu Vultur .width = 1, 139539bedc16SHoratiu Vultur }, 139639bedc16SHoratiu Vultur [VCAP_KF_8021Q_PCP_CLS] = { 139739bedc16SHoratiu Vultur .type = VCAP_FIELD_U32, 139839bedc16SHoratiu Vultur .offset = 40, 139939bedc16SHoratiu Vultur .width = 3, 140039bedc16SHoratiu Vultur }, 140139bedc16SHoratiu Vultur [VCAP_KF_IP4_IS] = { 140239bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 140339bedc16SHoratiu Vultur .offset = 43, 140439bedc16SHoratiu Vultur .width = 1, 140539bedc16SHoratiu Vultur }, 140639bedc16SHoratiu Vultur [VCAP_KF_L3_FRAGMENT] = { 140739bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 140839bedc16SHoratiu Vultur .offset = 44, 140939bedc16SHoratiu Vultur .width = 1, 141039bedc16SHoratiu Vultur }, 141139bedc16SHoratiu Vultur [VCAP_KF_L3_FRAG_OFS_GT0] = { 141239bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 141339bedc16SHoratiu Vultur .offset = 45, 141439bedc16SHoratiu Vultur .width = 1, 141539bedc16SHoratiu Vultur }, 141639bedc16SHoratiu Vultur [VCAP_KF_L3_OPTIONS_IS] = { 141739bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 141839bedc16SHoratiu Vultur .offset = 46, 141939bedc16SHoratiu Vultur .width = 1, 142039bedc16SHoratiu Vultur }, 142139bedc16SHoratiu Vultur [VCAP_KF_L3_TTL_GT0] = { 142239bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 142339bedc16SHoratiu Vultur .offset = 47, 142439bedc16SHoratiu Vultur .width = 1, 142539bedc16SHoratiu Vultur }, 142639bedc16SHoratiu Vultur [VCAP_KF_L3_TOS] = { 142739bedc16SHoratiu Vultur .type = VCAP_FIELD_U32, 142839bedc16SHoratiu Vultur .offset = 48, 142939bedc16SHoratiu Vultur .width = 8, 143039bedc16SHoratiu Vultur }, 143139bedc16SHoratiu Vultur [VCAP_KF_L3_IP4_DIP] = { 143239bedc16SHoratiu Vultur .type = VCAP_FIELD_U32, 143339bedc16SHoratiu Vultur .offset = 56, 143439bedc16SHoratiu Vultur .width = 32, 143539bedc16SHoratiu Vultur }, 143639bedc16SHoratiu Vultur [VCAP_KF_L3_IP4_SIP] = { 143739bedc16SHoratiu Vultur .type = VCAP_FIELD_U32, 143839bedc16SHoratiu Vultur .offset = 88, 143939bedc16SHoratiu Vultur .width = 32, 144039bedc16SHoratiu Vultur }, 144139bedc16SHoratiu Vultur [VCAP_KF_L3_DIP_EQ_SIP_IS] = { 144239bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 144339bedc16SHoratiu Vultur .offset = 120, 144439bedc16SHoratiu Vultur .width = 1, 144539bedc16SHoratiu Vultur }, 144639bedc16SHoratiu Vultur [VCAP_KF_TCP_IS] = { 144739bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 144839bedc16SHoratiu Vultur .offset = 121, 144939bedc16SHoratiu Vultur .width = 1, 145039bedc16SHoratiu Vultur }, 145139bedc16SHoratiu Vultur [VCAP_KF_L4_DPORT] = { 145239bedc16SHoratiu Vultur .type = VCAP_FIELD_U32, 145339bedc16SHoratiu Vultur .offset = 122, 145439bedc16SHoratiu Vultur .width = 16, 145539bedc16SHoratiu Vultur }, 145639bedc16SHoratiu Vultur [VCAP_KF_L4_SPORT] = { 145739bedc16SHoratiu Vultur .type = VCAP_FIELD_U32, 145839bedc16SHoratiu Vultur .offset = 138, 145939bedc16SHoratiu Vultur .width = 16, 146039bedc16SHoratiu Vultur }, 146139bedc16SHoratiu Vultur [VCAP_KF_L4_RNG] = { 146239bedc16SHoratiu Vultur .type = VCAP_FIELD_U32, 146339bedc16SHoratiu Vultur .offset = 154, 146439bedc16SHoratiu Vultur .width = 8, 146539bedc16SHoratiu Vultur }, 146639bedc16SHoratiu Vultur [VCAP_KF_L4_SPORT_EQ_DPORT_IS] = { 146739bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 146839bedc16SHoratiu Vultur .offset = 162, 146939bedc16SHoratiu Vultur .width = 1, 147039bedc16SHoratiu Vultur }, 147139bedc16SHoratiu Vultur [VCAP_KF_L4_SEQUENCE_EQ0_IS] = { 147239bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 147339bedc16SHoratiu Vultur .offset = 163, 147439bedc16SHoratiu Vultur .width = 1, 147539bedc16SHoratiu Vultur }, 147639bedc16SHoratiu Vultur [VCAP_KF_L4_FIN] = { 147739bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 147839bedc16SHoratiu Vultur .offset = 164, 147939bedc16SHoratiu Vultur .width = 1, 148039bedc16SHoratiu Vultur }, 148139bedc16SHoratiu Vultur [VCAP_KF_L4_SYN] = { 148239bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 148339bedc16SHoratiu Vultur .offset = 165, 148439bedc16SHoratiu Vultur .width = 1, 148539bedc16SHoratiu Vultur }, 148639bedc16SHoratiu Vultur [VCAP_KF_L4_RST] = { 148739bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 148839bedc16SHoratiu Vultur .offset = 166, 148939bedc16SHoratiu Vultur .width = 1, 149039bedc16SHoratiu Vultur }, 149139bedc16SHoratiu Vultur [VCAP_KF_L4_PSH] = { 149239bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 149339bedc16SHoratiu Vultur .offset = 167, 149439bedc16SHoratiu Vultur .width = 1, 149539bedc16SHoratiu Vultur }, 149639bedc16SHoratiu Vultur [VCAP_KF_L4_ACK] = { 149739bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 149839bedc16SHoratiu Vultur .offset = 168, 149939bedc16SHoratiu Vultur .width = 1, 150039bedc16SHoratiu Vultur }, 150139bedc16SHoratiu Vultur [VCAP_KF_L4_URG] = { 150239bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 150339bedc16SHoratiu Vultur .offset = 169, 150439bedc16SHoratiu Vultur .width = 1, 150539bedc16SHoratiu Vultur }, 150639bedc16SHoratiu Vultur [VCAP_KF_L4_1588_DOM] = { 150739bedc16SHoratiu Vultur .type = VCAP_FIELD_U32, 150839bedc16SHoratiu Vultur .offset = 170, 150939bedc16SHoratiu Vultur .width = 8, 151039bedc16SHoratiu Vultur }, 151139bedc16SHoratiu Vultur [VCAP_KF_L4_1588_VER] = { 151239bedc16SHoratiu Vultur .type = VCAP_FIELD_U32, 151339bedc16SHoratiu Vultur .offset = 178, 151439bedc16SHoratiu Vultur .width = 4, 151539bedc16SHoratiu Vultur }, 151639bedc16SHoratiu Vultur }; 151739bedc16SHoratiu Vultur 151839bedc16SHoratiu Vultur static const struct vcap_field is2_ip4_other_keyfield[] = { 151939bedc16SHoratiu Vultur [VCAP_KF_TYPE] = { 152039bedc16SHoratiu Vultur .type = VCAP_FIELD_U32, 152139bedc16SHoratiu Vultur .offset = 0, 152239bedc16SHoratiu Vultur .width = 4, 152339bedc16SHoratiu Vultur }, 152439bedc16SHoratiu Vultur [VCAP_KF_LOOKUP_FIRST_IS] = { 152539bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 152639bedc16SHoratiu Vultur .offset = 4, 152739bedc16SHoratiu Vultur .width = 1, 152839bedc16SHoratiu Vultur }, 152939bedc16SHoratiu Vultur [VCAP_KF_LOOKUP_PAG] = { 153039bedc16SHoratiu Vultur .type = VCAP_FIELD_U32, 153139bedc16SHoratiu Vultur .offset = 5, 153239bedc16SHoratiu Vultur .width = 8, 153339bedc16SHoratiu Vultur }, 153439bedc16SHoratiu Vultur [VCAP_KF_IF_IGR_PORT_MASK] = { 153539bedc16SHoratiu Vultur .type = VCAP_FIELD_U32, 153639bedc16SHoratiu Vultur .offset = 13, 153739bedc16SHoratiu Vultur .width = 9, 153839bedc16SHoratiu Vultur }, 153939bedc16SHoratiu Vultur [VCAP_KF_ISDX_GT0_IS] = { 154039bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 154139bedc16SHoratiu Vultur .offset = 22, 154239bedc16SHoratiu Vultur .width = 1, 154339bedc16SHoratiu Vultur }, 154439bedc16SHoratiu Vultur [VCAP_KF_HOST_MATCH] = { 154539bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 154639bedc16SHoratiu Vultur .offset = 23, 154739bedc16SHoratiu Vultur .width = 1, 154839bedc16SHoratiu Vultur }, 154939bedc16SHoratiu Vultur [VCAP_KF_L2_MC_IS] = { 155039bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 155139bedc16SHoratiu Vultur .offset = 24, 155239bedc16SHoratiu Vultur .width = 1, 155339bedc16SHoratiu Vultur }, 155439bedc16SHoratiu Vultur [VCAP_KF_L2_BC_IS] = { 155539bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 155639bedc16SHoratiu Vultur .offset = 25, 155739bedc16SHoratiu Vultur .width = 1, 155839bedc16SHoratiu Vultur }, 155939bedc16SHoratiu Vultur [VCAP_KF_8021Q_VLAN_TAGGED_IS] = { 156039bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 156139bedc16SHoratiu Vultur .offset = 26, 156239bedc16SHoratiu Vultur .width = 1, 156339bedc16SHoratiu Vultur }, 156439bedc16SHoratiu Vultur [VCAP_KF_8021Q_VID_CLS] = { 156539bedc16SHoratiu Vultur .type = VCAP_FIELD_U32, 156639bedc16SHoratiu Vultur .offset = 27, 156739bedc16SHoratiu Vultur .width = 12, 156839bedc16SHoratiu Vultur }, 156939bedc16SHoratiu Vultur [VCAP_KF_8021Q_DEI_CLS] = { 157039bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 157139bedc16SHoratiu Vultur .offset = 39, 157239bedc16SHoratiu Vultur .width = 1, 157339bedc16SHoratiu Vultur }, 157439bedc16SHoratiu Vultur [VCAP_KF_8021Q_PCP_CLS] = { 157539bedc16SHoratiu Vultur .type = VCAP_FIELD_U32, 157639bedc16SHoratiu Vultur .offset = 40, 157739bedc16SHoratiu Vultur .width = 3, 157839bedc16SHoratiu Vultur }, 157939bedc16SHoratiu Vultur [VCAP_KF_IP4_IS] = { 158039bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 158139bedc16SHoratiu Vultur .offset = 43, 158239bedc16SHoratiu Vultur .width = 1, 158339bedc16SHoratiu Vultur }, 158439bedc16SHoratiu Vultur [VCAP_KF_L3_FRAGMENT] = { 158539bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 158639bedc16SHoratiu Vultur .offset = 44, 158739bedc16SHoratiu Vultur .width = 1, 158839bedc16SHoratiu Vultur }, 158939bedc16SHoratiu Vultur [VCAP_KF_L3_FRAG_OFS_GT0] = { 159039bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 159139bedc16SHoratiu Vultur .offset = 45, 159239bedc16SHoratiu Vultur .width = 1, 159339bedc16SHoratiu Vultur }, 159439bedc16SHoratiu Vultur [VCAP_KF_L3_OPTIONS_IS] = { 159539bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 159639bedc16SHoratiu Vultur .offset = 46, 159739bedc16SHoratiu Vultur .width = 1, 159839bedc16SHoratiu Vultur }, 159939bedc16SHoratiu Vultur [VCAP_KF_L3_TTL_GT0] = { 160039bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 160139bedc16SHoratiu Vultur .offset = 47, 160239bedc16SHoratiu Vultur .width = 1, 160339bedc16SHoratiu Vultur }, 160439bedc16SHoratiu Vultur [VCAP_KF_L3_TOS] = { 160539bedc16SHoratiu Vultur .type = VCAP_FIELD_U32, 160639bedc16SHoratiu Vultur .offset = 48, 160739bedc16SHoratiu Vultur .width = 8, 160839bedc16SHoratiu Vultur }, 160939bedc16SHoratiu Vultur [VCAP_KF_L3_IP4_DIP] = { 161039bedc16SHoratiu Vultur .type = VCAP_FIELD_U32, 161139bedc16SHoratiu Vultur .offset = 56, 161239bedc16SHoratiu Vultur .width = 32, 161339bedc16SHoratiu Vultur }, 161439bedc16SHoratiu Vultur [VCAP_KF_L3_IP4_SIP] = { 161539bedc16SHoratiu Vultur .type = VCAP_FIELD_U32, 161639bedc16SHoratiu Vultur .offset = 88, 161739bedc16SHoratiu Vultur .width = 32, 161839bedc16SHoratiu Vultur }, 161939bedc16SHoratiu Vultur [VCAP_KF_L3_DIP_EQ_SIP_IS] = { 162039bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 162139bedc16SHoratiu Vultur .offset = 120, 162239bedc16SHoratiu Vultur .width = 1, 162339bedc16SHoratiu Vultur }, 162439bedc16SHoratiu Vultur [VCAP_KF_L3_IP_PROTO] = { 162539bedc16SHoratiu Vultur .type = VCAP_FIELD_U32, 162639bedc16SHoratiu Vultur .offset = 121, 162739bedc16SHoratiu Vultur .width = 8, 162839bedc16SHoratiu Vultur }, 162939bedc16SHoratiu Vultur [VCAP_KF_L3_PAYLOAD] = { 163039bedc16SHoratiu Vultur .type = VCAP_FIELD_U56, 163139bedc16SHoratiu Vultur .offset = 129, 163239bedc16SHoratiu Vultur .width = 56, 163339bedc16SHoratiu Vultur }, 163439bedc16SHoratiu Vultur }; 163539bedc16SHoratiu Vultur 163639bedc16SHoratiu Vultur static const struct vcap_field is2_ip6_std_keyfield[] = { 163739bedc16SHoratiu Vultur [VCAP_KF_TYPE] = { 163839bedc16SHoratiu Vultur .type = VCAP_FIELD_U32, 163939bedc16SHoratiu Vultur .offset = 0, 164039bedc16SHoratiu Vultur .width = 4, 164139bedc16SHoratiu Vultur }, 164239bedc16SHoratiu Vultur [VCAP_KF_LOOKUP_FIRST_IS] = { 164339bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 164439bedc16SHoratiu Vultur .offset = 4, 164539bedc16SHoratiu Vultur .width = 1, 164639bedc16SHoratiu Vultur }, 164739bedc16SHoratiu Vultur [VCAP_KF_LOOKUP_PAG] = { 164839bedc16SHoratiu Vultur .type = VCAP_FIELD_U32, 164939bedc16SHoratiu Vultur .offset = 5, 165039bedc16SHoratiu Vultur .width = 8, 165139bedc16SHoratiu Vultur }, 165239bedc16SHoratiu Vultur [VCAP_KF_IF_IGR_PORT_MASK] = { 165339bedc16SHoratiu Vultur .type = VCAP_FIELD_U32, 165439bedc16SHoratiu Vultur .offset = 13, 165539bedc16SHoratiu Vultur .width = 9, 165639bedc16SHoratiu Vultur }, 165739bedc16SHoratiu Vultur [VCAP_KF_ISDX_GT0_IS] = { 165839bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 165939bedc16SHoratiu Vultur .offset = 22, 166039bedc16SHoratiu Vultur .width = 1, 166139bedc16SHoratiu Vultur }, 166239bedc16SHoratiu Vultur [VCAP_KF_HOST_MATCH] = { 166339bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 166439bedc16SHoratiu Vultur .offset = 23, 166539bedc16SHoratiu Vultur .width = 1, 166639bedc16SHoratiu Vultur }, 166739bedc16SHoratiu Vultur [VCAP_KF_L2_MC_IS] = { 166839bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 166939bedc16SHoratiu Vultur .offset = 24, 167039bedc16SHoratiu Vultur .width = 1, 167139bedc16SHoratiu Vultur }, 167239bedc16SHoratiu Vultur [VCAP_KF_L2_BC_IS] = { 167339bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 167439bedc16SHoratiu Vultur .offset = 25, 167539bedc16SHoratiu Vultur .width = 1, 167639bedc16SHoratiu Vultur }, 167739bedc16SHoratiu Vultur [VCAP_KF_8021Q_VLAN_TAGGED_IS] = { 167839bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 167939bedc16SHoratiu Vultur .offset = 26, 168039bedc16SHoratiu Vultur .width = 1, 168139bedc16SHoratiu Vultur }, 168239bedc16SHoratiu Vultur [VCAP_KF_8021Q_VID_CLS] = { 168339bedc16SHoratiu Vultur .type = VCAP_FIELD_U32, 168439bedc16SHoratiu Vultur .offset = 27, 168539bedc16SHoratiu Vultur .width = 12, 168639bedc16SHoratiu Vultur }, 168739bedc16SHoratiu Vultur [VCAP_KF_8021Q_DEI_CLS] = { 168839bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 168939bedc16SHoratiu Vultur .offset = 39, 169039bedc16SHoratiu Vultur .width = 1, 169139bedc16SHoratiu Vultur }, 169239bedc16SHoratiu Vultur [VCAP_KF_8021Q_PCP_CLS] = { 169339bedc16SHoratiu Vultur .type = VCAP_FIELD_U32, 169439bedc16SHoratiu Vultur .offset = 40, 169539bedc16SHoratiu Vultur .width = 3, 169639bedc16SHoratiu Vultur }, 169739bedc16SHoratiu Vultur [VCAP_KF_L3_TTL_GT0] = { 169839bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 169939bedc16SHoratiu Vultur .offset = 43, 170039bedc16SHoratiu Vultur .width = 1, 170139bedc16SHoratiu Vultur }, 170239bedc16SHoratiu Vultur [VCAP_KF_L3_IP6_SIP] = { 170339bedc16SHoratiu Vultur .type = VCAP_FIELD_U128, 170439bedc16SHoratiu Vultur .offset = 44, 170539bedc16SHoratiu Vultur .width = 128, 170639bedc16SHoratiu Vultur }, 170739bedc16SHoratiu Vultur [VCAP_KF_L3_IP_PROTO] = { 170839bedc16SHoratiu Vultur .type = VCAP_FIELD_U32, 170939bedc16SHoratiu Vultur .offset = 172, 171039bedc16SHoratiu Vultur .width = 8, 171139bedc16SHoratiu Vultur }, 171239bedc16SHoratiu Vultur }; 171339bedc16SHoratiu Vultur 171439bedc16SHoratiu Vultur static const struct vcap_field is2_oam_keyfield[] = { 171539bedc16SHoratiu Vultur [VCAP_KF_TYPE] = { 171639bedc16SHoratiu Vultur .type = VCAP_FIELD_U32, 171739bedc16SHoratiu Vultur .offset = 0, 171839bedc16SHoratiu Vultur .width = 4, 171939bedc16SHoratiu Vultur }, 172039bedc16SHoratiu Vultur [VCAP_KF_LOOKUP_FIRST_IS] = { 172139bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 172239bedc16SHoratiu Vultur .offset = 4, 172339bedc16SHoratiu Vultur .width = 1, 172439bedc16SHoratiu Vultur }, 172539bedc16SHoratiu Vultur [VCAP_KF_LOOKUP_PAG] = { 172639bedc16SHoratiu Vultur .type = VCAP_FIELD_U32, 172739bedc16SHoratiu Vultur .offset = 5, 172839bedc16SHoratiu Vultur .width = 8, 172939bedc16SHoratiu Vultur }, 173039bedc16SHoratiu Vultur [VCAP_KF_IF_IGR_PORT_MASK] = { 173139bedc16SHoratiu Vultur .type = VCAP_FIELD_U32, 173239bedc16SHoratiu Vultur .offset = 13, 173339bedc16SHoratiu Vultur .width = 9, 173439bedc16SHoratiu Vultur }, 173539bedc16SHoratiu Vultur [VCAP_KF_ISDX_GT0_IS] = { 173639bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 173739bedc16SHoratiu Vultur .offset = 22, 173839bedc16SHoratiu Vultur .width = 1, 173939bedc16SHoratiu Vultur }, 174039bedc16SHoratiu Vultur [VCAP_KF_HOST_MATCH] = { 174139bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 174239bedc16SHoratiu Vultur .offset = 23, 174339bedc16SHoratiu Vultur .width = 1, 174439bedc16SHoratiu Vultur }, 174539bedc16SHoratiu Vultur [VCAP_KF_L2_MC_IS] = { 174639bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 174739bedc16SHoratiu Vultur .offset = 24, 174839bedc16SHoratiu Vultur .width = 1, 174939bedc16SHoratiu Vultur }, 175039bedc16SHoratiu Vultur [VCAP_KF_L2_BC_IS] = { 175139bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 175239bedc16SHoratiu Vultur .offset = 25, 175339bedc16SHoratiu Vultur .width = 1, 175439bedc16SHoratiu Vultur }, 175539bedc16SHoratiu Vultur [VCAP_KF_8021Q_VLAN_TAGGED_IS] = { 175639bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 175739bedc16SHoratiu Vultur .offset = 26, 175839bedc16SHoratiu Vultur .width = 1, 175939bedc16SHoratiu Vultur }, 176039bedc16SHoratiu Vultur [VCAP_KF_8021Q_VID_CLS] = { 176139bedc16SHoratiu Vultur .type = VCAP_FIELD_U32, 176239bedc16SHoratiu Vultur .offset = 27, 176339bedc16SHoratiu Vultur .width = 12, 176439bedc16SHoratiu Vultur }, 176539bedc16SHoratiu Vultur [VCAP_KF_8021Q_DEI_CLS] = { 176639bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 176739bedc16SHoratiu Vultur .offset = 39, 176839bedc16SHoratiu Vultur .width = 1, 176939bedc16SHoratiu Vultur }, 177039bedc16SHoratiu Vultur [VCAP_KF_8021Q_PCP_CLS] = { 177139bedc16SHoratiu Vultur .type = VCAP_FIELD_U32, 177239bedc16SHoratiu Vultur .offset = 40, 177339bedc16SHoratiu Vultur .width = 3, 177439bedc16SHoratiu Vultur }, 177539bedc16SHoratiu Vultur [VCAP_KF_L2_DMAC] = { 177639bedc16SHoratiu Vultur .type = VCAP_FIELD_U48, 177739bedc16SHoratiu Vultur .offset = 43, 177839bedc16SHoratiu Vultur .width = 48, 177939bedc16SHoratiu Vultur }, 178039bedc16SHoratiu Vultur [VCAP_KF_L2_SMAC] = { 178139bedc16SHoratiu Vultur .type = VCAP_FIELD_U48, 178239bedc16SHoratiu Vultur .offset = 91, 178339bedc16SHoratiu Vultur .width = 48, 178439bedc16SHoratiu Vultur }, 178539bedc16SHoratiu Vultur [VCAP_KF_OAM_MEL_FLAGS] = { 178639bedc16SHoratiu Vultur .type = VCAP_FIELD_U32, 178739bedc16SHoratiu Vultur .offset = 139, 178839bedc16SHoratiu Vultur .width = 7, 178939bedc16SHoratiu Vultur }, 179039bedc16SHoratiu Vultur [VCAP_KF_OAM_VER] = { 179139bedc16SHoratiu Vultur .type = VCAP_FIELD_U32, 179239bedc16SHoratiu Vultur .offset = 146, 179339bedc16SHoratiu Vultur .width = 5, 179439bedc16SHoratiu Vultur }, 179539bedc16SHoratiu Vultur [VCAP_KF_OAM_OPCODE] = { 179639bedc16SHoratiu Vultur .type = VCAP_FIELD_U32, 179739bedc16SHoratiu Vultur .offset = 151, 179839bedc16SHoratiu Vultur .width = 8, 179939bedc16SHoratiu Vultur }, 180039bedc16SHoratiu Vultur [VCAP_KF_OAM_FLAGS] = { 180139bedc16SHoratiu Vultur .type = VCAP_FIELD_U32, 180239bedc16SHoratiu Vultur .offset = 159, 180339bedc16SHoratiu Vultur .width = 8, 180439bedc16SHoratiu Vultur }, 180539bedc16SHoratiu Vultur [VCAP_KF_OAM_MEPID] = { 180639bedc16SHoratiu Vultur .type = VCAP_FIELD_U32, 180739bedc16SHoratiu Vultur .offset = 167, 180839bedc16SHoratiu Vultur .width = 16, 180939bedc16SHoratiu Vultur }, 181039bedc16SHoratiu Vultur [VCAP_KF_OAM_CCM_CNTS_EQ0] = { 181139bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 181239bedc16SHoratiu Vultur .offset = 183, 181339bedc16SHoratiu Vultur .width = 1, 181439bedc16SHoratiu Vultur }, 181539bedc16SHoratiu Vultur [VCAP_KF_OAM_Y1731_IS] = { 181639bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 181739bedc16SHoratiu Vultur .offset = 184, 181839bedc16SHoratiu Vultur .width = 1, 181939bedc16SHoratiu Vultur }, 182039bedc16SHoratiu Vultur [VCAP_KF_OAM_DETECTED] = { 182139bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 182239bedc16SHoratiu Vultur .offset = 185, 182339bedc16SHoratiu Vultur .width = 1, 182439bedc16SHoratiu Vultur }, 182539bedc16SHoratiu Vultur }; 182639bedc16SHoratiu Vultur 182739bedc16SHoratiu Vultur static const struct vcap_field is2_ip6_tcp_udp_keyfield[] = { 182839bedc16SHoratiu Vultur [VCAP_KF_TYPE] = { 182939bedc16SHoratiu Vultur .type = VCAP_FIELD_U32, 183039bedc16SHoratiu Vultur .offset = 0, 183139bedc16SHoratiu Vultur .width = 2, 183239bedc16SHoratiu Vultur }, 183339bedc16SHoratiu Vultur [VCAP_KF_LOOKUP_FIRST_IS] = { 183439bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 183539bedc16SHoratiu Vultur .offset = 2, 183639bedc16SHoratiu Vultur .width = 1, 183739bedc16SHoratiu Vultur }, 183839bedc16SHoratiu Vultur [VCAP_KF_LOOKUP_PAG] = { 183939bedc16SHoratiu Vultur .type = VCAP_FIELD_U32, 184039bedc16SHoratiu Vultur .offset = 3, 184139bedc16SHoratiu Vultur .width = 8, 184239bedc16SHoratiu Vultur }, 184339bedc16SHoratiu Vultur [VCAP_KF_IF_IGR_PORT_MASK] = { 184439bedc16SHoratiu Vultur .type = VCAP_FIELD_U32, 184539bedc16SHoratiu Vultur .offset = 11, 184639bedc16SHoratiu Vultur .width = 9, 184739bedc16SHoratiu Vultur }, 184839bedc16SHoratiu Vultur [VCAP_KF_ISDX_GT0_IS] = { 184939bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 185039bedc16SHoratiu Vultur .offset = 20, 185139bedc16SHoratiu Vultur .width = 1, 185239bedc16SHoratiu Vultur }, 185339bedc16SHoratiu Vultur [VCAP_KF_HOST_MATCH] = { 185439bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 185539bedc16SHoratiu Vultur .offset = 21, 185639bedc16SHoratiu Vultur .width = 1, 185739bedc16SHoratiu Vultur }, 185839bedc16SHoratiu Vultur [VCAP_KF_L2_MC_IS] = { 185939bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 186039bedc16SHoratiu Vultur .offset = 22, 186139bedc16SHoratiu Vultur .width = 1, 186239bedc16SHoratiu Vultur }, 186339bedc16SHoratiu Vultur [VCAP_KF_L2_BC_IS] = { 186439bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 186539bedc16SHoratiu Vultur .offset = 23, 186639bedc16SHoratiu Vultur .width = 1, 186739bedc16SHoratiu Vultur }, 186839bedc16SHoratiu Vultur [VCAP_KF_8021Q_VLAN_TAGGED_IS] = { 186939bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 187039bedc16SHoratiu Vultur .offset = 24, 187139bedc16SHoratiu Vultur .width = 1, 187239bedc16SHoratiu Vultur }, 187339bedc16SHoratiu Vultur [VCAP_KF_8021Q_VID_CLS] = { 187439bedc16SHoratiu Vultur .type = VCAP_FIELD_U32, 187539bedc16SHoratiu Vultur .offset = 25, 187639bedc16SHoratiu Vultur .width = 12, 187739bedc16SHoratiu Vultur }, 187839bedc16SHoratiu Vultur [VCAP_KF_8021Q_DEI_CLS] = { 187939bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 188039bedc16SHoratiu Vultur .offset = 37, 188139bedc16SHoratiu Vultur .width = 1, 188239bedc16SHoratiu Vultur }, 188339bedc16SHoratiu Vultur [VCAP_KF_8021Q_PCP_CLS] = { 188439bedc16SHoratiu Vultur .type = VCAP_FIELD_U32, 188539bedc16SHoratiu Vultur .offset = 38, 188639bedc16SHoratiu Vultur .width = 3, 188739bedc16SHoratiu Vultur }, 188839bedc16SHoratiu Vultur [VCAP_KF_L3_TTL_GT0] = { 188939bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 189039bedc16SHoratiu Vultur .offset = 41, 189139bedc16SHoratiu Vultur .width = 1, 189239bedc16SHoratiu Vultur }, 189339bedc16SHoratiu Vultur [VCAP_KF_L3_TOS] = { 189439bedc16SHoratiu Vultur .type = VCAP_FIELD_U32, 189539bedc16SHoratiu Vultur .offset = 42, 189639bedc16SHoratiu Vultur .width = 8, 189739bedc16SHoratiu Vultur }, 189839bedc16SHoratiu Vultur [VCAP_KF_L3_IP6_DIP] = { 189939bedc16SHoratiu Vultur .type = VCAP_FIELD_U128, 190039bedc16SHoratiu Vultur .offset = 50, 190139bedc16SHoratiu Vultur .width = 128, 190239bedc16SHoratiu Vultur }, 190339bedc16SHoratiu Vultur [VCAP_KF_L3_IP6_SIP] = { 190439bedc16SHoratiu Vultur .type = VCAP_FIELD_U128, 190539bedc16SHoratiu Vultur .offset = 178, 190639bedc16SHoratiu Vultur .width = 128, 190739bedc16SHoratiu Vultur }, 190839bedc16SHoratiu Vultur [VCAP_KF_L3_DIP_EQ_SIP_IS] = { 190939bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 191039bedc16SHoratiu Vultur .offset = 306, 191139bedc16SHoratiu Vultur .width = 1, 191239bedc16SHoratiu Vultur }, 191339bedc16SHoratiu Vultur [VCAP_KF_TCP_IS] = { 191439bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 191539bedc16SHoratiu Vultur .offset = 307, 191639bedc16SHoratiu Vultur .width = 1, 191739bedc16SHoratiu Vultur }, 191839bedc16SHoratiu Vultur [VCAP_KF_L4_DPORT] = { 191939bedc16SHoratiu Vultur .type = VCAP_FIELD_U32, 192039bedc16SHoratiu Vultur .offset = 308, 192139bedc16SHoratiu Vultur .width = 16, 192239bedc16SHoratiu Vultur }, 192339bedc16SHoratiu Vultur [VCAP_KF_L4_SPORT] = { 192439bedc16SHoratiu Vultur .type = VCAP_FIELD_U32, 192539bedc16SHoratiu Vultur .offset = 324, 192639bedc16SHoratiu Vultur .width = 16, 192739bedc16SHoratiu Vultur }, 192839bedc16SHoratiu Vultur [VCAP_KF_L4_RNG] = { 192939bedc16SHoratiu Vultur .type = VCAP_FIELD_U32, 193039bedc16SHoratiu Vultur .offset = 340, 193139bedc16SHoratiu Vultur .width = 8, 193239bedc16SHoratiu Vultur }, 193339bedc16SHoratiu Vultur [VCAP_KF_L4_SPORT_EQ_DPORT_IS] = { 193439bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 193539bedc16SHoratiu Vultur .offset = 348, 193639bedc16SHoratiu Vultur .width = 1, 193739bedc16SHoratiu Vultur }, 193839bedc16SHoratiu Vultur [VCAP_KF_L4_SEQUENCE_EQ0_IS] = { 193939bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 194039bedc16SHoratiu Vultur .offset = 349, 194139bedc16SHoratiu Vultur .width = 1, 194239bedc16SHoratiu Vultur }, 194339bedc16SHoratiu Vultur [VCAP_KF_L4_FIN] = { 194439bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 194539bedc16SHoratiu Vultur .offset = 350, 194639bedc16SHoratiu Vultur .width = 1, 194739bedc16SHoratiu Vultur }, 194839bedc16SHoratiu Vultur [VCAP_KF_L4_SYN] = { 194939bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 195039bedc16SHoratiu Vultur .offset = 351, 195139bedc16SHoratiu Vultur .width = 1, 195239bedc16SHoratiu Vultur }, 195339bedc16SHoratiu Vultur [VCAP_KF_L4_RST] = { 195439bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 195539bedc16SHoratiu Vultur .offset = 352, 195639bedc16SHoratiu Vultur .width = 1, 195739bedc16SHoratiu Vultur }, 195839bedc16SHoratiu Vultur [VCAP_KF_L4_PSH] = { 195939bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 196039bedc16SHoratiu Vultur .offset = 353, 196139bedc16SHoratiu Vultur .width = 1, 196239bedc16SHoratiu Vultur }, 196339bedc16SHoratiu Vultur [VCAP_KF_L4_ACK] = { 196439bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 196539bedc16SHoratiu Vultur .offset = 354, 196639bedc16SHoratiu Vultur .width = 1, 196739bedc16SHoratiu Vultur }, 196839bedc16SHoratiu Vultur [VCAP_KF_L4_URG] = { 196939bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 197039bedc16SHoratiu Vultur .offset = 355, 197139bedc16SHoratiu Vultur .width = 1, 197239bedc16SHoratiu Vultur }, 197339bedc16SHoratiu Vultur [VCAP_KF_L4_1588_DOM] = { 197439bedc16SHoratiu Vultur .type = VCAP_FIELD_U32, 197539bedc16SHoratiu Vultur .offset = 356, 197639bedc16SHoratiu Vultur .width = 8, 197739bedc16SHoratiu Vultur }, 197839bedc16SHoratiu Vultur [VCAP_KF_L4_1588_VER] = { 197939bedc16SHoratiu Vultur .type = VCAP_FIELD_U32, 198039bedc16SHoratiu Vultur .offset = 364, 198139bedc16SHoratiu Vultur .width = 4, 198239bedc16SHoratiu Vultur }, 198339bedc16SHoratiu Vultur }; 198439bedc16SHoratiu Vultur 198539bedc16SHoratiu Vultur static const struct vcap_field is2_ip6_other_keyfield[] = { 198639bedc16SHoratiu Vultur [VCAP_KF_TYPE] = { 198739bedc16SHoratiu Vultur .type = VCAP_FIELD_U32, 198839bedc16SHoratiu Vultur .offset = 0, 198939bedc16SHoratiu Vultur .width = 2, 199039bedc16SHoratiu Vultur }, 199139bedc16SHoratiu Vultur [VCAP_KF_LOOKUP_FIRST_IS] = { 199239bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 199339bedc16SHoratiu Vultur .offset = 2, 199439bedc16SHoratiu Vultur .width = 1, 199539bedc16SHoratiu Vultur }, 199639bedc16SHoratiu Vultur [VCAP_KF_LOOKUP_PAG] = { 199739bedc16SHoratiu Vultur .type = VCAP_FIELD_U32, 199839bedc16SHoratiu Vultur .offset = 3, 199939bedc16SHoratiu Vultur .width = 8, 200039bedc16SHoratiu Vultur }, 200139bedc16SHoratiu Vultur [VCAP_KF_IF_IGR_PORT_MASK] = { 200239bedc16SHoratiu Vultur .type = VCAP_FIELD_U32, 200339bedc16SHoratiu Vultur .offset = 11, 200439bedc16SHoratiu Vultur .width = 9, 200539bedc16SHoratiu Vultur }, 200639bedc16SHoratiu Vultur [VCAP_KF_ISDX_GT0_IS] = { 200739bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 200839bedc16SHoratiu Vultur .offset = 20, 200939bedc16SHoratiu Vultur .width = 1, 201039bedc16SHoratiu Vultur }, 201139bedc16SHoratiu Vultur [VCAP_KF_HOST_MATCH] = { 201239bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 201339bedc16SHoratiu Vultur .offset = 21, 201439bedc16SHoratiu Vultur .width = 1, 201539bedc16SHoratiu Vultur }, 201639bedc16SHoratiu Vultur [VCAP_KF_L2_MC_IS] = { 201739bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 201839bedc16SHoratiu Vultur .offset = 22, 201939bedc16SHoratiu Vultur .width = 1, 202039bedc16SHoratiu Vultur }, 202139bedc16SHoratiu Vultur [VCAP_KF_L2_BC_IS] = { 202239bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 202339bedc16SHoratiu Vultur .offset = 23, 202439bedc16SHoratiu Vultur .width = 1, 202539bedc16SHoratiu Vultur }, 202639bedc16SHoratiu Vultur [VCAP_KF_8021Q_VLAN_TAGGED_IS] = { 202739bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 202839bedc16SHoratiu Vultur .offset = 24, 202939bedc16SHoratiu Vultur .width = 1, 203039bedc16SHoratiu Vultur }, 203139bedc16SHoratiu Vultur [VCAP_KF_8021Q_VID_CLS] = { 203239bedc16SHoratiu Vultur .type = VCAP_FIELD_U32, 203339bedc16SHoratiu Vultur .offset = 25, 203439bedc16SHoratiu Vultur .width = 12, 203539bedc16SHoratiu Vultur }, 203639bedc16SHoratiu Vultur [VCAP_KF_8021Q_DEI_CLS] = { 203739bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 203839bedc16SHoratiu Vultur .offset = 37, 203939bedc16SHoratiu Vultur .width = 1, 204039bedc16SHoratiu Vultur }, 204139bedc16SHoratiu Vultur [VCAP_KF_8021Q_PCP_CLS] = { 204239bedc16SHoratiu Vultur .type = VCAP_FIELD_U32, 204339bedc16SHoratiu Vultur .offset = 38, 204439bedc16SHoratiu Vultur .width = 3, 204539bedc16SHoratiu Vultur }, 204639bedc16SHoratiu Vultur [VCAP_KF_L3_TTL_GT0] = { 204739bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 204839bedc16SHoratiu Vultur .offset = 41, 204939bedc16SHoratiu Vultur .width = 1, 205039bedc16SHoratiu Vultur }, 205139bedc16SHoratiu Vultur [VCAP_KF_L3_TOS] = { 205239bedc16SHoratiu Vultur .type = VCAP_FIELD_U32, 205339bedc16SHoratiu Vultur .offset = 42, 205439bedc16SHoratiu Vultur .width = 8, 205539bedc16SHoratiu Vultur }, 205639bedc16SHoratiu Vultur [VCAP_KF_L3_IP6_DIP] = { 205739bedc16SHoratiu Vultur .type = VCAP_FIELD_U128, 205839bedc16SHoratiu Vultur .offset = 50, 205939bedc16SHoratiu Vultur .width = 128, 206039bedc16SHoratiu Vultur }, 206139bedc16SHoratiu Vultur [VCAP_KF_L3_IP6_SIP] = { 206239bedc16SHoratiu Vultur .type = VCAP_FIELD_U128, 206339bedc16SHoratiu Vultur .offset = 178, 206439bedc16SHoratiu Vultur .width = 128, 206539bedc16SHoratiu Vultur }, 206639bedc16SHoratiu Vultur [VCAP_KF_L3_DIP_EQ_SIP_IS] = { 206739bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 206839bedc16SHoratiu Vultur .offset = 306, 206939bedc16SHoratiu Vultur .width = 1, 207039bedc16SHoratiu Vultur }, 207139bedc16SHoratiu Vultur [VCAP_KF_L3_IP_PROTO] = { 207239bedc16SHoratiu Vultur .type = VCAP_FIELD_U32, 207339bedc16SHoratiu Vultur .offset = 307, 207439bedc16SHoratiu Vultur .width = 8, 207539bedc16SHoratiu Vultur }, 207639bedc16SHoratiu Vultur [VCAP_KF_L3_PAYLOAD] = { 207739bedc16SHoratiu Vultur .type = VCAP_FIELD_U56, 207839bedc16SHoratiu Vultur .offset = 315, 207939bedc16SHoratiu Vultur .width = 56, 208039bedc16SHoratiu Vultur }, 208139bedc16SHoratiu Vultur }; 208239bedc16SHoratiu Vultur 208339bedc16SHoratiu Vultur static const struct vcap_field is2_smac_sip4_keyfield[] = { 208439bedc16SHoratiu Vultur [VCAP_KF_IF_IGR_PORT] = { 208539bedc16SHoratiu Vultur .type = VCAP_FIELD_U32, 208639bedc16SHoratiu Vultur .offset = 0, 208739bedc16SHoratiu Vultur .width = 4, 208839bedc16SHoratiu Vultur }, 208939bedc16SHoratiu Vultur [VCAP_KF_L2_SMAC] = { 209039bedc16SHoratiu Vultur .type = VCAP_FIELD_U48, 209139bedc16SHoratiu Vultur .offset = 4, 209239bedc16SHoratiu Vultur .width = 48, 209339bedc16SHoratiu Vultur }, 209439bedc16SHoratiu Vultur [VCAP_KF_L3_IP4_SIP] = { 209539bedc16SHoratiu Vultur .type = VCAP_FIELD_U32, 209639bedc16SHoratiu Vultur .offset = 52, 209739bedc16SHoratiu Vultur .width = 32, 209839bedc16SHoratiu Vultur }, 209939bedc16SHoratiu Vultur }; 210039bedc16SHoratiu Vultur 210139bedc16SHoratiu Vultur static const struct vcap_field is2_smac_sip6_keyfield[] = { 210239bedc16SHoratiu Vultur [VCAP_KF_TYPE] = { 210339bedc16SHoratiu Vultur .type = VCAP_FIELD_U32, 210439bedc16SHoratiu Vultur .offset = 0, 210539bedc16SHoratiu Vultur .width = 4, 210639bedc16SHoratiu Vultur }, 210739bedc16SHoratiu Vultur [VCAP_KF_IF_IGR_PORT] = { 210839bedc16SHoratiu Vultur .type = VCAP_FIELD_U32, 210939bedc16SHoratiu Vultur .offset = 4, 211039bedc16SHoratiu Vultur .width = 4, 211139bedc16SHoratiu Vultur }, 211239bedc16SHoratiu Vultur [VCAP_KF_L2_SMAC] = { 211339bedc16SHoratiu Vultur .type = VCAP_FIELD_U48, 211439bedc16SHoratiu Vultur .offset = 8, 211539bedc16SHoratiu Vultur .width = 48, 211639bedc16SHoratiu Vultur }, 211739bedc16SHoratiu Vultur [VCAP_KF_L3_IP6_SIP] = { 211839bedc16SHoratiu Vultur .type = VCAP_FIELD_U128, 211939bedc16SHoratiu Vultur .offset = 56, 212039bedc16SHoratiu Vultur .width = 128, 212139bedc16SHoratiu Vultur }, 212239bedc16SHoratiu Vultur }; 212339bedc16SHoratiu Vultur 2124*011be872SHoratiu Vultur static const struct vcap_field es0_vid_keyfield[] = { 2125*011be872SHoratiu Vultur [VCAP_KF_IF_EGR_PORT_NO] = { 2126*011be872SHoratiu Vultur .type = VCAP_FIELD_U32, 2127*011be872SHoratiu Vultur .offset = 0, 2128*011be872SHoratiu Vultur .width = 4, 2129*011be872SHoratiu Vultur }, 2130*011be872SHoratiu Vultur [VCAP_KF_IF_IGR_PORT] = { 2131*011be872SHoratiu Vultur .type = VCAP_FIELD_U32, 2132*011be872SHoratiu Vultur .offset = 4, 2133*011be872SHoratiu Vultur .width = 4, 2134*011be872SHoratiu Vultur }, 2135*011be872SHoratiu Vultur [VCAP_KF_ISDX_GT0_IS] = { 2136*011be872SHoratiu Vultur .type = VCAP_FIELD_BIT, 2137*011be872SHoratiu Vultur .offset = 8, 2138*011be872SHoratiu Vultur .width = 1, 2139*011be872SHoratiu Vultur }, 2140*011be872SHoratiu Vultur [VCAP_KF_ISDX_CLS] = { 2141*011be872SHoratiu Vultur .type = VCAP_FIELD_U32, 2142*011be872SHoratiu Vultur .offset = 9, 2143*011be872SHoratiu Vultur .width = 8, 2144*011be872SHoratiu Vultur }, 2145*011be872SHoratiu Vultur [VCAP_KF_L2_MC_IS] = { 2146*011be872SHoratiu Vultur .type = VCAP_FIELD_BIT, 2147*011be872SHoratiu Vultur .offset = 17, 2148*011be872SHoratiu Vultur .width = 1, 2149*011be872SHoratiu Vultur }, 2150*011be872SHoratiu Vultur [VCAP_KF_L2_BC_IS] = { 2151*011be872SHoratiu Vultur .type = VCAP_FIELD_BIT, 2152*011be872SHoratiu Vultur .offset = 18, 2153*011be872SHoratiu Vultur .width = 1, 2154*011be872SHoratiu Vultur }, 2155*011be872SHoratiu Vultur [VCAP_KF_8021Q_VID_CLS] = { 2156*011be872SHoratiu Vultur .type = VCAP_FIELD_U32, 2157*011be872SHoratiu Vultur .offset = 19, 2158*011be872SHoratiu Vultur .width = 12, 2159*011be872SHoratiu Vultur }, 2160*011be872SHoratiu Vultur [VCAP_KF_8021Q_DEI_CLS] = { 2161*011be872SHoratiu Vultur .type = VCAP_FIELD_BIT, 2162*011be872SHoratiu Vultur .offset = 31, 2163*011be872SHoratiu Vultur .width = 1, 2164*011be872SHoratiu Vultur }, 2165*011be872SHoratiu Vultur [VCAP_KF_8021Q_PCP_CLS] = { 2166*011be872SHoratiu Vultur .type = VCAP_FIELD_U32, 2167*011be872SHoratiu Vultur .offset = 32, 2168*011be872SHoratiu Vultur .width = 3, 2169*011be872SHoratiu Vultur }, 2170*011be872SHoratiu Vultur [VCAP_KF_L3_DPL_CLS] = { 2171*011be872SHoratiu Vultur .type = VCAP_FIELD_BIT, 2172*011be872SHoratiu Vultur .offset = 35, 2173*011be872SHoratiu Vultur .width = 1, 2174*011be872SHoratiu Vultur }, 2175*011be872SHoratiu Vultur [VCAP_KF_RTP_ID] = { 2176*011be872SHoratiu Vultur .type = VCAP_FIELD_U32, 2177*011be872SHoratiu Vultur .offset = 36, 2178*011be872SHoratiu Vultur .width = 10, 2179*011be872SHoratiu Vultur }, 2180*011be872SHoratiu Vultur [VCAP_KF_PDU_TYPE] = { 2181*011be872SHoratiu Vultur .type = VCAP_FIELD_U32, 2182*011be872SHoratiu Vultur .offset = 46, 2183*011be872SHoratiu Vultur .width = 4, 2184*011be872SHoratiu Vultur }, 2185*011be872SHoratiu Vultur }; 2186*011be872SHoratiu Vultur 218739bedc16SHoratiu Vultur /* keyfield_set */ 218899ce286dSHoratiu Vultur static const struct vcap_set is1_keyfield_set[] = { 218999ce286dSHoratiu Vultur [VCAP_KFS_NORMAL] = { 219099ce286dSHoratiu Vultur .type_id = 0, 219199ce286dSHoratiu Vultur .sw_per_item = 2, 219299ce286dSHoratiu Vultur .sw_cnt = 2, 219399ce286dSHoratiu Vultur }, 219499ce286dSHoratiu Vultur [VCAP_KFS_5TUPLE_IP4] = { 219599ce286dSHoratiu Vultur .type_id = 1, 219699ce286dSHoratiu Vultur .sw_per_item = 2, 219799ce286dSHoratiu Vultur .sw_cnt = 2, 219899ce286dSHoratiu Vultur }, 219999ce286dSHoratiu Vultur [VCAP_KFS_NORMAL_IP6] = { 220099ce286dSHoratiu Vultur .type_id = 0, 220199ce286dSHoratiu Vultur .sw_per_item = 4, 220299ce286dSHoratiu Vultur .sw_cnt = 1, 220399ce286dSHoratiu Vultur }, 220499ce286dSHoratiu Vultur [VCAP_KFS_7TUPLE] = { 220599ce286dSHoratiu Vultur .type_id = 1, 220699ce286dSHoratiu Vultur .sw_per_item = 4, 220799ce286dSHoratiu Vultur .sw_cnt = 1, 220899ce286dSHoratiu Vultur }, 220999ce286dSHoratiu Vultur [VCAP_KFS_5TUPLE_IP6] = { 221099ce286dSHoratiu Vultur .type_id = 2, 221199ce286dSHoratiu Vultur .sw_per_item = 4, 221299ce286dSHoratiu Vultur .sw_cnt = 1, 221399ce286dSHoratiu Vultur }, 221499ce286dSHoratiu Vultur [VCAP_KFS_DBL_VID] = { 221599ce286dSHoratiu Vultur .type_id = 0, 221699ce286dSHoratiu Vultur .sw_per_item = 1, 221799ce286dSHoratiu Vultur .sw_cnt = 4, 221899ce286dSHoratiu Vultur }, 221999ce286dSHoratiu Vultur [VCAP_KFS_RT] = { 222099ce286dSHoratiu Vultur .type_id = 1, 222199ce286dSHoratiu Vultur .sw_per_item = 1, 222299ce286dSHoratiu Vultur .sw_cnt = 4, 222399ce286dSHoratiu Vultur }, 222499ce286dSHoratiu Vultur [VCAP_KFS_DMAC_VID] = { 222599ce286dSHoratiu Vultur .type_id = 2, 222699ce286dSHoratiu Vultur .sw_per_item = 1, 222799ce286dSHoratiu Vultur .sw_cnt = 4, 222899ce286dSHoratiu Vultur }, 222999ce286dSHoratiu Vultur }; 223099ce286dSHoratiu Vultur 223139bedc16SHoratiu Vultur static const struct vcap_set is2_keyfield_set[] = { 223239bedc16SHoratiu Vultur [VCAP_KFS_MAC_ETYPE] = { 223339bedc16SHoratiu Vultur .type_id = 0, 223439bedc16SHoratiu Vultur .sw_per_item = 2, 223539bedc16SHoratiu Vultur .sw_cnt = 2, 223639bedc16SHoratiu Vultur }, 223739bedc16SHoratiu Vultur [VCAP_KFS_MAC_LLC] = { 223839bedc16SHoratiu Vultur .type_id = 1, 223939bedc16SHoratiu Vultur .sw_per_item = 2, 224039bedc16SHoratiu Vultur .sw_cnt = 2, 224139bedc16SHoratiu Vultur }, 224239bedc16SHoratiu Vultur [VCAP_KFS_MAC_SNAP] = { 224339bedc16SHoratiu Vultur .type_id = 2, 224439bedc16SHoratiu Vultur .sw_per_item = 2, 224539bedc16SHoratiu Vultur .sw_cnt = 2, 224639bedc16SHoratiu Vultur }, 224739bedc16SHoratiu Vultur [VCAP_KFS_ARP] = { 224839bedc16SHoratiu Vultur .type_id = 3, 224939bedc16SHoratiu Vultur .sw_per_item = 2, 225039bedc16SHoratiu Vultur .sw_cnt = 2, 225139bedc16SHoratiu Vultur }, 225239bedc16SHoratiu Vultur [VCAP_KFS_IP4_TCP_UDP] = { 225339bedc16SHoratiu Vultur .type_id = 4, 225439bedc16SHoratiu Vultur .sw_per_item = 2, 225539bedc16SHoratiu Vultur .sw_cnt = 2, 225639bedc16SHoratiu Vultur }, 225739bedc16SHoratiu Vultur [VCAP_KFS_IP4_OTHER] = { 225839bedc16SHoratiu Vultur .type_id = 5, 225939bedc16SHoratiu Vultur .sw_per_item = 2, 226039bedc16SHoratiu Vultur .sw_cnt = 2, 226139bedc16SHoratiu Vultur }, 226239bedc16SHoratiu Vultur [VCAP_KFS_IP6_STD] = { 226339bedc16SHoratiu Vultur .type_id = 6, 226439bedc16SHoratiu Vultur .sw_per_item = 2, 226539bedc16SHoratiu Vultur .sw_cnt = 2, 226639bedc16SHoratiu Vultur }, 226739bedc16SHoratiu Vultur [VCAP_KFS_OAM] = { 226839bedc16SHoratiu Vultur .type_id = 7, 226939bedc16SHoratiu Vultur .sw_per_item = 2, 227039bedc16SHoratiu Vultur .sw_cnt = 2, 227139bedc16SHoratiu Vultur }, 227239bedc16SHoratiu Vultur [VCAP_KFS_IP6_TCP_UDP] = { 227339bedc16SHoratiu Vultur .type_id = 0, 227439bedc16SHoratiu Vultur .sw_per_item = 4, 227539bedc16SHoratiu Vultur .sw_cnt = 1, 227639bedc16SHoratiu Vultur }, 227739bedc16SHoratiu Vultur [VCAP_KFS_IP6_OTHER] = { 227839bedc16SHoratiu Vultur .type_id = 1, 227939bedc16SHoratiu Vultur .sw_per_item = 4, 228039bedc16SHoratiu Vultur .sw_cnt = 1, 228139bedc16SHoratiu Vultur }, 228239bedc16SHoratiu Vultur [VCAP_KFS_SMAC_SIP4] = { 228339bedc16SHoratiu Vultur .type_id = -1, 228439bedc16SHoratiu Vultur .sw_per_item = 1, 228539bedc16SHoratiu Vultur .sw_cnt = 4, 228639bedc16SHoratiu Vultur }, 228739bedc16SHoratiu Vultur [VCAP_KFS_SMAC_SIP6] = { 228839bedc16SHoratiu Vultur .type_id = 8, 228939bedc16SHoratiu Vultur .sw_per_item = 2, 229039bedc16SHoratiu Vultur .sw_cnt = 2, 229139bedc16SHoratiu Vultur }, 229239bedc16SHoratiu Vultur }; 229339bedc16SHoratiu Vultur 2294*011be872SHoratiu Vultur static const struct vcap_set es0_keyfield_set[] = { 2295*011be872SHoratiu Vultur [VCAP_KFS_VID] = { 2296*011be872SHoratiu Vultur .type_id = -1, 2297*011be872SHoratiu Vultur .sw_per_item = 1, 2298*011be872SHoratiu Vultur .sw_cnt = 1, 2299*011be872SHoratiu Vultur }, 2300*011be872SHoratiu Vultur }; 2301*011be872SHoratiu Vultur 230239bedc16SHoratiu Vultur /* keyfield_set map */ 230399ce286dSHoratiu Vultur static const struct vcap_field *is1_keyfield_set_map[] = { 230499ce286dSHoratiu Vultur [VCAP_KFS_NORMAL] = is1_normal_keyfield, 230599ce286dSHoratiu Vultur [VCAP_KFS_5TUPLE_IP4] = is1_5tuple_ip4_keyfield, 230699ce286dSHoratiu Vultur [VCAP_KFS_NORMAL_IP6] = is1_normal_ip6_keyfield, 230799ce286dSHoratiu Vultur [VCAP_KFS_7TUPLE] = is1_7tuple_keyfield, 230899ce286dSHoratiu Vultur [VCAP_KFS_5TUPLE_IP6] = is1_5tuple_ip6_keyfield, 230999ce286dSHoratiu Vultur [VCAP_KFS_DBL_VID] = is1_dbl_vid_keyfield, 231099ce286dSHoratiu Vultur [VCAP_KFS_RT] = is1_rt_keyfield, 231199ce286dSHoratiu Vultur [VCAP_KFS_DMAC_VID] = is1_dmac_vid_keyfield, 231299ce286dSHoratiu Vultur }; 231399ce286dSHoratiu Vultur 231439bedc16SHoratiu Vultur static const struct vcap_field *is2_keyfield_set_map[] = { 231539bedc16SHoratiu Vultur [VCAP_KFS_MAC_ETYPE] = is2_mac_etype_keyfield, 231639bedc16SHoratiu Vultur [VCAP_KFS_MAC_LLC] = is2_mac_llc_keyfield, 231739bedc16SHoratiu Vultur [VCAP_KFS_MAC_SNAP] = is2_mac_snap_keyfield, 231839bedc16SHoratiu Vultur [VCAP_KFS_ARP] = is2_arp_keyfield, 231939bedc16SHoratiu Vultur [VCAP_KFS_IP4_TCP_UDP] = is2_ip4_tcp_udp_keyfield, 232039bedc16SHoratiu Vultur [VCAP_KFS_IP4_OTHER] = is2_ip4_other_keyfield, 232139bedc16SHoratiu Vultur [VCAP_KFS_IP6_STD] = is2_ip6_std_keyfield, 232239bedc16SHoratiu Vultur [VCAP_KFS_OAM] = is2_oam_keyfield, 232339bedc16SHoratiu Vultur [VCAP_KFS_IP6_TCP_UDP] = is2_ip6_tcp_udp_keyfield, 232439bedc16SHoratiu Vultur [VCAP_KFS_IP6_OTHER] = is2_ip6_other_keyfield, 232539bedc16SHoratiu Vultur [VCAP_KFS_SMAC_SIP4] = is2_smac_sip4_keyfield, 232639bedc16SHoratiu Vultur [VCAP_KFS_SMAC_SIP6] = is2_smac_sip6_keyfield, 232739bedc16SHoratiu Vultur }; 232839bedc16SHoratiu Vultur 2329*011be872SHoratiu Vultur static const struct vcap_field *es0_keyfield_set_map[] = { 2330*011be872SHoratiu Vultur [VCAP_KFS_VID] = es0_vid_keyfield, 2331*011be872SHoratiu Vultur }; 2332*011be872SHoratiu Vultur 233339bedc16SHoratiu Vultur /* keyfield_set map sizes */ 233499ce286dSHoratiu Vultur static int is1_keyfield_set_map_size[] = { 233599ce286dSHoratiu Vultur [VCAP_KFS_NORMAL] = ARRAY_SIZE(is1_normal_keyfield), 233699ce286dSHoratiu Vultur [VCAP_KFS_5TUPLE_IP4] = ARRAY_SIZE(is1_5tuple_ip4_keyfield), 233799ce286dSHoratiu Vultur [VCAP_KFS_NORMAL_IP6] = ARRAY_SIZE(is1_normal_ip6_keyfield), 233899ce286dSHoratiu Vultur [VCAP_KFS_7TUPLE] = ARRAY_SIZE(is1_7tuple_keyfield), 233999ce286dSHoratiu Vultur [VCAP_KFS_5TUPLE_IP6] = ARRAY_SIZE(is1_5tuple_ip6_keyfield), 234099ce286dSHoratiu Vultur [VCAP_KFS_DBL_VID] = ARRAY_SIZE(is1_dbl_vid_keyfield), 234199ce286dSHoratiu Vultur [VCAP_KFS_RT] = ARRAY_SIZE(is1_rt_keyfield), 234299ce286dSHoratiu Vultur [VCAP_KFS_DMAC_VID] = ARRAY_SIZE(is1_dmac_vid_keyfield), 234399ce286dSHoratiu Vultur }; 234499ce286dSHoratiu Vultur 234539bedc16SHoratiu Vultur static int is2_keyfield_set_map_size[] = { 234639bedc16SHoratiu Vultur [VCAP_KFS_MAC_ETYPE] = ARRAY_SIZE(is2_mac_etype_keyfield), 234739bedc16SHoratiu Vultur [VCAP_KFS_MAC_LLC] = ARRAY_SIZE(is2_mac_llc_keyfield), 234839bedc16SHoratiu Vultur [VCAP_KFS_MAC_SNAP] = ARRAY_SIZE(is2_mac_snap_keyfield), 234939bedc16SHoratiu Vultur [VCAP_KFS_ARP] = ARRAY_SIZE(is2_arp_keyfield), 235039bedc16SHoratiu Vultur [VCAP_KFS_IP4_TCP_UDP] = ARRAY_SIZE(is2_ip4_tcp_udp_keyfield), 235139bedc16SHoratiu Vultur [VCAP_KFS_IP4_OTHER] = ARRAY_SIZE(is2_ip4_other_keyfield), 235239bedc16SHoratiu Vultur [VCAP_KFS_IP6_STD] = ARRAY_SIZE(is2_ip6_std_keyfield), 235339bedc16SHoratiu Vultur [VCAP_KFS_OAM] = ARRAY_SIZE(is2_oam_keyfield), 235439bedc16SHoratiu Vultur [VCAP_KFS_IP6_TCP_UDP] = ARRAY_SIZE(is2_ip6_tcp_udp_keyfield), 235539bedc16SHoratiu Vultur [VCAP_KFS_IP6_OTHER] = ARRAY_SIZE(is2_ip6_other_keyfield), 235639bedc16SHoratiu Vultur [VCAP_KFS_SMAC_SIP4] = ARRAY_SIZE(is2_smac_sip4_keyfield), 235739bedc16SHoratiu Vultur [VCAP_KFS_SMAC_SIP6] = ARRAY_SIZE(is2_smac_sip6_keyfield), 235839bedc16SHoratiu Vultur }; 235939bedc16SHoratiu Vultur 2360*011be872SHoratiu Vultur static int es0_keyfield_set_map_size[] = { 2361*011be872SHoratiu Vultur [VCAP_KFS_VID] = ARRAY_SIZE(es0_vid_keyfield), 2362*011be872SHoratiu Vultur }; 2363*011be872SHoratiu Vultur 236439bedc16SHoratiu Vultur /* actionfields */ 236599ce286dSHoratiu Vultur static const struct vcap_field is1_s1_actionfield[] = { 236699ce286dSHoratiu Vultur [VCAP_AF_TYPE] = { 236799ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 236899ce286dSHoratiu Vultur .offset = 0, 236999ce286dSHoratiu Vultur .width = 1, 237099ce286dSHoratiu Vultur }, 237199ce286dSHoratiu Vultur [VCAP_AF_DSCP_ENA] = { 237299ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 237399ce286dSHoratiu Vultur .offset = 1, 237499ce286dSHoratiu Vultur .width = 1, 237599ce286dSHoratiu Vultur }, 237699ce286dSHoratiu Vultur [VCAP_AF_DSCP_VAL] = { 237799ce286dSHoratiu Vultur .type = VCAP_FIELD_U32, 237899ce286dSHoratiu Vultur .offset = 2, 237999ce286dSHoratiu Vultur .width = 6, 238099ce286dSHoratiu Vultur }, 238199ce286dSHoratiu Vultur [VCAP_AF_QOS_ENA] = { 238299ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 238399ce286dSHoratiu Vultur .offset = 8, 238499ce286dSHoratiu Vultur .width = 1, 238599ce286dSHoratiu Vultur }, 238699ce286dSHoratiu Vultur [VCAP_AF_QOS_VAL] = { 238799ce286dSHoratiu Vultur .type = VCAP_FIELD_U32, 238899ce286dSHoratiu Vultur .offset = 9, 238999ce286dSHoratiu Vultur .width = 3, 239099ce286dSHoratiu Vultur }, 239199ce286dSHoratiu Vultur [VCAP_AF_DP_ENA] = { 239299ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 239399ce286dSHoratiu Vultur .offset = 12, 239499ce286dSHoratiu Vultur .width = 1, 239599ce286dSHoratiu Vultur }, 239699ce286dSHoratiu Vultur [VCAP_AF_DP_VAL] = { 239799ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 239899ce286dSHoratiu Vultur .offset = 13, 239999ce286dSHoratiu Vultur .width = 1, 240099ce286dSHoratiu Vultur }, 240199ce286dSHoratiu Vultur [VCAP_AF_PAG_OVERRIDE_MASK] = { 240299ce286dSHoratiu Vultur .type = VCAP_FIELD_U32, 240399ce286dSHoratiu Vultur .offset = 14, 240499ce286dSHoratiu Vultur .width = 8, 240599ce286dSHoratiu Vultur }, 240699ce286dSHoratiu Vultur [VCAP_AF_PAG_VAL] = { 240799ce286dSHoratiu Vultur .type = VCAP_FIELD_U32, 240899ce286dSHoratiu Vultur .offset = 22, 240999ce286dSHoratiu Vultur .width = 8, 241099ce286dSHoratiu Vultur }, 241199ce286dSHoratiu Vultur [VCAP_AF_ISDX_REPLACE_ENA] = { 241299ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 241399ce286dSHoratiu Vultur .offset = 30, 241499ce286dSHoratiu Vultur .width = 1, 241599ce286dSHoratiu Vultur }, 241699ce286dSHoratiu Vultur [VCAP_AF_ISDX_ADD_VAL] = { 241799ce286dSHoratiu Vultur .type = VCAP_FIELD_U32, 241899ce286dSHoratiu Vultur .offset = 31, 241999ce286dSHoratiu Vultur .width = 8, 242099ce286dSHoratiu Vultur }, 242199ce286dSHoratiu Vultur [VCAP_AF_VID_REPLACE_ENA] = { 242299ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 242399ce286dSHoratiu Vultur .offset = 39, 242499ce286dSHoratiu Vultur .width = 1, 242599ce286dSHoratiu Vultur }, 242699ce286dSHoratiu Vultur [VCAP_AF_VID_VAL] = { 242799ce286dSHoratiu Vultur .type = VCAP_FIELD_U32, 242899ce286dSHoratiu Vultur .offset = 40, 242999ce286dSHoratiu Vultur .width = 12, 243099ce286dSHoratiu Vultur }, 243199ce286dSHoratiu Vultur [VCAP_AF_PCP_ENA] = { 243299ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 243399ce286dSHoratiu Vultur .offset = 67, 243499ce286dSHoratiu Vultur .width = 1, 243599ce286dSHoratiu Vultur }, 243699ce286dSHoratiu Vultur [VCAP_AF_PCP_VAL] = { 243799ce286dSHoratiu Vultur .type = VCAP_FIELD_U32, 243899ce286dSHoratiu Vultur .offset = 68, 243999ce286dSHoratiu Vultur .width = 3, 244099ce286dSHoratiu Vultur }, 244199ce286dSHoratiu Vultur [VCAP_AF_DEI_ENA] = { 244299ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 244399ce286dSHoratiu Vultur .offset = 71, 244499ce286dSHoratiu Vultur .width = 1, 244599ce286dSHoratiu Vultur }, 244699ce286dSHoratiu Vultur [VCAP_AF_DEI_VAL] = { 244799ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 244899ce286dSHoratiu Vultur .offset = 72, 244999ce286dSHoratiu Vultur .width = 1, 245099ce286dSHoratiu Vultur }, 245199ce286dSHoratiu Vultur [VCAP_AF_VLAN_POP_CNT_ENA] = { 245299ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 245399ce286dSHoratiu Vultur .offset = 73, 245499ce286dSHoratiu Vultur .width = 1, 245599ce286dSHoratiu Vultur }, 245699ce286dSHoratiu Vultur [VCAP_AF_VLAN_POP_CNT] = { 245799ce286dSHoratiu Vultur .type = VCAP_FIELD_U32, 245899ce286dSHoratiu Vultur .offset = 74, 245999ce286dSHoratiu Vultur .width = 2, 246099ce286dSHoratiu Vultur }, 246199ce286dSHoratiu Vultur [VCAP_AF_CUSTOM_ACE_TYPE_ENA] = { 246299ce286dSHoratiu Vultur .type = VCAP_FIELD_U32, 246399ce286dSHoratiu Vultur .offset = 76, 246499ce286dSHoratiu Vultur .width = 4, 246599ce286dSHoratiu Vultur }, 246699ce286dSHoratiu Vultur [VCAP_AF_SFID_ENA] = { 246799ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 246899ce286dSHoratiu Vultur .offset = 80, 246999ce286dSHoratiu Vultur .width = 1, 247099ce286dSHoratiu Vultur }, 247199ce286dSHoratiu Vultur [VCAP_AF_SFID_VAL] = { 247299ce286dSHoratiu Vultur .type = VCAP_FIELD_U32, 247399ce286dSHoratiu Vultur .offset = 81, 247499ce286dSHoratiu Vultur .width = 8, 247599ce286dSHoratiu Vultur }, 247699ce286dSHoratiu Vultur [VCAP_AF_SGID_ENA] = { 247799ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 247899ce286dSHoratiu Vultur .offset = 89, 247999ce286dSHoratiu Vultur .width = 1, 248099ce286dSHoratiu Vultur }, 248199ce286dSHoratiu Vultur [VCAP_AF_SGID_VAL] = { 248299ce286dSHoratiu Vultur .type = VCAP_FIELD_U32, 248399ce286dSHoratiu Vultur .offset = 90, 248499ce286dSHoratiu Vultur .width = 8, 248599ce286dSHoratiu Vultur }, 248699ce286dSHoratiu Vultur [VCAP_AF_POLICE_ENA] = { 248799ce286dSHoratiu Vultur .type = VCAP_FIELD_BIT, 248899ce286dSHoratiu Vultur .offset = 98, 248999ce286dSHoratiu Vultur .width = 1, 249099ce286dSHoratiu Vultur }, 249199ce286dSHoratiu Vultur [VCAP_AF_POLICE_IDX] = { 249299ce286dSHoratiu Vultur .type = VCAP_FIELD_U32, 249399ce286dSHoratiu Vultur .offset = 99, 249499ce286dSHoratiu Vultur .width = 9, 249599ce286dSHoratiu Vultur }, 249699ce286dSHoratiu Vultur [VCAP_AF_OAM_SEL] = { 249799ce286dSHoratiu Vultur .type = VCAP_FIELD_U32, 249899ce286dSHoratiu Vultur .offset = 108, 249999ce286dSHoratiu Vultur .width = 3, 250099ce286dSHoratiu Vultur }, 250199ce286dSHoratiu Vultur [VCAP_AF_MRP_SEL] = { 250299ce286dSHoratiu Vultur .type = VCAP_FIELD_U32, 250399ce286dSHoratiu Vultur .offset = 111, 250499ce286dSHoratiu Vultur .width = 2, 250599ce286dSHoratiu Vultur }, 250699ce286dSHoratiu Vultur [VCAP_AF_DLR_SEL] = { 250799ce286dSHoratiu Vultur .type = VCAP_FIELD_U32, 250899ce286dSHoratiu Vultur .offset = 113, 250999ce286dSHoratiu Vultur .width = 2, 251099ce286dSHoratiu Vultur }, 251199ce286dSHoratiu Vultur }; 251299ce286dSHoratiu Vultur 251339bedc16SHoratiu Vultur static const struct vcap_field is2_base_type_actionfield[] = { 251439bedc16SHoratiu Vultur [VCAP_AF_HIT_ME_ONCE] = { 251539bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 251639bedc16SHoratiu Vultur .offset = 0, 251739bedc16SHoratiu Vultur .width = 1, 251839bedc16SHoratiu Vultur }, 251939bedc16SHoratiu Vultur [VCAP_AF_CPU_COPY_ENA] = { 252039bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 252139bedc16SHoratiu Vultur .offset = 1, 252239bedc16SHoratiu Vultur .width = 1, 252339bedc16SHoratiu Vultur }, 252439bedc16SHoratiu Vultur [VCAP_AF_CPU_QUEUE_NUM] = { 252539bedc16SHoratiu Vultur .type = VCAP_FIELD_U32, 252639bedc16SHoratiu Vultur .offset = 2, 252739bedc16SHoratiu Vultur .width = 3, 252839bedc16SHoratiu Vultur }, 252939bedc16SHoratiu Vultur [VCAP_AF_MASK_MODE] = { 253039bedc16SHoratiu Vultur .type = VCAP_FIELD_U32, 253139bedc16SHoratiu Vultur .offset = 5, 253239bedc16SHoratiu Vultur .width = 2, 253339bedc16SHoratiu Vultur }, 253439bedc16SHoratiu Vultur [VCAP_AF_MIRROR_ENA] = { 253539bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 253639bedc16SHoratiu Vultur .offset = 7, 253739bedc16SHoratiu Vultur .width = 1, 253839bedc16SHoratiu Vultur }, 253939bedc16SHoratiu Vultur [VCAP_AF_LRN_DIS] = { 254039bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 254139bedc16SHoratiu Vultur .offset = 8, 254239bedc16SHoratiu Vultur .width = 1, 254339bedc16SHoratiu Vultur }, 254439bedc16SHoratiu Vultur [VCAP_AF_POLICE_ENA] = { 254539bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 254639bedc16SHoratiu Vultur .offset = 9, 254739bedc16SHoratiu Vultur .width = 1, 254839bedc16SHoratiu Vultur }, 254939bedc16SHoratiu Vultur [VCAP_AF_POLICE_IDX] = { 255039bedc16SHoratiu Vultur .type = VCAP_FIELD_U32, 255139bedc16SHoratiu Vultur .offset = 10, 255239bedc16SHoratiu Vultur .width = 9, 255339bedc16SHoratiu Vultur }, 255439bedc16SHoratiu Vultur [VCAP_AF_POLICE_VCAP_ONLY] = { 255539bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 255639bedc16SHoratiu Vultur .offset = 19, 255739bedc16SHoratiu Vultur .width = 1, 255839bedc16SHoratiu Vultur }, 255939bedc16SHoratiu Vultur [VCAP_AF_PORT_MASK] = { 256039bedc16SHoratiu Vultur .type = VCAP_FIELD_U32, 256139bedc16SHoratiu Vultur .offset = 20, 256239bedc16SHoratiu Vultur .width = 8, 256339bedc16SHoratiu Vultur }, 256439bedc16SHoratiu Vultur [VCAP_AF_REW_OP] = { 256539bedc16SHoratiu Vultur .type = VCAP_FIELD_U32, 256639bedc16SHoratiu Vultur .offset = 28, 256739bedc16SHoratiu Vultur .width = 16, 256839bedc16SHoratiu Vultur }, 256939bedc16SHoratiu Vultur [VCAP_AF_ISDX_ENA] = { 257039bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 257139bedc16SHoratiu Vultur .offset = 44, 257239bedc16SHoratiu Vultur .width = 1, 257339bedc16SHoratiu Vultur }, 257439bedc16SHoratiu Vultur [VCAP_AF_ACL_ID] = { 257539bedc16SHoratiu Vultur .type = VCAP_FIELD_U32, 257639bedc16SHoratiu Vultur .offset = 45, 257739bedc16SHoratiu Vultur .width = 6, 257839bedc16SHoratiu Vultur }, 257939bedc16SHoratiu Vultur }; 258039bedc16SHoratiu Vultur 258139bedc16SHoratiu Vultur static const struct vcap_field is2_smac_sip_actionfield[] = { 258239bedc16SHoratiu Vultur [VCAP_AF_CPU_COPY_ENA] = { 258339bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 258439bedc16SHoratiu Vultur .offset = 0, 258539bedc16SHoratiu Vultur .width = 1, 258639bedc16SHoratiu Vultur }, 258739bedc16SHoratiu Vultur [VCAP_AF_CPU_QUEUE_NUM] = { 258839bedc16SHoratiu Vultur .type = VCAP_FIELD_U32, 258939bedc16SHoratiu Vultur .offset = 1, 259039bedc16SHoratiu Vultur .width = 3, 259139bedc16SHoratiu Vultur }, 259239bedc16SHoratiu Vultur [VCAP_AF_FWD_KILL_ENA] = { 259339bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 259439bedc16SHoratiu Vultur .offset = 4, 259539bedc16SHoratiu Vultur .width = 1, 259639bedc16SHoratiu Vultur }, 259739bedc16SHoratiu Vultur [VCAP_AF_HOST_MATCH] = { 259839bedc16SHoratiu Vultur .type = VCAP_FIELD_BIT, 259939bedc16SHoratiu Vultur .offset = 5, 260039bedc16SHoratiu Vultur .width = 1, 260139bedc16SHoratiu Vultur }, 260239bedc16SHoratiu Vultur }; 260339bedc16SHoratiu Vultur 2604*011be872SHoratiu Vultur static const struct vcap_field es0_vid_actionfield[] = { 2605*011be872SHoratiu Vultur [VCAP_AF_PUSH_OUTER_TAG] = { 2606*011be872SHoratiu Vultur .type = VCAP_FIELD_U32, 2607*011be872SHoratiu Vultur .offset = 0, 2608*011be872SHoratiu Vultur .width = 2, 2609*011be872SHoratiu Vultur }, 2610*011be872SHoratiu Vultur [VCAP_AF_PUSH_INNER_TAG] = { 2611*011be872SHoratiu Vultur .type = VCAP_FIELD_BIT, 2612*011be872SHoratiu Vultur .offset = 2, 2613*011be872SHoratiu Vultur .width = 1, 2614*011be872SHoratiu Vultur }, 2615*011be872SHoratiu Vultur [VCAP_AF_TAG_A_TPID_SEL] = { 2616*011be872SHoratiu Vultur .type = VCAP_FIELD_U32, 2617*011be872SHoratiu Vultur .offset = 3, 2618*011be872SHoratiu Vultur .width = 2, 2619*011be872SHoratiu Vultur }, 2620*011be872SHoratiu Vultur [VCAP_AF_TAG_A_VID_SEL] = { 2621*011be872SHoratiu Vultur .type = VCAP_FIELD_BIT, 2622*011be872SHoratiu Vultur .offset = 5, 2623*011be872SHoratiu Vultur .width = 1, 2624*011be872SHoratiu Vultur }, 2625*011be872SHoratiu Vultur [VCAP_AF_TAG_A_PCP_SEL] = { 2626*011be872SHoratiu Vultur .type = VCAP_FIELD_U32, 2627*011be872SHoratiu Vultur .offset = 6, 2628*011be872SHoratiu Vultur .width = 2, 2629*011be872SHoratiu Vultur }, 2630*011be872SHoratiu Vultur [VCAP_AF_TAG_A_DEI_SEL] = { 2631*011be872SHoratiu Vultur .type = VCAP_FIELD_U32, 2632*011be872SHoratiu Vultur .offset = 8, 2633*011be872SHoratiu Vultur .width = 2, 2634*011be872SHoratiu Vultur }, 2635*011be872SHoratiu Vultur [VCAP_AF_TAG_B_TPID_SEL] = { 2636*011be872SHoratiu Vultur .type = VCAP_FIELD_U32, 2637*011be872SHoratiu Vultur .offset = 10, 2638*011be872SHoratiu Vultur .width = 2, 2639*011be872SHoratiu Vultur }, 2640*011be872SHoratiu Vultur [VCAP_AF_TAG_B_VID_SEL] = { 2641*011be872SHoratiu Vultur .type = VCAP_FIELD_BIT, 2642*011be872SHoratiu Vultur .offset = 12, 2643*011be872SHoratiu Vultur .width = 1, 2644*011be872SHoratiu Vultur }, 2645*011be872SHoratiu Vultur [VCAP_AF_TAG_B_PCP_SEL] = { 2646*011be872SHoratiu Vultur .type = VCAP_FIELD_U32, 2647*011be872SHoratiu Vultur .offset = 13, 2648*011be872SHoratiu Vultur .width = 2, 2649*011be872SHoratiu Vultur }, 2650*011be872SHoratiu Vultur [VCAP_AF_TAG_B_DEI_SEL] = { 2651*011be872SHoratiu Vultur .type = VCAP_FIELD_U32, 2652*011be872SHoratiu Vultur .offset = 15, 2653*011be872SHoratiu Vultur .width = 2, 2654*011be872SHoratiu Vultur }, 2655*011be872SHoratiu Vultur [VCAP_AF_VID_A_VAL] = { 2656*011be872SHoratiu Vultur .type = VCAP_FIELD_U32, 2657*011be872SHoratiu Vultur .offset = 17, 2658*011be872SHoratiu Vultur .width = 12, 2659*011be872SHoratiu Vultur }, 2660*011be872SHoratiu Vultur [VCAP_AF_PCP_A_VAL] = { 2661*011be872SHoratiu Vultur .type = VCAP_FIELD_U32, 2662*011be872SHoratiu Vultur .offset = 29, 2663*011be872SHoratiu Vultur .width = 3, 2664*011be872SHoratiu Vultur }, 2665*011be872SHoratiu Vultur [VCAP_AF_DEI_A_VAL] = { 2666*011be872SHoratiu Vultur .type = VCAP_FIELD_BIT, 2667*011be872SHoratiu Vultur .offset = 32, 2668*011be872SHoratiu Vultur .width = 1, 2669*011be872SHoratiu Vultur }, 2670*011be872SHoratiu Vultur [VCAP_AF_VID_B_VAL] = { 2671*011be872SHoratiu Vultur .type = VCAP_FIELD_U32, 2672*011be872SHoratiu Vultur .offset = 33, 2673*011be872SHoratiu Vultur .width = 12, 2674*011be872SHoratiu Vultur }, 2675*011be872SHoratiu Vultur [VCAP_AF_PCP_B_VAL] = { 2676*011be872SHoratiu Vultur .type = VCAP_FIELD_U32, 2677*011be872SHoratiu Vultur .offset = 45, 2678*011be872SHoratiu Vultur .width = 3, 2679*011be872SHoratiu Vultur }, 2680*011be872SHoratiu Vultur [VCAP_AF_DEI_B_VAL] = { 2681*011be872SHoratiu Vultur .type = VCAP_FIELD_BIT, 2682*011be872SHoratiu Vultur .offset = 48, 2683*011be872SHoratiu Vultur .width = 1, 2684*011be872SHoratiu Vultur }, 2685*011be872SHoratiu Vultur [VCAP_AF_ESDX] = { 2686*011be872SHoratiu Vultur .type = VCAP_FIELD_U32, 2687*011be872SHoratiu Vultur .offset = 49, 2688*011be872SHoratiu Vultur .width = 8, 2689*011be872SHoratiu Vultur }, 2690*011be872SHoratiu Vultur }; 2691*011be872SHoratiu Vultur 269239bedc16SHoratiu Vultur /* actionfield_set */ 269399ce286dSHoratiu Vultur static const struct vcap_set is1_actionfield_set[] = { 269499ce286dSHoratiu Vultur [VCAP_AFS_S1] = { 269599ce286dSHoratiu Vultur .type_id = 0, 269699ce286dSHoratiu Vultur .sw_per_item = 1, 269799ce286dSHoratiu Vultur .sw_cnt = 4, 269899ce286dSHoratiu Vultur }, 269999ce286dSHoratiu Vultur }; 270099ce286dSHoratiu Vultur 270139bedc16SHoratiu Vultur static const struct vcap_set is2_actionfield_set[] = { 270239bedc16SHoratiu Vultur [VCAP_AFS_BASE_TYPE] = { 270339bedc16SHoratiu Vultur .type_id = -1, 270439bedc16SHoratiu Vultur .sw_per_item = 2, 270539bedc16SHoratiu Vultur .sw_cnt = 2, 270639bedc16SHoratiu Vultur }, 270739bedc16SHoratiu Vultur [VCAP_AFS_SMAC_SIP] = { 270839bedc16SHoratiu Vultur .type_id = -1, 270939bedc16SHoratiu Vultur .sw_per_item = 1, 271039bedc16SHoratiu Vultur .sw_cnt = 4, 271139bedc16SHoratiu Vultur }, 271239bedc16SHoratiu Vultur }; 271339bedc16SHoratiu Vultur 2714*011be872SHoratiu Vultur static const struct vcap_set es0_actionfield_set[] = { 2715*011be872SHoratiu Vultur [VCAP_AFS_VID] = { 2716*011be872SHoratiu Vultur .type_id = -1, 2717*011be872SHoratiu Vultur .sw_per_item = 1, 2718*011be872SHoratiu Vultur .sw_cnt = 1, 2719*011be872SHoratiu Vultur }, 2720*011be872SHoratiu Vultur }; 2721*011be872SHoratiu Vultur 272239bedc16SHoratiu Vultur /* actionfield_set map */ 272399ce286dSHoratiu Vultur static const struct vcap_field *is1_actionfield_set_map[] = { 272499ce286dSHoratiu Vultur [VCAP_AFS_S1] = is1_s1_actionfield, 272599ce286dSHoratiu Vultur }; 272699ce286dSHoratiu Vultur 272739bedc16SHoratiu Vultur static const struct vcap_field *is2_actionfield_set_map[] = { 272839bedc16SHoratiu Vultur [VCAP_AFS_BASE_TYPE] = is2_base_type_actionfield, 272939bedc16SHoratiu Vultur [VCAP_AFS_SMAC_SIP] = is2_smac_sip_actionfield, 273039bedc16SHoratiu Vultur }; 273139bedc16SHoratiu Vultur 2732*011be872SHoratiu Vultur static const struct vcap_field *es0_actionfield_set_map[] = { 2733*011be872SHoratiu Vultur [VCAP_AFS_VID] = es0_vid_actionfield, 2734*011be872SHoratiu Vultur }; 2735*011be872SHoratiu Vultur 273639bedc16SHoratiu Vultur /* actionfield_set map size */ 273799ce286dSHoratiu Vultur static int is1_actionfield_set_map_size[] = { 273899ce286dSHoratiu Vultur [VCAP_AFS_S1] = ARRAY_SIZE(is1_s1_actionfield), 273999ce286dSHoratiu Vultur }; 274099ce286dSHoratiu Vultur 274139bedc16SHoratiu Vultur static int is2_actionfield_set_map_size[] = { 274239bedc16SHoratiu Vultur [VCAP_AFS_BASE_TYPE] = ARRAY_SIZE(is2_base_type_actionfield), 274339bedc16SHoratiu Vultur [VCAP_AFS_SMAC_SIP] = ARRAY_SIZE(is2_smac_sip_actionfield), 274439bedc16SHoratiu Vultur }; 274539bedc16SHoratiu Vultur 2746*011be872SHoratiu Vultur static int es0_actionfield_set_map_size[] = { 2747*011be872SHoratiu Vultur [VCAP_AFS_VID] = ARRAY_SIZE(es0_vid_actionfield), 2748*011be872SHoratiu Vultur }; 2749*011be872SHoratiu Vultur 275039bedc16SHoratiu Vultur /* Type Groups */ 275199ce286dSHoratiu Vultur static const struct vcap_typegroup is1_x4_keyfield_set_typegroups[] = { 275299ce286dSHoratiu Vultur { 275399ce286dSHoratiu Vultur .offset = 0, 275499ce286dSHoratiu Vultur .width = 3, 275599ce286dSHoratiu Vultur .value = 4, 275699ce286dSHoratiu Vultur }, 275799ce286dSHoratiu Vultur { 275899ce286dSHoratiu Vultur .offset = 96, 275999ce286dSHoratiu Vultur .width = 1, 276099ce286dSHoratiu Vultur .value = 0, 276199ce286dSHoratiu Vultur }, 276299ce286dSHoratiu Vultur { 276399ce286dSHoratiu Vultur .offset = 192, 276499ce286dSHoratiu Vultur .width = 2, 276599ce286dSHoratiu Vultur .value = 0, 276699ce286dSHoratiu Vultur }, 276799ce286dSHoratiu Vultur { 276899ce286dSHoratiu Vultur .offset = 288, 276999ce286dSHoratiu Vultur .width = 1, 277099ce286dSHoratiu Vultur .value = 0, 277199ce286dSHoratiu Vultur }, 277299ce286dSHoratiu Vultur {} 277399ce286dSHoratiu Vultur }; 277499ce286dSHoratiu Vultur 277599ce286dSHoratiu Vultur static const struct vcap_typegroup is1_x2_keyfield_set_typegroups[] = { 277699ce286dSHoratiu Vultur { 277799ce286dSHoratiu Vultur .offset = 0, 277899ce286dSHoratiu Vultur .width = 2, 277999ce286dSHoratiu Vultur .value = 2, 278099ce286dSHoratiu Vultur }, 278199ce286dSHoratiu Vultur { 278299ce286dSHoratiu Vultur .offset = 96, 278399ce286dSHoratiu Vultur .width = 1, 278499ce286dSHoratiu Vultur .value = 0, 278599ce286dSHoratiu Vultur }, 278699ce286dSHoratiu Vultur {} 278799ce286dSHoratiu Vultur }; 278899ce286dSHoratiu Vultur 278999ce286dSHoratiu Vultur static const struct vcap_typegroup is1_x1_keyfield_set_typegroups[] = { 279099ce286dSHoratiu Vultur { 279199ce286dSHoratiu Vultur .offset = 0, 279299ce286dSHoratiu Vultur .width = 1, 279399ce286dSHoratiu Vultur .value = 1, 279499ce286dSHoratiu Vultur }, 279599ce286dSHoratiu Vultur {} 279699ce286dSHoratiu Vultur }; 279799ce286dSHoratiu Vultur 279839bedc16SHoratiu Vultur static const struct vcap_typegroup is2_x4_keyfield_set_typegroups[] = { 279939bedc16SHoratiu Vultur { 280039bedc16SHoratiu Vultur .offset = 0, 280139bedc16SHoratiu Vultur .width = 3, 280239bedc16SHoratiu Vultur .value = 4, 280339bedc16SHoratiu Vultur }, 280439bedc16SHoratiu Vultur { 280539bedc16SHoratiu Vultur .offset = 96, 280639bedc16SHoratiu Vultur .width = 1, 280739bedc16SHoratiu Vultur .value = 0, 280839bedc16SHoratiu Vultur }, 280939bedc16SHoratiu Vultur { 281039bedc16SHoratiu Vultur .offset = 192, 281139bedc16SHoratiu Vultur .width = 2, 281239bedc16SHoratiu Vultur .value = 0, 281339bedc16SHoratiu Vultur }, 281439bedc16SHoratiu Vultur { 281539bedc16SHoratiu Vultur .offset = 288, 281639bedc16SHoratiu Vultur .width = 1, 281739bedc16SHoratiu Vultur .value = 0, 281839bedc16SHoratiu Vultur }, 281939bedc16SHoratiu Vultur {} 282039bedc16SHoratiu Vultur }; 282139bedc16SHoratiu Vultur 282239bedc16SHoratiu Vultur static const struct vcap_typegroup is2_x2_keyfield_set_typegroups[] = { 282339bedc16SHoratiu Vultur { 282439bedc16SHoratiu Vultur .offset = 0, 282539bedc16SHoratiu Vultur .width = 2, 282639bedc16SHoratiu Vultur .value = 2, 282739bedc16SHoratiu Vultur }, 282839bedc16SHoratiu Vultur { 282939bedc16SHoratiu Vultur .offset = 96, 283039bedc16SHoratiu Vultur .width = 1, 283139bedc16SHoratiu Vultur .value = 0, 283239bedc16SHoratiu Vultur }, 283339bedc16SHoratiu Vultur {} 283439bedc16SHoratiu Vultur }; 283539bedc16SHoratiu Vultur 283639bedc16SHoratiu Vultur static const struct vcap_typegroup is2_x1_keyfield_set_typegroups[] = { 283739bedc16SHoratiu Vultur { 283839bedc16SHoratiu Vultur .offset = 0, 283939bedc16SHoratiu Vultur .width = 1, 284039bedc16SHoratiu Vultur .value = 1, 284139bedc16SHoratiu Vultur }, 284239bedc16SHoratiu Vultur {} 284339bedc16SHoratiu Vultur }; 284439bedc16SHoratiu Vultur 2845*011be872SHoratiu Vultur static const struct vcap_typegroup es0_x1_keyfield_set_typegroups[] = { 2846*011be872SHoratiu Vultur {} 2847*011be872SHoratiu Vultur }; 2848*011be872SHoratiu Vultur 284999ce286dSHoratiu Vultur static const struct vcap_typegroup *is1_keyfield_set_typegroups[] = { 285099ce286dSHoratiu Vultur [4] = is1_x4_keyfield_set_typegroups, 285199ce286dSHoratiu Vultur [2] = is1_x2_keyfield_set_typegroups, 285299ce286dSHoratiu Vultur [1] = is1_x1_keyfield_set_typegroups, 285399ce286dSHoratiu Vultur [5] = NULL, 285499ce286dSHoratiu Vultur }; 285599ce286dSHoratiu Vultur 285639bedc16SHoratiu Vultur static const struct vcap_typegroup *is2_keyfield_set_typegroups[] = { 285739bedc16SHoratiu Vultur [4] = is2_x4_keyfield_set_typegroups, 285839bedc16SHoratiu Vultur [2] = is2_x2_keyfield_set_typegroups, 285939bedc16SHoratiu Vultur [1] = is2_x1_keyfield_set_typegroups, 286039bedc16SHoratiu Vultur [5] = NULL, 286139bedc16SHoratiu Vultur }; 286239bedc16SHoratiu Vultur 2863*011be872SHoratiu Vultur static const struct vcap_typegroup *es0_keyfield_set_typegroups[] = { 2864*011be872SHoratiu Vultur [1] = es0_x1_keyfield_set_typegroups, 2865*011be872SHoratiu Vultur [2] = NULL, 2866*011be872SHoratiu Vultur }; 2867*011be872SHoratiu Vultur 286899ce286dSHoratiu Vultur static const struct vcap_typegroup is1_x1_actionfield_set_typegroups[] = { 286999ce286dSHoratiu Vultur {} 287099ce286dSHoratiu Vultur }; 287199ce286dSHoratiu Vultur 287239bedc16SHoratiu Vultur static const struct vcap_typegroup is2_x2_actionfield_set_typegroups[] = { 287339bedc16SHoratiu Vultur { 287439bedc16SHoratiu Vultur .offset = 0, 287539bedc16SHoratiu Vultur .width = 2, 287639bedc16SHoratiu Vultur .value = 2, 287739bedc16SHoratiu Vultur }, 287839bedc16SHoratiu Vultur { 287939bedc16SHoratiu Vultur .offset = 31, 288039bedc16SHoratiu Vultur .width = 1, 288139bedc16SHoratiu Vultur .value = 0, 288239bedc16SHoratiu Vultur }, 288339bedc16SHoratiu Vultur {} 288439bedc16SHoratiu Vultur }; 288539bedc16SHoratiu Vultur 288639bedc16SHoratiu Vultur static const struct vcap_typegroup is2_x1_actionfield_set_typegroups[] = { 288739bedc16SHoratiu Vultur { 288839bedc16SHoratiu Vultur .offset = 0, 288939bedc16SHoratiu Vultur .width = 1, 289039bedc16SHoratiu Vultur .value = 1, 289139bedc16SHoratiu Vultur }, 289239bedc16SHoratiu Vultur {} 289339bedc16SHoratiu Vultur }; 289439bedc16SHoratiu Vultur 2895*011be872SHoratiu Vultur static const struct vcap_typegroup es0_x1_actionfield_set_typegroups[] = { 2896*011be872SHoratiu Vultur {} 2897*011be872SHoratiu Vultur }; 2898*011be872SHoratiu Vultur 289999ce286dSHoratiu Vultur static const struct vcap_typegroup *is1_actionfield_set_typegroups[] = { 290099ce286dSHoratiu Vultur [1] = is1_x1_actionfield_set_typegroups, 290199ce286dSHoratiu Vultur [5] = NULL, 290299ce286dSHoratiu Vultur }; 290399ce286dSHoratiu Vultur 290439bedc16SHoratiu Vultur static const struct vcap_typegroup *is2_actionfield_set_typegroups[] = { 290539bedc16SHoratiu Vultur [2] = is2_x2_actionfield_set_typegroups, 290639bedc16SHoratiu Vultur [1] = is2_x1_actionfield_set_typegroups, 290739bedc16SHoratiu Vultur [5] = NULL, 290839bedc16SHoratiu Vultur }; 290939bedc16SHoratiu Vultur 2910*011be872SHoratiu Vultur static const struct vcap_typegroup *es0_actionfield_set_typegroups[] = { 2911*011be872SHoratiu Vultur [1] = es0_x1_actionfield_set_typegroups, 2912*011be872SHoratiu Vultur [2] = NULL, 2913*011be872SHoratiu Vultur }; 2914*011be872SHoratiu Vultur 291539bedc16SHoratiu Vultur /* Keyfieldset names */ 291639bedc16SHoratiu Vultur static const char * const vcap_keyfield_set_names[] = { 291739bedc16SHoratiu Vultur [VCAP_KFS_NO_VALUE] = "(None)", 291899ce286dSHoratiu Vultur [VCAP_KFS_5TUPLE_IP4] = "VCAP_KFS_5TUPLE_IP4", 291999ce286dSHoratiu Vultur [VCAP_KFS_5TUPLE_IP6] = "VCAP_KFS_5TUPLE_IP6", 292099ce286dSHoratiu Vultur [VCAP_KFS_7TUPLE] = "VCAP_KFS_7TUPLE", 292139bedc16SHoratiu Vultur [VCAP_KFS_ARP] = "VCAP_KFS_ARP", 292299ce286dSHoratiu Vultur [VCAP_KFS_DBL_VID] = "VCAP_KFS_DBL_VID", 292399ce286dSHoratiu Vultur [VCAP_KFS_DMAC_VID] = "VCAP_KFS_DMAC_VID", 292499ce286dSHoratiu Vultur [VCAP_KFS_ETAG] = "VCAP_KFS_ETAG", 292539bedc16SHoratiu Vultur [VCAP_KFS_IP4_OTHER] = "VCAP_KFS_IP4_OTHER", 292639bedc16SHoratiu Vultur [VCAP_KFS_IP4_TCP_UDP] = "VCAP_KFS_IP4_TCP_UDP", 292799ce286dSHoratiu Vultur [VCAP_KFS_IP4_VID] = "VCAP_KFS_IP4_VID", 292839bedc16SHoratiu Vultur [VCAP_KFS_IP6_OTHER] = "VCAP_KFS_IP6_OTHER", 292939bedc16SHoratiu Vultur [VCAP_KFS_IP6_STD] = "VCAP_KFS_IP6_STD", 293039bedc16SHoratiu Vultur [VCAP_KFS_IP6_TCP_UDP] = "VCAP_KFS_IP6_TCP_UDP", 293199ce286dSHoratiu Vultur [VCAP_KFS_IP6_VID] = "VCAP_KFS_IP6_VID", 293299ce286dSHoratiu Vultur [VCAP_KFS_IP_7TUPLE] = "VCAP_KFS_IP_7TUPLE", 293399ce286dSHoratiu Vultur [VCAP_KFS_ISDX] = "VCAP_KFS_ISDX", 293499ce286dSHoratiu Vultur [VCAP_KFS_LL_FULL] = "VCAP_KFS_LL_FULL", 293539bedc16SHoratiu Vultur [VCAP_KFS_MAC_ETYPE] = "VCAP_KFS_MAC_ETYPE", 293639bedc16SHoratiu Vultur [VCAP_KFS_MAC_LLC] = "VCAP_KFS_MAC_LLC", 293739bedc16SHoratiu Vultur [VCAP_KFS_MAC_SNAP] = "VCAP_KFS_MAC_SNAP", 293899ce286dSHoratiu Vultur [VCAP_KFS_NORMAL] = "VCAP_KFS_NORMAL", 293999ce286dSHoratiu Vultur [VCAP_KFS_NORMAL_5TUPLE_IP4] = "VCAP_KFS_NORMAL_5TUPLE_IP4", 294099ce286dSHoratiu Vultur [VCAP_KFS_NORMAL_7TUPLE] = "VCAP_KFS_NORMAL_7TUPLE", 294199ce286dSHoratiu Vultur [VCAP_KFS_NORMAL_IP6] = "VCAP_KFS_NORMAL_IP6", 294239bedc16SHoratiu Vultur [VCAP_KFS_OAM] = "VCAP_KFS_OAM", 294399ce286dSHoratiu Vultur [VCAP_KFS_PURE_5TUPLE_IP4] = "VCAP_KFS_PURE_5TUPLE_IP4", 294499ce286dSHoratiu Vultur [VCAP_KFS_RT] = "VCAP_KFS_RT", 294539bedc16SHoratiu Vultur [VCAP_KFS_SMAC_SIP4] = "VCAP_KFS_SMAC_SIP4", 294639bedc16SHoratiu Vultur [VCAP_KFS_SMAC_SIP6] = "VCAP_KFS_SMAC_SIP6", 2947*011be872SHoratiu Vultur [VCAP_KFS_VID] = "VCAP_KFS_VID", 294839bedc16SHoratiu Vultur }; 294939bedc16SHoratiu Vultur 295039bedc16SHoratiu Vultur /* Actionfieldset names */ 295139bedc16SHoratiu Vultur static const char * const vcap_actionfield_set_names[] = { 295239bedc16SHoratiu Vultur [VCAP_AFS_NO_VALUE] = "(None)", 295339bedc16SHoratiu Vultur [VCAP_AFS_BASE_TYPE] = "VCAP_AFS_BASE_TYPE", 295499ce286dSHoratiu Vultur [VCAP_AFS_CLASSIFICATION] = "VCAP_AFS_CLASSIFICATION", 295599ce286dSHoratiu Vultur [VCAP_AFS_CLASS_REDUCED] = "VCAP_AFS_CLASS_REDUCED", 2956*011be872SHoratiu Vultur [VCAP_AFS_ES0] = "VCAP_AFS_ES0", 295799ce286dSHoratiu Vultur [VCAP_AFS_FULL] = "VCAP_AFS_FULL", 295899ce286dSHoratiu Vultur [VCAP_AFS_S1] = "VCAP_AFS_S1", 295939bedc16SHoratiu Vultur [VCAP_AFS_SMAC_SIP] = "VCAP_AFS_SMAC_SIP", 2960*011be872SHoratiu Vultur [VCAP_AFS_VID] = "VCAP_AFS_VID", 296139bedc16SHoratiu Vultur }; 296239bedc16SHoratiu Vultur 296339bedc16SHoratiu Vultur /* Keyfield names */ 296439bedc16SHoratiu Vultur static const char * const vcap_keyfield_names[] = { 296539bedc16SHoratiu Vultur [VCAP_KF_NO_VALUE] = "(None)", 296699ce286dSHoratiu Vultur [VCAP_KF_8021BR_ECID_BASE] = "8021BR_ECID_BASE", 296799ce286dSHoratiu Vultur [VCAP_KF_8021BR_ECID_EXT] = "8021BR_ECID_EXT", 296899ce286dSHoratiu Vultur [VCAP_KF_8021BR_E_TAGGED] = "8021BR_E_TAGGED", 296999ce286dSHoratiu Vultur [VCAP_KF_8021BR_GRP] = "8021BR_GRP", 297099ce286dSHoratiu Vultur [VCAP_KF_8021BR_IGR_ECID_BASE] = "8021BR_IGR_ECID_BASE", 297199ce286dSHoratiu Vultur [VCAP_KF_8021BR_IGR_ECID_EXT] = "8021BR_IGR_ECID_EXT", 297299ce286dSHoratiu Vultur [VCAP_KF_8021CB_R_TAGGED_IS] = "8021CB_R_TAGGED_IS", 297399ce286dSHoratiu Vultur [VCAP_KF_8021Q_DEI0] = "8021Q_DEI0", 297499ce286dSHoratiu Vultur [VCAP_KF_8021Q_DEI1] = "8021Q_DEI1", 297599ce286dSHoratiu Vultur [VCAP_KF_8021Q_DEI2] = "8021Q_DEI2", 297639bedc16SHoratiu Vultur [VCAP_KF_8021Q_DEI_CLS] = "8021Q_DEI_CLS", 297799ce286dSHoratiu Vultur [VCAP_KF_8021Q_PCP0] = "8021Q_PCP0", 297899ce286dSHoratiu Vultur [VCAP_KF_8021Q_PCP1] = "8021Q_PCP1", 297999ce286dSHoratiu Vultur [VCAP_KF_8021Q_PCP2] = "8021Q_PCP2", 298039bedc16SHoratiu Vultur [VCAP_KF_8021Q_PCP_CLS] = "8021Q_PCP_CLS", 2981*011be872SHoratiu Vultur [VCAP_KF_8021Q_TPID] = "8021Q_TPID", 298299ce286dSHoratiu Vultur [VCAP_KF_8021Q_TPID0] = "8021Q_TPID0", 298399ce286dSHoratiu Vultur [VCAP_KF_8021Q_TPID1] = "8021Q_TPID1", 298499ce286dSHoratiu Vultur [VCAP_KF_8021Q_TPID2] = "8021Q_TPID2", 298599ce286dSHoratiu Vultur [VCAP_KF_8021Q_VID0] = "8021Q_VID0", 298699ce286dSHoratiu Vultur [VCAP_KF_8021Q_VID1] = "8021Q_VID1", 298799ce286dSHoratiu Vultur [VCAP_KF_8021Q_VID2] = "8021Q_VID2", 298839bedc16SHoratiu Vultur [VCAP_KF_8021Q_VID_CLS] = "8021Q_VID_CLS", 298999ce286dSHoratiu Vultur [VCAP_KF_8021Q_VLAN_DBL_TAGGED_IS] = "8021Q_VLAN_DBL_TAGGED_IS", 299039bedc16SHoratiu Vultur [VCAP_KF_8021Q_VLAN_TAGGED_IS] = "8021Q_VLAN_TAGGED_IS", 299199ce286dSHoratiu Vultur [VCAP_KF_8021Q_VLAN_TAGS] = "8021Q_VLAN_TAGS", 299299ce286dSHoratiu Vultur [VCAP_KF_ACL_GRP_ID] = "ACL_GRP_ID", 299339bedc16SHoratiu Vultur [VCAP_KF_ARP_ADDR_SPACE_OK_IS] = "ARP_ADDR_SPACE_OK_IS", 299439bedc16SHoratiu Vultur [VCAP_KF_ARP_LEN_OK_IS] = "ARP_LEN_OK_IS", 299539bedc16SHoratiu Vultur [VCAP_KF_ARP_OPCODE] = "ARP_OPCODE", 299639bedc16SHoratiu Vultur [VCAP_KF_ARP_OPCODE_UNKNOWN_IS] = "ARP_OPCODE_UNKNOWN_IS", 299739bedc16SHoratiu Vultur [VCAP_KF_ARP_PROTO_SPACE_OK_IS] = "ARP_PROTO_SPACE_OK_IS", 299839bedc16SHoratiu Vultur [VCAP_KF_ARP_SENDER_MATCH_IS] = "ARP_SENDER_MATCH_IS", 299939bedc16SHoratiu Vultur [VCAP_KF_ARP_TGT_MATCH_IS] = "ARP_TGT_MATCH_IS", 300099ce286dSHoratiu Vultur [VCAP_KF_COSID_CLS] = "COSID_CLS", 300199ce286dSHoratiu Vultur [VCAP_KF_ES0_ISDX_KEY_ENA] = "ES0_ISDX_KEY_ENA", 300239bedc16SHoratiu Vultur [VCAP_KF_ETYPE] = "ETYPE", 300399ce286dSHoratiu Vultur [VCAP_KF_ETYPE_LEN_IS] = "ETYPE_LEN_IS", 300439bedc16SHoratiu Vultur [VCAP_KF_HOST_MATCH] = "HOST_MATCH", 300599ce286dSHoratiu Vultur [VCAP_KF_IF_EGR_PORT_MASK] = "IF_EGR_PORT_MASK", 300699ce286dSHoratiu Vultur [VCAP_KF_IF_EGR_PORT_MASK_RNG] = "IF_EGR_PORT_MASK_RNG", 3007*011be872SHoratiu Vultur [VCAP_KF_IF_EGR_PORT_NO] = "IF_EGR_PORT_NO", 300839bedc16SHoratiu Vultur [VCAP_KF_IF_IGR_PORT] = "IF_IGR_PORT", 300939bedc16SHoratiu Vultur [VCAP_KF_IF_IGR_PORT_MASK] = "IF_IGR_PORT_MASK", 301099ce286dSHoratiu Vultur [VCAP_KF_IF_IGR_PORT_MASK_L3] = "IF_IGR_PORT_MASK_L3", 301199ce286dSHoratiu Vultur [VCAP_KF_IF_IGR_PORT_MASK_RNG] = "IF_IGR_PORT_MASK_RNG", 301299ce286dSHoratiu Vultur [VCAP_KF_IF_IGR_PORT_MASK_SEL] = "IF_IGR_PORT_MASK_SEL", 301399ce286dSHoratiu Vultur [VCAP_KF_IF_IGR_PORT_SEL] = "IF_IGR_PORT_SEL", 301439bedc16SHoratiu Vultur [VCAP_KF_IP4_IS] = "IP4_IS", 301599ce286dSHoratiu Vultur [VCAP_KF_IP_MC_IS] = "IP_MC_IS", 301699ce286dSHoratiu Vultur [VCAP_KF_IP_PAYLOAD_5TUPLE] = "IP_PAYLOAD_5TUPLE", 301799ce286dSHoratiu Vultur [VCAP_KF_IP_PAYLOAD_S1_IP6] = "IP_PAYLOAD_S1_IP6", 301899ce286dSHoratiu Vultur [VCAP_KF_IP_SNAP_IS] = "IP_SNAP_IS", 301999ce286dSHoratiu Vultur [VCAP_KF_ISDX_CLS] = "ISDX_CLS", 302039bedc16SHoratiu Vultur [VCAP_KF_ISDX_GT0_IS] = "ISDX_GT0_IS", 302139bedc16SHoratiu Vultur [VCAP_KF_L2_BC_IS] = "L2_BC_IS", 302239bedc16SHoratiu Vultur [VCAP_KF_L2_DMAC] = "L2_DMAC", 302339bedc16SHoratiu Vultur [VCAP_KF_L2_FRM_TYPE] = "L2_FRM_TYPE", 302499ce286dSHoratiu Vultur [VCAP_KF_L2_FWD_IS] = "L2_FWD_IS", 302539bedc16SHoratiu Vultur [VCAP_KF_L2_LLC] = "L2_LLC", 302699ce286dSHoratiu Vultur [VCAP_KF_L2_MAC] = "L2_MAC", 302739bedc16SHoratiu Vultur [VCAP_KF_L2_MC_IS] = "L2_MC_IS", 302839bedc16SHoratiu Vultur [VCAP_KF_L2_PAYLOAD0] = "L2_PAYLOAD0", 302939bedc16SHoratiu Vultur [VCAP_KF_L2_PAYLOAD1] = "L2_PAYLOAD1", 303039bedc16SHoratiu Vultur [VCAP_KF_L2_PAYLOAD2] = "L2_PAYLOAD2", 303199ce286dSHoratiu Vultur [VCAP_KF_L2_PAYLOAD_ETYPE] = "L2_PAYLOAD_ETYPE", 303239bedc16SHoratiu Vultur [VCAP_KF_L2_SMAC] = "L2_SMAC", 303339bedc16SHoratiu Vultur [VCAP_KF_L2_SNAP] = "L2_SNAP", 303439bedc16SHoratiu Vultur [VCAP_KF_L3_DIP_EQ_SIP_IS] = "L3_DIP_EQ_SIP_IS", 303599ce286dSHoratiu Vultur [VCAP_KF_L3_DPL_CLS] = "L3_DPL_CLS", 303699ce286dSHoratiu Vultur [VCAP_KF_L3_DSCP] = "L3_DSCP", 303799ce286dSHoratiu Vultur [VCAP_KF_L3_DST_IS] = "L3_DST_IS", 303839bedc16SHoratiu Vultur [VCAP_KF_L3_FRAGMENT] = "L3_FRAGMENT", 303999ce286dSHoratiu Vultur [VCAP_KF_L3_FRAGMENT_TYPE] = "L3_FRAGMENT_TYPE", 304099ce286dSHoratiu Vultur [VCAP_KF_L3_FRAG_INVLD_L4_LEN] = "L3_FRAG_INVLD_L4_LEN", 304139bedc16SHoratiu Vultur [VCAP_KF_L3_FRAG_OFS_GT0] = "L3_FRAG_OFS_GT0", 304239bedc16SHoratiu Vultur [VCAP_KF_L3_IP4_DIP] = "L3_IP4_DIP", 304339bedc16SHoratiu Vultur [VCAP_KF_L3_IP4_SIP] = "L3_IP4_SIP", 304439bedc16SHoratiu Vultur [VCAP_KF_L3_IP6_DIP] = "L3_IP6_DIP", 304599ce286dSHoratiu Vultur [VCAP_KF_L3_IP6_DIP_MSB] = "L3_IP6_DIP_MSB", 304639bedc16SHoratiu Vultur [VCAP_KF_L3_IP6_SIP] = "L3_IP6_SIP", 304799ce286dSHoratiu Vultur [VCAP_KF_L3_IP6_SIP_MSB] = "L3_IP6_SIP_MSB", 304839bedc16SHoratiu Vultur [VCAP_KF_L3_IP_PROTO] = "L3_IP_PROTO", 304939bedc16SHoratiu Vultur [VCAP_KF_L3_OPTIONS_IS] = "L3_OPTIONS_IS", 305039bedc16SHoratiu Vultur [VCAP_KF_L3_PAYLOAD] = "L3_PAYLOAD", 305199ce286dSHoratiu Vultur [VCAP_KF_L3_RT_IS] = "L3_RT_IS", 305239bedc16SHoratiu Vultur [VCAP_KF_L3_TOS] = "L3_TOS", 305339bedc16SHoratiu Vultur [VCAP_KF_L3_TTL_GT0] = "L3_TTL_GT0", 305439bedc16SHoratiu Vultur [VCAP_KF_L4_1588_DOM] = "L4_1588_DOM", 305539bedc16SHoratiu Vultur [VCAP_KF_L4_1588_VER] = "L4_1588_VER", 305639bedc16SHoratiu Vultur [VCAP_KF_L4_ACK] = "L4_ACK", 305739bedc16SHoratiu Vultur [VCAP_KF_L4_DPORT] = "L4_DPORT", 305839bedc16SHoratiu Vultur [VCAP_KF_L4_FIN] = "L4_FIN", 305999ce286dSHoratiu Vultur [VCAP_KF_L4_PAYLOAD] = "L4_PAYLOAD", 306039bedc16SHoratiu Vultur [VCAP_KF_L4_PSH] = "L4_PSH", 306139bedc16SHoratiu Vultur [VCAP_KF_L4_RNG] = "L4_RNG", 306239bedc16SHoratiu Vultur [VCAP_KF_L4_RST] = "L4_RST", 306339bedc16SHoratiu Vultur [VCAP_KF_L4_SEQUENCE_EQ0_IS] = "L4_SEQUENCE_EQ0_IS", 306439bedc16SHoratiu Vultur [VCAP_KF_L4_SPORT] = "L4_SPORT", 306539bedc16SHoratiu Vultur [VCAP_KF_L4_SPORT_EQ_DPORT_IS] = "L4_SPORT_EQ_DPORT_IS", 306639bedc16SHoratiu Vultur [VCAP_KF_L4_SYN] = "L4_SYN", 306739bedc16SHoratiu Vultur [VCAP_KF_L4_URG] = "L4_URG", 306839bedc16SHoratiu Vultur [VCAP_KF_LOOKUP_FIRST_IS] = "LOOKUP_FIRST_IS", 306999ce286dSHoratiu Vultur [VCAP_KF_LOOKUP_GEN_IDX] = "LOOKUP_GEN_IDX", 307099ce286dSHoratiu Vultur [VCAP_KF_LOOKUP_GEN_IDX_SEL] = "LOOKUP_GEN_IDX_SEL", 307199ce286dSHoratiu Vultur [VCAP_KF_LOOKUP_INDEX] = "LOOKUP_INDEX", 307239bedc16SHoratiu Vultur [VCAP_KF_LOOKUP_PAG] = "LOOKUP_PAG", 307399ce286dSHoratiu Vultur [VCAP_KF_MIRROR_PROBE] = "MIRROR_PROBE", 307439bedc16SHoratiu Vultur [VCAP_KF_OAM_CCM_CNTS_EQ0] = "OAM_CCM_CNTS_EQ0", 307539bedc16SHoratiu Vultur [VCAP_KF_OAM_DETECTED] = "OAM_DETECTED", 307639bedc16SHoratiu Vultur [VCAP_KF_OAM_FLAGS] = "OAM_FLAGS", 307739bedc16SHoratiu Vultur [VCAP_KF_OAM_MEL_FLAGS] = "OAM_MEL_FLAGS", 307839bedc16SHoratiu Vultur [VCAP_KF_OAM_MEPID] = "OAM_MEPID", 307939bedc16SHoratiu Vultur [VCAP_KF_OAM_OPCODE] = "OAM_OPCODE", 308039bedc16SHoratiu Vultur [VCAP_KF_OAM_VER] = "OAM_VER", 308139bedc16SHoratiu Vultur [VCAP_KF_OAM_Y1731_IS] = "OAM_Y1731_IS", 3082*011be872SHoratiu Vultur [VCAP_KF_PDU_TYPE] = "PDU_TYPE", 308399ce286dSHoratiu Vultur [VCAP_KF_PROT_ACTIVE] = "PROT_ACTIVE", 3084*011be872SHoratiu Vultur [VCAP_KF_RTP_ID] = "RTP_ID", 308599ce286dSHoratiu Vultur [VCAP_KF_RT_FRMID] = "RT_FRMID", 308699ce286dSHoratiu Vultur [VCAP_KF_RT_TYPE] = "RT_TYPE", 308799ce286dSHoratiu Vultur [VCAP_KF_RT_VLAN_IDX] = "RT_VLAN_IDX", 308839bedc16SHoratiu Vultur [VCAP_KF_TCP_IS] = "TCP_IS", 308999ce286dSHoratiu Vultur [VCAP_KF_TCP_UDP_IS] = "TCP_UDP_IS", 309039bedc16SHoratiu Vultur [VCAP_KF_TYPE] = "TYPE", 309139bedc16SHoratiu Vultur }; 309239bedc16SHoratiu Vultur 309339bedc16SHoratiu Vultur /* Actionfield names */ 309439bedc16SHoratiu Vultur static const char * const vcap_actionfield_names[] = { 309539bedc16SHoratiu Vultur [VCAP_AF_NO_VALUE] = "(None)", 309639bedc16SHoratiu Vultur [VCAP_AF_ACL_ID] = "ACL_ID", 309799ce286dSHoratiu Vultur [VCAP_AF_CLS_VID_SEL] = "CLS_VID_SEL", 309899ce286dSHoratiu Vultur [VCAP_AF_CNT_ID] = "CNT_ID", 309999ce286dSHoratiu Vultur [VCAP_AF_COPY_PORT_NUM] = "COPY_PORT_NUM", 310099ce286dSHoratiu Vultur [VCAP_AF_COPY_QUEUE_NUM] = "COPY_QUEUE_NUM", 310139bedc16SHoratiu Vultur [VCAP_AF_CPU_COPY_ENA] = "CPU_COPY_ENA", 3102*011be872SHoratiu Vultur [VCAP_AF_CPU_QU] = "CPU_QU", 310339bedc16SHoratiu Vultur [VCAP_AF_CPU_QUEUE_NUM] = "CPU_QUEUE_NUM", 310499ce286dSHoratiu Vultur [VCAP_AF_CUSTOM_ACE_TYPE_ENA] = "CUSTOM_ACE_TYPE_ENA", 3105*011be872SHoratiu Vultur [VCAP_AF_DEI_A_VAL] = "DEI_A_VAL", 3106*011be872SHoratiu Vultur [VCAP_AF_DEI_B_VAL] = "DEI_B_VAL", 3107*011be872SHoratiu Vultur [VCAP_AF_DEI_C_VAL] = "DEI_C_VAL", 310899ce286dSHoratiu Vultur [VCAP_AF_DEI_ENA] = "DEI_ENA", 310999ce286dSHoratiu Vultur [VCAP_AF_DEI_VAL] = "DEI_VAL", 311099ce286dSHoratiu Vultur [VCAP_AF_DLR_SEL] = "DLR_SEL", 311199ce286dSHoratiu Vultur [VCAP_AF_DP_ENA] = "DP_ENA", 311299ce286dSHoratiu Vultur [VCAP_AF_DP_VAL] = "DP_VAL", 311399ce286dSHoratiu Vultur [VCAP_AF_DSCP_ENA] = "DSCP_ENA", 3114*011be872SHoratiu Vultur [VCAP_AF_DSCP_SEL] = "DSCP_SEL", 311599ce286dSHoratiu Vultur [VCAP_AF_DSCP_VAL] = "DSCP_VAL", 311699ce286dSHoratiu Vultur [VCAP_AF_ES2_REW_CMD] = "ES2_REW_CMD", 3117*011be872SHoratiu Vultur [VCAP_AF_ESDX] = "ESDX", 311839bedc16SHoratiu Vultur [VCAP_AF_FWD_KILL_ENA] = "FWD_KILL_ENA", 311999ce286dSHoratiu Vultur [VCAP_AF_FWD_MODE] = "FWD_MODE", 3120*011be872SHoratiu Vultur [VCAP_AF_FWD_SEL] = "FWD_SEL", 312139bedc16SHoratiu Vultur [VCAP_AF_HIT_ME_ONCE] = "HIT_ME_ONCE", 312239bedc16SHoratiu Vultur [VCAP_AF_HOST_MATCH] = "HOST_MATCH", 312399ce286dSHoratiu Vultur [VCAP_AF_IGNORE_PIPELINE_CTRL] = "IGNORE_PIPELINE_CTRL", 312499ce286dSHoratiu Vultur [VCAP_AF_INTR_ENA] = "INTR_ENA", 312599ce286dSHoratiu Vultur [VCAP_AF_ISDX_ADD_REPLACE_SEL] = "ISDX_ADD_REPLACE_SEL", 312699ce286dSHoratiu Vultur [VCAP_AF_ISDX_ADD_VAL] = "ISDX_ADD_VAL", 312739bedc16SHoratiu Vultur [VCAP_AF_ISDX_ENA] = "ISDX_ENA", 312899ce286dSHoratiu Vultur [VCAP_AF_ISDX_REPLACE_ENA] = "ISDX_REPLACE_ENA", 312999ce286dSHoratiu Vultur [VCAP_AF_ISDX_VAL] = "ISDX_VAL", 3130*011be872SHoratiu Vultur [VCAP_AF_LOOP_ENA] = "LOOP_ENA", 313139bedc16SHoratiu Vultur [VCAP_AF_LRN_DIS] = "LRN_DIS", 313299ce286dSHoratiu Vultur [VCAP_AF_MAP_IDX] = "MAP_IDX", 313399ce286dSHoratiu Vultur [VCAP_AF_MAP_KEY] = "MAP_KEY", 313499ce286dSHoratiu Vultur [VCAP_AF_MAP_LOOKUP_SEL] = "MAP_LOOKUP_SEL", 313539bedc16SHoratiu Vultur [VCAP_AF_MASK_MODE] = "MASK_MODE", 313699ce286dSHoratiu Vultur [VCAP_AF_MATCH_ID] = "MATCH_ID", 313799ce286dSHoratiu Vultur [VCAP_AF_MATCH_ID_MASK] = "MATCH_ID_MASK", 313839bedc16SHoratiu Vultur [VCAP_AF_MIRROR_ENA] = "MIRROR_ENA", 313999ce286dSHoratiu Vultur [VCAP_AF_MIRROR_PROBE] = "MIRROR_PROBE", 314099ce286dSHoratiu Vultur [VCAP_AF_MIRROR_PROBE_ID] = "MIRROR_PROBE_ID", 314199ce286dSHoratiu Vultur [VCAP_AF_MRP_SEL] = "MRP_SEL", 314299ce286dSHoratiu Vultur [VCAP_AF_NXT_IDX] = "NXT_IDX", 314399ce286dSHoratiu Vultur [VCAP_AF_NXT_IDX_CTRL] = "NXT_IDX_CTRL", 314499ce286dSHoratiu Vultur [VCAP_AF_OAM_SEL] = "OAM_SEL", 314599ce286dSHoratiu Vultur [VCAP_AF_PAG_OVERRIDE_MASK] = "PAG_OVERRIDE_MASK", 314699ce286dSHoratiu Vultur [VCAP_AF_PAG_VAL] = "PAG_VAL", 3147*011be872SHoratiu Vultur [VCAP_AF_PCP_A_VAL] = "PCP_A_VAL", 3148*011be872SHoratiu Vultur [VCAP_AF_PCP_B_VAL] = "PCP_B_VAL", 3149*011be872SHoratiu Vultur [VCAP_AF_PCP_C_VAL] = "PCP_C_VAL", 315099ce286dSHoratiu Vultur [VCAP_AF_PCP_ENA] = "PCP_ENA", 315199ce286dSHoratiu Vultur [VCAP_AF_PCP_VAL] = "PCP_VAL", 3152*011be872SHoratiu Vultur [VCAP_AF_PIPELINE_ACT] = "PIPELINE_ACT", 315399ce286dSHoratiu Vultur [VCAP_AF_PIPELINE_FORCE_ENA] = "PIPELINE_FORCE_ENA", 315499ce286dSHoratiu Vultur [VCAP_AF_PIPELINE_PT] = "PIPELINE_PT", 315539bedc16SHoratiu Vultur [VCAP_AF_POLICE_ENA] = "POLICE_ENA", 315639bedc16SHoratiu Vultur [VCAP_AF_POLICE_IDX] = "POLICE_IDX", 315799ce286dSHoratiu Vultur [VCAP_AF_POLICE_REMARK] = "POLICE_REMARK", 315839bedc16SHoratiu Vultur [VCAP_AF_POLICE_VCAP_ONLY] = "POLICE_VCAP_ONLY", 3159*011be872SHoratiu Vultur [VCAP_AF_POP_VAL] = "POP_VAL", 316039bedc16SHoratiu Vultur [VCAP_AF_PORT_MASK] = "PORT_MASK", 3161*011be872SHoratiu Vultur [VCAP_AF_PUSH_CUSTOMER_TAG] = "PUSH_CUSTOMER_TAG", 3162*011be872SHoratiu Vultur [VCAP_AF_PUSH_INNER_TAG] = "PUSH_INNER_TAG", 3163*011be872SHoratiu Vultur [VCAP_AF_PUSH_OUTER_TAG] = "PUSH_OUTER_TAG", 316499ce286dSHoratiu Vultur [VCAP_AF_QOS_ENA] = "QOS_ENA", 316599ce286dSHoratiu Vultur [VCAP_AF_QOS_VAL] = "QOS_VAL", 316639bedc16SHoratiu Vultur [VCAP_AF_REW_OP] = "REW_OP", 316799ce286dSHoratiu Vultur [VCAP_AF_RT_DIS] = "RT_DIS", 316899ce286dSHoratiu Vultur [VCAP_AF_SFID_ENA] = "SFID_ENA", 316999ce286dSHoratiu Vultur [VCAP_AF_SFID_VAL] = "SFID_VAL", 317099ce286dSHoratiu Vultur [VCAP_AF_SGID_ENA] = "SGID_ENA", 317199ce286dSHoratiu Vultur [VCAP_AF_SGID_VAL] = "SGID_VAL", 3172*011be872SHoratiu Vultur [VCAP_AF_SWAP_MACS_ENA] = "SWAP_MACS_ENA", 3173*011be872SHoratiu Vultur [VCAP_AF_TAG_A_DEI_SEL] = "TAG_A_DEI_SEL", 3174*011be872SHoratiu Vultur [VCAP_AF_TAG_A_PCP_SEL] = "TAG_A_PCP_SEL", 3175*011be872SHoratiu Vultur [VCAP_AF_TAG_A_TPID_SEL] = "TAG_A_TPID_SEL", 3176*011be872SHoratiu Vultur [VCAP_AF_TAG_A_VID_SEL] = "TAG_A_VID_SEL", 3177*011be872SHoratiu Vultur [VCAP_AF_TAG_B_DEI_SEL] = "TAG_B_DEI_SEL", 3178*011be872SHoratiu Vultur [VCAP_AF_TAG_B_PCP_SEL] = "TAG_B_PCP_SEL", 3179*011be872SHoratiu Vultur [VCAP_AF_TAG_B_TPID_SEL] = "TAG_B_TPID_SEL", 3180*011be872SHoratiu Vultur [VCAP_AF_TAG_B_VID_SEL] = "TAG_B_VID_SEL", 3181*011be872SHoratiu Vultur [VCAP_AF_TAG_C_DEI_SEL] = "TAG_C_DEI_SEL", 3182*011be872SHoratiu Vultur [VCAP_AF_TAG_C_PCP_SEL] = "TAG_C_PCP_SEL", 3183*011be872SHoratiu Vultur [VCAP_AF_TAG_C_TPID_SEL] = "TAG_C_TPID_SEL", 3184*011be872SHoratiu Vultur [VCAP_AF_TAG_C_VID_SEL] = "TAG_C_VID_SEL", 318599ce286dSHoratiu Vultur [VCAP_AF_TYPE] = "TYPE", 3186*011be872SHoratiu Vultur [VCAP_AF_UNTAG_VID_ENA] = "UNTAG_VID_ENA", 3187*011be872SHoratiu Vultur [VCAP_AF_VID_A_VAL] = "VID_A_VAL", 3188*011be872SHoratiu Vultur [VCAP_AF_VID_B_VAL] = "VID_B_VAL", 3189*011be872SHoratiu Vultur [VCAP_AF_VID_C_VAL] = "VID_C_VAL", 319099ce286dSHoratiu Vultur [VCAP_AF_VID_REPLACE_ENA] = "VID_REPLACE_ENA", 319199ce286dSHoratiu Vultur [VCAP_AF_VID_VAL] = "VID_VAL", 319299ce286dSHoratiu Vultur [VCAP_AF_VLAN_POP_CNT] = "VLAN_POP_CNT", 319399ce286dSHoratiu Vultur [VCAP_AF_VLAN_POP_CNT_ENA] = "VLAN_POP_CNT_ENA", 319439bedc16SHoratiu Vultur }; 319539bedc16SHoratiu Vultur 319639bedc16SHoratiu Vultur /* VCAPs */ 319739bedc16SHoratiu Vultur const struct vcap_info lan966x_vcaps[] = { 319899ce286dSHoratiu Vultur [VCAP_TYPE_IS1] = { 319999ce286dSHoratiu Vultur .name = "is1", 320099ce286dSHoratiu Vultur .rows = 192, 320199ce286dSHoratiu Vultur .sw_count = 4, 320299ce286dSHoratiu Vultur .sw_width = 96, 320399ce286dSHoratiu Vultur .sticky_width = 32, 320499ce286dSHoratiu Vultur .act_width = 123, 320599ce286dSHoratiu Vultur .default_cnt = 0, 320699ce286dSHoratiu Vultur .require_cnt_dis = 1, 320799ce286dSHoratiu Vultur .version = 1, 320899ce286dSHoratiu Vultur .keyfield_set = is1_keyfield_set, 320999ce286dSHoratiu Vultur .keyfield_set_size = ARRAY_SIZE(is1_keyfield_set), 321099ce286dSHoratiu Vultur .actionfield_set = is1_actionfield_set, 321199ce286dSHoratiu Vultur .actionfield_set_size = ARRAY_SIZE(is1_actionfield_set), 321299ce286dSHoratiu Vultur .keyfield_set_map = is1_keyfield_set_map, 321399ce286dSHoratiu Vultur .keyfield_set_map_size = is1_keyfield_set_map_size, 321499ce286dSHoratiu Vultur .actionfield_set_map = is1_actionfield_set_map, 321599ce286dSHoratiu Vultur .actionfield_set_map_size = is1_actionfield_set_map_size, 321699ce286dSHoratiu Vultur .keyfield_set_typegroups = is1_keyfield_set_typegroups, 321799ce286dSHoratiu Vultur .actionfield_set_typegroups = is1_actionfield_set_typegroups, 321899ce286dSHoratiu Vultur }, 321939bedc16SHoratiu Vultur [VCAP_TYPE_IS2] = { 322039bedc16SHoratiu Vultur .name = "is2", 322139bedc16SHoratiu Vultur .rows = 64, 322239bedc16SHoratiu Vultur .sw_count = 4, 322339bedc16SHoratiu Vultur .sw_width = 96, 322439bedc16SHoratiu Vultur .sticky_width = 32, 322539bedc16SHoratiu Vultur .act_width = 31, 322639bedc16SHoratiu Vultur .default_cnt = 11, 322739bedc16SHoratiu Vultur .require_cnt_dis = 1, 322839bedc16SHoratiu Vultur .version = 1, 322939bedc16SHoratiu Vultur .keyfield_set = is2_keyfield_set, 323039bedc16SHoratiu Vultur .keyfield_set_size = ARRAY_SIZE(is2_keyfield_set), 323139bedc16SHoratiu Vultur .actionfield_set = is2_actionfield_set, 323239bedc16SHoratiu Vultur .actionfield_set_size = ARRAY_SIZE(is2_actionfield_set), 323339bedc16SHoratiu Vultur .keyfield_set_map = is2_keyfield_set_map, 323439bedc16SHoratiu Vultur .keyfield_set_map_size = is2_keyfield_set_map_size, 323539bedc16SHoratiu Vultur .actionfield_set_map = is2_actionfield_set_map, 323639bedc16SHoratiu Vultur .actionfield_set_map_size = is2_actionfield_set_map_size, 323739bedc16SHoratiu Vultur .keyfield_set_typegroups = is2_keyfield_set_typegroups, 323839bedc16SHoratiu Vultur .actionfield_set_typegroups = is2_actionfield_set_typegroups, 323939bedc16SHoratiu Vultur }, 3240*011be872SHoratiu Vultur [VCAP_TYPE_ES0] = { 3241*011be872SHoratiu Vultur .name = "es0", 3242*011be872SHoratiu Vultur .rows = 256, 3243*011be872SHoratiu Vultur .sw_count = 1, 3244*011be872SHoratiu Vultur .sw_width = 96, 3245*011be872SHoratiu Vultur .sticky_width = 1, 3246*011be872SHoratiu Vultur .act_width = 65, 3247*011be872SHoratiu Vultur .default_cnt = 8, 3248*011be872SHoratiu Vultur .require_cnt_dis = 0, 3249*011be872SHoratiu Vultur .version = 1, 3250*011be872SHoratiu Vultur .keyfield_set = es0_keyfield_set, 3251*011be872SHoratiu Vultur .keyfield_set_size = ARRAY_SIZE(es0_keyfield_set), 3252*011be872SHoratiu Vultur .actionfield_set = es0_actionfield_set, 3253*011be872SHoratiu Vultur .actionfield_set_size = ARRAY_SIZE(es0_actionfield_set), 3254*011be872SHoratiu Vultur .keyfield_set_map = es0_keyfield_set_map, 3255*011be872SHoratiu Vultur .keyfield_set_map_size = es0_keyfield_set_map_size, 3256*011be872SHoratiu Vultur .actionfield_set_map = es0_actionfield_set_map, 3257*011be872SHoratiu Vultur .actionfield_set_map_size = es0_actionfield_set_map_size, 3258*011be872SHoratiu Vultur .keyfield_set_typegroups = es0_keyfield_set_typegroups, 3259*011be872SHoratiu Vultur .actionfield_set_typegroups = es0_actionfield_set_typegroups, 3260*011be872SHoratiu Vultur }, 326139bedc16SHoratiu Vultur }; 326239bedc16SHoratiu Vultur 326339bedc16SHoratiu Vultur const struct vcap_statistics lan966x_vcap_stats = { 326439bedc16SHoratiu Vultur .name = "lan966x", 3265*011be872SHoratiu Vultur .count = 3, 326639bedc16SHoratiu Vultur .keyfield_set_names = vcap_keyfield_set_names, 326739bedc16SHoratiu Vultur .actionfield_set_names = vcap_actionfield_set_names, 326839bedc16SHoratiu Vultur .keyfield_names = vcap_keyfield_names, 326939bedc16SHoratiu Vultur .actionfield_names = vcap_actionfield_names, 327039bedc16SHoratiu Vultur }; 3271