-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[yang]: SONiC Yang model support for LLDP (#8120)
- Loading branch information
Showing
5 changed files
with
368 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
28 changes: 28 additions & 0 deletions
28
src/sonic-yang-models/tests/yang_model_tests/tests/lldp.json
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
{ | ||
"LLDP_GLOBAL_TEST": { | ||
"desc": "LLDP test global LLDP table" | ||
}, | ||
"LLDP_GLOBAL_TEST_INVALID_HELLO": { | ||
"desc": "LLDP test global table with invalid hello value", | ||
"eStrKey" : "InvalidValue", | ||
"eStr": ["hello_time"] | ||
}, | ||
"LLDP_GLOBAL_TEST_INVALID_MULTIPLIER": { | ||
"desc": "LLDP test global table with invalid multiplier value", | ||
"eStrKey" : "InvalidValue", | ||
"eStr": ["multiplier"] | ||
}, | ||
"LLDP_PORT_TEST": { | ||
"desc": "LLDP test LLDP port table" | ||
}, | ||
"LLDP_PORT_TEST_INVALID_IFNAME": { | ||
"desc": "LLDP test port table with invalid ifname", | ||
"eStrKey" : "LeafRef", | ||
"eStr": ["Eth"] | ||
}, | ||
"LLDP_PORT_TEST_INVALID_MODE": { | ||
"desc": "LLDP test port table with invalid mode", | ||
"eStrKey" : "InvalidValue", | ||
"eStr": ["mode"] | ||
} | ||
} |
166 changes: 166 additions & 0 deletions
166
src/sonic-yang-models/tests/yang_model_tests/tests_config/lldp.json
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,166 @@ | ||
{ | ||
"LLDP_GLOBAL_TEST": { | ||
"sonic-lldp:sonic-lldp": { | ||
"sonic-lldp:LLDP": { | ||
"sonic-lldp:GLOBAL": { | ||
"mode": "TRANSMIT", | ||
"enabled": "true", | ||
"hello_time": "20", | ||
"multiplier": "5", | ||
"supp_mgmt_address_tlv": "true", | ||
"supp_system_capabilities_tlv": "false", | ||
"system_name": "sonic", | ||
"system_description": "sonic-system" | ||
} | ||
} | ||
} | ||
}, | ||
"LLDP_GLOBAL_TEST_INVALID_ID": { | ||
"sonic-lldp:sonic-lldp": { | ||
"sonic-lldp:LLDP": { | ||
"sonic-lldp:GLOBAL": { | ||
"mode": "TRANSMIT", | ||
"enabled": "true", | ||
"hello_time": "10", | ||
"multiplier": "5", | ||
"supp_mgmt_address_tlv": "true", | ||
"supp_system_capabilities_tlv": "false", | ||
"system_name": "sonic", | ||
"system_description": "sonic-system" | ||
} | ||
} | ||
} | ||
}, | ||
"LLDP_GLOBAL_TEST_INVALID_HELLO": { | ||
"sonic-lldp:sonic-lldp": { | ||
"sonic-lldp:LLDP": { | ||
"sonic-lldp:GLOBAL": { | ||
"mode": "TRANSMIT", | ||
"enabled": "true", | ||
"hello_time": "test", | ||
"multiplier": "5", | ||
"supp_mgmt_address_tlv": "true", | ||
"supp_system_capabilities_tlv": "false", | ||
"system_name": "sonic", | ||
"system_description": "sonic-system" | ||
} | ||
} | ||
} | ||
}, | ||
"LLDP_GLOBAL_TEST_INVALID_MULTIPLIER": { | ||
"sonic-lldp:sonic-lldp": { | ||
"sonic-lldp:LLDP": { | ||
"sonic-lldp:GLOBAL": { | ||
"mode": "TRANSMIT", | ||
"enabled": "true", | ||
"hello_time": "10", | ||
"multiplier": "xyz", | ||
"supp_mgmt_address_tlv": "true", | ||
"supp_system_capabilities_tlv": "false", | ||
"system_name": "sonic", | ||
"system_description": "sonic-system" | ||
} | ||
} | ||
} | ||
}, | ||
"LLDP_GLOBAL_TEST_DEFAULT_SUPP_MGMT_ADDR_TLV": { | ||
"sonic-lldp:sonic-lldp": { | ||
"sonic-lldp:LLDP": { | ||
"sonic-lldp:GLOBAL": { | ||
"mode": "TRANSMIT", | ||
"enabled": "true", | ||
"hello_time": "10", | ||
"multiplier": "5", | ||
"supp_mgmt_address_tlv": "false", | ||
"supp_system_capabilities_tlv": "false", | ||
"system_name": "sonic", | ||
"system_description": "sonic-system" | ||
} | ||
} | ||
} | ||
}, | ||
"LLDP_PORT_TEST": { | ||
"sonic-port:sonic-port": { | ||
"sonic-port:PORT": { | ||
"PORT_LIST": [ | ||
{ | ||
"admin_status": "up", | ||
"alias": "eth0", | ||
"description": "Ethernet0", | ||
"lanes": "65", | ||
"mtu": 9000, | ||
"name": "Ethernet0", | ||
"speed": 25000 | ||
} | ||
] | ||
} | ||
}, | ||
"sonic-lldp:sonic-lldp": { | ||
"sonic-lldp:LLDP_PORT": { | ||
"LLDP_PORT_LIST": [ | ||
{ | ||
"ifname": "Ethernet0", | ||
"mode": "TRANSMIT", | ||
"enabled": "true" | ||
} | ||
] | ||
} | ||
} | ||
}, | ||
"LLDP_PORT_TEST_INVALID_IFNAME": { | ||
"sonic-port:sonic-port": { | ||
"sonic-port:PORT": { | ||
"PORT_LIST": [ | ||
{ | ||
"admin_status": "up", | ||
"alias": "eth0", | ||
"description": "Ethernet0", | ||
"lanes": "65", | ||
"mtu": 9000, | ||
"name": "Ethernet0", | ||
"speed": 25000 | ||
} | ||
] | ||
} | ||
}, | ||
"sonic-lldp:sonic-lldp": { | ||
"sonic-lldp:LLDP_PORT": { | ||
"LLDP_PORT_LIST": [ | ||
{ | ||
"ifname": "Eth", | ||
"mode": "TRANSMIT", | ||
"enabled": "true" | ||
} | ||
] | ||
} | ||
} | ||
}, | ||
"LLDP_PORT_TEST_INVALID_MODE": { | ||
"sonic-port:sonic-port": { | ||
"sonic-port:PORT": { | ||
"PORT_LIST": [ | ||
{ | ||
"admin_status": "up", | ||
"alias": "eth0", | ||
"description": "Ethernet0", | ||
"lanes": "65", | ||
"mtu": 9000, | ||
"name": "Ethernet0", | ||
"speed": 25000 | ||
} | ||
] | ||
} | ||
}, | ||
"sonic-lldp:sonic-lldp": { | ||
"sonic-lldp:LLDP_PORT": { | ||
"LLDP_PORT_LIST": [ | ||
{ | ||
"ifname": "Ethernet0", | ||
"mode": "TRANSMITTING", | ||
"enabled": "true" | ||
} | ||
] | ||
} | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,155 @@ | ||
module sonic-lldp { | ||
namespace "http://github.com/Azure/sonic-lldp"; | ||
prefix slldp; | ||
yang-version 1.1; | ||
|
||
import sonic-port { | ||
prefix prt; | ||
} | ||
|
||
import sonic-extension { | ||
prefix sonic-ext; | ||
} | ||
|
||
organization | ||
"SONiC"; | ||
|
||
contact | ||
"SONiC"; | ||
|
||
description | ||
"SONiC LLDP yang model"; | ||
|
||
revision 2021-07-08 { | ||
description | ||
"Initial revision."; | ||
} | ||
|
||
grouping lldp_mode_config { | ||
leaf enabled { | ||
type boolean; | ||
description | ||
"Enable/Disable LLDP"; | ||
} | ||
|
||
leaf mode { | ||
type enumeration { | ||
enum RECEIVE; | ||
enum TRANSMIT; | ||
} | ||
|
||
description | ||
"RX/TX mode for LLDP frames"; | ||
} | ||
} | ||
|
||
container sonic-lldp { | ||
container LLDP { | ||
container GLOBAL { | ||
|
||
leaf hello_time { | ||
type uint8 { | ||
range "5..254" { | ||
error-message "Invalid hello timer value."; | ||
} | ||
} | ||
default 30; | ||
units seconds; | ||
description | ||
"It is the time interval at which periodic hellos are | ||
exchanged. Default is 30 seconds"; | ||
} | ||
|
||
leaf multiplier { | ||
type uint8 { | ||
range "1..10" { | ||
error-message "Invalid LLDP multiplier value."; | ||
} | ||
} | ||
default 4; | ||
description | ||
"This multiplier value is used to determine the timeout | ||
interval (i.e. hello-time x multiplier value) after | ||
which LLDP neighbor entry is deleted."; | ||
} | ||
|
||
leaf system_name { | ||
type string; | ||
description | ||
"System administratively assigned name"; | ||
} | ||
|
||
leaf system_description { | ||
type string; | ||
description | ||
"System description"; | ||
} | ||
|
||
leaf supp_mgmt_address_tlv { | ||
type boolean; | ||
default false; | ||
description | ||
"Suppress sending of Management Address TLV in LLDP frames"; | ||
} | ||
|
||
leaf supp_system_capabilities_tlv { | ||
type boolean; | ||
default false; | ||
description | ||
"Suppress sending of System Capabilities TLV in LLDP frames"; | ||
} | ||
|
||
leaf enabled { | ||
type boolean; | ||
default true; | ||
description | ||
"Enable/Disable LLDP"; | ||
} | ||
|
||
leaf mode { | ||
type enumeration { | ||
enum RECEIVE; | ||
enum TRANSMIT; | ||
} | ||
|
||
description | ||
"RX/TX mode for LLDP frames"; | ||
} | ||
|
||
//uses lldp_mode_config; | ||
} | ||
} | ||
|
||
container LLDP_PORT { | ||
list LLDP_PORT_LIST { | ||
key "ifname"; | ||
|
||
leaf ifname { | ||
type leafref { | ||
path "/prt:sonic-port/prt:PORT/prt:PORT_LIST/prt:name"; | ||
} | ||
description | ||
"Reference of port on which LLDP to be configured."; | ||
} | ||
|
||
leaf enabled { | ||
type boolean; | ||
default true; | ||
description | ||
"Enable/Disable LLDP"; | ||
} | ||
|
||
leaf mode { | ||
type enumeration { | ||
enum RECEIVE; | ||
enum TRANSMIT; | ||
} | ||
|
||
description | ||
"RX/TX mode for LLDP frames"; | ||
} | ||
//uses lldp_mode_config; | ||
} | ||
} | ||
} | ||
} |