Hi Horatiu, On Thu, Apr 23, 2020 at 10:29:48AM +0200, Horatiu Vultur wrote: > > > +static const struct vcap_props vcap_is2 = { > > > + .name = "IS2", > > > + .tg_width = 2, > > > + .sw_count = 4, > > > + .entry_count = VCAP_IS2_CNT, > > > + .entry_words = BITS_TO_32BIT(VCAP_IS2_ENTRY_WIDTH), > > > + .entry_width = VCAP_IS2_ENTRY_WIDTH, > > > + .action_count = (VCAP_IS2_CNT + VCAP_PORT_CNT + 2), > > > + .action_words = BITS_TO_32BIT(VCAP_IS2_ACTION_WIDTH), > > > + .action_width = (VCAP_IS2_ACTION_WIDTH), > > > + .action_type_width = 1, > > > + .action_table = { > > > + { > > > + .width = (IS2_AO_ACL_ID + IS2_AL_ACL_ID), > > > + .count = 2 > > > + }, > > > + { > > > + .width = 6, > > > + .count = 4 > > > + }, > > > + }, > > > + .counter_words = BITS_TO_32BIT(4 * ENTRY_WIDTH), > > > + .counter_width = ENTRY_WIDTH, > > > +}; Coming again to this patch, I'm having a very hard time understanding how VCAP_IS2_ENTRY_WIDTH is derived and what it represents, especially since the VCAP_CONST_ENTRY_WIDTH register reads something different. Could you please explain? Thanks, -Vladimir