From 84ef7348ecdcb910f09eac9abce8b60db8c5d7a3 Mon Sep 17 00:00:00 2001 From: Anant Kishor Sharma Date: Wed, 1 Jul 2026 13:39:59 +0530 Subject: [PATCH] [sonic-yang-models]: Add TC_ACTION to sonic-acl Signed-off-by: Anant Kishor Sharma --- .../tests/yang_model_tests/tests/acl.json | 7 +++ .../yang_model_tests/tests_config/acl.json | 62 +++++++++++++++++++ .../yang-templates/sonic-acl.yang.j2 | 5 ++ 3 files changed, 74 insertions(+) diff --git a/src/sonic-yang-models/tests/yang_model_tests/tests/acl.json b/src/sonic-yang-models/tests/yang_model_tests/tests/acl.json index da7258a0d8b..63535ba40fe 100644 --- a/src/sonic-yang-models/tests/yang_model_tests/tests/acl.json +++ b/src/sonic-yang-models/tests/yang_model_tests/tests/acl.json @@ -210,5 +210,12 @@ }, "ACL_INNERSRCMACREWRITE_NO_INNERSRCIP": { "desc": "Configure INNERSRCMACREWRITE ACL with no inner src IP" + }, + "ACL_RULE_WITH_VALID_TC_ACTION": { + "desc": "Configure ACL rule with valid TC_ACTION values (0..255)." + }, + "ACL_RULE_WITH_INVALID_TC_ACTION": { + "desc": "Configure ACL rule with an out-of-range TC_ACTION value.", + "eStrKey": "Bounds" } } diff --git a/src/sonic-yang-models/tests/yang_model_tests/tests_config/acl.json b/src/sonic-yang-models/tests/yang_model_tests/tests_config/acl.json index fdd37304a82..dcf495d6ddd 100644 --- a/src/sonic-yang-models/tests/yang_model_tests/tests_config/acl.json +++ b/src/sonic-yang-models/tests/yang_model_tests/tests_config/acl.json @@ -2283,5 +2283,67 @@ ] } } + }, + "ACL_RULE_WITH_VALID_TC_ACTION": { + "sonic-acl:sonic-acl": { + "sonic-acl:ACL_RULE": { + "ACL_RULE_LIST": [ + { + "ACL_TABLE_NAME": "TC_TEST", + "TC_ACTION": 0, + "PRIORITY": 9991, + "RULE_NAME": "Rule_1" + }, + { + "ACL_TABLE_NAME": "TC_TEST", + "TC_ACTION": 7, + "PRIORITY": 9992, + "RULE_NAME": "Rule_2" + }, + { + "ACL_TABLE_NAME": "TC_TEST", + "TC_ACTION": 255, + "PRIORITY": 9993, + "RULE_NAME": "Rule_3" + } + ] + }, + "sonic-acl:ACL_TABLE": { + "ACL_TABLE_LIST": [ + { + "ACL_TABLE_NAME": "TC_TEST", + "policy_desc": "TC_TEST", + "ports": [ "" ], + "stage": "INGRESS", + "type": "L3" + } + ] + } + } + }, + "ACL_RULE_WITH_INVALID_TC_ACTION": { + "sonic-acl:sonic-acl": { + "sonic-acl:ACL_RULE": { + "ACL_RULE_LIST": [ + { + "ACL_TABLE_NAME": "TC_TEST", + "TC_ACTION": 256, + "PRIORITY": 9991, + "RULE_NAME": "Rule_1" + } + ] + }, + "sonic-acl:ACL_TABLE": { + "ACL_TABLE_LIST": [ + { + "ACL_TABLE_NAME": "TC_TEST", + "policy_desc": "TC_TEST", + "ports": [ "" ], + "stage": "INGRESS", + "type": "L3" + } + ] + } + } } } \ No newline at end of file diff --git a/src/sonic-yang-models/yang-templates/sonic-acl.yang.j2 b/src/sonic-yang-models/yang-templates/sonic-acl.yang.j2 index a0f099447c6..f3f552cb214 100644 --- a/src/sonic-yang-models/yang-templates/sonic-acl.yang.j2 +++ b/src/sonic-yang-models/yang-templates/sonic-acl.yang.j2 @@ -96,6 +96,11 @@ module sonic-acl { type yang:mac-address; } + leaf TC_ACTION { + description "Traffic class (CoS) to set on matching packets"; + type uint8; + } + leaf IP_TYPE { description "IP type to match (IPv4, IPv6, ARP, etc.)"; type stypes:ip_type;