From e55cffdd360976ba935b63205599d780dea28a13 Mon Sep 17 00:00:00 2001 From: Shivashankar CR Date: Wed, 5 Nov 2025 22:17:14 -0800 Subject: [PATCH] LLDP Custom TLV HLD Co-authored-by: Praveen HM Co-authored-by: Ashutosh Agarwal Co-authored-by: Venkata Rajesh Etla --- .../images/lldp_architecture.png | Bin 0 -> 89332 bytes doc/lldp_custom_tlv/images/lldp_config.png | Bin 0 -> 41303 bytes .../images/lldp_feature_daemon.png | Bin 0 -> 31125 bytes .../images/lldp_global_config.png | Bin 0 -> 39509 bytes doc/lldp_custom_tlv/images/lldp_rx_tlv.png | Bin 0 -> 31626 bytes doc/lldp_custom_tlv/lldp-custom-tlv-hld.md | 746 ++++++++++++++++++ 6 files changed, 746 insertions(+) create mode 100644 doc/lldp_custom_tlv/images/lldp_architecture.png create mode 100644 doc/lldp_custom_tlv/images/lldp_config.png create mode 100644 doc/lldp_custom_tlv/images/lldp_feature_daemon.png create mode 100644 doc/lldp_custom_tlv/images/lldp_global_config.png create mode 100644 doc/lldp_custom_tlv/images/lldp_rx_tlv.png create mode 100644 doc/lldp_custom_tlv/lldp-custom-tlv-hld.md diff --git a/doc/lldp_custom_tlv/images/lldp_architecture.png b/doc/lldp_custom_tlv/images/lldp_architecture.png new file mode 100644 index 0000000000000000000000000000000000000000..a7d6870ca38bdd69c32d2bebb61707bdee4cd311 GIT binary patch literal 89332 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

C2hMOL1MsH^I5gs; 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≀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

