dellemc.os10 icon indicating copy to clipboard operation
dellemc.os10 copied to clipboard

Allow setting forward error correction on interfaces

Open sc68cal opened this issue 3 years ago • 6 comments

sc68cal avatar Sep 08 '21 15:09 sc68cal

Hi @sc68cal, Pls can you explain the issue with more details.

prasadapr avatar Nov 15 '23 16:11 prasadapr

Hi @sc68cal, Pls can you explain the issue with more details.

prasadapr avatar Nov 20 '23 14:11 prasadapr

Not op, but the issue is kind of self explanatory if you know the os10 switches.

FEC is an option you can set on a interface. it is often necessary to configure FEC to get link up between vendors.

example: (conf-if-eth1/1/1:1)# fec CL74-FC CL91-RS CL108-RS CL119-RS CL134-RS CL91-RS544 off

being able to set this is a requirement in many environments

ronnyaa avatar Mar 01 '24 23:03 ronnyaa

Hi @ronnyaa, I have verified the FEC options for the interfaces.

The OS10 switch supporting these fec options based on the Speed.

`OS10(conf-if-eth1/1/103)# fec CL74-FC CL74 FEC CL91-RS CL91 FEC CL108-RS CL108 FEC CL119-RS CL119 FEC CL134-RS CL134 FEC CL91-RS544 CL91-RS544 FEC off Disable FEC

OS10(conf-if-eth1/1/103)#`

fec

Configures Forward Error Correction on 25G, 50G, and 100G interfaces. Syntax fec {CL74-FC | CL91-RS | CL108-RS | off} Parameters ● CL74-FC — Supports 25G and 50G ● CL91-RS — Supports 100G ● CL108-RS — Supports 25G and 50G ● off — Disables FEC`

prasadapr avatar Mar 15 '24 11:03 prasadapr

Hi @ronnyaa, for verification created sample playbook and executed, its working fine. The configurations are applied properly on OS10 switch:

Pls find the details:

`cat Issue-92_fec.yaml

  • name: Configure FEC on interfaces hosts: fec_issue gather_facts: false connection: network_cli collections:

    • dellemc.os10

    tasks:

    • name: configure fec on eth 1/1/4 CL74-FC os10_config: lines: - interface ethernet 1/1/4 - fec CL74-FC - description creating_fec_25G_configs

    • name: configure fec on eth 1/1/99 CL91-RS os10_config: lines: - interface ethernet 1/1/99 - fec CL91-RS - description creating_fec_100G_configs

    • name: configure fec on eth 1/1/100 off os10_config: lines: - interface ethernet 1/1/100 - fec off - description creating_fec_100G_configs root@ubuntu22-vm-38-27:~/OS10-Collections#`

