tools: ynl-gen: support full range of min/max checks for integer values

Extend the support to full range of min/max checks.
None of the existing YNL families required complex integer validation.

The support is less than trivial, because we try to keep struct nla_policy
tiny the min/max members it holds in place are s16. Meaning we can only
express checks in range of s16. For larger ranges we need to define
a structure and link it in the policy.

Link: https://lore.kernel.org/r/20231018163917.2514503-3-kuba@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
Jakub Kicinski
2023-10-18 09:39:16 -07:00
parent ee0a4cfcbd
commit 668c1ac828
4 changed files with 68 additions and 7 deletions
+3
View File
@@ -184,6 +184,9 @@ properties:
min:
description: Min value for an integer attribute.
type: integer
max:
description: Max value for an integer attribute.
type: integer
min-len:
description: Min length for a binary attribute.
$ref: '#/$defs/len-or-define'
@@ -227,6 +227,9 @@ properties:
min:
description: Min value for an integer attribute.
type: integer
max:
description: Max value for an integer attribute.
type: integer
min-len:
description: Min length for a binary attribute.
$ref: '#/$defs/len-or-define'
+3
View File
@@ -157,6 +157,9 @@ properties:
min:
description: Min value for an integer attribute.
type: integer
max:
description: Max value for an integer attribute.
type: integer
min-len:
description: Min length for a binary attribute.
$ref: '#/$defs/len-or-define'