PpDl<4jws6a2t>zA9iEM~ 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%0AxCpLYHBy;=)SRE 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 L#>WdZ9m4+((9VV_ literal 0 HcmV?d00001 diff --git a/doc/lldp_custom_tlv/lldp-custom-tlv-hld.md b/doc/lldp_custom_tlv/lldp-custom-tlv-hld.md new file mode 100644 index 00000000000..a2fc11d1581 --- /dev/null +++ b/doc/lldp_custom_tlv/lldp-custom-tlv-hld.md @@ -0,0 +1,746 @@ +# SONiC LLDP Custom TLV + +## Table of Content + +1. [Revision](#revision) +2. [Scope](#scope) +3. [Definitions/Abbreviations](#definitionsabbreviations) +4. [Overview](#overview) +5. [Requirements](#requirements) +6. [Architecture Design](#architecture-design) +7. [High-Level Design](#high-level-design) +8. [SAI API](#sai-api) +9. [Configuration and management](#configuration-and-management) +10. [Testing Requirements](#testing-requirements) + + +## Revision + +| Rev | Date | Author | Change Description | +|:---:|:----------:|:-------------------:|--------------------| +| 0.1 | 11/06/2025 | Shivashankar C R | Initial version | +| | | Praveen HM | | +| | | Ashutosh Agarwal | | +| | | Venkata Rajesh Etla | | + +## Scope + +This document provides a high-level design for LLDP Custom TLV feature in SONiC. The feature allows either users to configure custom TLVs that they want to be advertised or another feature in SONiC which needs to use custom TLVs for communicating with the neighbouring devices. + +## Definitions/Abbreviations + +| **Term** | **Meaning** | +|--------------------------|-------------------------------------| +| LLDP | Link Layer Discovery Protocol | +| TLV | Type-Length-Value | +| OUI | Organizationally Unique Identifier | +| LLDPD | LLDP daemon | +| ConfigDB | Configuration Database | +| StateDB | State Database | + +## Overview + +Link Layer Discovery Protocol (LLDP) is a vendor-neutral Layer 2 protocol that allows network devices to advertise information about themselves to other devices on the network. While LLDP defines standard TLVs for common information exchange, there are scenarios where custom TLVs are needed to transmit vendor-specific or application-specific information. + +Adding support for a new LLDP TLV normally would require making code changes to the lldpd daemon to provide configuration commands and interpret TLV contents while processing packets. To avoid making code changes, lldpd provides support for configuring custom TLVs where the data can be given as input by the user. This information is then used by lldpd daemon to include the custom TLV in the LLDP PDUs transmitted. + +The LLDP Custom TLV feature in SONiC provides the capability to: +- Configure custom TLV elements with user-specified content +- Associate custom TLVs with specific network interfaces/ports +- Manage custom TLV configurations through standard SONiC interfaces +- Support other feature daemons requesting LLDP for custom TLV exchange with peers +- Persistent configuration that survives docker restart and system reboot + + +## Requirements + +### Functional Requirements + +* **R0** : **Custom TLV Definition**: Users must be able to define custom TLV with elements: + - Custom TLV name + - Organizationally Unique Identifier (OUI) value + - Subtype value + - OUI information as comma-separated hex bytes + +* **R1** : **Global Association**: Users must be able to: + - Associate one or more custom TLVs at global level which will be applied to all interfaces + - Remove individual TLV associations while preserving others at global level + +* **R2** : **Interface Association**: Users must be able to: + - Associate one or more custom TLVs with specific interfaces + - Support single interface or range of interfaces + - Remove individual TLV associations while preserving others + +* **R3** : **Operational Commands**: Provide CLI commands to: + - Display all custom TLV definitions with detailed information + - Show specific custom TLV configuration by name + - Display TLVs associated globally + - Display TLVs associated per interface + +* **R4** : **Feature Daemon Integration Requirements** + + For SONiC features that need to communicate with peer devices using LLDP custom TLVs, the following requirements must be supported: + + a. **Dynamic TLV Transmission Request**: Feature daemons must be able to: + - Request transmission of custom TLVs on specific interfaces through StateDB + - Specify OUI, subtype, and OUI info data dynamically + - Update TLV content in real-time based on operational state changes + - Remove TLV transmission requests when no longer needed + + b. **TLV Reception and Notification**: Feature daemons must be able to: + - Receive notifications when custom TLVs are received from peer devices + - Access received TLV content through StateDB subscription + - Parse and process TLV information for protocol-specific logic + - Handle TLV content changes from peer devices + + c. **Coexistence of multiple TLVs**: The system must ensure: + - Multiple feature daemons can use custom TLVs simultaneously + - TLVs from different features don't interfere with each other + - User-configured TLVs and feature daemon TLVs coexist properly + +**Note** : **Warm Boot Requirements** + Currently in SONiC there is no special handling being made for LLDP with respect to warm reboot, as there is no impact to data traffic. Hence there are no sepcific requirements for custom TLV feature for warm reboot. + +### Example Use Cases + +Apart from the existing NVIDIA use case: "**Switch to SuperNIC handshake to enable Nvidia superNIC SPC-X capability**" +Below are some examples: + +#### 1. BGP Auto-Peering Using LLDP +Automatically form BGP sessions between directly connected devices that support auto-peering. + +Reference link: +https://datatracker.ietf.org/doc/html/draft-acee-idr-lldp-peer-discovery-19 + +#### 2. Port-to-Device Mapping (Console Port Metadata) +**Description**: +Terminal servers can use custom TLVs to advertise real-time mappings between physical console ports and connected network devices. + +**Initial TLV**: +Declares static port-to-device relationships (e.g., Port 1 → Router1, Port 2 → Switch3). + +**Dynamic Updates**: +TLVs are updated automatically when devices are swapped or reconnected (e.g., Switch3 replaced by Switch7). + +Eliminates the need for manual tracking of device-to-port assignments. Enables orchestration systems and NOC operators to instantly identify which network device is attached to each console port. + +#### 3. Out-of-Band (OOB) Management Role Advertisement +**Description**: +Custom TLVs can advertise the management role of the terminal server within the OOB network topology. + +**Initial TLV**: +Declares whether the terminal server is acting as a primary OOB path or a backup. + +**Dynamic Updates**: +Automatically reflects changes in failover status (e.g., backup becomes active). + +Facilitates intelligent decision-making in orchestration platforms by signaling which terminal servers are actively responsible for OOB access. + +#### 4. Security and Access Policy Enforcement +**Description**: +Terminal servers can broadcast security policy-related metadata via TLVs. + +**Initial TLV**: +Device whitelists for authorized console connections (e.g., based on serial number, MAC address). + +**Dynamic Updates**: +Triggered when unauthorized or unknown devices are connected. + +Acts as a preventative control against unauthorized physical access. Helps detect rogue or spoofed devices connected to console ports. + +## Architecture Design + +The LLDP Custom TLV architecture supports both user-configured TLVs and dynamic feature daemon interactions. The design includes multiple data flows and database interactions to handle different use cases. + +### Architecture Flow Diagram + +The following diagram illustrates the complete architecture including user configuration paths, feature daemon integration, and bidirectional TLV communication: + +

