Re: [PATCH net-next 2/2] net: openvswitch: make masks cache size configurable
From: Florian Westphal <fw@strlen.de>
Date: 2020-07-23 10:16:05
From: Florian Westphal <fw@strlen.de>
Date: 2020-07-23 10:16:05
Eelco Chaudron [off-list ref] wrote:
On 22 Jul 2020, at 21:22, Florian Westphal wrote:quoted
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_policydatapath_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.