diff --git a/src/sonic-yang-mgmt/tests/yang-model-tests/yangModelTesting.py b/src/sonic-yang-mgmt/tests/yang-model-tests/yangModelTesting.py index ca19c22c315e..4c4be8c6e48b 100644 --- a/src/sonic-yang-mgmt/tests/yang-model-tests/yangModelTesting.py +++ b/src/sonic-yang-mgmt/tests/yang-model-tests/yangModelTesting.py @@ -153,7 +153,7 @@ def run(self): for test in self.tests: test = test.strip() if test in self.ExceptionTests: - self.runExceptionTest(test); + ret = ret + self.runExceptionTest(test); except Exception as e: printExceptionDetails() raise e diff --git a/src/sonic-yang-mgmt/tests/yang-model-tests/yangTest.json b/src/sonic-yang-mgmt/tests/yang-model-tests/yangTest.json index 960a96e3aa91..30ff17aa1f33 100644 --- a/src/sonic-yang-mgmt/tests/yang-model-tests/yangTest.json +++ b/src/sonic-yang-mgmt/tests/yang-model-tests/yangTest.json @@ -3,7 +3,7 @@ "sonic-vlan:sonic-vlan": { "sonic-vlan:VLAN_INTERFACE": { "VLAN_INTERFACE_LIST": [{ - "vlanid": 100, + "vlan_name": "Vlan100", "ip-prefix": "2a04:5555:66:7777::1/64", "scope": "global", "family": "IPv4" @@ -11,7 +11,7 @@ }, "sonic-vlan:VLAN": { "VLAN_LIST": [{ - "vlanid": 100, + "vlan_name": "Vlan100", "description": "server_vlan" }] } @@ -22,7 +22,7 @@ "sonic-vlan:sonic-vlan": { "sonic-vlan:VLAN": { "VLAN_LIST": [{ - "vlanid": 100, + "vlan_name": "Vlan100", "description": "server_vlan", "dhcp_servers": [ "10.186.72.566" @@ -34,18 +34,18 @@ } }, - "VLAN_HAS_NON_EXIST_PORT": { + "VLAN_WITH_NON_EXIST_PORT": { "sonic-vlan:sonic-vlan": { "sonic-vlan:VLAN_MEMBER": { "VLAN_MEMBER_LIST": [{ - "vlanid": 100, + "vlan_name": "Vlan100", "port": "Ethernet156", "tagging_mode": "tagged" }] }, "sonic-vlan:VLAN": { "VLAN_LIST": [{ - "vlanid": 100, + "vlan_name": "Vlan100", "description": "server_vlan" }] } @@ -77,18 +77,18 @@ "sonic-vlan:sonic-vlan": { "sonic-vlan:VLAN_MEMBER": { "VLAN_MEMBER_LIST": [{ - "vlanid": 200, + "vlan_name": "Vlan200", "port": "Ethernet0", "tagging_mode": "tagged" }] }, "sonic-vlan:VLAN": { "VLAN_LIST": [{ - "vlanid": 100, + "vlan_name": "Vlan100", "description": "server_vlan" }, { - "vlanid": 300, + "vlan_name": "Vlan300", "description": "ipmi_vlan" } ] @@ -112,14 +112,14 @@ "sonic-vlan:sonic-vlan": { "sonic-vlan:VLAN_MEMBER": { "VLAN_MEMBER_LIST": [{ - "vlanid": 100, + "vlan_name": 100, "port": "Ethernet0", "tagging_mode": "non-tagged" }] }, "sonic-vlan:VLAN": { "VLAN_LIST": [{ - "vlanid": 100, + "vlan_name": "Vlan100", "description": "server_vlan" }] } diff --git a/src/sonic-yang-mgmt/yang-models/sonic-acl.yang b/src/sonic-yang-mgmt/yang-models/sonic-acl.yang index 1aab4d7de0b1..290744a0633e 100644 --- a/src/sonic-yang-mgmt/yang-models/sonic-acl.yang +++ b/src/sonic-yang-mgmt/yang-models/sonic-acl.yang @@ -77,7 +77,7 @@ module sonic-acl { choice ip_prefix { case ip4_prefix { - when "boolean(IP_TYPE[.='ANY' or .='IP' or .='IPV4' or .='IPV4ANY' or .='ARP'])"; + when "boolean(IP_TYPE[.='ANY' or .='IP' or .='IPV4' or .='IPv4ANY' or .='ARP'])"; leaf SRC_IP { type inet:ipv4-prefix; } @@ -88,7 +88,7 @@ module sonic-acl { } case ip6_prefix { - when "boolean(IP_TYPE[.='ANY' or .='IP' or .='IPV6' or .='IPV6ANY'])"; + when "boolean(IP_TYPE[.='ANY' or .='IP' or .='IPV6' or .='IPv6ANY'])"; leaf SRC_IPV6 { type inet:ipv6-prefix; } @@ -170,7 +170,7 @@ module sonic-acl { choice icmp { case icmp4 { - when "boolean(IP_TYPE[.='ANY' or .='IP' or .='IPV4' or .='IPV4ANY' or .='ARP'])"; + when "boolean(IP_TYPE[.='ANY' or .='IP' or .='IPV4' or .='IPv4ANY' or .='ARP'])"; leaf ICMP_TYPE { type uint8 { range 1..44; @@ -185,7 +185,7 @@ module sonic-acl { } case icmp6 { - when "boolean(IP_TYPE[.='ANY' or .='IP' or .='IPV6' or .='IPV6ANY'])"; + when "boolean(IP_TYPE[.='ANY' or .='IP' or .='IPV6' or .='IPv6ANY'])"; leaf ICMPV6_TYPE { type uint8 { range 1..44; diff --git a/src/sonic-yang-mgmt/yang-models/sonic-head.yang b/src/sonic-yang-mgmt/yang-models/sonic-head.yang index dd0da92c7152..45822f8b7e8d 100644 --- a/src/sonic-yang-mgmt/yang-models/sonic-head.yang +++ b/src/sonic-yang-mgmt/yang-models/sonic-head.yang @@ -42,9 +42,9 @@ module sonic-head { enum NON_IP; enum IPV4; enum IPV6; - enum IPV4ANY; - enum NON_IPv4; - enum IPV6ANY; + enum IPv4ANY; + enum NON_IP4; + enum IPv6ANY; enum NON_IPv6; enum ARP; } @@ -69,4 +69,4 @@ module sonic-head { enum priority_tagged; } } -} \ No newline at end of file +} diff --git a/src/sonic-yang-mgmt/yang-models/sonic-interface.yang b/src/sonic-yang-mgmt/yang-models/sonic-interface.yang index dc8bc7389ea1..dd2dea1b802d 100644 --- a/src/sonic-yang-mgmt/yang-models/sonic-interface.yang +++ b/src/sonic-yang-mgmt/yang-models/sonic-interface.yang @@ -47,6 +47,7 @@ module sonic-interface { } leaf ip-prefix { + /* TODO: this should be custom, not inet:ip-prefix.*/ type inet:ip-prefix; } diff --git a/src/sonic-yang-mgmt/yang-models/sonic-port.yang b/src/sonic-yang-mgmt/yang-models/sonic-port.yang index be04a8aea4bd..07e6aa73ab50 100644 --- a/src/sonic-yang-mgmt/yang-models/sonic-port.yang +++ b/src/sonic-yang-mgmt/yang-models/sonic-port.yang @@ -55,7 +55,7 @@ module sonic-port{ leaf description { type string { - length 1..255; + length 0..255; } } @@ -75,6 +75,12 @@ module sonic-port{ mandatory true; type head:admin_status; } + + leaf fec { + type string { + pattern "rc|fc|None"; + } + } } /* end of list PORT_LIST */ } /* end of container PORT */ diff --git a/src/sonic-yang-mgmt/yang-models/sonic-vlan.yang b/src/sonic-yang-mgmt/yang-models/sonic-vlan.yang index 6058ce3f1bfc..cba8008f860f 100644 --- a/src/sonic-yang-mgmt/yang-models/sonic-vlan.yang +++ b/src/sonic-yang-mgmt/yang-models/sonic-vlan.yang @@ -38,11 +38,11 @@ module sonic-vlan { list VLAN_INTERFACE_LIST { - key "vlanid ip-prefix"; + key "vlan_name ip-prefix"; - leaf vlanid { + leaf vlan_name { type leafref { - path ../../../VLAN/VLAN_LIST/vlanid; + path "/vlan:sonic-vlan/vlan:VLAN/vlan:VLAN_LIST/vlan:vlan_name"; } } @@ -81,7 +81,13 @@ module sonic-vlan { list VLAN_LIST { - key "vlanid"; + key "vlan_name"; + + leaf vlan_name { + type string { + pattern 'Vlan([0-9]{1,3}|[0-3][0-9]{4}|[4][0][0-8][0-9]|[4][0][9][0-4])'; + } + } leaf vlanid { type uint16 { @@ -114,7 +120,7 @@ module sonic-vlan { /* leaf-list members are unique by default */ type leafref { - path /port:sonic-port/port:PORT/port:PORT_LIST/port:port_name; + path "/port:sonic-port/port:PORT/port:PORT_LIST/port:port_name"; } } } @@ -128,11 +134,11 @@ module sonic-vlan { list VLAN_MEMBER_LIST { - key "vlanid port"; + key "vlan_name port"; - leaf vlanid { + leaf vlan_name { type leafref { - path ../../../VLAN/VLAN_LIST/vlanid; + path "/vlan:sonic-vlan/vlan:VLAN/vlan:VLAN_LIST/vlan:vlan_name"; } }