From 35c95b5f0cb6960451600b87c5ea619d93f1f082 Mon Sep 17 00:00:00 2001 From: kuanyu_chen Date: Mon, 9 May 2022 17:02:22 +0800 Subject: [PATCH] Add vlan stacking default value check Signed-off-by: kuanyu_chen --- inc/saivlan.h | 1 + meta/parse.pl | 8 ++++++++ meta/saisanitycheck.c | 1 + 3 files changed, 10 insertions(+) diff --git a/inc/saivlan.h b/inc/saivlan.h index f1a4d39236..52ee77b77e 100644 --- a/inc/saivlan.h +++ b/inc/saivlan.h @@ -570,6 +570,7 @@ typedef enum _sai_vlan_stack_attr_t * * @type sai_vlan_stacking_vid_t * @flags CREATE_AND_SET + * @default 0,0 * @validonly SAI_VLAN_STACK_ATTR_ACTION == SAI_VLAN_STACK_ACTION_PUSH or SAI_VLAN_STACK_ATTR_ACTION == SAI_VLAN_STACK_ACTION_SWAP */ SAI_VLAN_STACK_ATTR_APPLIED_VLAN_ID, diff --git a/meta/parse.pl b/meta/parse.pl index 2285afbf6b..efb6ca3bff 100755 --- a/meta/parse.pl +++ b/meta/parse.pl @@ -359,6 +359,8 @@ sub ProcessTagDefault return $val if $val eq "\"\""; + return $val if $val =~ /^0\,0$/; + LogError "invalid default tag value '$val' on $type $value"; return undef; } @@ -1569,6 +1571,8 @@ sub ProcessDefaultValueType return "SAI_DEFAULT_VALUE_TYPE_CONST" if $default eq "\"\""; + return "SAI_DEFAULT_VALUE_TYPE_CONST" if $default =~ /^0\,0$/; + LogError "invalid default value type '$default' on $attr"; return ""; @@ -1640,6 +1644,10 @@ sub ProcessDefaultValue { WriteSource "$val = { .mac = { 0, 0, 0, 0, 0, 0 } };"; } + elsif ($default =~ /^0\,0$/ and $type =~ /^(sai_vlan_stacking_vid_t)/) + { + WriteSource "$val = { .$VALUE_TYPES{$1} = { .outer = 0, .inner = 0 } };"; + } else { LogError "invalid default value '$default' on $attr ($type)"; diff --git a/meta/saisanitycheck.c b/meta/saisanitycheck.c index 54c48688e6..9396390478 100644 --- a/meta/saisanitycheck.c +++ b/meta/saisanitycheck.c @@ -2669,6 +2669,7 @@ void check_attr_is_primitive( case SAI_ATTR_VALUE_TYPE_MACSEC_SALT: case SAI_ATTR_VALUE_TYPE_SYSTEM_PORT_CONFIG: case SAI_ATTR_VALUE_TYPE_FABRIC_PORT_REACHABILITY: + case SAI_ATTR_VALUE_TYPE_VLAN_STACKING_VID: if (!md->isprimitive) {