`root@ubuntu22-vm-38-27:~/OS10-Collections# ansible-playbook -i inventory_singledevice.yaml Issue-92_fec.yaml -vvv ansible-playbook [core 2.14.0] config file = /etc/ansible/ansible.cfg configured module search path = ['/root/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules'] ansible python module location = /usr/local/lib/python3.10/dist-packages/ansible ansible collection location = /root/.ansible/collections:/usr/share/ansible/collections executable location = /usr/local/bin/ansible-playbook python version = 3.10.6 (main, May 29 2023, 11:10:38) [GCC 11.3.0] (/usr/bin/python3) jinja version = 3.0.3 libyaml = True Using /etc/ansible/ansible.cfg as config file host_list declined parsing /root/OS10-Collections/inventory_singledevice.yaml as it did not pass its verify_file() method script declined parsing /root/OS10-Collections/inventory_singledevice.yaml as it did not pass its verify_file() method Parsed /root/OS10-Collections/inventory_singledevice.yaml inventory source with ini plugin redirecting (type: action) dellemc.os10.os10_config to dellemc.os10.os10 redirecting (type: action) dellemc.os10.os10_config to dellemc.os10.os10 redirecting (type: action) dellemc.os10.os10_config to dellemc.os10.os10 Skipping callback 'default', as we already have a stdout callback. Skipping callback 'minimal', as we already have a stdout callback. Skipping callback 'oneline', as we already have a stdout callback.

PLAYBOOK: Issue-92_fec.yaml ********************************************************************************************************************************* 1 plays in Issue-92_fec.yaml

PLAY [Configure FEC on interfaces] ************************************************************************************************************************** redirecting (type: action) dellemc.os10.os10_config to dellemc.os10.os10

TASK [configure fec on eth 1/1/4 CL74-FC] ******************************************************************************************************************* task path: /root/OS10-Collections/Issue-92_fec.yaml:10 redirecting (type: connection) ansible.builtin.network_cli to ansible.netcommon.network_cli redirecting (type: action) dellemc.os10.os10_config to dellemc.os10.os10 redirecting (type: action) dellemc.os10.os10_config to dellemc.os10.os10 changed: [fec_issue] => { "changed": true, "commands": [ "interface ethernet 1/1/4", "fec CL74-FC", "description creating_fec_25G_configs", "commit" ], "invocation": { "module_args": { "after": null, "backup": false, "backup_options": null, "before": null, "config": null, "lines": [ "interface ethernet 1/1/4", "fec CL74-FC", "description creating_fec_25G_configs" ], "match": "line", "parents": null, "provider": null, "replace": "line", "save": false, "src": null, "update": "merge" } }, "saved": false, "updates": [ "interface ethernet 1/1/4", "fec CL74-FC", "description creating_fec_25G_configs", "commit" ] } redirecting (type: action) dellemc.os10.os10_config to dellemc.os10.os10

TASK [configure fec on eth 1/1/99 CL91-RS] ****************************************************************************************************************** task path: /root/OS10-Collections/Issue-92_fec.yaml:17 redirecting (type: connection) ansible.builtin.network_cli to ansible.netcommon.network_cli redirecting (type: action) dellemc.os10.os10_config to dellemc.os10.os10 redirecting (type: action) dellemc.os10.os10_config to dellemc.os10.os10 changed: [fec_issue] => { "changed": true, "commands": [ "interface ethernet 1/1/99", "fec CL91-RS", "description creating_fec_100G_configs", "commit" ], "invocation": { "module_args": { "after": null, "backup": false, "backup_options": null, "before": null, "config": null, "lines": [ "interface ethernet 1/1/99", "fec CL91-RS", "description creating_fec_100G_configs" ], "match": "line", "parents": null, "provider": null, "replace": "line", "save": false, "src": null, "update": "merge" } }, "saved": false, "updates": [ "interface ethernet 1/1/99", "fec CL91-RS", "description creating_fec_100G_configs", "commit" ] } redirecting (type: action) dellemc.os10.os10_config to dellemc.os10.os10

TASK [configure fec on eth 1/1/100 off] ********************************************************************************************************************* task path: /root/OS10-Collections/Issue-92_fec.yaml:24 redirecting (type: connection) ansible.builtin.network_cli to ansible.netcommon.network_cli redirecting (type: action) dellemc.os10.os10_config to dellemc.os10.os10 redirecting (type: action) dellemc.os10.os10_config to dellemc.os10.os10 changed: [fec_issue] => { "changed": true, "commands": [ "interface ethernet 1/1/100", "fec off", "description creating_fec_100G_configs", "commit" ], "invocation": { "module_args": { "after": null, "backup": false, "backup_options": null, "before": null, "config": null, "lines": [ "interface ethernet 1/1/100", "fec off", "description creating_fec_100G_configs" ], "match": "line", "parents": null, "provider": null, "replace": "line", "save": false, "src": null, "update": "merge" } }, "saved": false, "updates": [ "interface ethernet 1/1/100", "fec off", "description creating_fec_100G_configs", "commit" ] }

PLAY RECAP ************************************************************************************************************************************************** fec_issue : ok=3 changed=3 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0

root@ubuntu22-vm-38-27:~/OS10-Collections#`

Device side configuration:

`OS10# show running-configuration interface ethernet 1/1/4 ! interface ethernet1/1/4 description creating_fec_25G_configs no shutdown fec CL74-FC switchport access vlan 1 flowcontrol receive off OS10#

OS10# OS10# show running-configuration interface ethernet 1/1/99 ! interface ethernet1/1/99 description creating_fec_100G_configs no shutdown fec CL91-RS switchport access vlan 1 flowcontrol receive off OS10# OS10# OS10# show running-configuration interface ethernet 1/1/100 ! interface ethernet1/1/100 description creating_fec_100G_configs no shutdown fec off switchport access vlan 1 flowcontrol receive off OS10#`

prasadapr avatar Mar 15 '24 12:03 prasadapr

The os10_interface role does not support setting fec - you are setting it via os10_config which, yes you can do, but people configure interfaces via the os10_interface role and it's a pain to have to configure one setting via the os10_config when everything else is configured via the os10_interface role

sc68cal avatar Mar 15 '24 17:03 sc68cal