+ + +### Key Architecture Components + +1. The LLDP Manager (lldpmgrd) is responsible for handling all the user configurations from CONFIG DB and custom TLV updates by other features from STATE DB. lldpmgrd interacts with lldpd via lldpcli for updating the configurations to lldpd. +2. LLDPD handles all the custom TLV configurations made via lldpcli and takes care of including the custom TLVs in the transmitted packets +3. LLDP Sync Daemon (lldp_syncd) retrieves the operational data from lldpd and updates into APP DB and STATE DB. The custom TLV information received in LLDP packets are updated into STATE DB, allowing other features to get the custom TLV information by subscribing to the STATE DB tables. + + +## High-Level Design + +### Database Schema + +### Config DB Schema + +#### LLDP_CUSTOM_TLV Table + +This table stores the definitions of custom TLVs. + +```json +{ + "LLDP_CUSTOM_TLV": { + "TLV_NAME": { + "oui": "STRING (3 bytes of comma-separated value in hex format)", + "subtype": "STRING (1 byte value in hex format)", + "oui_info": "STRING (comma-separated byte values in hex format)" + } + } +} +``` + +**Example:** +```json +{ + "LLDP_CUSTOM_TLV": { + "vendor1-tlv": { + "oui": "00,20,2c", + "subtype": "1", + "oui_info": "12,46,5c,04,9a,4d,01,01,28,b1,87,1c" + }, + "vendor2-tlv": { + "oui": "00,12,34", + "subtype": "2", + "oui_info": "48,65,6c,6c,6f,20,57,6f,72,6c,64" + } + } +} +``` + +#### LLDP GLOBAL Table + +This table stores the LLDP global level configuration including the custom TLVs that are applied at global level. + +```json +{ + "LLDP": { + "GLOBAL": { + "custom_tlv_name": "STRING (comma-separated list)" + } + } +} +``` + +**Example:** +```json +{ + "LLDP": { + "GLOBAL": { + "custom_tlv_name": "vendor1-tlv,vendor2-tlv" + } + } +} +``` + +#### LLDP_PORT Table + +Extended to include custom TLV associations. + +```json +{ + "LLDP_PORT": { + "INTERFACE_NAME": { + "admin_status": "STRING", + "custom_tlv_name": "STRING (comma-separated list)" + } + } +} +``` + +**Example:** +```json +{ + "LLDP_PORT": { + "Ethernet0": { + "admin_status": "enabled", + "custom_tlv_name": "vendor1-tlv,vendor2-tlv" + }, + "Ethernet4": { + "admin_status": "enabled", + "custom_tlv_name": "vendor1-tlv" + }, + "Ethernet8": { + "admin_status": "enabled", + "custom_tlv_name": "vendor2-tlv" + } + } +} +``` +**Note** : Global and port-level configurations are mutually exclusive but can coexist; interface-level configurations do not override global settings. + + +### State DB Schema + +#### LLDP_RX_CUSTOM_TLV Table + +This table is used by LLDP to notify other feature daemons that are interested in receiving custom TLVs from peer devices. + +```json +{ + "LLDP_RX_CUSTOM_TLV": { + "INTERFACE_NAME": { + "oui-value|subtype": { + "oui_info": "STRING (comma-separated byte values in hex format)" + } + } + } +} +``` + +**Example:** +```json +{ + "LLDP_RX_CUSTOM_TLV": { + "Ethernet0": { + "00,20,2c|1": { + "oui_info": "12,46,5c,04,9a,4d,01,01,28,b1,87,1c" + }, + "00,12,34|2": { + "oui_info": "48,65,6c,6c,6f,20,57,6f,72,6c,64" + } + } + } +} +``` + +#### LLDP_TX_CUSTOM_TLV Table + +This table is used by feature daemons to notify LLDP about custom TLVs that need to be transmitted. + +```json +{ + "LLDP_TX_CUSTOM_TLV": { + "INTERFACE_NAME": { + "oui-value|subtype": { + "oui_info": "STRING (comma-separated byte values in hex format)" + } + } + } +} +``` + +**Example:** +```json +{ + "LLDP_TX_CUSTOM_TLV": { + "Ethernet0": { + "00,1a,2b|10": { + "oui_info": "52,61,63,6b,3a,31,30,2c,52,6f,77,3a,41" + } + } + } +} +``` + +### Component Design + +#### LLDP Manager + +The LLDP Manager (lldpmgrd) is responsible for: + +1. **Configuration Management**: + - Subscribe to LLDP_CUSTOM_TLV table notifications in ConfigDB + - Subscribe to LLDP_GLOBAL table notifications in ConfigDB + - Subscribe to LLDP_PORT table notifications in ConfigDB + - Subscribe to LLDP_TX_CUSTOM_TLV table notifications in StateDB (for feature daemon requests) + - Load existing custom TLV configurations and port associations on startup + - Maintain local cache of custom TLV definitions and port mappings + +2. **Event Processing**: + - **Custom TLV Events**: Process SET/DEL operations on LLDP_CUSTOM_TLV table + - On SET: Update local cache and apply to all associated ports + - On DEL: Remove from cache + - **Global Association Events**: Process SET/DEL operations on LLDP_GLOBAL table + - Parse comma-separated custom_tlv_name field + - Apply TLVs at global level + - **Port Association Events**: Process SET/DEL operations on LLDP_PORT table + - Parse comma-separated custom_tlv_name field + - Apply TLVs to the interface/port + - **Feature Daemon Events**: Process SET/DEL operations on LLDP_TX_CUSTOM_TLV table + - On SET: Apply feature-requested TLVs on the specified interfaces + - On DEL: Remove feature-requested TLVs from interface + +3. **LLDPCLI Integration**: + - Execute lldpcli commands to configure custom TLVs on interfaces + - Commands used: + ```bash + lldpcli configure lldp custom-tlv add/replace oui subtype oui-info + lldpcli unconfigure lldp custom-tlv oui subtype + lldpcli configure ports lldp custom-tlv add/replace oui subtype oui-info + lldpcli unconfigure ports lldp custom-tlv oui subtype + ``` + + +#### LLDPD Integration + +LLDPD integrates with the LLDP Manager through lldpcli interface: + - LLDP Manager communicates with lldpd through lldpcli commands + - Immediate application of custom TLV changes globally or to the respective interfaces + - Include configured custom TLVs in transmitted LLDP packets + + +#### LLDP Sync Daemon (lldp_syncd) + - Retreive the operational data from lldpd using the lldpcli commands + - Extract custom TLVs from the operational data and update State DB (LLDP_RX_CUSTOM_TLV table) for feature daemon consumption + - Existing operational data sync happens every 10 seconds, while the LLDP custom TLV information will be synced every 1 second to ensure the feature daemon gets the updates quickly + + +### Configuration Flow + +#### LLDP global level user configuration flow +
+ +This is the basic use case where users configure custom TLVs globally. + +**Flow:** +1. User configures custom TLV via CLI +2. User associates custom TLV at LLDP global level +3. Configuration stored in ConfigDB (LLDP_CUSTOM_TLV and LLDP_GLOBAL tables) +4. LLDP Manager receives configuration events +5. LLDP Manager applies configuration to lldpd via lldpcli commands +6. lldpd transmits custom TLVs in LLDP packets + + +#### LLDP port level user configuration flow +
+ +This is the basic use case where users configure custom TLVs to be transmitted from specific interfaces. + +**Flow:** +1. User configures custom TLV via CLI +2. User associates custom TLV with interfaces +3. Configuration stored in ConfigDB (LLDP_CUSTOM_TLV and LLDP_PORT tables) +4. LLDP Manager receives configuration events +5. LLDP Manager applies configuration to lldpd via lldpcli commands +6. lldpd transmits custom TLVs in LLDP packets + + +#### Feature Daemon Request Flow + +This use case supports scenarios where feature daemons need to exchange information with peer devices via LLDP TLVs. The TLV contents might change based on negotiations with peer devices or operational state changes. + +**Transmit Flow (Feature → LLDP):** + +
+ +1. Feature daemon determines need for custom TLV transmission +2. Feature daemon updates StateDB (LLDP_TX_CUSTOM_TLV table) +3. LLDP Manager monitors StateDB for custom TLV requests +4. LLDP Manager configures lldpd with requested TLVs +5. lldpd transmits feature-requested TLVs in LLDP packets + +**Alternative:** Feature daemon can directly listen for LLDP packets and process TLVs of interest. + +**Receive Flow (LLDP → Feature):** + +
+ +1. Peer device sends LLDP packet with custom TLVs +2. lldpd receives and processes LLDP packet +3. LLDP sync daemon (lldp_syncd) updates StateDB (LLDP_RX_CUSTOM_TLV table) +4. Feature daemon monitors StateDB for received custom TLVs +5. Feature daemon processes received TLV information + + + +### CLI Commands + +#### Configuration Commands + +```bash +# Define custom TLV +config lldp custom-tlv add oui subtype oui-info + +# Remove custom TLV +config lldp custom-tlv remove + +# Associate custom TLV at global level +config lldp custom-tlv apply-global + +# Remove custom TLV from global level +config lldp custom-tlv remove-global + +# Associate custom TLV with interface +config interface lldp custom-tlv add + +# Remove custom TLV association from interface +config interface lldp custom-tlv remove + +``` + +#### Show Commands + +```bash +# Show all custom TLV definitions +show lldp custom-tlv + +# Show specific custom TLV definition +show lldp custom-tlv + +# Show custom TLV associated at global level +show lldp custom-tlv --global-status + +# Show custom TLV associations per interface +show interfaces lldp custom-tlv +``` + +#### Configuration Examples + +##### Example 1: Basic Custom TLV Configuration + +```bash +# Create a Vendor1 custom TLV +admin@sonic:~$ config lldp custom-tlv add vendor1-tlv oui 00,20,2C subtype 1 oui-info 12,46,5C,04,9A,4D,01,01,28,B1,87,1C + + +# Create a vendor2 custom TLV +admin@sonic:~$ config lldp custom-tlv add vendor2-tlv oui 00,12,34 subtype 2 oui-info 48,65,6c,6c,6f,20,57,6f,72,6c,64 + +# Associate custom TLVs globally +admin@sonic:~$ config interface lldp custom-tlv apply-global vendor3-tlv + +# Associate custom TLVs with interfaces +admin@sonic:~$ config interface lldp custom-tlv add Ethernet0 vendor1-tlv +admin@sonic:~$ config interface lldp custom-tlv add Ethernet0 vendor2-tlv +admin@sonic:~$ config interface lldp custom-tlv add Ethernet4 vendor2-tlv +admin@sonic:~$ config interface lldp custom-tlv add Ethernet8 vendor1-tlv +``` + +##### Example 2: Interface Range Configuration + +```bash +# Associate custom TLV with multiple interfaces +admin@sonic:~$ config interface lldp custom-tlv add Ethernet12-24 vendor2-tlv +``` + +##### Example 3: Removing Configurations + +```bash +# Remove custom TLV association globally +admin@sonic:~$ config interface lldp custom-tlv remove-global vendor3-tlv + +# Remove custom TLV association from specific interface +admin@sonic:~$ config interface lldp custom-tlv remove Ethernet0 vendor1-tlv + +# Remove custom TLV definition +admin@sonic:~$ config lldp custom-tlv remove vendor1-tlv + +``` + +#### Show Command Examples + +##### Example 1: Show All Custom TLVs + +```bash +admin@sonic:~$ show lldp custom-tlv + +LLDP Custom TLV: vendor1-tlv +========================== + OUI : 00,20,2c + Subtype : 1 + OUI Info : 12,46,5c,04,9a,4d,01,01,28,b1,87,1c + + +LLDP Custom TLV: vendor2-tlv +=========================== + OUI : 00,12,34 + Subtype : 2 + OUI Info : 48,65,6c,6c,6f,20,57,6f,72,6c,64 + +``` + +##### Example 2: Show Specific Custom TLV + +```bash +admin@sonic:~$ show lldp custom-tlv vendor1-tlv + +LLDP Custom TLV: vendor1-tlv +========================== + OUI : 00,20,2c + Subtype : 1 + OUI Info : 12,46,5c,04,9a,4d,01,01,28,b1,87,1c + +``` + +##### Example 3: Show global level Custom TLV Associations + +```bash +admin@sonic:~$ show lldp custom-tlv --global-status +Global custom TLVs : vendor3-tlv, vendor4-tlv + +``` + +##### Example 4: Show Interface Custom TLV Associations + +```bash +admin@sonic:~$ show interfaces lldp custom-tlv +Port Name +--------- ---------------------- +Ethernet0 vendor1-tlv, vendor2-tlv +Ethernet4 vendor2-tlv +Ethernet8 vendor1-tlv +``` + + +## SAI API + +No changes in SAI API is required for this feature. + + +## Configuration and Management + +### YANG Model + +```yang +module sonic-lldp { + namespace "http://github.com/Azure/sonic-lldp"; + prefix lldp; + + import sonic-common { + prefix cmn; + } + + container sonic-lldp { + container LLDP { + container GLOBAL { + leaf custom_tlv_name { + type string; + description "Comma-separated list of custom TLV names applied globally to all interfaces"; + } + } + } + + container LLDP_CUSTOM_TLV { + description + "Custom TLVs for LLDP"; + + list LLDP_CUSTOM_TLV_LIST { + key "name"; + + leaf name { + type string { + length "1..32"; + pattern "[a-zA-Z0-9_-]+"; + } + description + "Custom TLV name. Can contain letters, numbers, hyphens, and underscores."; + } + + leaf oui { + type string { + pattern "([0-9a-fA-F]{2},){2}[0-9a-fA-F]{2}"; + } + mandatory true; + description + "Organizationally Unique Identifier (OUI) as 3 comma-separated hex bytes. + Example: 00,12,34"; + } + + leaf subtype { + type string { + pattern "(0x[0-9a-fA-F]{1,2})|([0-9a-fA-F]{1,2})"; + } + mandatory true; + description + "Subtype value in hexadecimal format (0x00-0xFF). + Example: 0x01, 01"; + } + + leaf oui_info { + type string { + pattern "([0-9a-fA-F]{2},)*[0-9a-fA-F]{2}"; + } + mandatory true; + description + "OUI info as comma-separated hex bytes (max 507 bytes). + Example: 12,34,ab,cd"; + } + } + } + + container LLDP_PORT { + description "LLDP interface configuration"; + + list LLDP_PORT_LIST { + key "name"; + + leaf name { + type string; + description "Interface name"; + } + + leaf admin_status { + type enumeration { + enum "enabled"; + enum "disabled"; + } + default "enabled"; + description "LLDP admin status on the interface"; + } + + leaf custom_tlv_name { + type string; + description "Comma-separated list of custom TLV names associated with this interface"; + } + } + } + } +} +``` + +## Testing Requirements + +### Unit Tests + +### Configuration Commands + +#### Custom TLV Definition Management +1. Verify adding new custom TLV with all parameters +2. Verify modifying the parameters of existing custom TLV +3. Verify removing of custom TLV +4. Verify removing of custom TLV is not allowed when it's associated with interfaces. +5. Verify removing of a non-existent custom TLV fails. +6. Verify configuring of custom TLV with oui-info with max length of 507 bytes. +7. Verify the input values for OUI, subtype, OUI info are rejected if the values are not in expected format. + +#### Global Custom TLV Management +1. Verify applying custom TLV globally results in all interface sending LLDP packets with global custom TLV included +2. Verify applying multiple custom TLVs globally +3. Verify removing specific custom TLV from global configuration while preserving others +4. Verify removing all custom TLVs from global configuration +5. Verify applying non-existent custom TLV globally fails +6. Verify global custom TLVs are applied to newly added interfaces, when say port is breakout. +7. Verify global custom TLVs coexist with interface-specific custom TLVs, verify both TLVs are present in the LLDP packets + +#### Interface Custom TLV Association +1. Verify adding custom TLV to single interface +2. Verify adding multiple custom TLVs to same interface +3. Verify adding custom TLV to interface range (e.g., Ethernet0-12) +4. Verify removing custom TLV from an interface +5. Verify removing specific TLV when multiple TLVs are configured on the interface +6. Verify removing nonexistent TLVs from an interface fails +7. Verify removing custom TLV from invalid interface fails +8. Verify adding already associated TLVs will work fine +9. Verify adding same custom TLV again to an interface + + +### Show Commands +1. Verify "show lldp custom-tlv" displays all the custom TLVs configured on the system +2. Verify "show lldp custom-tlv" shows a message when there are no custom TLVs configured on the system +3. Verify "show lldp custom-tlv " displays only the tlv that is specified +4. Verify "show lldp custom-tlv " notifies custom TLV not found when non-existent tlv is given as input +5. Verify "show interfaces lldp custom-tlv" displays all the interfaces and the custom TLVs that are configured on those interfaces. +6. Verify "show interfaces lldp custom-tlv" displays the list of TLVs for an interface when multiple custom TLVs are configured on that interface. + + +#### Integration Scenarios +1. Verify when custom TLVs are configured on an interface, the LLDP packets have the TLVs included by capturing the packet. +2. Verify when custom TLVs are removed from on interface, the LLDP packets stop including the TLVs by capturing the packet. +3. Verify when a feature daemon requests for including the TLV, the LLDP packets have the TLVs included by capturing the packet. +4. Verify when a feature daemon removes custom TLVs from an interface, the LLDP packets stop including the TLVs by capturing the packet. +5. Verify with both user configured custom TLVs and feature daemon custom TLVs on same interface, the LLDP packets include both TLVs. Verify adding and removing of these TLVs and check the LLDP packets include or exclude the TLVs. +6. Verify the feature daemon is able to get the received custom TLV by subscribing to the stateDB table, when custom TLVs are received from the neighbouring device. +7. Verify when port goes down and comes up, LLDP packets with custom TLVs configured are transmitted. + +#### Restart and Reboot Scenarios +1. Verify the custom TLVs associated with interface are applied after LLDP docker restart. Verify LLDP packets include the custom TLVs. +2. Verify after save and reboot of system, custom TLVs associated with interface are applied on bootup. Verify LLDP packets include the custom TLVs.