Eelco Chaudron <echau...@redhat.com> wrote: > On 22 Jul 2020, at 21:22, Florian Westphal wrote: > > I see a 0 cache size is legal (turns it off) and that the allocation > > path has a few sanity checks as well. > > > > Would it make sense to add min/max policy to datapath_policy[] for this > > as well? > > Yes I could add the following: > > @@ -1906,7 +1906,8 @@ static const struct nla_policy > datapath_policy[OVS_DP_ATTR_MAX + 1] = { > [OVS_DP_ATTR_NAME] = { .type = NLA_NUL_STRING, .len = IFNAMSIZ - 1 > }, > [OVS_DP_ATTR_UPCALL_PID] = { .type = NLA_U32 }, > [OVS_DP_ATTR_USER_FEATURES] = { .type = NLA_U32 }, > + [OVS_DP_ATTR_MASKS_CACHE_SIZE] = NLA_POLICY_RANGE(NLA_U32, 0, > + PCPU_MIN_UNIT_SIZE / sizeof(struct mask_cache_entry)), > }; > Let me know your thoughts
I think its a good idea. When 'max' becomes too restricted one could rework internal kernel logic to support larger size and userspace can detect it by probing with a larger size first.