diff options
Diffstat (limited to 'ansible_collections/dellemc/os10/tests')
357 files changed, 29203 insertions, 0 deletions
diff --git a/ansible_collections/dellemc/os10/tests/integration/target-prefixes.network b/ansible_collections/dellemc/os10/tests/integration/target-prefixes.network new file mode 100644 index 00000000..69b59b3f --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/target-prefixes.network @@ -0,0 +1 @@ +os10 diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_aaa_role/defaults/main.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_aaa_role/defaults/main.yaml new file mode 100644 index 00000000..5f709c5a --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_aaa_role/defaults/main.yaml @@ -0,0 +1,2 @@ +--- +testcase: "*" diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_aaa_role/tasks/main.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_aaa_role/tasks/main.yaml new file mode 100644 index 00000000..88be0f20 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_aaa_role/tasks/main.yaml @@ -0,0 +1,3 @@ +--- +- { include: prepare_test_facts.yaml, tags: ['role']} +- { include: tests.yaml, tags: ['role']} diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_aaa_role/tasks/prepare_test_facts.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_aaa_role/tasks/prepare_test_facts.yaml new file mode 100644 index 00000000..a86b71f6 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_aaa_role/tasks/prepare_test_facts.yaml @@ -0,0 +1,14 @@ +--- +- block: + - name: Collect interface list + import_role: + name: os10_template + tasks_from: show_ip_interface_brief.yaml + register: result + - name: Set interface list + set_fact: + os10_interface_1: "{{ ip_interface_facts[0].INTERFACE_NAME | lower }}" + os10_interface_2: "{{ ip_interface_facts[1].INTERFACE_NAME | lower }}" + os10_interface_3: "{{ ip_interface_facts[2].INTERFACE_NAME | lower }}" + + when: prepare_os10_role_tests_task | default(True) | bool diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_aaa_role/tasks/testcase/include_os10_role.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_aaa_role/tasks/testcase/include_os10_role.yaml new file mode 100644 index 00000000..395d2fe8 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_aaa_role/tasks/testcase/include_os10_role.yaml @@ -0,0 +1,20 @@ +- include_role: + name: "{{ os10_role_name }}" + +- debug: msg="Role completed {{ os10_role_name }}" + notify: "os10_role completed" + +- block: + - name: "Testing idempotency for {{ os10_role_name }}" + include_role: + name: "{{ os10_role_name }}" + - name: "idempotency result for {{ os10_role_name }}" + fail: + msg: "idempotency test failed for {{ os10_role_name }}" + when: output.changed + + when: > + ( test_idempotency is defined and test_idempotency and + idempotent_roles is defined and os10_role_name in idempotent_roles and + idempotent is defined and idempotent + ) diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_aaa_role/tasks/testcase/run_test_case.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_aaa_role/tasks/testcase/run_test_case.yaml new file mode 100644 index 00000000..c84b1033 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_aaa_role/tasks/testcase/run_test_case.yaml @@ -0,0 +1,62 @@ +- name: set test case + set_fact: + role_testcase: "{{ role_testcase_path | basename | splitext | first }}" + +- name: set test case output dir + set_fact: + testcase_outdir: "{{ output_dir }}/{{ role_name }}/{{ role_testcase_path }}" + + +- name: Prepare testcase output dir + file: + path: "{{ testcase_outdir }}" + state: directory + +- name: Source testcase variables + include_vars: "{{ item }}" + vars: + params: + files: + - "{{ role_testcase }}.yaml" + paths: + - "vars" + loop: "{{ query('first_found', params, errors='ignore') }}" + +- name: Include Testcase tasks + include: "{{ role_testcase_path }}" + +- name: Identifying steps + block: + - name: Identifying steps + find: + paths: "{{ role_path }}/templates/{{ role_testcase }}/steps" + patterns: "*.j2" + register: step_files + - set_fact: teststeps_files="{{ step_files.files | map(attribute='path') | map('basename') | list }}" + - set_fact: teststeps="{{ teststeps_files | map('splitext') | map('first') | reject('equalto', 'setup') | reject('equalto', 'teardown') | list | sort }}" + when: teststeps is not defined + +- name: Check if setup step exists + stat: path="{{ role_path }}/templates/{{ role_testcase }}/steps/setup.j2" + ignore_errors: true + register: setup_template + +- name: Setup Testcase + include: testcase/run_test_step.yaml role_teststep=setup idempotent=false + when: setup_template.stat.exists == true + +- name: Run Test Steps + block: + - name: Run Test Steps + include: testcase/run_test_step.yaml idempotent=false + with_items: "{{ teststeps }}" + loop_control: + loop_var: role_teststep + always: + - name: Check teardown + stat: path="{{ role_path }}/templates/{{ role_testcase }}/steps/teardown.j2" + ignore_errors: true + register: teardown_template + - name: Run teardown + include: testcase/run_test_step.yaml role_teststep=teardown idempotent=false + when: teardown_template.stat.exists == true diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_aaa_role/tasks/testcase/run_test_step.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_aaa_role/tasks/testcase/run_test_step.yaml new file mode 100644 index 00000000..624325e5 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_aaa_role/tasks/testcase/run_test_step.yaml @@ -0,0 +1,26 @@ +--- +- name: Running step {{ role_teststep }} + debug: msg="{{ role_teststep }}" + +- name: Set step vars file + set_fact: + teststep_var_template: "{{ role_testcase }}/steps/{{ role_teststep }}.j2" + teststep_vars_file: "{{ testcase_outdir }}/{{ role_teststep }}.yaml" + +- name: Preparing step variables + template: + src: "{{ teststep_var_template }}" + dest: "{{ teststep_vars_file }}" + +- name: Load step variables + include_vars: + file: "{{ teststep_vars_file }}" + +- name: Including roles for the step + include: testcase/include_os10_role.yaml os10_role_name="{{ step_role }}" + # include_role: + # name: "{{ step_role }}" + with_items: "{{ test_roles }}" + loop_control: + loop_var: step_role + when: test_roles is defined diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_aaa_role/tasks/tests.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_aaa_role/tasks/tests.yaml new file mode 100644 index 00000000..572c2538 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_aaa_role/tasks/tests.yaml @@ -0,0 +1,14 @@ +- name: collect all test cases + find: + paths: "{{ role_path }}/tests" + patterns: "{{ testcase }}.yaml" + register: test_cases + +- name: set test_items + set_fact: test_items="{{ test_cases.files | map(attribute='path') | list }}" + +- name: run test case + include: testcase/run_test_case.yaml + with_items: "{{ test_items }}" + loop_control: + loop_var: role_testcase_path diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_aaa_role/templates/aaa_basic/steps/01_aaa_configure.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_aaa_role/templates/aaa_basic/steps/01_aaa_configure.j2 new file mode 100644 index 00000000..aa8ad40a --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_aaa_role/templates/aaa_basic/steps/01_aaa_configure.j2 @@ -0,0 +1,15 @@ +os10_aaa: + tacacs_server: + host: + - ip: 10.10.10.10 + key: 0 + value: "aaaa" + auth_port: 3 + state: present + aaa_authentication: + login: + - console: true + type: group radius group tacacs+ local + state: present + re_authenticate: false + diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_aaa_role/templates/aaa_basic/steps/02_aaa_update.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_aaa_role/templates/aaa_basic/steps/02_aaa_update.j2 new file mode 100644 index 00000000..89728ab9 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_aaa_role/templates/aaa_basic/steps/02_aaa_update.j2 @@ -0,0 +1,24 @@ +os10_aaa: + radius_server: + retransmit: 6 + timeout: 9 + host: + - ip: 10.10.10.10 + key: 0 + value: "abc" + auth_port: 3 + state: present + tacacs_server: + host: + - ip: 10.10.10.10 + key: 0 + value: "aaaa" + auth_port: 3 + state: present + aaa_authentication: + login: + - console: true + type: group radius group tacacs+ local + state: present + re_authenticate: false + diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_aaa_role/templates/aaa_basic/steps/03_aaa_empty_string.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_aaa_role/templates/aaa_basic/steps/03_aaa_empty_string.j2 new file mode 100644 index 00000000..1950e499 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_aaa_role/templates/aaa_basic/steps/03_aaa_empty_string.j2 @@ -0,0 +1,24 @@ +os10_aaa: + radius_server: + retransmit: + timeout: + host: + - ip: 10.10.10.10 + key: + value: "abc" + auth_port: + state: present + tacacs_server: + host: + - ip: 10.10.10.10 + key: 0 + value: "aaaa" + auth_port: 3 + state: present + aaa_authentication: + login: + - console: true + type: group radius group tacacs+ local + state: "absent" + re_authenticate: false + diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_aaa_role/templates/aaa_basic/steps/04_aaa_absent.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_aaa_role/templates/aaa_basic/steps/04_aaa_absent.j2 new file mode 100644 index 00000000..b7a86a2d --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_aaa_role/templates/aaa_basic/steps/04_aaa_absent.j2 @@ -0,0 +1,23 @@ +os10_aaa: + radius_server: + retransmit: 6 + timeout: 9 + host: + - ip: 10.10.10.10 + key: 0 + value: "abc" + auth_port: 3 + state: absent + tacacs_server: + host: + - ip: 10.10.10.10 + key: 0 + value: "aaaa" + auth_port: 3 + state: absent + aaa_authentication: + login: + - console: true + type: group radius group tacacs+ local + state: "absent" + re_authenticate: false diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_aaa_role/templates/aaa_basic/steps/05_aaa_stateless.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_aaa_role/templates/aaa_basic/steps/05_aaa_stateless.j2 new file mode 100644 index 00000000..8beb9cc1 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_aaa_role/templates/aaa_basic/steps/05_aaa_stateless.j2 @@ -0,0 +1,20 @@ +os10_aaa: + radius_server: + retransmit: 6 + timeout: 9 + host: + - ip: 10.10.10.10 + key: 0 + value: "abc" + auth_port: 3 + tacacs_server: + host: + - ip: 10.10.10.10 + key: 0 + value: "aaaa" + auth_port: 3 + aaa_authentication: + login: + - console: true + type: group radius group tacacs+ local + re_authenticate: false diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_aaa_role/templates/aaa_basic/steps/teardown.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_aaa_role/templates/aaa_basic/steps/teardown.j2 new file mode 100644 index 00000000..d9fa0fe4 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_aaa_role/templates/aaa_basic/steps/teardown.j2 @@ -0,0 +1,23 @@ +os10_aaa: + radius_server: + retransmit: + timeout: + host: + - ip: 10.10.10.10 + key: 0 + value: "abc" + auth_port: 3 + state: absent + tacacs_server: + host: + - ip: 10.10.10.10 + key: 0 + value: "aaaa" + auth_port: 3 + state: absent + aaa_authentication: + login: + - console: true + type: group radius group tacacs+ local + state: "absent" + re_authenticate: diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_aaa_role/tests/aaa_basic.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_aaa_role/tests/aaa_basic.yaml new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_aaa_role/tests/aaa_basic.yaml diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_aaa_role/vars/main.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_aaa_role/vars/main.yaml new file mode 100644 index 00000000..3e7e9546 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_aaa_role/vars/main.yaml @@ -0,0 +1,2 @@ +test_roles: + - dellemc.os10.os10_aaa diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_acl_role/defaults/main.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_acl_role/defaults/main.yaml new file mode 100644 index 00000000..967b3f14 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_acl_role/defaults/main.yaml @@ -0,0 +1,3 @@ +--- +testcase: "*" +test_idempotency: true diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_acl_role/tasks/main.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_acl_role/tasks/main.yaml new file mode 100644 index 00000000..88be0f20 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_acl_role/tasks/main.yaml @@ -0,0 +1,3 @@ +--- +- { include: prepare_test_facts.yaml, tags: ['role']} +- { include: tests.yaml, tags: ['role']} diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_acl_role/tasks/prepare_test_facts.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_acl_role/tasks/prepare_test_facts.yaml new file mode 100644 index 00000000..a86b71f6 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_acl_role/tasks/prepare_test_facts.yaml @@ -0,0 +1,14 @@ +--- +- block: + - name: Collect interface list + import_role: + name: os10_template + tasks_from: show_ip_interface_brief.yaml + register: result + - name: Set interface list + set_fact: + os10_interface_1: "{{ ip_interface_facts[0].INTERFACE_NAME | lower }}" + os10_interface_2: "{{ ip_interface_facts[1].INTERFACE_NAME | lower }}" + os10_interface_3: "{{ ip_interface_facts[2].INTERFACE_NAME | lower }}" + + when: prepare_os10_role_tests_task | default(True) | bool diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_acl_role/tasks/testcase/include_os10_role.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_acl_role/tasks/testcase/include_os10_role.yaml new file mode 100644 index 00000000..395d2fe8 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_acl_role/tasks/testcase/include_os10_role.yaml @@ -0,0 +1,20 @@ +- include_role: + name: "{{ os10_role_name }}" + +- debug: msg="Role completed {{ os10_role_name }}" + notify: "os10_role completed" + +- block: + - name: "Testing idempotency for {{ os10_role_name }}" + include_role: + name: "{{ os10_role_name }}" + - name: "idempotency result for {{ os10_role_name }}" + fail: + msg: "idempotency test failed for {{ os10_role_name }}" + when: output.changed + + when: > + ( test_idempotency is defined and test_idempotency and + idempotent_roles is defined and os10_role_name in idempotent_roles and + idempotent is defined and idempotent + ) diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_acl_role/tasks/testcase/run_test_case.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_acl_role/tasks/testcase/run_test_case.yaml new file mode 100644 index 00000000..c84b1033 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_acl_role/tasks/testcase/run_test_case.yaml @@ -0,0 +1,62 @@ +- name: set test case + set_fact: + role_testcase: "{{ role_testcase_path | basename | splitext | first }}" + +- name: set test case output dir + set_fact: + testcase_outdir: "{{ output_dir }}/{{ role_name }}/{{ role_testcase_path }}" + + +- name: Prepare testcase output dir + file: + path: "{{ testcase_outdir }}" + state: directory + +- name: Source testcase variables + include_vars: "{{ item }}" + vars: + params: + files: + - "{{ role_testcase }}.yaml" + paths: + - "vars" + loop: "{{ query('first_found', params, errors='ignore') }}" + +- name: Include Testcase tasks + include: "{{ role_testcase_path }}" + +- name: Identifying steps + block: + - name: Identifying steps + find: + paths: "{{ role_path }}/templates/{{ role_testcase }}/steps" + patterns: "*.j2" + register: step_files + - set_fact: teststeps_files="{{ step_files.files | map(attribute='path') | map('basename') | list }}" + - set_fact: teststeps="{{ teststeps_files | map('splitext') | map('first') | reject('equalto', 'setup') | reject('equalto', 'teardown') | list | sort }}" + when: teststeps is not defined + +- name: Check if setup step exists + stat: path="{{ role_path }}/templates/{{ role_testcase }}/steps/setup.j2" + ignore_errors: true + register: setup_template + +- name: Setup Testcase + include: testcase/run_test_step.yaml role_teststep=setup idempotent=false + when: setup_template.stat.exists == true + +- name: Run Test Steps + block: + - name: Run Test Steps + include: testcase/run_test_step.yaml idempotent=false + with_items: "{{ teststeps }}" + loop_control: + loop_var: role_teststep + always: + - name: Check teardown + stat: path="{{ role_path }}/templates/{{ role_testcase }}/steps/teardown.j2" + ignore_errors: true + register: teardown_template + - name: Run teardown + include: testcase/run_test_step.yaml role_teststep=teardown idempotent=false + when: teardown_template.stat.exists == true diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_acl_role/tasks/testcase/run_test_step.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_acl_role/tasks/testcase/run_test_step.yaml new file mode 100644 index 00000000..624325e5 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_acl_role/tasks/testcase/run_test_step.yaml @@ -0,0 +1,26 @@ +--- +- name: Running step {{ role_teststep }} + debug: msg="{{ role_teststep }}" + +- name: Set step vars file + set_fact: + teststep_var_template: "{{ role_testcase }}/steps/{{ role_teststep }}.j2" + teststep_vars_file: "{{ testcase_outdir }}/{{ role_teststep }}.yaml" + +- name: Preparing step variables + template: + src: "{{ teststep_var_template }}" + dest: "{{ teststep_vars_file }}" + +- name: Load step variables + include_vars: + file: "{{ teststep_vars_file }}" + +- name: Including roles for the step + include: testcase/include_os10_role.yaml os10_role_name="{{ step_role }}" + # include_role: + # name: "{{ step_role }}" + with_items: "{{ test_roles }}" + loop_control: + loop_var: step_role + when: test_roles is defined diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_acl_role/tasks/tests.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_acl_role/tasks/tests.yaml new file mode 100644 index 00000000..572c2538 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_acl_role/tasks/tests.yaml @@ -0,0 +1,14 @@ +- name: collect all test cases + find: + paths: "{{ role_path }}/tests" + patterns: "{{ testcase }}.yaml" + register: test_cases + +- name: set test_items + set_fact: test_items="{{ test_cases.files | map(attribute='path') | list }}" + +- name: run test case + include: testcase/run_test_case.yaml + with_items: "{{ test_items }}" + loop_control: + loop_var: role_testcase_path diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_acl_role/templates/acl_basic/steps/01_acl_config.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_acl_role/templates/acl_basic/steps/01_acl_config.j2 new file mode 100644 index 00000000..f3a5d7b8 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_acl_role/templates/acl_basic/steps/01_acl_config.j2 @@ -0,0 +1,23 @@ +idempotent: true + +os10_acl: + - name: ssh + type: ipv4 + description: acl + remark: + - description: 1 + number: 2 + state: present + entries: + - number: 14 + permit: true + protocol: tcp + source: any + src_condition: neq 6 + destination: any + dest_condition: eq 4 + other_options: count + state: present + lineterminal: + state: present + state: present diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_acl_role/templates/acl_basic/steps/02_acl_stage.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_acl_role/templates/acl_basic/steps/02_acl_stage.j2 new file mode 100644 index 00000000..db65b97f --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_acl_role/templates/acl_basic/steps/02_acl_stage.j2 @@ -0,0 +1,17 @@ +idempotent: false + +os10_acl: + - name: ssh + type: ipv4 + description: acl + stage_ingress: + - name: "{{ os10_interface_1 }}" + state: present + - name: "{{ os10_interface_2 }}" + state: present + stage_egress: + - name: "{{ os10_interface_3 }}" + state: present + lineterminal: + state: present + state: present diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_acl_role/templates/acl_basic/steps/03_acl_update.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_acl_role/templates/acl_basic/steps/03_acl_update.j2 new file mode 100644 index 00000000..0d9f1834 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_acl_role/templates/acl_basic/steps/03_acl_update.j2 @@ -0,0 +1,31 @@ +idempotent: false + +os10_acl: + - name: ssh + type: ipv4 + description: acl ssh + remark: + - description: acl remark + number: 3 + state: present + entries: + - number: 15 + permit: false + protocol: udp + source: any + src_condition: gt 4 + destination: any + dest_condition: lt 5 + other_options: fragment + state: present + stage_ingress: + - name: "{{ os10_interface_1 }}" + state: present + - name: "{{ os10_interface_2 }}" + state: present + stage_egress: + - name: "{{ os10_interface_3 }}" + state: present + lineterminal: + state: present + state: present diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_acl_role/templates/acl_basic/steps/04_acl_suboptions_absent.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_acl_role/templates/acl_basic/steps/04_acl_suboptions_absent.j2 new file mode 100644 index 00000000..afa89bbf --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_acl_role/templates/acl_basic/steps/04_acl_suboptions_absent.j2 @@ -0,0 +1,30 @@ +idempotent: false +os10_acl: + - name: ssh + type: ipv4 + description: acl ssh + remark: + - description: acl remark + number: 3 + state: absent + entries: + - number: 15 + permit: false + protocol: udp + source: any + src_condition: gt 4 + destination: any + dest_condition: lt 5 + other_options: fragment + state: absent + stage_ingress: + - name: "{{ os10_interface_1 }}" + state: absent + - name: "{{ os10_interface_2 }}" + state: absent + stage_egress: + - name: "{{ os10_interface_3 }}" + state: absent + lineterminal: + state: absent + state: present diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_acl_role/templates/acl_basic/steps/05_acl_suboptions_stateless.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_acl_role/templates/acl_basic/steps/05_acl_suboptions_stateless.j2 new file mode 100644 index 00000000..518758d1 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_acl_role/templates/acl_basic/steps/05_acl_suboptions_stateless.j2 @@ -0,0 +1,34 @@ +idempotent: false + +os10_acl: + - name: ssh + type: ipv4 + description: acl ssh + remark: + - description: acl remark + number: 3 + entries: + - number: 14 + permit: true + protocol: tcp + source: any + src_condition: neq 6 + destination: any + dest_condition: eq 4 + other_options: count + - number: 15 + permit: false + protocol: udp + source: any + src_condition: gt 4 + destination: any + dest_condition: lt 5 + other_options: fragment + stage_ingress: + - name: "{{ os10_interface_1 }}" + - name: "{{ os10_interface_2 }}" + stage_egress: + - name: "{{ os10_interface_3 }}" + lineterminal: + state: + state: present diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_acl_role/templates/acl_basic/steps/06_acl_absent.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_acl_role/templates/acl_basic/steps/06_acl_absent.j2 new file mode 100644 index 00000000..9bce3bf0 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_acl_role/templates/acl_basic/steps/06_acl_absent.j2 @@ -0,0 +1,7 @@ +idempotent: false + +os10_acl: + - name: ssh + type: ipv4 + description: acl ssh + state: absent diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_acl_role/templates/acl_basic/steps/07_acl_stateless.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_acl_role/templates/acl_basic/steps/07_acl_stateless.j2 new file mode 100644 index 00000000..9381300e --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_acl_role/templates/acl_basic/steps/07_acl_stateless.j2 @@ -0,0 +1,24 @@ +idempotent: false +os10_acl: + - name: ssh + type: ipv4 + description: acl ssh + remark: + - description: acl remark + number: 3 + entries: + - number: 14 + permit: true + protocol: tcp + source: any + src_condition: neq 6 + destination: any + dest_condition: eq 4 + other_options: count + stage_ingress: + - name: "{{ os10_interface_1 }}" + - name: "{{ os10_interface_2 }}" + stage_egress: + - name: "{{ os10_interface_3 }}" + lineterminal: + state: diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_acl_role/templates/acl_basic/steps/teardown.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_acl_role/templates/acl_basic/steps/teardown.j2 new file mode 100644 index 00000000..2fcc4b18 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_acl_role/templates/acl_basic/steps/teardown.j2 @@ -0,0 +1,29 @@ +os10_acl: + - name: ssh + type: ipv4 + description: acl ssh + remark: + - description: acl remark + number: 3 + state: absent + entries: + - number: 15 + permit: false + protocol: udp + source: any + src_condition: gt 4 + destination: any + dest_condition: lt 5 + other_options: fragment + state: absent + stage_ingress: + - name: "{{ os10_interface_1 }}" + state: absent + - name: "{{ os10_interface_2 }}" + state: absent + stage_egress: + - name: "{{ os10_interface_3 }}" + state: absent + lineterminal: + state: absent + state: absent diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_acl_role/tests/acl_basic.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_acl_role/tests/acl_basic.yaml new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_acl_role/tests/acl_basic.yaml diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_acl_role/vars/main.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_acl_role/vars/main.yaml new file mode 100644 index 00000000..b40350ab --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_acl_role/vars/main.yaml @@ -0,0 +1,5 @@ +test_roles: + - dellemc.os10.os10_acl + +idempotent_roles: + - dellemc.os10.os10_acl diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_bgp_role/defaults/main.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_bgp_role/defaults/main.yaml new file mode 100644 index 00000000..967b3f14 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_bgp_role/defaults/main.yaml @@ -0,0 +1,3 @@ +--- +testcase: "*" +test_idempotency: true diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_bgp_role/tasks/main.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_bgp_role/tasks/main.yaml new file mode 100644 index 00000000..88be0f20 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_bgp_role/tasks/main.yaml @@ -0,0 +1,3 @@ +--- +- { include: prepare_test_facts.yaml, tags: ['role']} +- { include: tests.yaml, tags: ['role']} diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_bgp_role/tasks/prepare_test_facts.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_bgp_role/tasks/prepare_test_facts.yaml new file mode 100644 index 00000000..a86b71f6 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_bgp_role/tasks/prepare_test_facts.yaml @@ -0,0 +1,14 @@ +--- +- block: + - name: Collect interface list + import_role: + name: os10_template + tasks_from: show_ip_interface_brief.yaml + register: result + - name: Set interface list + set_fact: + os10_interface_1: "{{ ip_interface_facts[0].INTERFACE_NAME | lower }}" + os10_interface_2: "{{ ip_interface_facts[1].INTERFACE_NAME | lower }}" + os10_interface_3: "{{ ip_interface_facts[2].INTERFACE_NAME | lower }}" + + when: prepare_os10_role_tests_task | default(True) | bool diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_bgp_role/tasks/testcase/include_os10_role.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_bgp_role/tasks/testcase/include_os10_role.yaml new file mode 100644 index 00000000..395d2fe8 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_bgp_role/tasks/testcase/include_os10_role.yaml @@ -0,0 +1,20 @@ +- include_role: + name: "{{ os10_role_name }}" + +- debug: msg="Role completed {{ os10_role_name }}" + notify: "os10_role completed" + +- block: + - name: "Testing idempotency for {{ os10_role_name }}" + include_role: + name: "{{ os10_role_name }}" + - name: "idempotency result for {{ os10_role_name }}" + fail: + msg: "idempotency test failed for {{ os10_role_name }}" + when: output.changed + + when: > + ( test_idempotency is defined and test_idempotency and + idempotent_roles is defined and os10_role_name in idempotent_roles and + idempotent is defined and idempotent + ) diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_bgp_role/tasks/testcase/run_test_case.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_bgp_role/tasks/testcase/run_test_case.yaml new file mode 100644 index 00000000..c84b1033 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_bgp_role/tasks/testcase/run_test_case.yaml @@ -0,0 +1,62 @@ +- name: set test case + set_fact: + role_testcase: "{{ role_testcase_path | basename | splitext | first }}" + +- name: set test case output dir + set_fact: + testcase_outdir: "{{ output_dir }}/{{ role_name }}/{{ role_testcase_path }}" + + +- name: Prepare testcase output dir + file: + path: "{{ testcase_outdir }}" + state: directory + +- name: Source testcase variables + include_vars: "{{ item }}" + vars: + params: + files: + - "{{ role_testcase }}.yaml" + paths: + - "vars" + loop: "{{ query('first_found', params, errors='ignore') }}" + +- name: Include Testcase tasks + include: "{{ role_testcase_path }}" + +- name: Identifying steps + block: + - name: Identifying steps + find: + paths: "{{ role_path }}/templates/{{ role_testcase }}/steps" + patterns: "*.j2" + register: step_files + - set_fact: teststeps_files="{{ step_files.files | map(attribute='path') | map('basename') | list }}" + - set_fact: teststeps="{{ teststeps_files | map('splitext') | map('first') | reject('equalto', 'setup') | reject('equalto', 'teardown') | list | sort }}" + when: teststeps is not defined + +- name: Check if setup step exists + stat: path="{{ role_path }}/templates/{{ role_testcase }}/steps/setup.j2" + ignore_errors: true + register: setup_template + +- name: Setup Testcase + include: testcase/run_test_step.yaml role_teststep=setup idempotent=false + when: setup_template.stat.exists == true + +- name: Run Test Steps + block: + - name: Run Test Steps + include: testcase/run_test_step.yaml idempotent=false + with_items: "{{ teststeps }}" + loop_control: + loop_var: role_teststep + always: + - name: Check teardown + stat: path="{{ role_path }}/templates/{{ role_testcase }}/steps/teardown.j2" + ignore_errors: true + register: teardown_template + - name: Run teardown + include: testcase/run_test_step.yaml role_teststep=teardown idempotent=false + when: teardown_template.stat.exists == true diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_bgp_role/tasks/testcase/run_test_step.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_bgp_role/tasks/testcase/run_test_step.yaml new file mode 100644 index 00000000..624325e5 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_bgp_role/tasks/testcase/run_test_step.yaml @@ -0,0 +1,26 @@ +--- +- name: Running step {{ role_teststep }} + debug: msg="{{ role_teststep }}" + +- name: Set step vars file + set_fact: + teststep_var_template: "{{ role_testcase }}/steps/{{ role_teststep }}.j2" + teststep_vars_file: "{{ testcase_outdir }}/{{ role_teststep }}.yaml" + +- name: Preparing step variables + template: + src: "{{ teststep_var_template }}" + dest: "{{ teststep_vars_file }}" + +- name: Load step variables + include_vars: + file: "{{ teststep_vars_file }}" + +- name: Including roles for the step + include: testcase/include_os10_role.yaml os10_role_name="{{ step_role }}" + # include_role: + # name: "{{ step_role }}" + with_items: "{{ test_roles }}" + loop_control: + loop_var: step_role + when: test_roles is defined diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_bgp_role/tasks/tests.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_bgp_role/tasks/tests.yaml new file mode 100644 index 00000000..572c2538 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_bgp_role/tasks/tests.yaml @@ -0,0 +1,14 @@ +- name: collect all test cases + find: + paths: "{{ role_path }}/tests" + patterns: "{{ testcase }}.yaml" + register: test_cases + +- name: set test_items + set_fact: test_items="{{ test_cases.files | map(attribute='path') | list }}" + +- name: run test case + include: testcase/run_test_case.yaml + with_items: "{{ test_items }}" + loop_control: + loop_var: role_testcase_path diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_bgp_role/templates/bgp_vrf/steps/01_bgp_default_vrf_config.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_bgp_role/templates/bgp_vrf/steps/01_bgp_default_vrf_config.j2 new file mode 100644 index 00000000..947bca96 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_bgp_role/templates/bgp_vrf/steps/01_bgp_default_vrf_config.j2 @@ -0,0 +1,191 @@ +idempotent: false +os10_bgp: + asn: 12 + router_id: 90.1.1.4 + maxpath_ibgp: 2 + maxpath_ebgp: 2 + graceful_restart: true + log_neighbor_changes: true + fast_ext_fallover: true + always_compare_med: true + default_loc_pref: 1000 + as_notation: asdot + enforce_first_as: true + non_deterministic_med: true + outbound_optimization: true + confederation: + identifier: 25 + peers: 23 24 + peers_state: present + route_reflector: + client_to_client: true + cluster_id: 4294967295 + address_family_ipv4: + aggregate_address: + - ip_and_mask: 1.1.1.1/16 + state: present + summary_only: true + dampening: + value: 15 750 2000 60 + route_map: qq + state: present + ibgp_redist_internal: + state: present + default_metric: 10 + distance_bgp: + value: 3 4 6 + state: present + address_family_ipv6: + aggregate_address: + - ip_and_mask: 2001:4898:5808:ffa0::/126 + state: present + summary_only: true + ibgp_redist_internal: + state: present + best_path: + as_path: ignore + as_path_state: present + ignore_router_id: true + med: + - attribute: confed + state: present + ipv4_network: + - address: 101.1.1.0/30 + state: present + ipv6_network: + - address: "2001:4898:5808:ffa0::/126" + state: present + neighbor: + - name: peer1 + type: peergroup + bfd: yes + state: present + - name: ebgp_pg + type: peergroup + bfd: yes + state: present + address_family: + - type: ipv4 + activate: true + state: present + max_prefix: + count: 20 + threshold: 90 + warning: true + state: present + listen: + - subnet: 4.4.4.4/32 + limit: 4 + subnet_state: present + - subnet: 20::/64 + limit: 4 + subnet_state: present + - name: ibgp_pg + type: peergroup + weight: 10 + state: present + - type: ipv4 + interface: vlan20 + send_community: + - type: extended + state: present + address_family: + - type: l2vpn + activate: true + state: present + admin: up + state: present + - type: ipv4 + description: "U_site2 spine1" + remote_asn: 11 + ip: 192.168.10.1 + peergroup: peer1 + peergroup_state: present + peergroup_type: ibgp + adv_interval: 40 + fall_over: present + password: bgppassword + route_reflector_client: true + adv_start: 100 + adv_start_state: present + conn_retry_timer: 20 + remove_pri_as: present + address_family: + - type: ipv4 + activate: true + state: present + max_prefix: + count: 10 + threshold: 40 + warning: true + state: present + default_originate: + route_map: aa + state: present + distribute_list: + in: XX + in_state: present + out: YY + out_state: present + send_community: + - type: standard + state: present + state: present + - type: ipv4 + remote_asn: 13 + local_as: 10 + weight: 10 + ip: 192.168.12.3 + address_family: + - type: ipv4 + activate: true + allow_as_in: 5 + next_hop_self: true + soft_reconf: true + add_path: both 3 + route_map: + - name: qq + filter: in + state: present + state: present + state: present + - type: ipv6 + remote_asn: 14 + ip: 2001:4898:5808:ffa2::1 + state: present + - type: ipv6 + description: "U_site2-spine1-Auto Discovered peers" + auto_peer: unnumbered-auto + ibgp_peergroup: ibgp_pg + ibgp_peergroup_state: present + sender_loop_detect: true + password: bgppassword + address_family: + - type: ipv4 + activate: true + sender_loop_detect: true + state: present + allow_as_in: 5 + next_hop_self: true + soft_reconf: true + - type: l2vpn + activate: true + sender_loop_detect: true + state: present + send_community: + - type: standard + state: present + admin: up + state: present + redistribute: + - route_type: static + route_map_name: aa + address_type: ipv4 + state: present + bfd_all_neighbors: + interval: 200 + min_rx: 200 + multiplier: 3 + role: active + state: present + state: present diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_bgp_role/templates/bgp_vrf/steps/02_bgp_default_vrf_unconfig.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_bgp_role/templates/bgp_vrf/steps/02_bgp_default_vrf_unconfig.j2 new file mode 100644 index 00000000..0e4f173c --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_bgp_role/templates/bgp_vrf/steps/02_bgp_default_vrf_unconfig.j2 @@ -0,0 +1,185 @@ +idempotent: false +os10_bgp: + asn: 12 + router_id: + maxpath_ibgp: + maxpath_ebgp: + graceful_restart: false + log_neighbor_changes: false + fast_ext_fallover: false + always_compare_med: false + default_loc_pref: + as_notation: asdot + enforce_first_as: false + non_deterministic_med: false + outbound_optimization: false + confederation: + identifier: 25 + peers: 23 24 + peers_state: absent + route_reflector: + client_to_client: false + cluster_id: + address_family_ipv4: + aggregate_address: + - ip_and_mask: 1.1.1.1/16 + state: absent + summary_only: false + dampening: + value: 15 750 2000 60 + route_map: qq + state: absent + ibgp_redist_internal: + state: absent + default_metric: + distance_bgp: + value: 3 4 6 + state: absent + address_family_ipv6: + aggregate_address: + - ip_and_mask: 2001:4898:5808:ffa0::/126 + state: absent + summary_only: false + ibgp_redist_internal: + state: absent + best_path: + as_path: ignore + as_path_state: absent + ignore_router_id: false + med: + - attribute: confed + state: absent + neighbor: + - type: ipv4 + interface: vlan20 + send_community: + - type: extended + state: absent + address_family: + - type: l2vpn + activate: false + state: absent + admin: up + state: absent + - type: ipv4 + description: "U_site2 spine1" + remote_asn: 11 + ip: 192.168.10.1 + peergroup: peer1 + peergroup_state: absent + peergroup_type: ibgp + adv_interval: 40 + fall_over: absent + password: bgppassword + route_reflector_client: false + adv_start: 100 + adv_start_state: absent + conn_retry_timer: 20 + remove_pri_as: absent + address_family: + - type: ipv4 + activate: false + state: absent + max_prefix: + count: 10 + threshold: 40 + warning: false + state: absent + default_originate: + route_map: aa + state: absent + distribute_list: + in: XX + in_state: absent + out: YY + out_state: absent + send_community: + - type: standard + state: absent + state: absent + - type: ipv4 + remote_asn: 13 + local_as: 10 + weight: 10 + ip: 192.168.12.3 + address_family: + - type: ipv4 + activate: false + allow_as_in: 5 + next_hop_self: false + soft_reconf: false + add_path: both 3 + route_map: + - name: qq + filter: in + state: absent + state: absent + state: absent + - type: ipv6 + remote_asn: 14 + ip: 2001:4898:5808:ffa2::1 + state: absent + - type: ipv6 + description: "U_site2-spine1-Auto Discovered peers" + auto_peer: unnumbered-auto + ibgp_peergroup: ibgp_pg + ibgp_peergroup_state: absent + sender_loop_detect: false + password: bgppassword + address_family: + - type: ipv4 + activate: false + sender_loop_detect: false + state: absent + allow_as_in: 5 + next_hop_self: false + soft_reconf: false + - type: l2vpn + activate: false + sender_loop_detect: false + state: absent + send_community: + - type: standard + state: absent + admin: up + state: absent + - name: peer1 + type: peergroup + bfd: yes + state: present + - name: ebgp_pg + type: peergroup + bfd: yes + state: absent + address_family: + - type: ipv4 + activate: false + state: absent + max_prefix: + count: 20 + threshold: 90 + warning: false + state: absent + listen: + - subnet: 4.4.4.4/32 + limit: 4 + subnet_state: absent + - subnet: 20::/64 + limit: 4 + subnet_state: absent + - name: ibgp_pg + type: peergroup + weight: 10 + state: absent + redistribute: + - route_type: static + route_map_name: aa + address_type: ipv4 + state: absent + bfd_all_neighbors: + interval: 200 + min_rx: 200 + multiplier: 3 + role: active + state: absent + state: present diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_bgp_role/templates/bgp_vrf/steps/03_bgp_non_default_vrf_config.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_bgp_role/templates/bgp_vrf/steps/03_bgp_non_default_vrf_config.j2 new file mode 100644 index 00000000..1ec5c308 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_bgp_role/templates/bgp_vrf/steps/03_bgp_non_default_vrf_config.j2 @@ -0,0 +1,153 @@ +idempotent: false +os10_bgp: + asn: 12 + vrfs: + - name: "GREEN" + router_id: 50.1.1.1 + maxpath_ibgp: 2 + maxpath_ebgp: 2 + graceful_restart: true + log_neighbor_changes: true + fast_ext_fallover: true + always_compare_med: true + default_loc_pref: 1000 + route_reflector: + client_to_client: true + cluster_id: 1 + address_family_ipv4: + aggregate_address: + - ip_and_mask: 1.1.1.1/16 + state: present + dampening: + value: 15 750 2000 60 + route_map: qq + state: present + ibgp_redist_internal: + state: present + address_family_ipv6: + aggregate_address: + - ip_and_mask: 2001:4898:5808:ffa0::/126 + state: present + summary_only: true + ibgp_redist_internal: + state: present + best_path: + as_path: ignore + as_path_state: present + ignore_router_id: true + med: + - attribute: confed + state: present + - attribute: missing-as-worst + state: present + ipv4_network: + - address: 101.1.1.0/30 + state: present + ipv6_network: + - address: "2001:4898:5808:ffa0::/126" + state: present + neighbor: + - name: peer1 + type: peergroup + bfd: yes + state: present + - name: ebgp_pg + type: peergroup + bfd: yes + state: present + - name: ibgp_pg + type: peergroup + weight: 10 + state: present + - type: ipv4 + interface: vlan10 + description: "U_site2 vlan" + send_community: + - type: extended + state: present + admin: up + state: present + - type: ipv4 + description: "U_site2 spine1" + remote_asn: 11 + ip: 192.168.20.1 + name: peer1 + peergroup: peer1 + peergroup_state: present + peergroup_type: ibgp + adv_interval: 40 + fall_over: present + route_reflector_client: true + address_family: + - type: ipv4 + activate: true + state: present + send_community: + - type: standard + state: present + state: present + - type: ipv4 + description: "U_site2 spine1" + remote_asn: 13 + local_as: 10 + weight: 10 + ip: 192.168.15.3 + address_family: + - type: ipv4 + activate: true + allow_as_in: 5 + next_hop_self: true + soft_reconf: true + add_path: both 3 + route_map: + - name: qq + filter: in + state: present + state: present + state: present + - type: ipv6 + remote_asn: 14 + ip: 2001:4898:5808:ffa2::1 + state: present + - type: ipv6 + description: "U_site2-spine1-Auto Discovered peers" + auto_peer: unnumbered-auto + ibgp_peergroup: ibgp_pg + ibgp_peergroup_state: present + address_family: + - type: ipv4 + activate: true + sender_loop_detect: true + state: present + allow_as_in: 5 + next_hop_self: true + soft_reconf: true + send_community: + - type: standard + state: present + admin: up + state: present + redistribute: + - route_type: static + route_map_name: aa + address_type: ipv4 + state: present + - route_type: connected + route_map_name: bb + address_type: ipv4 + state: present + - route_type: l2vpn + route_map_name: cc + address_type: ipv4 + state: present + bfd_all_neighbors: + interval: 200 + min_rx: 200 + multiplier: 3 + role: active + state: present + state: present + - name: "BLUE" + router_id: 6.6.6.6 + state: present + state: present diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_bgp_role/templates/bgp_vrf/steps/04_bgp_non_default_vrf_unconfig.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_bgp_role/templates/bgp_vrf/steps/04_bgp_non_default_vrf_unconfig.j2 new file mode 100644 index 00000000..69d90add --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_bgp_role/templates/bgp_vrf/steps/04_bgp_non_default_vrf_unconfig.j2 @@ -0,0 +1,147 @@ +idempotent: false +os10_bgp: + asn: 12 + vrfs: + - name: "GREEN" + router_id: + maxpath_ibgp: + maxpath_ebgp: + graceful_restart: false + log_neighbor_changes: false + fast_ext_fallover: false + always_compare_med: false + default_loc_pref: 1000 + route_reflector: + client_to_client: false + cluster_id: + address_family_ipv4: + aggregate_address: + - ip_and_mask: 1.1.1.1/16 + state: absent + dampening: + value: 15 750 2000 60 + route_map: qq + state: absent + ibgp_redist_internal: + state: absent + address_family_ipv6: + aggregate_address: + - ip_and_mask: 2001:4898:5808:ffa0::/126 + state: absent + summary_only: false + ibgp_redist_internal: + state: absent + best_path: + as_path: ignore + as_path_state: absent + ignore_router_id: false + med: + - attribute: confed + state: absent + - attribute: missing-as-worst + state: absent + neighbor: + - type: ipv4 + interface: vlan10 + description: "U_site2 vlan" + send_community: + - type: extended + state: absent + admin: up + state: absent + - type: ipv4 + description: "U_site2 spine1" + remote_asn: 11 + ip: 192.168.20.1 + name: peer1 + peergroup: peer1 + peergroup_state: absent + peergroup_type: ibgp + adv_interval: 40 + fall_over: absent + route_reflector_client: false + address_family: + - type: ipv4 + activate: false + state: absent + send_community: + - type: standard + state: absent + state: absent + - type: ipv4 + description: "U_site2 spine1" + remote_asn: 13 + local_as: 10 + weight: 10 + ip: 192.168.15.3 + address_family: + - type: ipv4 + activate: false + allow_as_in: 5 + next_hop_self: false + soft_reconf: false + add_path: both 3 + route_map: + - name: qq + filter: in + state: absent + state: absent + state: absent + - type: ipv6 + remote_asn: 14 + ip: 2001:4898:5808:ffa2::1 + state: absent + - type: ipv6 + description: "U_site2-spine1-Auto Discovered peers" + auto_peer: unnumbered-auto + ibgp_peergroup: ibgp_pg + ibgp_peergroup_state: absent + address_family: + - type: ipv4 + activate: false + sender_loop_detect: false + state: absent + allow_as_in: 5 + next_hop_self: false + soft_reconf: false + send_community: + - type: standard + state: absent + admin: up + state: absent + - name: peer1 + type: peergroup + bfd: yes + state: absent + - name: ebgp_pg + type: peergroup + bfd: yes + state: absent + - name: ibgp_pg + type: peergroup + weight: 10 + state: absent + redistribute: + - route_type: static + route_map_name: aa + address_type: ipv4 + state: absent + - route_type: connected + route_map_name: bb + address_type: ipv4 + state: absent + - route_type: l2vpn + route_map_name: cc + address_type: ipv4 + state: absent + bfd_all_neighbors: + interval: 200 + min_rx: 200 + multiplier: 3 + role: active + state: absent + state: present + - name: "BLUE" + router_id: + state: absent + state: present diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_bgp_role/templates/bgp_vrf/steps/05_bgp_default_non_default_vrf_config.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_bgp_role/templates/bgp_vrf/steps/05_bgp_default_non_default_vrf_config.j2 new file mode 100644 index 00000000..cd530af4 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_bgp_role/templates/bgp_vrf/steps/05_bgp_default_non_default_vrf_config.j2 @@ -0,0 +1,314 @@ +idempotent: true +os10_bgp: + asn: 12 + router_id: 90.1.1.4 + maxpath_ibgp: 2 + maxpath_ebgp: 2 + graceful_restart: true + always_compare_med: true + default_loc_pref: 1000 + as_notation: asdot + non_deterministic_med: true + outbound_optimization: true + confederation: + identifier: 25 + peers: 23 24 + peers_state: present + route_reflector: + cluster_id: 4294967295 + address_family_ipv4: + aggregate_address: + - ip_and_mask: 1.1.1.1/16 + state: present + summary_only: true + dampening: + value: 15 750 2000 60 + route_map: qq + state: present + ibgp_redist_internal: + state: present + default_metric: 10 + distance_bgp: + value: 3 4 6 + state: present + address_family_ipv6: + aggregate_address: + - ip_and_mask: 2001:4898:5808:ffa0::/126 + state: present + summary_only: true + ibgp_redist_internal: + state: present + best_path: + as_path: ignore + as_path_state: present + ignore_router_id: true + med: + - attribute: confed + state: present + ipv4_network: + - address: 101.1.1.0/30 + state: present + ipv6_network: + - address: "2001:4898:5808:ffa0::/126" + state: present + neighbor: + - name: peer1 + type: peergroup + bfd: yes + state: present + - name: ebgp_pg + type: peergroup + bfd: yes + state: present + address_family: + - type: ipv4 + state: present + max_prefix: + count: 20 + threshold: 90 + warning: true + state: present + listen: + - subnet: 4.4.4.4/32 + limit: 4 + subnet_state: present + - subnet: 20::/64 + limit: 4 + subnet_state: present + - name: ibgp_pg + type: peergroup + weight: 10 + state: present + - type: ipv4 + interface: vlan20 + send_community: + - type: extended + state: present + address_family: + - type: l2vpn + state: present + admin: up + state: present + - type: ipv4 + remote_asn: 11 + ip: 192.168.10.1 + peergroup: peer1 + peergroup_state: present + peergroup_type: ibgp + adv_interval: 40 + fall_over: present + route_reflector_client: true + adv_start: 100 + adv_start_state: present + conn_retry_timer: 20 + remove_pri_as: present + address_family: + - type: ipv4 + state: present + max_prefix: + count: 10 + threshold: 40 + warning: true + state: present + default_originate: + route_map: aa + state: present + distribute_list: + in: XX + in_state: present + out: YY + out_state: present + send_community: + - type: standard + state: present + state: present + - type: ipv4 + remote_asn: 13 + local_as: 10 + weight: 10 + ip: 192.168.12.3 + address_family: + - type: ipv4 + allow_as_in: 5 + next_hop_self: true + soft_reconf: true + add_path: both 3 + route_map: + - name: qq + filter: in + state: present + state: present + state: present + - type: ipv6 + remote_asn: 14 + ip: 2001:4898:5808:ffa2::1 + state: present + - type: ipv6 + description: "U_site2-spine1-Auto Discovered peers" + auto_peer: unnumbered-auto + ibgp_peergroup: ibgp_pg + ibgp_peergroup_state: present + address_family: + - type: ipv4 + state: present + allow_as_in: 5 + next_hop_self: true + soft_reconf: true + - type: l2vpn + state: present + send_community: + - type: standard + state: present + admin: up + state: present + redistribute: + - route_type: static + route_map_name: aa + address_type: ipv4 + state: present + bfd_all_neighbors: + interval: 200 + min_rx: 200 + multiplier: 3 + role: active + state: present + vrfs: + - name: "GREEN" + router_id: 50.1.1.1 + maxpath_ibgp: 2 + maxpath_ebgp: 2 + graceful_restart: true + always_compare_med: true + default_loc_pref: 1000 + route_reflector: + cluster_id: 1 + address_family_ipv4: + aggregate_address: + - ip_and_mask: 1.1.1.1/16 + state: present + dampening: + value: 15 750 2000 60 + route_map: qq + state: present + ibgp_redist_internal: + state: present + address_family_ipv6: + aggregate_address: + - ip_and_mask: 2001:4898:5808:ffa0::/126 + state: present + summary_only: true + ibgp_redist_internal: + state: present + best_path: + as_path: ignore + as_path_state: present + ignore_router_id: true + med: + - attribute: confed + state: present + - attribute: missing-as-worst + state: present + ipv4_network: + - address: 101.1.1.0/30 + state: present + ipv6_network: + - address: "2001:4898:5808:ffa0::/126" + state: present + neighbor: + - name: peer1 + type: peergroup + bfd: yes + state: present + - name: ebgp_pg + type: peergroup + bfd: yes + state: present + - name: ibgp_pg + type: peergroup + weight: 10 + state: present + - type: ipv4 + interface: vlan10 + description: U_site2 vlan + send_community: + - type: extended + state: present + admin: up + state: present + - type: ipv4 + description: "U_site2 spine1" + remote_asn: 11 + ip: 192.168.20.1 + name: peer1 + peergroup: peer1 + peergroup_state: present + peergroup_type: ibgp + adv_interval: 40 + fall_over: present + route_reflector_client: true + address_family: + - type: ipv4 + state: present + send_community: + - type: standard + state: present + state: present + - type: ipv4 + description: "U_site2 spine1" + remote_asn: 13 + local_as: 10 + weight: 10 + ip: 192.168.15.3 + address_family: + - type: ipv4 + allow_as_in: 5 + next_hop_self: true + soft_reconf: true + add_path: both 3 + route_map: + - name: qq + filter: in + state: present + state: present + state: present + - type: ipv6 + remote_asn: 14 + ip: 2001:4898:5808:ffa2::1 + state: present + - type: ipv6 + description: "U_site2-spine1-Auto Discovered peers" + auto_peer: unnumbered-auto + ibgp_peergroup: ibgp_pg + ibgp_peergroup_state: present + address_family: + - type: ipv4 + state: present + allow_as_in: 5 + next_hop_self: true + soft_reconf: true + send_community: + - type: standard + state: present + admin: up + state: present + redistribute: + - route_type: static + route_map_name: aa + address_type: ipv4 + state: present + - route_type: connected + route_map_name: bb + address_type: ipv4 + state: present + - route_type: l2vpn + route_map_name: cc + address_type: ipv4 + state: present + bfd_all_neighbors: + interval: 200 + min_rx: 200 + multiplier: 3 + role: active + state: present + state: present + state: present diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_bgp_role/templates/bgp_vrf/steps/06_bgp_default_non_default_vrf_unconfig.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_bgp_role/templates/bgp_vrf/steps/06_bgp_default_non_default_vrf_unconfig.j2 new file mode 100644 index 00000000..1fa12ee2 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_bgp_role/templates/bgp_vrf/steps/06_bgp_default_non_default_vrf_unconfig.j2 @@ -0,0 +1,313 @@ +idempotent: false +os10_bgp: + asn: 12 + router_id: 90.1.1.4 + maxpath_ibgp: 2 + maxpath_ebgp: 2 + graceful_restart: true + log_neighbor_changes: true + always_compare_med: true + default_loc_pref: 1000 + as_notation: asdot + non_deterministic_med: true + outbound_optimization: true + confederation: + identifier: 25 + peers: 23 24 + peers_state: present + route_reflector: + cluster_id: 4294967295 + address_family_ipv4: + aggregate_address: + - ip_and_mask: 1.1.1.1/16 + state: present + summary_only: true + dampening: + value: 15 750 2000 60 + route_map: qq + state: present + ibgp_redist_internal: + state: present + default_metric: 10 + distance_bgp: + value: 3 4 6 + state: present + address_family_ipv6: + aggregate_address: + - ip_and_mask: 2001:4898:5808:ffa0::/126 + state: present + summary_only: true + ibgp_redist_internal: + state: present + best_path: + as_path: ignore + as_path_state: present + ignore_router_id: true + med: + - attribute: confed + state: present + neighbor: + - name: peer1 + type: peergroup + bfd: yes + state: present + - name: ebgp_pg + type: peergroup + bfd: yes + state: present + address_family: + - type: ipv4 + state: present + max_prefix: + count: 20 + threshold: 90 + warning: true + state: present + listen: + - subnet: 4.4.4.4/32 + limit: 4 + subnet_state: present + - subnet: 20::/64 + limit: 4 + subnet_state: present + - name: ibgp_pg + type: peergroup + weight: 10 + state: present + - type: ipv4 + interface: vlan20 + send_community: + - type: extended + state: present + address_family: + - type: l2vpn + activate: true + state: present + admin: up + state: present + - type: ipv4 + description: "U_site2-spine1" + remote_asn: 11 + ip: 192.168.10.1 + peergroup: peer1 + peergroup_state: present + peergroup_type: ibgp + adv_interval: 40 + fall_over: present + password: bgppassword + route_reflector_client: true + adv_start: 100 + adv_start_state: present + conn_retry_timer: 20 + remove_pri_as: present + address_family: + - type: ipv4 + activate: true + state: present + max_prefix: + count: 10 + threshold: 40 + warning: true + state: present + default_originate: + route_map: aa + state: present + distribute_list: + in: XX + in_state: present + out: YY + out_state: present + send_community: + - type: standard + state: present + state: present + - type: ipv4 + remote_asn: 13 + local_as: 10 + weight: 10 + ip: 192.168.12.3 + address_family: + - type: ipv4 + activate: true + allow_as_in: 5 + next_hop_self: true + soft_reconf: true + add_path: both 3 + route_map: + - name: qq + filter: in + state: present + state: present + state: present + - type: ipv6 + remote_asn: 14 + ip: 2001:4898:5808:ffa2::1 + state: present + - type: ipv6 + description: "U_site2-spine1-Auto Discovered peers" + auto_peer: unnumbered-auto + ibgp_peergroup: ibgp_pg + ibgp_peergroup_state: present + sender_loop_detect: true + password: bgppassword + address_family: + - type: ipv4 + activate: true + sender_loop_detect: true + state: present + allow_as_in: 5 + next_hop_self: true + soft_reconf: true + - type: l2vpn + activate: true + state: present + send_community: + - type: standard + state: present + admin: up + state: present + redistribute: + - route_type: static + route_map_name: aa + address_type: ipv4 + state: present + bfd_all_neighbors: + interval: 200 + min_rx: 200 + multiplier: 3 + role: active + state: present + vrfs: + - name: "GREEN" + router_id: 50.1.1.1 + maxpath_ibgp: 2 + maxpath_ebgp: 2 + graceful_restart: true + always_compare_med: true + default_loc_pref: 1000 + route_reflector: + cluster_id: 1 + address_family_ipv4: + aggregate_address: + - ip_and_mask: 1.1.1.1/16 + state: present + dampening: + value: 15 750 2000 60 + route_map: qq + state: present + ibgp_redist_internal: + state: present + address_family_ipv6: + aggregate_address: + - ip_and_mask: 2001:4898:5808:ffa0::/126 + state: present + summary_only: true + ibgp_redist_internal: + state: present + best_path: + as_path: ignore + as_path_state: present + ignore_router_id: true + med: + - attribute: confed + state: present + - attribute: missing-as-worst + state: present + neighbor: + - name: peer1 + type: peergroup + bfd: yes + state: present + - name: ebgp_pg + type: peergroup + bfd: yes + state: present + - name: ibgp_pg + type: peergroup + weight: 10 + state: present + - type: ipv4 + interface: vlan10 + description: U_site2 vlan + send_community: + - type: extended + state: present + admin: up + state: present + - type: ipv4 + description: "U_site2 spine1" + remote_asn: 11 + ip: 192.168.20.1 + name: peer1 + peergroup: peer1 + peergroup_state: present + peergroup_type: ibgp + adv_interval: 40 + fall_over: present + route_reflector_client: true + address_family: + - type: ipv4 + state: present + send_community: + - type: standard + state: present + state: present + - type: ipv4 + description: "U_site2 spine1" + remote_asn: 13 + local_as: 10 + weight: 10 + ip: 192.168.15.3 + address_family: + - type: ipv4 + allow_as_in: 5 + next_hop_self: true + soft_reconf: true + add_path: both 3 + route_map: + - name: qq + filter: in + state: present + state: present + state: present + - type: ipv6 + remote_asn: 14 + ip: 2001:4898:5808:ffa2::1 + state: present + - type: ipv6 + description: "U_site2-spine1-Auto Discovered peers" + auto_peer: unnumbered-auto + ibgp_peergroup: ibgp_pg + ibgp_peergroup_state: present + address_family: + - type: ipv4 + state: present + allow_as_in: 5 + next_hop_self: true + soft_reconf: true + send_community: + - type: standard + state: present + admin: up + state: present + redistribute: + - route_type: static + route_map_name: aa + address_type: ipv4 + state: present + - route_type: connected + route_map_name: bb + address_type: ipv4 + state: present + - route_type: l2vpn + route_map_name: cc + address_type: ipv4 + state: present + bfd_all_neighbors: + interval: 200 + min_rx: 200 + multiplier: 3 + role: active + state: present + state: present + state: absent diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_bgp_role/templates/bgp_vrf/steps/setup.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_bgp_role/templates/bgp_vrf/steps/setup.j2 new file mode 100644 index 00000000..ccf217d3 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_bgp_role/templates/bgp_vrf/steps/setup.j2 @@ -0,0 +1,13 @@ +os10_vrf: + vrfdetails: + - vrf_name: GREEN + state: present + - vrf_name: BLUE + state: present +os10_vlan: + vlan 10: + description: "red" + state: present + vlan 20: + description: "yellow" + state: present diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_bgp_role/templates/bgp_vrf/steps/teardown.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_bgp_role/templates/bgp_vrf/steps/teardown.j2 new file mode 100644 index 00000000..1c0d524e --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_bgp_role/templates/bgp_vrf/steps/teardown.j2 @@ -0,0 +1,13 @@ +os10_vrf: + vrfdetails: + - vrf_name: GREEN + state: absent + - vrf_name: BLUE + state: absent +os10_vlan: + vlan 10: + description: "red" + state: absent + vlan 20: + description: "yellow" + state: absent diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_bgp_role/tests/bgp_vrf.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_bgp_role/tests/bgp_vrf.yaml new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_bgp_role/tests/bgp_vrf.yaml diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_bgp_role/vars/main.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_bgp_role/vars/main.yaml new file mode 100644 index 00000000..63123891 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_bgp_role/vars/main.yaml @@ -0,0 +1,7 @@ +test_roles: + - dellemc.os10.os10_vrf + - dellemc.os10.os10_vlan + - dellemc.os10.os10_bgp + +idempotent_roles: + - dellemc.os10.os10_bgp diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_command/defaults/main.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_command/defaults/main.yaml new file mode 100644 index 00000000..5f709c5a --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_command/defaults/main.yaml @@ -0,0 +1,2 @@ +--- +testcase: "*" diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_command/tasks/cli.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_command/tasks/cli.yaml new file mode 100644 index 00000000..8c11e106 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_command/tasks/cli.yaml @@ -0,0 +1,16 @@ +--- +- name: collect all cli test cases + find: + paths: "{{ role_path }}/tests/cli" + patterns: "{{ testcase }}.yaml" + register: test_cases + +- name: set test_items + set_fact: + test_items: "{{ test_cases.files | map(attribute='path') | list }}" + +- name: run test case + include: "{{ test_case_to_run }}" + with_items: "{{ test_items }}" + loop_control: + loop_var: test_case_to_run diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_command/tasks/main.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_command/tasks/main.yaml new file mode 100644 index 00000000..415c99d8 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_command/tasks/main.yaml @@ -0,0 +1,2 @@ +--- +- { include: cli.yaml, tags: ['cli'] } diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_command/tests/cli/bad_operator.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_command/tests/cli/bad_operator.yaml new file mode 100644 index 00000000..879a3d3f --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_command/tests/cli/bad_operator.yaml @@ -0,0 +1,19 @@ +--- +- debug: msg="START cli/bad_operator.yaml" + +- name: test bad operator + os10_command: + commands: + - show version + - show interface ethernet 1/1/1 + wait_for: + - "result[0] contains 'Description : blah'" + register: result + ignore_errors: yes + +- assert: + that: + - "result.failed == true" + - "result.msg is defined" + +- debug: msg="END cli/bad_operator.yaml" diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_command/tests/cli/contains.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_command/tests/cli/contains.yaml new file mode 100644 index 00000000..1aa70582 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_command/tests/cli/contains.yaml @@ -0,0 +1,19 @@ +--- +- debug: msg="START cli/contains.yaml" + +- name: test contains operator + os10_command: + commands: + - show version + - show interface ethernet 1/1/1 + wait_for: + - "result[0] contains OS10 Enterprise" + - "result[1] contains Ethernet " + register: result + +- assert: + that: + - "result.changed == false" + - "result.stdout is defined" + +- debug: msg="END cli/contains.yaml" diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_command/tests/cli/invalid.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_command/tests/cli/invalid.yaml new file mode 100644 index 00000000..0eff6170 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_command/tests/cli/invalid.yaml @@ -0,0 +1,26 @@ +--- +- debug: msg="START cli/invalid.yaml" + +- name: run invalid command + os10_command: + commands: ['show foo'] + register: result + ignore_errors: yes + +- assert: + that: + - "'Error: Unrecognized command' in result.msg" + +- name: run commands that include invalid command + os10_command: + commands: + - show version + - show foo + register: result + ignore_errors: yes + +- assert: + that: + - "'Error: Unrecognized command' in result.msg" + +- debug: msg="END cli/invalid.yaml" diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_command/tests/cli/output.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_command/tests/cli/output.yaml new file mode 100644 index 00000000..0c85c0f8 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_command/tests/cli/output.yaml @@ -0,0 +1,27 @@ +--- +- debug: msg="START cli/output.yaml" + +- name: get output for single command + os10_command: + commands: ['show version'] + register: result + +- assert: + that: + - "result.changed == false" + - "result.stdout is defined" + +- name: get output for multiple commands + os10_command: + commands: + - show version + - show interface Eth 1/1/1 + register: result + +- assert: + that: + - "result.changed == false" + - "result.stdout is defined" + - "result.stdout | length == 2" + +- debug: msg="END cli/output.yaml" diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_command/tests/cli/timeout.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_command/tests/cli/timeout.yaml new file mode 100644 index 00000000..65e5a82e --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_command/tests/cli/timeout.yaml @@ -0,0 +1,18 @@ +--- +- debug: msg="START cli/timeout.yaml" + +- name: test bad condition + os10_command: + commands: + - show version + wait_for: + - "result[0] contains bad_value_string" + register: result + ignore_errors: yes + +- assert: + that: + - "result.failed == true" + - "result.msg is defined" + +- debug: msg="END cli/timeout.yaml" diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_config/defaults/main.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_config/defaults/main.yaml new file mode 100644 index 00000000..5f709c5a --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_config/defaults/main.yaml @@ -0,0 +1,2 @@ +--- +testcase: "*" diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_config/tasks/cli.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_config/tasks/cli.yaml new file mode 100644 index 00000000..d675462d --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_config/tasks/cli.yaml @@ -0,0 +1,15 @@ +--- +- name: collect all cli test cases + find: + paths: "{{ role_path }}/tests/cli" + patterns: "{{ testcase }}.yaml" + register: test_cases + +- name: set test_items + set_fact: test_items="{{ test_cases.files | map(attribute='path') | list }}" + +- name: run test case + include: "{{ test_case_to_run }}" + with_items: "{{ test_items }}" + loop_control: + loop_var: test_case_to_run diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_config/tasks/main.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_config/tasks/main.yaml new file mode 100644 index 00000000..415c99d8 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_config/tasks/main.yaml @@ -0,0 +1,2 @@ +--- +- { include: cli.yaml, tags: ['cli'] } diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_config/tests/cli/sublevel.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_config/tests/cli/sublevel.yaml new file mode 100644 index 00000000..d376e6eb --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_config/tests/cli/sublevel.yaml @@ -0,0 +1,38 @@ +--- +- debug: msg="START cli/sublevel.yaml" + +- name: setup test + os10_config: + lines: + - 'no ip access-list test' + match: none + +- name: configure sub level command + os10_config: + lines: ['seq 5 permit ip any any count byte'] + parents: ['ip access-list test'] + register: result + +- assert: + that: + - "result.changed == true" + - "'ip access-list test' in result.updates" + - "'seq 5 permit ip any any count byte' in result.updates" + +- name: configure sub level command idempotent check + os10_config: + lines: ['seq 5 permit ip any any count byte'] + parents: ['ip access-list test'] + register: result + +- assert: + that: + - "result.changed == false" + +- name: teardown + os10_config: + lines: + - 'no ip access-list test' + match: none + +- debug: msg="END cli/sublevel.yaml" diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_config/tests/cli/sublevel_block.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_config/tests/cli/sublevel_block.yaml new file mode 100644 index 00000000..ad598f20 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_config/tests/cli/sublevel_block.yaml @@ -0,0 +1,58 @@ +--- +- debug: msg="START cli/sublevel_block.yaml" + +- name: setup + os10_config: + lines: + - neighbor 1.1.1.1 + - neighbor 1.1.1.2 + - neighbor 1.1.1.3 + parents: ['router bgp 10'] + before: ['no router bgp'] + after: ['exit'] + match: none + +- name: configure sub level command using block resplace + os10_config: + lines: + - neighbor 1.1.1.1 + - neighbor 1.1.1.2 + - neighbor 1.1.1.3 + - neighbor 1.1.1.4 + parents: ['router bgp 10'] + replace: block + after: ['exit'] + register: result + +- assert: + that: + - "result.changed == true" + - "'router bgp 10' in result.updates" + - "'neighbor 1.1.1.1' in result.updates" + - "'neighbor 1.1.1.2' in result.updates" + - "'neighbor 1.1.1.3' in result.updates" + - "'neighbor 1.1.1.4' in result.updates" + +- name: check sub level command using block replace + os10_config: + lines: + - neighbor 1.1.1.1 + - neighbor 1.1.1.2 + - neighbor 1.1.1.3 + - neighbor 1.1.1.4 + parents: ['router bgp 10'] + replace: block + after: ['exit'] + register: result + +- assert: + that: + - "result.changed == false" + +- name: teardown + os10_config: + lines: + - no router bgp + match: none + +- debug: msg="END cli/sublevel_block.yaml" diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_config/tests/cli/sublevel_exact.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_config/tests/cli/sublevel_exact.yaml new file mode 100644 index 00000000..0093e4c7 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_config/tests/cli/sublevel_exact.yaml @@ -0,0 +1,62 @@ +--- +- debug: msg="START cli/sublevel_exact.yaml" + +- name: setup + os10_config: + lines: + - neighbor 1.1.1.1 + - neighbor 1.1.1.2 + - neighbor 1.1.1.3 + - neighbor 1.1.1.4 + - neighbor 1.1.1.5 + parents: ['router bgp 10'] + before: ['no router bgp'] + after: ['exit'] + match: none + +- name: configure sub level command using exact match + os10_config: + lines: + - neighbor 1.1.1.1 + - neighbor 1.1.1.2 + - neighbor 1.1.1.3 + - neighbor 1.1.1.4 + parents: ['router bgp 10'] + after: ['exit'] + match: exact + register: result + +- assert: + that: + - "result.changed == true" + - "'router bgp 10' in result.updates" + - "'neighbor 1.1.1.1' in result.updates" + - "'neighbor 1.1.1.2' in result.updates" + - "'neighbor 1.1.1.3' in result.updates" + - "'neighbor 1.1.1.4' in result.updates" + - "'neighbor 1.1.1.5' not in result.updates" + +- name: check sub level command using exact match + os10_config: + lines: + - neighbor 1.1.1.1 + - neighbor 1.1.1.2 + - neighbor 1.1.1.3 + - neighbor 1.1.1.4 + - neighbor 1.1.1.5 + parents: ['router bgp 10'] + after: ['exit'] + match: exact + register: result + +- assert: + that: + - "result.changed == false" + +- name: teardown + os10_config: + lines: + - no router bgp + match: none + +- debug: msg="END cli/sublevel_exact.yaml" diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_config/tests/cli/sublevel_strict.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_config/tests/cli/sublevel_strict.yaml new file mode 100644 index 00000000..38865340 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_config/tests/cli/sublevel_strict.yaml @@ -0,0 +1,59 @@ +--- +- debug: msg="START cli/sublevel_strict.yaml" + +- name: setup + os10_config: + lines: + - neighbor 1.1.1.1 + - neighbor 1.1.1.2 + - neighbor 1.1.1.3 + - neighbor 1.1.1.4 + - neighbor 1.1.1.5 + parents: ['router bgp 10'] + before: ['no router bgp'] + after: ['exit'] + match: none + +- name: configure sub level command using strict match + os10_config: + lines: + - neighbor 1.1.1.1 + - neighbor 1.1.1.2 + - neighbor 1.1.1.3 + - neighbor 1.1.1.4 + parents: ['router bgp 10'] + match: strict + register: result + +- assert: + that: + - "result.changed == false" + +- name: check sub level command using strict match + os10_config: + lines: + - neighbor 1.1.1.1 + - neighbor 1.1.1.3 + - neighbor 1.1.1.2 + parents: ['router bgp 10'] + after: ['exit'] + match: strict + register: result + +- assert: + that: + - "result.changed == true" + - "'router bgp 10' in result.updates" + - "'neighbor 1.1.1.1' not in result.updates" + - "'neighbor 1.1.1.2' in result.updates" + - "'neighbor 1.1.1.3' in result.updates" + - "'neighbor 1.1.1.4' not in result.updates" + - "'neighbor 1.1.1.5' not in result.updates" + +- name: teardown + os10_config: + lines: + - no router bgp + match: none + +- debug: msg="END cli/sublevel_strict.yaml" diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_config/tests/cli/toplevel.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_config/tests/cli/toplevel.yaml new file mode 100644 index 00000000..c90037b1 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_config/tests/cli/toplevel.yaml @@ -0,0 +1,33 @@ +--- +- debug: msg="START cli/toplevel.yaml" + +- name: setup + os10_config: + lines: ['hostname {{ inventory_hostname_short }}'] + match: none + +- name: configure top level command + os10_config: + lines: ['hostname foo'] + register: result + +- assert: + that: + - "result.changed == true" + - "'hostname foo' in result.updates" + +- name: configure top level command idempotent check + os10_config: + lines: ['hostname foo'] + register: result + +- assert: + that: + - "result.changed == false" + +- name: teardown + os10_config: + lines: ['hostname {{ inventory_hostname_short }}'] + match: none + +- debug: msg="END cli/toplevel.yaml" diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_config/tests/cli/toplevel_after.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_config/tests/cli/toplevel_after.yaml new file mode 100644 index 00000000..7a50790f --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_config/tests/cli/toplevel_after.yaml @@ -0,0 +1,40 @@ +--- +- debug: msg="START cli/toplevel_after.yaml" + +- name: setup + os10_config: + lines: + - "snmp-server contact ansible" + - "hostname {{ inventory_hostname_short }}" + match: none + +- name: configure top level command with before + os10_config: + lines: ['hostname foo'] + after: ['snmp-server contact bar'] + register: result + +- assert: + that: + - "result.changed == true" + - "'hostname foo' in result.updates" + - "'snmp-server contact bar' in result.updates" + +- name: configure top level command with before idempotent check + os10_config: + lines: ['hostname foo'] + after: ['snmp-server contact foo'] + register: result + +- assert: + that: + - "result.changed == false" + +- name: teardown + os10_config: + lines: + - "no snmp-server contact" + - "hostname {{ inventory_hostname_short }}" + match: none + +- debug: msg="END cli/toplevel_after.yaml" diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_config/tests/cli/toplevel_before.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_config/tests/cli/toplevel_before.yaml new file mode 100644 index 00000000..3af72fa8 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_config/tests/cli/toplevel_before.yaml @@ -0,0 +1,40 @@ +--- +- debug: msg="START cli/toplevel_before.yaml" + +- name: setup + os10_config: + lines: + - "snmp-server contact ansible" + - "hostname {{ inventory_hostname_short }}" + match: none + +- name: configure top level command with before + os10_config: + lines: ['hostname foo'] + before: ['snmp-server contact bar'] + register: result + +- assert: + that: + - "result.changed == true" + - "'hostname foo' in result.updates" + - "'snmp-server contact bar' in result.updates" + +- name: configure top level command with before idempotent check + os10_config: + lines: ['hostname foo'] + before: ['snmp-server contact foo'] + register: result + +- assert: + that: + - "result.changed == false" + +- name: teardown + os10_config: + lines: + - "no snmp-server contact" + - "hostname {{ inventory_hostname_short }}" + match: none + +- debug: msg="END cli/toplevel_before.yaml" diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_config/tests/cli/toplevel_nonidempotent.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_config/tests/cli/toplevel_nonidempotent.yaml new file mode 100644 index 00000000..14ee21c3 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_config/tests/cli/toplevel_nonidempotent.yaml @@ -0,0 +1,35 @@ +--- +- debug: msg="START cli/toplevel_nonidempotent.yaml" + +- name: setup + os10_config: + lines: ['hostname {{ inventory_hostname_short }}'] + match: none + +- name: configure top level command + os10_config: + lines: ['hostname foo'] + match: strict + register: result + +- assert: + that: + - "result.changed == true" + - "'hostname foo' in result.updates" + +- name: configure top level command idempotent check + os10_config: + lines: ['hostname foo'] + match: strict + register: result + +- assert: + that: + - "result.changed == true" + +- name: teardown + os10_config: + lines: ['hostname {{ inventory_hostname_short }}'] + match: none + +- debug: msg="END cli/toplevel_nonidempotent.yaml" diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_ecmp_role/defaults/main.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_ecmp_role/defaults/main.yaml new file mode 100644 index 00000000..967b3f14 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_ecmp_role/defaults/main.yaml @@ -0,0 +1,3 @@ +--- +testcase: "*" +test_idempotency: true diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_ecmp_role/tasks/main.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_ecmp_role/tasks/main.yaml new file mode 100644 index 00000000..88be0f20 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_ecmp_role/tasks/main.yaml @@ -0,0 +1,3 @@ +--- +- { include: prepare_test_facts.yaml, tags: ['role']} +- { include: tests.yaml, tags: ['role']} diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_ecmp_role/tasks/prepare_test_facts.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_ecmp_role/tasks/prepare_test_facts.yaml new file mode 100644 index 00000000..a86b71f6 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_ecmp_role/tasks/prepare_test_facts.yaml @@ -0,0 +1,14 @@ +--- +- block: + - name: Collect interface list + import_role: + name: os10_template + tasks_from: show_ip_interface_brief.yaml + register: result + - name: Set interface list + set_fact: + os10_interface_1: "{{ ip_interface_facts[0].INTERFACE_NAME | lower }}" + os10_interface_2: "{{ ip_interface_facts[1].INTERFACE_NAME | lower }}" + os10_interface_3: "{{ ip_interface_facts[2].INTERFACE_NAME | lower }}" + + when: prepare_os10_role_tests_task | default(True) | bool diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_ecmp_role/tasks/testcase/include_os10_role.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_ecmp_role/tasks/testcase/include_os10_role.yaml new file mode 100644 index 00000000..395d2fe8 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_ecmp_role/tasks/testcase/include_os10_role.yaml @@ -0,0 +1,20 @@ +- include_role: + name: "{{ os10_role_name }}" + +- debug: msg="Role completed {{ os10_role_name }}" + notify: "os10_role completed" + +- block: + - name: "Testing idempotency for {{ os10_role_name }}" + include_role: + name: "{{ os10_role_name }}" + - name: "idempotency result for {{ os10_role_name }}" + fail: + msg: "idempotency test failed for {{ os10_role_name }}" + when: output.changed + + when: > + ( test_idempotency is defined and test_idempotency and + idempotent_roles is defined and os10_role_name in idempotent_roles and + idempotent is defined and idempotent + ) diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_ecmp_role/tasks/testcase/run_test_case.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_ecmp_role/tasks/testcase/run_test_case.yaml new file mode 100644 index 00000000..c84b1033 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_ecmp_role/tasks/testcase/run_test_case.yaml @@ -0,0 +1,62 @@ +- name: set test case + set_fact: + role_testcase: "{{ role_testcase_path | basename | splitext | first }}" + +- name: set test case output dir + set_fact: + testcase_outdir: "{{ output_dir }}/{{ role_name }}/{{ role_testcase_path }}" + + +- name: Prepare testcase output dir + file: + path: "{{ testcase_outdir }}" + state: directory + +- name: Source testcase variables + include_vars: "{{ item }}" + vars: + params: + files: + - "{{ role_testcase }}.yaml" + paths: + - "vars" + loop: "{{ query('first_found', params, errors='ignore') }}" + +- name: Include Testcase tasks + include: "{{ role_testcase_path }}" + +- name: Identifying steps + block: + - name: Identifying steps + find: + paths: "{{ role_path }}/templates/{{ role_testcase }}/steps" + patterns: "*.j2" + register: step_files + - set_fact: teststeps_files="{{ step_files.files | map(attribute='path') | map('basename') | list }}" + - set_fact: teststeps="{{ teststeps_files | map('splitext') | map('first') | reject('equalto', 'setup') | reject('equalto', 'teardown') | list | sort }}" + when: teststeps is not defined + +- name: Check if setup step exists + stat: path="{{ role_path }}/templates/{{ role_testcase }}/steps/setup.j2" + ignore_errors: true + register: setup_template + +- name: Setup Testcase + include: testcase/run_test_step.yaml role_teststep=setup idempotent=false + when: setup_template.stat.exists == true + +- name: Run Test Steps + block: + - name: Run Test Steps + include: testcase/run_test_step.yaml idempotent=false + with_items: "{{ teststeps }}" + loop_control: + loop_var: role_teststep + always: + - name: Check teardown + stat: path="{{ role_path }}/templates/{{ role_testcase }}/steps/teardown.j2" + ignore_errors: true + register: teardown_template + - name: Run teardown + include: testcase/run_test_step.yaml role_teststep=teardown idempotent=false + when: teardown_template.stat.exists == true diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_ecmp_role/tasks/testcase/run_test_step.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_ecmp_role/tasks/testcase/run_test_step.yaml new file mode 100644 index 00000000..624325e5 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_ecmp_role/tasks/testcase/run_test_step.yaml @@ -0,0 +1,26 @@ +--- +- name: Running step {{ role_teststep }} + debug: msg="{{ role_teststep }}" + +- name: Set step vars file + set_fact: + teststep_var_template: "{{ role_testcase }}/steps/{{ role_teststep }}.j2" + teststep_vars_file: "{{ testcase_outdir }}/{{ role_teststep }}.yaml" + +- name: Preparing step variables + template: + src: "{{ teststep_var_template }}" + dest: "{{ teststep_vars_file }}" + +- name: Load step variables + include_vars: + file: "{{ teststep_vars_file }}" + +- name: Including roles for the step + include: testcase/include_os10_role.yaml os10_role_name="{{ step_role }}" + # include_role: + # name: "{{ step_role }}" + with_items: "{{ test_roles }}" + loop_control: + loop_var: step_role + when: test_roles is defined diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_ecmp_role/tasks/tests.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_ecmp_role/tasks/tests.yaml new file mode 100644 index 00000000..572c2538 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_ecmp_role/tasks/tests.yaml @@ -0,0 +1,14 @@ +- name: collect all test cases + find: + paths: "{{ role_path }}/tests" + patterns: "{{ testcase }}.yaml" + register: test_cases + +- name: set test_items + set_fact: test_items="{{ test_cases.files | map(attribute='path') | list }}" + +- name: run test case + include: testcase/run_test_case.yaml + with_items: "{{ test_items }}" + loop_control: + loop_var: role_testcase_path diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_ecmp_role/templates/ecmp_basic/steps/01_ecmp_configure.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_ecmp_role/templates/ecmp_basic/steps/01_ecmp_configure.j2 new file mode 100644 index 00000000..52d49ff2 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_ecmp_role/templates/ecmp_basic/steps/01_ecmp_configure.j2 @@ -0,0 +1,4 @@ +idempotent: true +os10_ecmp: + ecmp_group_max_paths: 3 + trigger_threshold: 50 diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_ecmp_role/templates/ecmp_basic/steps/02_ecmp_update.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_ecmp_role/templates/ecmp_basic/steps/02_ecmp_update.j2 new file mode 100644 index 00000000..6c0bb03f --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_ecmp_role/templates/ecmp_basic/steps/02_ecmp_update.j2 @@ -0,0 +1,4 @@ +idempotent: true +os10_ecmp: + ecmp_group_max_paths: 29 + trigger_threshold: 86 diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_ecmp_role/templates/ecmp_basic/steps/03_ecmp_unconfig.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_ecmp_role/templates/ecmp_basic/steps/03_ecmp_unconfig.j2 new file mode 100644 index 00000000..0187b2c1 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_ecmp_role/templates/ecmp_basic/steps/03_ecmp_unconfig.j2 @@ -0,0 +1,4 @@ +idempotent: false +os10_ecmp: + ecmp_group_max_paths: + trigger_threshold: diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_ecmp_role/templates/ecmp_basic/steps/teardown.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_ecmp_role/templates/ecmp_basic/steps/teardown.j2 new file mode 100644 index 00000000..d2cb816a --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_ecmp_role/templates/ecmp_basic/steps/teardown.j2 @@ -0,0 +1,3 @@ +os10_ecmp: + ecmp_group_max_paths: + trigger_threshold: diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_ecmp_role/tests/ecmp_basic.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_ecmp_role/tests/ecmp_basic.yaml new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_ecmp_role/tests/ecmp_basic.yaml diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_ecmp_role/vars/main.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_ecmp_role/vars/main.yaml new file mode 100644 index 00000000..1ee0bd40 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_ecmp_role/vars/main.yaml @@ -0,0 +1,5 @@ +test_roles: + - dellemc.os10.os10_ecmp + +idempotent_roles: + - dellemc.os10.os10_ecmp diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_facts/defaults/main.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_facts/defaults/main.yaml new file mode 100644 index 00000000..5f709c5a --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_facts/defaults/main.yaml @@ -0,0 +1,2 @@ +--- +testcase: "*" diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_facts/tasks/cli.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_facts/tasks/cli.yaml new file mode 100644 index 00000000..8c11e106 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_facts/tasks/cli.yaml @@ -0,0 +1,16 @@ +--- +- name: collect all cli test cases + find: + paths: "{{ role_path }}/tests/cli" + patterns: "{{ testcase }}.yaml" + register: test_cases + +- name: set test_items + set_fact: + test_items: "{{ test_cases.files | map(attribute='path') | list }}" + +- name: run test case + include: "{{ test_case_to_run }}" + with_items: "{{ test_items }}" + loop_control: + loop_var: test_case_to_run diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_facts/tasks/main.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_facts/tasks/main.yaml new file mode 100644 index 00000000..415c99d8 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_facts/tasks/main.yaml @@ -0,0 +1,2 @@ +--- +- { include: cli.yaml, tags: ['cli'] } diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_facts/tests/cli/facts.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_facts/tests/cli/facts.yaml new file mode 100644 index 00000000..d68efadc --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_facts/tests/cli/facts.yaml @@ -0,0 +1,45 @@ +--- +- debug: msg="START cli/facts.yaml" + +- name: test all facts + os10_facts: + gather_subset: + - all + register: result + +- assert: + that: + - "result.changed == false" + - "result.ansible_facts is defined" + - "result.ansible_facts.ansible_net_interfaces is defined" + - "result.ansible_facts.ansible_net_memfree_mb is defined" + - "result.ansible_facts.ansible_net_model is defined" + - "result.ansible_facts.ansible_net_servicetag is defined" + - "result.ansible_facts.ansible_net_version is defined" + +- name: test all facts except hardware + os10_facts: + gather_subset: + - "!hardware" + register: result + +- assert: + that: + - "result.changed == false" + - "result.ansible_facts.ansible_net_interfaces is defined" + - "result.ansible_facts.ansible_net_memfree_mb is not defined" + +- name: test interface facts + os10_facts: + gather_subset: + - interfaces + register: result + +- assert: + that: + - "result.changed == false" + - "result.ansible_facts.ansible_net_interfaces is defined" + - "result.ansible_facts.ansible_net_memfree_mb is not defined" + + +- debug: msg="END cli/facts.yaml" diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_flow_monitor_role/defaults/main.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_flow_monitor_role/defaults/main.yaml new file mode 100644 index 00000000..5f709c5a --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_flow_monitor_role/defaults/main.yaml @@ -0,0 +1,2 @@ +--- +testcase: "*" diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_flow_monitor_role/tasks/main.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_flow_monitor_role/tasks/main.yaml new file mode 100644 index 00000000..88be0f20 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_flow_monitor_role/tasks/main.yaml @@ -0,0 +1,3 @@ +--- +- { include: prepare_test_facts.yaml, tags: ['role']} +- { include: tests.yaml, tags: ['role']} diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_flow_monitor_role/tasks/prepare_test_facts.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_flow_monitor_role/tasks/prepare_test_facts.yaml new file mode 100644 index 00000000..a86b71f6 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_flow_monitor_role/tasks/prepare_test_facts.yaml @@ -0,0 +1,14 @@ +--- +- block: + - name: Collect interface list + import_role: + name: os10_template + tasks_from: show_ip_interface_brief.yaml + register: result + - name: Set interface list + set_fact: + os10_interface_1: "{{ ip_interface_facts[0].INTERFACE_NAME | lower }}" + os10_interface_2: "{{ ip_interface_facts[1].INTERFACE_NAME | lower }}" + os10_interface_3: "{{ ip_interface_facts[2].INTERFACE_NAME | lower }}" + + when: prepare_os10_role_tests_task | default(True) | bool diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_flow_monitor_role/tasks/testcase/include_os10_role.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_flow_monitor_role/tasks/testcase/include_os10_role.yaml new file mode 100644 index 00000000..395d2fe8 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_flow_monitor_role/tasks/testcase/include_os10_role.yaml @@ -0,0 +1,20 @@ +- include_role: + name: "{{ os10_role_name }}" + +- debug: msg="Role completed {{ os10_role_name }}" + notify: "os10_role completed" + +- block: + - name: "Testing idempotency for {{ os10_role_name }}" + include_role: + name: "{{ os10_role_name }}" + - name: "idempotency result for {{ os10_role_name }}" + fail: + msg: "idempotency test failed for {{ os10_role_name }}" + when: output.changed + + when: > + ( test_idempotency is defined and test_idempotency and + idempotent_roles is defined and os10_role_name in idempotent_roles and + idempotent is defined and idempotent + ) diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_flow_monitor_role/tasks/testcase/run_test_case.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_flow_monitor_role/tasks/testcase/run_test_case.yaml new file mode 100644 index 00000000..c84b1033 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_flow_monitor_role/tasks/testcase/run_test_case.yaml @@ -0,0 +1,62 @@ +- name: set test case + set_fact: + role_testcase: "{{ role_testcase_path | basename | splitext | first }}" + +- name: set test case output dir + set_fact: + testcase_outdir: "{{ output_dir }}/{{ role_name }}/{{ role_testcase_path }}" + + +- name: Prepare testcase output dir + file: + path: "{{ testcase_outdir }}" + state: directory + +- name: Source testcase variables + include_vars: "{{ item }}" + vars: + params: + files: + - "{{ role_testcase }}.yaml" + paths: + - "vars" + loop: "{{ query('first_found', params, errors='ignore') }}" + +- name: Include Testcase tasks + include: "{{ role_testcase_path }}" + +- name: Identifying steps + block: + - name: Identifying steps + find: + paths: "{{ role_path }}/templates/{{ role_testcase }}/steps" + patterns: "*.j2" + register: step_files + - set_fact: teststeps_files="{{ step_files.files | map(attribute='path') | map('basename') | list }}" + - set_fact: teststeps="{{ teststeps_files | map('splitext') | map('first') | reject('equalto', 'setup') | reject('equalto', 'teardown') | list | sort }}" + when: teststeps is not defined + +- name: Check if setup step exists + stat: path="{{ role_path }}/templates/{{ role_testcase }}/steps/setup.j2" + ignore_errors: true + register: setup_template + +- name: Setup Testcase + include: testcase/run_test_step.yaml role_teststep=setup idempotent=false + when: setup_template.stat.exists == true + +- name: Run Test Steps + block: + - name: Run Test Steps + include: testcase/run_test_step.yaml idempotent=false + with_items: "{{ teststeps }}" + loop_control: + loop_var: role_teststep + always: + - name: Check teardown + stat: path="{{ role_path }}/templates/{{ role_testcase }}/steps/teardown.j2" + ignore_errors: true + register: teardown_template + - name: Run teardown + include: testcase/run_test_step.yaml role_teststep=teardown idempotent=false + when: teardown_template.stat.exists == true diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_flow_monitor_role/tasks/testcase/run_test_step.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_flow_monitor_role/tasks/testcase/run_test_step.yaml new file mode 100644 index 00000000..624325e5 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_flow_monitor_role/tasks/testcase/run_test_step.yaml @@ -0,0 +1,26 @@ +--- +- name: Running step {{ role_teststep }} + debug: msg="{{ role_teststep }}" + +- name: Set step vars file + set_fact: + teststep_var_template: "{{ role_testcase }}/steps/{{ role_teststep }}.j2" + teststep_vars_file: "{{ testcase_outdir }}/{{ role_teststep }}.yaml" + +- name: Preparing step variables + template: + src: "{{ teststep_var_template }}" + dest: "{{ teststep_vars_file }}" + +- name: Load step variables + include_vars: + file: "{{ teststep_vars_file }}" + +- name: Including roles for the step + include: testcase/include_os10_role.yaml os10_role_name="{{ step_role }}" + # include_role: + # name: "{{ step_role }}" + with_items: "{{ test_roles }}" + loop_control: + loop_var: step_role + when: test_roles is defined diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_flow_monitor_role/tasks/tests.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_flow_monitor_role/tasks/tests.yaml new file mode 100644 index 00000000..572c2538 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_flow_monitor_role/tasks/tests.yaml @@ -0,0 +1,14 @@ +- name: collect all test cases + find: + paths: "{{ role_path }}/tests" + patterns: "{{ testcase }}.yaml" + register: test_cases + +- name: set test_items + set_fact: test_items="{{ test_cases.files | map(attribute='path') | list }}" + +- name: run test case + include: testcase/run_test_case.yaml + with_items: "{{ test_items }}" + loop_control: + loop_var: role_testcase_path diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_flow_monitor_role/templates/flow_monitor_basic/steps/01_flow_monitor_configure.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_flow_monitor_role/templates/flow_monitor_basic/steps/01_flow_monitor_configure.j2 new file mode 100644 index 00000000..fb184583 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_flow_monitor_role/templates/flow_monitor_basic/steps/01_flow_monitor_configure.j2 @@ -0,0 +1,14 @@ +os10_flow_monitor: + session 1: + session_type: local + description: "Discription goes here" + port_match: + - interface_name: {{ os10_interface_1 }} + location: source + state: present + - interface_name: {{ os10_interface_2 }} + location: destination + state: present + flow_based: true + shutdown: up + state: present diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_flow_monitor_role/templates/flow_monitor_basic/steps/02_flow_monitory_update.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_flow_monitor_role/templates/flow_monitor_basic/steps/02_flow_monitory_update.j2 new file mode 100644 index 00000000..2f20dd25 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_flow_monitor_role/templates/flow_monitor_basic/steps/02_flow_monitory_update.j2 @@ -0,0 +1,16 @@ +os10_flow_monitor: + session 1: + session_type: local + description: "session1 desc" + port_match: + - interface_name: {{ os10_interface_1 }} + location: source + state: present + - interface_name: {{ os10_interface_2 }} + location: destination + state: present + flow_based: true + shutdown: down + state: present + session 2: + state: present diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_flow_monitor_role/templates/flow_monitor_basic/steps/03_flow_monitor_options_default.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_flow_monitor_role/templates/flow_monitor_basic/steps/03_flow_monitor_options_default.j2 new file mode 100644 index 00000000..00225e2f --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_flow_monitor_role/templates/flow_monitor_basic/steps/03_flow_monitor_options_default.j2 @@ -0,0 +1,16 @@ +os10_flow_monitor: + session 1: + session_type: local + description: + port_match: + - interface_name: {{ os10_interface_1 }} + location: + state: present + - interface_name: {{ os10_interface_2 }} + location: destination + state: present + flow_based: + shutdown: + state: present + session 2: + state: present diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_flow_monitor_role/templates/flow_monitor_basic/steps/setup.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_flow_monitor_role/templates/flow_monitor_basic/steps/setup.j2 new file mode 100644 index 00000000..c7eeeae1 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_flow_monitor_role/templates/flow_monitor_basic/steps/setup.j2 @@ -0,0 +1,3 @@ +os10_interface: + {{ os10_interface_2 }}: + switchport: false diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_flow_monitor_role/templates/flow_monitor_basic/steps/teardown.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_flow_monitor_role/templates/flow_monitor_basic/steps/teardown.j2 new file mode 100644 index 00000000..94690f2a --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_flow_monitor_role/templates/flow_monitor_basic/steps/teardown.j2 @@ -0,0 +1,23 @@ +test_roles: + - dellemc.os10.os10_flow_monitor + - dellemc.os10.os10_interface +os10_interface: + {{ os10_interface_2 }}: + switchport: true + portmode: access +os10_flow_monitor: + session 1: + session_type: local + description: "Discription goes here" + port_match: + - interface_name: {{ os10_interface_1 }} + location: source + state: absent + - interface_name: {{ os10_interface_2 }} + location: destination + state: absent + flow_based: true + shutdown: up + state: absent + session 2: + state: absent diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_flow_monitor_role/tests/flow_monitor_basic.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_flow_monitor_role/tests/flow_monitor_basic.yaml new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_flow_monitor_role/tests/flow_monitor_basic.yaml diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_flow_monitor_role/vars/main.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_flow_monitor_role/vars/main.yaml new file mode 100644 index 00000000..8183f282 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_flow_monitor_role/vars/main.yaml @@ -0,0 +1,3 @@ +test_roles: + - dellemc.os10.os10_interface + - dellemc.os10.os10_flow_monitor diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_interface_role/defaults/main.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_interface_role/defaults/main.yaml new file mode 100644 index 00000000..5f709c5a --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_interface_role/defaults/main.yaml @@ -0,0 +1,2 @@ +--- +testcase: "*" diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_interface_role/tasks/main.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_interface_role/tasks/main.yaml new file mode 100644 index 00000000..88be0f20 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_interface_role/tasks/main.yaml @@ -0,0 +1,3 @@ +--- +- { include: prepare_test_facts.yaml, tags: ['role']} +- { include: tests.yaml, tags: ['role']} diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_interface_role/tasks/prepare_test_facts.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_interface_role/tasks/prepare_test_facts.yaml new file mode 100644 index 00000000..a86b71f6 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_interface_role/tasks/prepare_test_facts.yaml @@ -0,0 +1,14 @@ +--- +- block: + - name: Collect interface list + import_role: + name: os10_template + tasks_from: show_ip_interface_brief.yaml + register: result + - name: Set interface list + set_fact: + os10_interface_1: "{{ ip_interface_facts[0].INTERFACE_NAME | lower }}" + os10_interface_2: "{{ ip_interface_facts[1].INTERFACE_NAME | lower }}" + os10_interface_3: "{{ ip_interface_facts[2].INTERFACE_NAME | lower }}" + + when: prepare_os10_role_tests_task | default(True) | bool diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_interface_role/tasks/testcase/include_os10_role.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_interface_role/tasks/testcase/include_os10_role.yaml new file mode 100644 index 00000000..395d2fe8 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_interface_role/tasks/testcase/include_os10_role.yaml @@ -0,0 +1,20 @@ +- include_role: + name: "{{ os10_role_name }}" + +- debug: msg="Role completed {{ os10_role_name }}" + notify: "os10_role completed" + +- block: + - name: "Testing idempotency for {{ os10_role_name }}" + include_role: + name: "{{ os10_role_name }}" + - name: "idempotency result for {{ os10_role_name }}" + fail: + msg: "idempotency test failed for {{ os10_role_name }}" + when: output.changed + + when: > + ( test_idempotency is defined and test_idempotency and + idempotent_roles is defined and os10_role_name in idempotent_roles and + idempotent is defined and idempotent + ) diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_interface_role/tasks/testcase/run_test_case.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_interface_role/tasks/testcase/run_test_case.yaml new file mode 100644 index 00000000..c84b1033 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_interface_role/tasks/testcase/run_test_case.yaml @@ -0,0 +1,62 @@ +- name: set test case + set_fact: + role_testcase: "{{ role_testcase_path | basename | splitext | first }}" + +- name: set test case output dir + set_fact: + testcase_outdir: "{{ output_dir }}/{{ role_name }}/{{ role_testcase_path }}" + + +- name: Prepare testcase output dir + file: + path: "{{ testcase_outdir }}" + state: directory + +- name: Source testcase variables + include_vars: "{{ item }}" + vars: + params: + files: + - "{{ role_testcase }}.yaml" + paths: + - "vars" + loop: "{{ query('first_found', params, errors='ignore') }}" + +- name: Include Testcase tasks + include: "{{ role_testcase_path }}" + +- name: Identifying steps + block: + - name: Identifying steps + find: + paths: "{{ role_path }}/templates/{{ role_testcase }}/steps" + patterns: "*.j2" + register: step_files + - set_fact: teststeps_files="{{ step_files.files | map(attribute='path') | map('basename') | list }}" + - set_fact: teststeps="{{ teststeps_files | map('splitext') | map('first') | reject('equalto', 'setup') | reject('equalto', 'teardown') | list | sort }}" + when: teststeps is not defined + +- name: Check if setup step exists + stat: path="{{ role_path }}/templates/{{ role_testcase }}/steps/setup.j2" + ignore_errors: true + register: setup_template + +- name: Setup Testcase + include: testcase/run_test_step.yaml role_teststep=setup idempotent=false + when: setup_template.stat.exists == true + +- name: Run Test Steps + block: + - name: Run Test Steps + include: testcase/run_test_step.yaml idempotent=false + with_items: "{{ teststeps }}" + loop_control: + loop_var: role_teststep + always: + - name: Check teardown + stat: path="{{ role_path }}/templates/{{ role_testcase }}/steps/teardown.j2" + ignore_errors: true + register: teardown_template + - name: Run teardown + include: testcase/run_test_step.yaml role_teststep=teardown idempotent=false + when: teardown_template.stat.exists == true diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_interface_role/tasks/testcase/run_test_step.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_interface_role/tasks/testcase/run_test_step.yaml new file mode 100644 index 00000000..624325e5 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_interface_role/tasks/testcase/run_test_step.yaml @@ -0,0 +1,26 @@ +--- +- name: Running step {{ role_teststep }} + debug: msg="{{ role_teststep }}" + +- name: Set step vars file + set_fact: + teststep_var_template: "{{ role_testcase }}/steps/{{ role_teststep }}.j2" + teststep_vars_file: "{{ testcase_outdir }}/{{ role_teststep }}.yaml" + +- name: Preparing step variables + template: + src: "{{ teststep_var_template }}" + dest: "{{ teststep_vars_file }}" + +- name: Load step variables + include_vars: + file: "{{ teststep_vars_file }}" + +- name: Including roles for the step + include: testcase/include_os10_role.yaml os10_role_name="{{ step_role }}" + # include_role: + # name: "{{ step_role }}" + with_items: "{{ test_roles }}" + loop_control: + loop_var: step_role + when: test_roles is defined diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_interface_role/tasks/tests.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_interface_role/tasks/tests.yaml new file mode 100644 index 00000000..572c2538 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_interface_role/tasks/tests.yaml @@ -0,0 +1,14 @@ +- name: collect all test cases + find: + paths: "{{ role_path }}/tests" + patterns: "{{ testcase }}.yaml" + register: test_cases + +- name: set test_items + set_fact: test_items="{{ test_cases.files | map(attribute='path') | list }}" + +- name: run test case + include: testcase/run_test_case.yaml + with_items: "{{ test_items }}" + loop_control: + loop_var: role_testcase_path diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_interface_role/templates/interface_basic/steps/01_interface_config.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_interface_role/templates/interface_basic/steps/01_interface_config.j2 new file mode 100644 index 00000000..bb4364d6 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_interface_role/templates/interface_basic/steps/01_interface_config.j2 @@ -0,0 +1,6 @@ +os10_interface: + {{ os10_interface_1 }}: + desc: "Connected to Core 2" + mtu: 2500 + admin: up + switchport: False diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_interface_role/templates/interface_basic/steps/02_interface_dynamic_ip.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_interface_role/templates/interface_basic/steps/02_interface_dynamic_ip.j2 new file mode 100644 index 00000000..725cbded --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_interface_role/templates/interface_basic/steps/02_interface_dynamic_ip.j2 @@ -0,0 +1,14 @@ +os10_interface: + {{ os10_interface_1 }}: + desc: "DHCP Ip" + mtu: 2500 + admin: up + switchport: False + ip_type_dynamic: True + ipv6_type_dynamic: True + {{ os10_interface_2 }}: + desc: "IPV6 Auto config" + mtu: 2000 + admin: up + switchport: False + ipv6_autoconfig: true diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_interface_role/templates/interface_basic/steps/03_interface_static_ip.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_interface_role/templates/interface_basic/steps/03_interface_static_ip.j2 new file mode 100644 index 00000000..74273ab0 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_interface_role/templates/interface_basic/steps/03_interface_static_ip.j2 @@ -0,0 +1,12 @@ +os10_interface: + {{ os10_interface_1 }}: + desc: "Static Ip" + mtu: 2500 + portmode: + admin: up + switchport: False + ip_and_mask: 10.9.0.4/31 + ipv6_and_mask: 2001:4898:5809:faa2::10/126 + ipv6_autoconfig: false + ip_type_dynamic: false + ipv6_type_dynamic: false diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_interface_role/templates/interface_basic/steps/04_interface_flowcontrol.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_interface_role/templates/interface_basic/steps/04_interface_flowcontrol.j2 new file mode 100644 index 00000000..c77200ea --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_interface_role/templates/interface_basic/steps/04_interface_flowcontrol.j2 @@ -0,0 +1,14 @@ +os10_interface: + {{ os10_interface_1 }}: + desc: "Static Ip" + mtu: 2500 + portmode: + admin: up + switchport: False + ip_and_mask: 10.9.0.4/31 + ipv6_and_mask: 2001:4898:5809:faa2::10/126 + ipv6_autoconfig: false + flowcontrol: + mode: "receive" + enable: "on" + state: "present" diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_interface_role/templates/interface_basic/steps/05_interface_switchport.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_interface_role/templates/interface_basic/steps/05_interface_switchport.j2 new file mode 100644 index 00000000..a38709cc --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_interface_role/templates/interface_basic/steps/05_interface_switchport.j2 @@ -0,0 +1,17 @@ +os10_interface: + {{ os10_interface_3 }}: + desc: "Switch port" + mtu: 3000 + portmode: trunk + admin: up + switchport: true + {{ os10_interface_1 }}: + ip_and_mask: + ipv6_and_mask: + ipv6_autoconfig: false + state_ipv6: absent + {{ os10_interface_2 }}: + ip_and_mask: + ipv6_and_mask: + ipv6_autoconfig: false + state_ipv6: absent diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_interface_role/templates/interface_basic/steps/06_interface_vlan.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_interface_role/templates/interface_basic/steps/06_interface_vlan.j2 new file mode 100644 index 00000000..ea4414de --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_interface_role/templates/interface_basic/steps/06_interface_vlan.j2 @@ -0,0 +1,17 @@ +test_roles: + - dellemc.os10.os10_vlan + - dellemc.os10.os10_interface + +os10_vlan: + vlan 10: + state: present + +os10_interface: + vlan 10: + ip_and_mask: + ipv6_and_mask: 2001:4898:5808:ffaf::1/64 + state_ipv6: present + ip_helper: + - ip: 10.0.0.33 + state: present + admin: up diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_interface_role/templates/interface_basic/steps/07_interface_range.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_interface_role/templates/interface_basic/steps/07_interface_range.j2 new file mode 100644 index 00000000..310dcd39 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_interface_role/templates/interface_basic/steps/07_interface_range.j2 @@ -0,0 +1,4 @@ +os10_interface: + range ethernet {{ os10_interface_1.split()[1] }},{{ os10_interface_2.split()[1] }},{{ os10_interface_3.split()[1] }}: + mtu: 2500 + admin: up diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_interface_role/templates/interface_basic/steps/teardown.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_interface_role/templates/interface_basic/steps/teardown.j2 new file mode 100644 index 00000000..e51374b7 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_interface_role/templates/interface_basic/steps/teardown.j2 @@ -0,0 +1,45 @@ +test_roles: + - dellemc.os10.os10_vlan + - dellemc.os10.os10_interface + +os10_vlan: + vlan 10: + state: absent + +os10_interface: + {{ os10_interface_1 }}: + desc: + mtu: + portmode: access + admin: down + switchport: true + ip_and_mask: + ipv6_and_mask: + ip_type_dynamic: false + ipv6_type_dynamic: false + ipv6_autoconfig: false + flowcontrol: + mode: receive + enable: off + state: absent + {{ os10_interface_2 }}: + desc: + mtu: + portmode: access + admin: down + switchport: true + ip_and_mask: + ipv6_and_mask: + ip_type_dynamic: false + ipv6_type_dynamic: false + ipv6_autoconfig: false + flowcontrol: + mode: receive + enable: off + state: absent + {{ os10_interface_3 }}: + desc: + mtu: + portmode: access + admin: down + switchport: true diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_interface_role/tests/interface_basic.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_interface_role/tests/interface_basic.yaml new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_interface_role/tests/interface_basic.yaml diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_interface_role/vars/main.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_interface_role/vars/main.yaml new file mode 100644 index 00000000..ff3aa0eb --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_interface_role/vars/main.yaml @@ -0,0 +1,2 @@ +test_roles: + - dellemc.os10.os10_interface diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_lag_role/defaults/main.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_lag_role/defaults/main.yaml new file mode 100644 index 00000000..5f709c5a --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_lag_role/defaults/main.yaml @@ -0,0 +1,2 @@ +--- +testcase: "*" diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_lag_role/tasks/main.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_lag_role/tasks/main.yaml new file mode 100644 index 00000000..88be0f20 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_lag_role/tasks/main.yaml @@ -0,0 +1,3 @@ +--- +- { include: prepare_test_facts.yaml, tags: ['role']} +- { include: tests.yaml, tags: ['role']} diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_lag_role/tasks/prepare_test_facts.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_lag_role/tasks/prepare_test_facts.yaml new file mode 100644 index 00000000..a86b71f6 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_lag_role/tasks/prepare_test_facts.yaml @@ -0,0 +1,14 @@ +--- +- block: + - name: Collect interface list + import_role: + name: os10_template + tasks_from: show_ip_interface_brief.yaml + register: result + - name: Set interface list + set_fact: + os10_interface_1: "{{ ip_interface_facts[0].INTERFACE_NAME | lower }}" + os10_interface_2: "{{ ip_interface_facts[1].INTERFACE_NAME | lower }}" + os10_interface_3: "{{ ip_interface_facts[2].INTERFACE_NAME | lower }}" + + when: prepare_os10_role_tests_task | default(True) | bool diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_lag_role/tasks/testcase/include_os10_role.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_lag_role/tasks/testcase/include_os10_role.yaml new file mode 100644 index 00000000..395d2fe8 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_lag_role/tasks/testcase/include_os10_role.yaml @@ -0,0 +1,20 @@ +- include_role: + name: "{{ os10_role_name }}" + +- debug: msg="Role completed {{ os10_role_name }}" + notify: "os10_role completed" + +- block: + - name: "Testing idempotency for {{ os10_role_name }}" + include_role: + name: "{{ os10_role_name }}" + - name: "idempotency result for {{ os10_role_name }}" + fail: + msg: "idempotency test failed for {{ os10_role_name }}" + when: output.changed + + when: > + ( test_idempotency is defined and test_idempotency and + idempotent_roles is defined and os10_role_name in idempotent_roles and + idempotent is defined and idempotent + ) diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_lag_role/tasks/testcase/run_test_case.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_lag_role/tasks/testcase/run_test_case.yaml new file mode 100644 index 00000000..c84b1033 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_lag_role/tasks/testcase/run_test_case.yaml @@ -0,0 +1,62 @@ +- name: set test case + set_fact: + role_testcase: "{{ role_testcase_path | basename | splitext | first }}" + +- name: set test case output dir + set_fact: + testcase_outdir: "{{ output_dir }}/{{ role_name }}/{{ role_testcase_path }}" + + +- name: Prepare testcase output dir + file: + path: "{{ testcase_outdir }}" + state: directory + +- name: Source testcase variables + include_vars: "{{ item }}" + vars: + params: + files: + - "{{ role_testcase }}.yaml" + paths: + - "vars" + loop: "{{ query('first_found', params, errors='ignore') }}" + +- name: Include Testcase tasks + include: "{{ role_testcase_path }}" + +- name: Identifying steps + block: + - name: Identifying steps + find: + paths: "{{ role_path }}/templates/{{ role_testcase }}/steps" + patterns: "*.j2" + register: step_files + - set_fact: teststeps_files="{{ step_files.files | map(attribute='path') | map('basename') | list }}" + - set_fact: teststeps="{{ teststeps_files | map('splitext') | map('first') | reject('equalto', 'setup') | reject('equalto', 'teardown') | list | sort }}" + when: teststeps is not defined + +- name: Check if setup step exists + stat: path="{{ role_path }}/templates/{{ role_testcase }}/steps/setup.j2" + ignore_errors: true + register: setup_template + +- name: Setup Testcase + include: testcase/run_test_step.yaml role_teststep=setup idempotent=false + when: setup_template.stat.exists == true + +- name: Run Test Steps + block: + - name: Run Test Steps + include: testcase/run_test_step.yaml idempotent=false + with_items: "{{ teststeps }}" + loop_control: + loop_var: role_teststep + always: + - name: Check teardown + stat: path="{{ role_path }}/templates/{{ role_testcase }}/steps/teardown.j2" + ignore_errors: true + register: teardown_template + - name: Run teardown + include: testcase/run_test_step.yaml role_teststep=teardown idempotent=false + when: teardown_template.stat.exists == true diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_lag_role/tasks/testcase/run_test_step.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_lag_role/tasks/testcase/run_test_step.yaml new file mode 100644 index 00000000..624325e5 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_lag_role/tasks/testcase/run_test_step.yaml @@ -0,0 +1,26 @@ +--- +- name: Running step {{ role_teststep }} + debug: msg="{{ role_teststep }}" + +- name: Set step vars file + set_fact: + teststep_var_template: "{{ role_testcase }}/steps/{{ role_teststep }}.j2" + teststep_vars_file: "{{ testcase_outdir }}/{{ role_teststep }}.yaml" + +- name: Preparing step variables + template: + src: "{{ teststep_var_template }}" + dest: "{{ teststep_vars_file }}" + +- name: Load step variables + include_vars: + file: "{{ teststep_vars_file }}" + +- name: Including roles for the step + include: testcase/include_os10_role.yaml os10_role_name="{{ step_role }}" + # include_role: + # name: "{{ step_role }}" + with_items: "{{ test_roles }}" + loop_control: + loop_var: step_role + when: test_roles is defined diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_lag_role/tasks/tests.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_lag_role/tasks/tests.yaml new file mode 100644 index 00000000..572c2538 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_lag_role/tasks/tests.yaml @@ -0,0 +1,14 @@ +- name: collect all test cases + find: + paths: "{{ role_path }}/tests" + patterns: "{{ testcase }}.yaml" + register: test_cases + +- name: set test_items + set_fact: test_items="{{ test_cases.files | map(attribute='path') | list }}" + +- name: run test case + include: testcase/run_test_case.yaml + with_items: "{{ test_items }}" + loop_control: + loop_var: role_testcase_path diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_lag_role/templates/lag_basic/steps/01_lag_configure.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_lag_role/templates/lag_basic/steps/01_lag_configure.j2 new file mode 100644 index 00000000..fc74977a --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_lag_role/templates/lag_basic/steps/01_lag_configure.j2 @@ -0,0 +1,12 @@ +os10_lag: + Po 12: + type: dynamic + min_links: 2 + max_bundle_size: 2 + lacp_system_priority: 2 + channel_members: + - port: {{ os10_interface_1 }} + mode: "active" + port_priority: 3 + lacp_rate_fast: true + state: present diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_lag_role/templates/lag_basic/steps/02_lag_update.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_lag_role/templates/lag_basic/steps/02_lag_update.j2 new file mode 100644 index 00000000..e8c2338e --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_lag_role/templates/lag_basic/steps/02_lag_update.j2 @@ -0,0 +1,12 @@ +os10_lag: + Po 12: + type: dynamic + min_links: 32 + max_bundle_size: 32 + lacp_system_priority: 5 + channel_members: + - port: {{ os10_interface_1 }} + mode: passive + port_priority: 4 + lacp_rate_fast: false + state: present diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_lag_role/templates/lag_basic/steps/03_lag_options_reset.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_lag_role/templates/lag_basic/steps/03_lag_options_reset.j2 new file mode 100644 index 00000000..03d18fd2 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_lag_role/templates/lag_basic/steps/03_lag_options_reset.j2 @@ -0,0 +1,12 @@ +os10_lag: + Po 12: + type: dynamic + min_links: + max_bundle_size: + lacp_system_priority: + channel_members: + - port: {{ os10_interface_1 }} + mode: + port_priority: + lacp_rate_fast: + state: present diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_lag_role/templates/lag_basic/steps/04_lag_absent.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_lag_role/templates/lag_basic/steps/04_lag_absent.j2 new file mode 100644 index 00000000..c9e7b820 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_lag_role/templates/lag_basic/steps/04_lag_absent.j2 @@ -0,0 +1,12 @@ +os10_lag: + Po 12: + type: dynamic + min_links: 2 + max_bundle_size: 2 + lacp_system_priority: 2 + channel_members: + - port: {{ os10_interface_1 }} + mode: "active" + port_priority: 3 + lacp_rate_fast: true + state: absent diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_lag_role/templates/lag_basic/steps/teardown.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_lag_role/templates/lag_basic/steps/teardown.j2 new file mode 100644 index 00000000..09b6c3ea --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_lag_role/templates/lag_basic/steps/teardown.j2 @@ -0,0 +1,12 @@ +os10_lag: + Po 12: + type: dynamic + min_links: 2 + max_bundle_size: 2 + lacp_system_priority: + channel_members: + - port: {{ os10_interface_1 }} + mode: "active" + port_priority: 3 + lacp_rate_fast: true + state: absent diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_lag_role/tests/lag_basic.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_lag_role/tests/lag_basic.yaml new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_lag_role/tests/lag_basic.yaml diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_lag_role/vars/main.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_lag_role/vars/main.yaml new file mode 100644 index 00000000..4b1840fa --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_lag_role/vars/main.yaml @@ -0,0 +1,2 @@ +test_roles: + - dellemc.os10.os10_lag diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_lldp_role/defaults/main.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_lldp_role/defaults/main.yaml new file mode 100644 index 00000000..5f709c5a --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_lldp_role/defaults/main.yaml @@ -0,0 +1,2 @@ +--- +testcase: "*" diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_lldp_role/tasks/main.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_lldp_role/tasks/main.yaml new file mode 100644 index 00000000..88be0f20 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_lldp_role/tasks/main.yaml @@ -0,0 +1,3 @@ +--- +- { include: prepare_test_facts.yaml, tags: ['role']} +- { include: tests.yaml, tags: ['role']} diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_lldp_role/tasks/prepare_test_facts.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_lldp_role/tasks/prepare_test_facts.yaml new file mode 100644 index 00000000..a86b71f6 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_lldp_role/tasks/prepare_test_facts.yaml @@ -0,0 +1,14 @@ +--- +- block: + - name: Collect interface list + import_role: + name: os10_template + tasks_from: show_ip_interface_brief.yaml + register: result + - name: Set interface list + set_fact: + os10_interface_1: "{{ ip_interface_facts[0].INTERFACE_NAME | lower }}" + os10_interface_2: "{{ ip_interface_facts[1].INTERFACE_NAME | lower }}" + os10_interface_3: "{{ ip_interface_facts[2].INTERFACE_NAME | lower }}" + + when: prepare_os10_role_tests_task | default(True) | bool diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_lldp_role/tasks/testcase/include_os10_role.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_lldp_role/tasks/testcase/include_os10_role.yaml new file mode 100644 index 00000000..395d2fe8 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_lldp_role/tasks/testcase/include_os10_role.yaml @@ -0,0 +1,20 @@ +- include_role: + name: "{{ os10_role_name }}" + +- debug: msg="Role completed {{ os10_role_name }}" + notify: "os10_role completed" + +- block: + - name: "Testing idempotency for {{ os10_role_name }}" + include_role: + name: "{{ os10_role_name }}" + - name: "idempotency result for {{ os10_role_name }}" + fail: + msg: "idempotency test failed for {{ os10_role_name }}" + when: output.changed + + when: > + ( test_idempotency is defined and test_idempotency and + idempotent_roles is defined and os10_role_name in idempotent_roles and + idempotent is defined and idempotent + ) diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_lldp_role/tasks/testcase/run_test_case.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_lldp_role/tasks/testcase/run_test_case.yaml new file mode 100644 index 00000000..c84b1033 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_lldp_role/tasks/testcase/run_test_case.yaml @@ -0,0 +1,62 @@ +- name: set test case + set_fact: + role_testcase: "{{ role_testcase_path | basename | splitext | first }}" + +- name: set test case output dir + set_fact: + testcase_outdir: "{{ output_dir }}/{{ role_name }}/{{ role_testcase_path }}" + + +- name: Prepare testcase output dir + file: + path: "{{ testcase_outdir }}" + state: directory + +- name: Source testcase variables + include_vars: "{{ item }}" + vars: + params: + files: + - "{{ role_testcase }}.yaml" + paths: + - "vars" + loop: "{{ query('first_found', params, errors='ignore') }}" + +- name: Include Testcase tasks + include: "{{ role_testcase_path }}" + +- name: Identifying steps + block: + - name: Identifying steps + find: + paths: "{{ role_path }}/templates/{{ role_testcase }}/steps" + patterns: "*.j2" + register: step_files + - set_fact: teststeps_files="{{ step_files.files | map(attribute='path') | map('basename') | list }}" + - set_fact: teststeps="{{ teststeps_files | map('splitext') | map('first') | reject('equalto', 'setup') | reject('equalto', 'teardown') | list | sort }}" + when: teststeps is not defined + +- name: Check if setup step exists + stat: path="{{ role_path }}/templates/{{ role_testcase }}/steps/setup.j2" + ignore_errors: true + register: setup_template + +- name: Setup Testcase + include: testcase/run_test_step.yaml role_teststep=setup idempotent=false + when: setup_template.stat.exists == true + +- name: Run Test Steps + block: + - name: Run Test Steps + include: testcase/run_test_step.yaml idempotent=false + with_items: "{{ teststeps }}" + loop_control: + loop_var: role_teststep + always: + - name: Check teardown + stat: path="{{ role_path }}/templates/{{ role_testcase }}/steps/teardown.j2" + ignore_errors: true + register: teardown_template + - name: Run teardown + include: testcase/run_test_step.yaml role_teststep=teardown idempotent=false + when: teardown_template.stat.exists == true diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_lldp_role/tasks/testcase/run_test_step.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_lldp_role/tasks/testcase/run_test_step.yaml new file mode 100644 index 00000000..624325e5 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_lldp_role/tasks/testcase/run_test_step.yaml @@ -0,0 +1,26 @@ +--- +- name: Running step {{ role_teststep }} + debug: msg="{{ role_teststep }}" + +- name: Set step vars file + set_fact: + teststep_var_template: "{{ role_testcase }}/steps/{{ role_teststep }}.j2" + teststep_vars_file: "{{ testcase_outdir }}/{{ role_teststep }}.yaml" + +- name: Preparing step variables + template: + src: "{{ teststep_var_template }}" + dest: "{{ teststep_vars_file }}" + +- name: Load step variables + include_vars: + file: "{{ teststep_vars_file }}" + +- name: Including roles for the step + include: testcase/include_os10_role.yaml os10_role_name="{{ step_role }}" + # include_role: + # name: "{{ step_role }}" + with_items: "{{ test_roles }}" + loop_control: + loop_var: step_role + when: test_roles is defined diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_lldp_role/tasks/tests.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_lldp_role/tasks/tests.yaml new file mode 100644 index 00000000..572c2538 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_lldp_role/tasks/tests.yaml @@ -0,0 +1,14 @@ +- name: collect all test cases + find: + paths: "{{ role_path }}/tests" + patterns: "{{ testcase }}.yaml" + register: test_cases + +- name: set test_items + set_fact: test_items="{{ test_cases.files | map(attribute='path') | list }}" + +- name: run test case + include: testcase/run_test_case.yaml + with_items: "{{ test_items }}" + loop_control: + loop_var: role_testcase_path diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_lldp_role/templates/lldp_basic/steps/01_lldp_configure.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_lldp_role/templates/lldp_basic/steps/01_lldp_configure.j2 new file mode 100644 index 00000000..aa806694 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_lldp_role/templates/lldp_basic/steps/01_lldp_configure.j2 @@ -0,0 +1,44 @@ +os10_lldp: + enable: true + multiplier: 3 + reinit: 2 + timer: 5 + advertise: + med: + fast_start_repeat_count: 4 + application: + - name: guest-voice + network_policy_id: 0 + vlan_id: 2 + vlan_type: tag + l2_priority: 3 + code_point_value: 4 + state: present + - name: voice + network_policy_id: 1 + vlan_id: 3 + vlan_type: untag + l2_priority: 3 + code_point_value: 4 + state: present + local_interface: + "{{ os10_interface_1 }}": + mode: rx + mode_state: present + advertise: + med: + enable: true + tlv: inventory + tlv_state: present + application: + - network_policy_id: 4 + state: present + tlv: + - name: basic-tlv + value: management-address port-description + state: present + - name: dcbxp-appln + value: iscsi + state: present + - name: dcbxp + state: present diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_lldp_role/templates/lldp_basic/steps/02_lldp_update.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_lldp_role/templates/lldp_basic/steps/02_lldp_update.j2 new file mode 100644 index 00000000..8b0272ab --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_lldp_role/templates/lldp_basic/steps/02_lldp_update.j2 @@ -0,0 +1,44 @@ +os10_lldp: + enable: true + multiplier: 10 + reinit: 10 + timer: 15 + advertise: + med: + fast_start_repeat_count: 10 + application: + - name: guest-voice + network_policy_id: 1 + vlan_id: 5 + vlan_type: untag + l2_priority: 7 + code_point_value: 20 + state: present + - name: voice + network_policy_id: 1 + vlan_id: 3 + vlan_type: untag + l2_priority: 3 + code_point_value: 4 + state: present + local_interface: + "{{ os10_interface_1 }}": + mode: transmit + mode_state: present + advertise: + med: + enable: true + tlv: network-policy + tlv_state: present + application: + - network_policy_id: 5 + state: present + tlv: + - name: basic-tlv + value: management-address port-description + state: present + - name: dcbxp-appln + value: iscsi + state: present + - name: dcbxp + state: present diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_lldp_role/templates/lldp_basic/steps/03_lldp_options_absent.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_lldp_role/templates/lldp_basic/steps/03_lldp_options_absent.j2 new file mode 100644 index 00000000..7ded6af6 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_lldp_role/templates/lldp_basic/steps/03_lldp_options_absent.j2 @@ -0,0 +1,44 @@ +os10_lldp: + enable: false + multiplier: 3 + reinit: 2 + timer: 5 + advertise: + med: + fast_start_repeat_count: 4 + application: + - name: guest-voice + network_policy_id: 0 + vlan_id: 2 + vlan_type: tag + l2_priority: 3 + code_point_value: 4 + state: present + - name: voice + network_policy_id: 1 + vlan_id: 3 + vlan_type: untag + l2_priority: 3 + code_point_value: 4 + state: absent + local_interface: + "{{ os10_interface_1 }}": + mode: rx + mode_state: present + advertise: + med: + enable: true + tlv: inventory + tlv_state: present + application: + - network_policy_id: 4 + state: absent + tlv: + - name: basic-tlv + value: management-address port-description + state: present + - name: dcbxp-appln + value: iscsi + state: present + - name: dcbxp + state: absent diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_lldp_role/templates/lldp_basic/steps/teardown.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_lldp_role/templates/lldp_basic/steps/teardown.j2 new file mode 100644 index 00000000..9f372d8a --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_lldp_role/templates/lldp_basic/steps/teardown.j2 @@ -0,0 +1,46 @@ +os10_lldp: + enable: true + multiplier: + reinit: + timer: + advertise: + med: + fast_start_repeat_count: + application: + - name: guest-voice + network_policy_id: 0 + vlan_id: 2 + vlan_type: tag + l2_priority: 3 + code_point_value: 4 + state: absent + - name: voice + network_policy_id: 1 + vlan_id: 3 + vlan_type: untag + l2_priority: 3 + code_point_value: 4 + state: absent + local_interface: + "{{ os10_interface_1 }}": + mode: rx + mode_state: present + advertise: + med: + enable: true + tlv: inventory + tlv_state: absent + application: + - network_policy_id: 4 + state: absent + - network_policy_id: 5 + state: absent + tlv: + - name: basic-tlv + value: management-address port-description + state: present + - name: dcbxp-appln + value: iscsi + state: present + - name: dcbxp + state: present diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_lldp_role/tests/lldp_basic.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_lldp_role/tests/lldp_basic.yaml new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_lldp_role/tests/lldp_basic.yaml diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_lldp_role/vars/main.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_lldp_role/vars/main.yaml new file mode 100644 index 00000000..031311ec --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_lldp_role/vars/main.yaml @@ -0,0 +1,2 @@ +test_roles: + - dellemc.os10.os10_lldp diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_logging_role/defaults/main.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_logging_role/defaults/main.yaml new file mode 100644 index 00000000..967b3f14 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_logging_role/defaults/main.yaml @@ -0,0 +1,3 @@ +--- +testcase: "*" +test_idempotency: true diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_logging_role/tasks/main.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_logging_role/tasks/main.yaml new file mode 100644 index 00000000..88be0f20 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_logging_role/tasks/main.yaml @@ -0,0 +1,3 @@ +--- +- { include: prepare_test_facts.yaml, tags: ['role']} +- { include: tests.yaml, tags: ['role']} diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_logging_role/tasks/prepare_test_facts.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_logging_role/tasks/prepare_test_facts.yaml new file mode 100644 index 00000000..a86b71f6 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_logging_role/tasks/prepare_test_facts.yaml @@ -0,0 +1,14 @@ +--- +- block: + - name: Collect interface list + import_role: + name: os10_template + tasks_from: show_ip_interface_brief.yaml + register: result + - name: Set interface list + set_fact: + os10_interface_1: "{{ ip_interface_facts[0].INTERFACE_NAME | lower }}" + os10_interface_2: "{{ ip_interface_facts[1].INTERFACE_NAME | lower }}" + os10_interface_3: "{{ ip_interface_facts[2].INTERFACE_NAME | lower }}" + + when: prepare_os10_role_tests_task | default(True) | bool diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_logging_role/tasks/testcase/include_os10_role.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_logging_role/tasks/testcase/include_os10_role.yaml new file mode 100644 index 00000000..395d2fe8 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_logging_role/tasks/testcase/include_os10_role.yaml @@ -0,0 +1,20 @@ +- include_role: + name: "{{ os10_role_name }}" + +- debug: msg="Role completed {{ os10_role_name }}" + notify: "os10_role completed" + +- block: + - name: "Testing idempotency for {{ os10_role_name }}" + include_role: + name: "{{ os10_role_name }}" + - name: "idempotency result for {{ os10_role_name }}" + fail: + msg: "idempotency test failed for {{ os10_role_name }}" + when: output.changed + + when: > + ( test_idempotency is defined and test_idempotency and + idempotent_roles is defined and os10_role_name in idempotent_roles and + idempotent is defined and idempotent + ) diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_logging_role/tasks/testcase/run_test_case.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_logging_role/tasks/testcase/run_test_case.yaml new file mode 100644 index 00000000..c84b1033 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_logging_role/tasks/testcase/run_test_case.yaml @@ -0,0 +1,62 @@ +- name: set test case + set_fact: + role_testcase: "{{ role_testcase_path | basename | splitext | first }}" + +- name: set test case output dir + set_fact: + testcase_outdir: "{{ output_dir }}/{{ role_name }}/{{ role_testcase_path }}" + + +- name: Prepare testcase output dir + file: + path: "{{ testcase_outdir }}" + state: directory + +- name: Source testcase variables + include_vars: "{{ item }}" + vars: + params: + files: + - "{{ role_testcase }}.yaml" + paths: + - "vars" + loop: "{{ query('first_found', params, errors='ignore') }}" + +- name: Include Testcase tasks + include: "{{ role_testcase_path }}" + +- name: Identifying steps + block: + - name: Identifying steps + find: + paths: "{{ role_path }}/templates/{{ role_testcase }}/steps" + patterns: "*.j2" + register: step_files + - set_fact: teststeps_files="{{ step_files.files | map(attribute='path') | map('basename') | list }}" + - set_fact: teststeps="{{ teststeps_files | map('splitext') | map('first') | reject('equalto', 'setup') | reject('equalto', 'teardown') | list | sort }}" + when: teststeps is not defined + +- name: Check if setup step exists + stat: path="{{ role_path }}/templates/{{ role_testcase }}/steps/setup.j2" + ignore_errors: true + register: setup_template + +- name: Setup Testcase + include: testcase/run_test_step.yaml role_teststep=setup idempotent=false + when: setup_template.stat.exists == true + +- name: Run Test Steps + block: + - name: Run Test Steps + include: testcase/run_test_step.yaml idempotent=false + with_items: "{{ teststeps }}" + loop_control: + loop_var: role_teststep + always: + - name: Check teardown + stat: path="{{ role_path }}/templates/{{ role_testcase }}/steps/teardown.j2" + ignore_errors: true + register: teardown_template + - name: Run teardown + include: testcase/run_test_step.yaml role_teststep=teardown idempotent=false + when: teardown_template.stat.exists == true diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_logging_role/tasks/testcase/run_test_step.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_logging_role/tasks/testcase/run_test_step.yaml new file mode 100644 index 00000000..624325e5 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_logging_role/tasks/testcase/run_test_step.yaml @@ -0,0 +1,26 @@ +--- +- name: Running step {{ role_teststep }} + debug: msg="{{ role_teststep }}" + +- name: Set step vars file + set_fact: + teststep_var_template: "{{ role_testcase }}/steps/{{ role_teststep }}.j2" + teststep_vars_file: "{{ testcase_outdir }}/{{ role_teststep }}.yaml" + +- name: Preparing step variables + template: + src: "{{ teststep_var_template }}" + dest: "{{ teststep_vars_file }}" + +- name: Load step variables + include_vars: + file: "{{ teststep_vars_file }}" + +- name: Including roles for the step + include: testcase/include_os10_role.yaml os10_role_name="{{ step_role }}" + # include_role: + # name: "{{ step_role }}" + with_items: "{{ test_roles }}" + loop_control: + loop_var: step_role + when: test_roles is defined diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_logging_role/tasks/tests.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_logging_role/tasks/tests.yaml new file mode 100644 index 00000000..572c2538 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_logging_role/tasks/tests.yaml @@ -0,0 +1,14 @@ +- name: collect all test cases + find: + paths: "{{ role_path }}/tests" + patterns: "{{ testcase }}.yaml" + register: test_cases + +- name: set test_items + set_fact: test_items="{{ test_cases.files | map(attribute='path') | list }}" + +- name: run test case + include: testcase/run_test_case.yaml + with_items: "{{ test_items }}" + loop_control: + loop_var: role_testcase_path diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_logging_role/templates/logging_basic/steps/01_logging_enable.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_logging_role/templates/logging_basic/steps/01_logging_enable.j2 new file mode 100644 index 00000000..75a47735 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_logging_role/templates/logging_basic/steps/01_logging_enable.j2 @@ -0,0 +1,6 @@ +idempotent: true +os10_logging: + console: + severity: log-err + log_file: + severity: log-err diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_logging_role/templates/logging_basic/steps/02_logging_update.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_logging_role/templates/logging_basic/steps/02_logging_update.j2 new file mode 100644 index 00000000..ea10cb8e --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_logging_role/templates/logging_basic/steps/02_logging_update.j2 @@ -0,0 +1,6 @@ +idempotent: true +os10_logging: + console: + severity: log-debug + log_file: + severity: log-debug diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_logging_role/templates/logging_basic/steps/03_logging_disable.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_logging_role/templates/logging_basic/steps/03_logging_disable.j2 new file mode 100644 index 00000000..f34f7ced --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_logging_role/templates/logging_basic/steps/03_logging_disable.j2 @@ -0,0 +1,8 @@ +idempotent: true +os10_logging: + console: + enable: false + severity: log-err + log_file: + enable: false + severity: log-err diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_logging_role/templates/logging_basic/steps/04_logging_server_add.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_logging_role/templates/logging_basic/steps/04_logging_server_add.j2 new file mode 100644 index 00000000..d714efd2 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_logging_role/templates/logging_basic/steps/04_logging_server_add.j2 @@ -0,0 +1,12 @@ +idempotent: false +os10_logging: + logging: + - ip: 1.1.1.1 + state: present + console: + enable: True + severity: log-err + log_file: + enable: True + severity: log-err + source_interface: "{{ os10_interface_1 }}" diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_logging_role/templates/logging_basic/steps/05_logging_server_del.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_logging_role/templates/logging_basic/steps/05_logging_server_del.j2 new file mode 100644 index 00000000..992bafac --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_logging_role/templates/logging_basic/steps/05_logging_server_del.j2 @@ -0,0 +1,12 @@ +idempotent: false +os10_logging: + logging: + - ip: 1.1.1.1 + state: absent + console: + enable: True + severity: log-err + log_file: + enable: True + severity: log-err + source_interface: "{{ os10_interface_1 }}" diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_logging_role/templates/logging_basic/steps/teardown.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_logging_role/templates/logging_basic/steps/teardown.j2 new file mode 100644 index 00000000..d8d31880 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_logging_role/templates/logging_basic/steps/teardown.j2 @@ -0,0 +1,11 @@ +os10_logging: + logging: + - ip: 1.1.1.1 + state: absent + console: + enable: True + severity: log-notice + log_file: + enable: True + severity: log-notice + source_interface: diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_logging_role/tests/logging_basic.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_logging_role/tests/logging_basic.yaml new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_logging_role/tests/logging_basic.yaml diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_logging_role/vars/main.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_logging_role/vars/main.yaml new file mode 100644 index 00000000..55afbe1d --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_logging_role/vars/main.yaml @@ -0,0 +1,5 @@ +test_roles: + - dellemc.os10.os10_logging + +idempotent_roles: + - dellemc.os10.os10_logging diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_ntp_role/defaults/main.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_ntp_role/defaults/main.yaml new file mode 100644 index 00000000..5f709c5a --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_ntp_role/defaults/main.yaml @@ -0,0 +1,2 @@ +--- +testcase: "*" diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_ntp_role/tasks/main.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_ntp_role/tasks/main.yaml new file mode 100644 index 00000000..88be0f20 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_ntp_role/tasks/main.yaml @@ -0,0 +1,3 @@ +--- +- { include: prepare_test_facts.yaml, tags: ['role']} +- { include: tests.yaml, tags: ['role']} diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_ntp_role/tasks/prepare_test_facts.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_ntp_role/tasks/prepare_test_facts.yaml new file mode 100644 index 00000000..a86b71f6 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_ntp_role/tasks/prepare_test_facts.yaml @@ -0,0 +1,14 @@ +--- +- block: + - name: Collect interface list + import_role: + name: os10_template + tasks_from: show_ip_interface_brief.yaml + register: result + - name: Set interface list + set_fact: + os10_interface_1: "{{ ip_interface_facts[0].INTERFACE_NAME | lower }}" + os10_interface_2: "{{ ip_interface_facts[1].INTERFACE_NAME | lower }}" + os10_interface_3: "{{ ip_interface_facts[2].INTERFACE_NAME | lower }}" + + when: prepare_os10_role_tests_task | default(True) | bool diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_ntp_role/tasks/testcase/include_os10_role.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_ntp_role/tasks/testcase/include_os10_role.yaml new file mode 100644 index 00000000..395d2fe8 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_ntp_role/tasks/testcase/include_os10_role.yaml @@ -0,0 +1,20 @@ +- include_role: + name: "{{ os10_role_name }}" + +- debug: msg="Role completed {{ os10_role_name }}" + notify: "os10_role completed" + +- block: + - name: "Testing idempotency for {{ os10_role_name }}" + include_role: + name: "{{ os10_role_name }}" + - name: "idempotency result for {{ os10_role_name }}" + fail: + msg: "idempotency test failed for {{ os10_role_name }}" + when: output.changed + + when: > + ( test_idempotency is defined and test_idempotency and + idempotent_roles is defined and os10_role_name in idempotent_roles and + idempotent is defined and idempotent + ) diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_ntp_role/tasks/testcase/run_test_case.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_ntp_role/tasks/testcase/run_test_case.yaml new file mode 100644 index 00000000..c84b1033 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_ntp_role/tasks/testcase/run_test_case.yaml @@ -0,0 +1,62 @@ +- name: set test case + set_fact: + role_testcase: "{{ role_testcase_path | basename | splitext | first }}" + +- name: set test case output dir + set_fact: + testcase_outdir: "{{ output_dir }}/{{ role_name }}/{{ role_testcase_path }}" + + +- name: Prepare testcase output dir + file: + path: "{{ testcase_outdir }}" + state: directory + +- name: Source testcase variables + include_vars: "{{ item }}" + vars: + params: + files: + - "{{ role_testcase }}.yaml" + paths: + - "vars" + loop: "{{ query('first_found', params, errors='ignore') }}" + +- name: Include Testcase tasks + include: "{{ role_testcase_path }}" + +- name: Identifying steps + block: + - name: Identifying steps + find: + paths: "{{ role_path }}/templates/{{ role_testcase }}/steps" + patterns: "*.j2" + register: step_files + - set_fact: teststeps_files="{{ step_files.files | map(attribute='path') | map('basename') | list }}" + - set_fact: teststeps="{{ teststeps_files | map('splitext') | map('first') | reject('equalto', 'setup') | reject('equalto', 'teardown') | list | sort }}" + when: teststeps is not defined + +- name: Check if setup step exists + stat: path="{{ role_path }}/templates/{{ role_testcase }}/steps/setup.j2" + ignore_errors: true + register: setup_template + +- name: Setup Testcase + include: testcase/run_test_step.yaml role_teststep=setup idempotent=false + when: setup_template.stat.exists == true + +- name: Run Test Steps + block: + - name: Run Test Steps + include: testcase/run_test_step.yaml idempotent=false + with_items: "{{ teststeps }}" + loop_control: + loop_var: role_teststep + always: + - name: Check teardown + stat: path="{{ role_path }}/templates/{{ role_testcase }}/steps/teardown.j2" + ignore_errors: true + register: teardown_template + - name: Run teardown + include: testcase/run_test_step.yaml role_teststep=teardown idempotent=false + when: teardown_template.stat.exists == true diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_ntp_role/tasks/testcase/run_test_step.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_ntp_role/tasks/testcase/run_test_step.yaml new file mode 100644 index 00000000..624325e5 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_ntp_role/tasks/testcase/run_test_step.yaml @@ -0,0 +1,26 @@ +--- +- name: Running step {{ role_teststep }} + debug: msg="{{ role_teststep }}" + +- name: Set step vars file + set_fact: + teststep_var_template: "{{ role_testcase }}/steps/{{ role_teststep }}.j2" + teststep_vars_file: "{{ testcase_outdir }}/{{ role_teststep }}.yaml" + +- name: Preparing step variables + template: + src: "{{ teststep_var_template }}" + dest: "{{ teststep_vars_file }}" + +- name: Load step variables + include_vars: + file: "{{ teststep_vars_file }}" + +- name: Including roles for the step + include: testcase/include_os10_role.yaml os10_role_name="{{ step_role }}" + # include_role: + # name: "{{ step_role }}" + with_items: "{{ test_roles }}" + loop_control: + loop_var: step_role + when: test_roles is defined diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_ntp_role/tasks/tests.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_ntp_role/tasks/tests.yaml new file mode 100644 index 00000000..572c2538 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_ntp_role/tasks/tests.yaml @@ -0,0 +1,14 @@ +- name: collect all test cases + find: + paths: "{{ role_path }}/tests" + patterns: "{{ testcase }}.yaml" + register: test_cases + +- name: set test_items + set_fact: test_items="{{ test_cases.files | map(attribute='path') | list }}" + +- name: run test case + include: testcase/run_test_case.yaml + with_items: "{{ test_items }}" + loop_control: + loop_var: role_testcase_path diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_ntp_role/templates/ntp_basic/steps/01_ntp_configure.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_ntp_role/templates/ntp_basic/steps/01_ntp_configure.j2 new file mode 100644 index 00000000..35d8889a --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_ntp_role/templates/ntp_basic/steps/01_ntp_configure.j2 @@ -0,0 +1,24 @@ +os10_ntp: + source: "{{ os10_interface_1 }}" + master: 5 + authenticate: true + authentication_key: + - key_num: 123 + key_string_type: 0 + key_string: test + state: present + trusted_key: + - key_num: 1323 + state: present + server: + - ip: 2.2.2.2 + key: 345 + prefer: true + state: present + intf: + "{{ os10_interface_1 }}": + disable: true + broadcast: true + vrf: + name: red + state: present diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_ntp_role/templates/ntp_basic/steps/02_ntp_update.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_ntp_role/templates/ntp_basic/steps/02_ntp_update.j2 new file mode 100644 index 00000000..f2b11184 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_ntp_role/templates/ntp_basic/steps/02_ntp_update.j2 @@ -0,0 +1,20 @@ +os10_ntp: + master: 4 + authenticate: false + authentication_key: + - key_num: 456 + key_string_type: 0 + key_string: ntptest + state: present + trusted_key: + - key_num: 4626 + state: present + server: + - ip: 2.2.2.2 + key: 567 + prefer: false + state: present + intf: + "{{ os10_interface_1 }}": + disable: false + broadcast: false diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_ntp_role/templates/ntp_basic/steps/03_ntp_suboptions_absent.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_ntp_role/templates/ntp_basic/steps/03_ntp_suboptions_absent.j2 new file mode 100644 index 00000000..56aff6af --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_ntp_role/templates/ntp_basic/steps/03_ntp_suboptions_absent.j2 @@ -0,0 +1,14 @@ +os10_ntp: + authentication_key: + - key_num: 456 + key_string_type: 0 + key_string: ntptest + state: absent + trusted_key: + - key_num: 4626 + state: absent + server: + - ip: 2.2.2.2 + key: 567 + prefer: false + state: absent diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_ntp_role/templates/ntp_basic/steps/04_ntp_suboptions_stateless.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_ntp_role/templates/ntp_basic/steps/04_ntp_suboptions_stateless.j2 new file mode 100644 index 00000000..61c78472 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_ntp_role/templates/ntp_basic/steps/04_ntp_suboptions_stateless.j2 @@ -0,0 +1,11 @@ +os10_ntp: + authentication_key: + - key_num: 456 + key_string_type: 0 + key_string: ntptest + trusted_key: + - key_num: 4626 + server: + - ip: 2.2.2.2 + key: 567 + prefer: false diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_ntp_role/templates/ntp_basic/steps/05_ntp_empty_string.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_ntp_role/templates/ntp_basic/steps/05_ntp_empty_string.j2 new file mode 100644 index 00000000..a2326521 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_ntp_role/templates/ntp_basic/steps/05_ntp_empty_string.j2 @@ -0,0 +1,16 @@ +os10_ntp: + authenticate: '' + authentication_key: + - key_num: 456 + key_string_type: 0 + key_string: ntptest + trusted_key: + - key_num: 4626 + server: + - ip: 2.2.2.2 + key: 567 + prefer: '' + intf: + "{{ os10_interface_1 }}": + disable: '' + broadcast: '' diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_ntp_role/templates/ntp_basic/steps/setup.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_ntp_role/templates/ntp_basic/steps/setup.j2 new file mode 100644 index 00000000..7ea26a0a --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_ntp_role/templates/ntp_basic/steps/setup.j2 @@ -0,0 +1,4 @@ +os10_vrf: + vrfdetails: + - vrf_name: red + state: present diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_ntp_role/templates/ntp_basic/steps/teardown.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_ntp_role/templates/ntp_basic/steps/teardown.j2 new file mode 100644 index 00000000..a916200c --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_ntp_role/templates/ntp_basic/steps/teardown.j2 @@ -0,0 +1,32 @@ +test_roles: + - dellemc.os10.os10_ntp + - dellemc.os10.os10_vrf +os10_ntp: + source: + master: + authenticate: + authentication_key: + - key_num: 123 + key_string_type: 0 + key_string: test + state: absent + trusted_key: + - key_num: 1323 + state: absent + server: + - ip: 2.2.2.2 + key: 345 + prefer: true + state: absent + intf: + "{{ os10_interface_1 }}": + disable: false + broadcast: false + vrf: + name: red + state: absent + +os10_vrf: + vrfdetails: + - vrf_name: red + state: absent diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_ntp_role/tests/ntp_basic.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_ntp_role/tests/ntp_basic.yaml new file mode 100644 index 00000000..ed97d539 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_ntp_role/tests/ntp_basic.yaml @@ -0,0 +1 @@ +--- diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_ntp_role/vars/main.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_ntp_role/vars/main.yaml new file mode 100644 index 00000000..b42240dd --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_ntp_role/vars/main.yaml @@ -0,0 +1,3 @@ +test_roles: + - dellemc.os10.os10_vrf + - dellemc.os10.os10_ntp diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_prefix_list_role/defaults/main.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_prefix_list_role/defaults/main.yaml new file mode 100644 index 00000000..967b3f14 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_prefix_list_role/defaults/main.yaml @@ -0,0 +1,3 @@ +--- +testcase: "*" +test_idempotency: true diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_prefix_list_role/tasks/main.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_prefix_list_role/tasks/main.yaml new file mode 100644 index 00000000..88be0f20 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_prefix_list_role/tasks/main.yaml @@ -0,0 +1,3 @@ +--- +- { include: prepare_test_facts.yaml, tags: ['role']} +- { include: tests.yaml, tags: ['role']} diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_prefix_list_role/tasks/prepare_test_facts.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_prefix_list_role/tasks/prepare_test_facts.yaml new file mode 100644 index 00000000..a86b71f6 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_prefix_list_role/tasks/prepare_test_facts.yaml @@ -0,0 +1,14 @@ +--- +- block: + - name: Collect interface list + import_role: + name: os10_template + tasks_from: show_ip_interface_brief.yaml + register: result + - name: Set interface list + set_fact: + os10_interface_1: "{{ ip_interface_facts[0].INTERFACE_NAME | lower }}" + os10_interface_2: "{{ ip_interface_facts[1].INTERFACE_NAME | lower }}" + os10_interface_3: "{{ ip_interface_facts[2].INTERFACE_NAME | lower }}" + + when: prepare_os10_role_tests_task | default(True) | bool diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_prefix_list_role/tasks/testcase/include_os10_role.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_prefix_list_role/tasks/testcase/include_os10_role.yaml new file mode 100644 index 00000000..395d2fe8 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_prefix_list_role/tasks/testcase/include_os10_role.yaml @@ -0,0 +1,20 @@ +- include_role: + name: "{{ os10_role_name }}" + +- debug: msg="Role completed {{ os10_role_name }}" + notify: "os10_role completed" + +- block: + - name: "Testing idempotency for {{ os10_role_name }}" + include_role: + name: "{{ os10_role_name }}" + - name: "idempotency result for {{ os10_role_name }}" + fail: + msg: "idempotency test failed for {{ os10_role_name }}" + when: output.changed + + when: > + ( test_idempotency is defined and test_idempotency and + idempotent_roles is defined and os10_role_name in idempotent_roles and + idempotent is defined and idempotent + ) diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_prefix_list_role/tasks/testcase/run_test_case.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_prefix_list_role/tasks/testcase/run_test_case.yaml new file mode 100644 index 00000000..c84b1033 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_prefix_list_role/tasks/testcase/run_test_case.yaml @@ -0,0 +1,62 @@ +- name: set test case + set_fact: + role_testcase: "{{ role_testcase_path | basename | splitext | first }}" + +- name: set test case output dir + set_fact: + testcase_outdir: "{{ output_dir }}/{{ role_name }}/{{ role_testcase_path }}" + + +- name: Prepare testcase output dir + file: + path: "{{ testcase_outdir }}" + state: directory + +- name: Source testcase variables + include_vars: "{{ item }}" + vars: + params: + files: + - "{{ role_testcase }}.yaml" + paths: + - "vars" + loop: "{{ query('first_found', params, errors='ignore') }}" + +- name: Include Testcase tasks + include: "{{ role_testcase_path }}" + +- name: Identifying steps + block: + - name: Identifying steps + find: + paths: "{{ role_path }}/templates/{{ role_testcase }}/steps" + patterns: "*.j2" + register: step_files + - set_fact: teststeps_files="{{ step_files.files | map(attribute='path') | map('basename') | list }}" + - set_fact: teststeps="{{ teststeps_files | map('splitext') | map('first') | reject('equalto', 'setup') | reject('equalto', 'teardown') | list | sort }}" + when: teststeps is not defined + +- name: Check if setup step exists + stat: path="{{ role_path }}/templates/{{ role_testcase }}/steps/setup.j2" + ignore_errors: true + register: setup_template + +- name: Setup Testcase + include: testcase/run_test_step.yaml role_teststep=setup idempotent=false + when: setup_template.stat.exists == true + +- name: Run Test Steps + block: + - name: Run Test Steps + include: testcase/run_test_step.yaml idempotent=false + with_items: "{{ teststeps }}" + loop_control: + loop_var: role_teststep + always: + - name: Check teardown + stat: path="{{ role_path }}/templates/{{ role_testcase }}/steps/teardown.j2" + ignore_errors: true + register: teardown_template + - name: Run teardown + include: testcase/run_test_step.yaml role_teststep=teardown idempotent=false + when: teardown_template.stat.exists == true diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_prefix_list_role/tasks/testcase/run_test_step.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_prefix_list_role/tasks/testcase/run_test_step.yaml new file mode 100644 index 00000000..624325e5 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_prefix_list_role/tasks/testcase/run_test_step.yaml @@ -0,0 +1,26 @@ +--- +- name: Running step {{ role_teststep }} + debug: msg="{{ role_teststep }}" + +- name: Set step vars file + set_fact: + teststep_var_template: "{{ role_testcase }}/steps/{{ role_teststep }}.j2" + teststep_vars_file: "{{ testcase_outdir }}/{{ role_teststep }}.yaml" + +- name: Preparing step variables + template: + src: "{{ teststep_var_template }}" + dest: "{{ teststep_vars_file }}" + +- name: Load step variables + include_vars: + file: "{{ teststep_vars_file }}" + +- name: Including roles for the step + include: testcase/include_os10_role.yaml os10_role_name="{{ step_role }}" + # include_role: + # name: "{{ step_role }}" + with_items: "{{ test_roles }}" + loop_control: + loop_var: step_role + when: test_roles is defined diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_prefix_list_role/tasks/tests.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_prefix_list_role/tasks/tests.yaml new file mode 100644 index 00000000..572c2538 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_prefix_list_role/tasks/tests.yaml @@ -0,0 +1,14 @@ +- name: collect all test cases + find: + paths: "{{ role_path }}/tests" + patterns: "{{ testcase }}.yaml" + register: test_cases + +- name: set test_items + set_fact: test_items="{{ test_cases.files | map(attribute='path') | list }}" + +- name: run test case + include: testcase/run_test_case.yaml + with_items: "{{ test_items }}" + loop_control: + loop_var: role_testcase_path diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_prefix_list_role/templates/prefix_list_basic/steps/01_prefix_list_config.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_prefix_list_role/templates/prefix_list_basic/steps/01_prefix_list_config.j2 new file mode 100644 index 00000000..4e9d912b --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_prefix_list_role/templates/prefix_list_basic/steps/01_prefix_list_config.j2 @@ -0,0 +1,17 @@ +idempotent: true +os10_prefix_list: + - name: testpl + type: ipv4 + description: pl + entries: + - number: 19 + permit: true + net_num: 20.0.0.0 + mask: 16 + condition_list: + - condition: ge + prelen: 17 + - condition: le + prelen: 18 + state: present + state: present diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_prefix_list_role/templates/prefix_list_basic/steps/02_prefix_list_update.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_prefix_list_role/templates/prefix_list_basic/steps/02_prefix_list_update.j2 new file mode 100644 index 00000000..3481d358 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_prefix_list_role/templates/prefix_list_basic/steps/02_prefix_list_update.j2 @@ -0,0 +1,17 @@ +idempotent: true +os10_prefix_list: + - name: testpl + type: ipv4 + description: prefixlistdesc + entries: + - number: 18 + permit: false + net_num: 20.0.0.0 + mask: 24 + condition_list: + - condition: le + prelen: 14 + - condition: ge + prelen: 13 + state: present + state: present diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_prefix_list_role/templates/prefix_list_basic/steps/03_prefix_list_entry_absent.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_prefix_list_role/templates/prefix_list_basic/steps/03_prefix_list_entry_absent.j2 new file mode 100644 index 00000000..d14b8dda --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_prefix_list_role/templates/prefix_list_basic/steps/03_prefix_list_entry_absent.j2 @@ -0,0 +1,17 @@ +idempotent: false +os10_prefix_list: + - name: testpl + type: ipv4 + description: pl + entries: + - number: 19 + permit: true + net_num: 20.0.0.0 + mask: 16 + condition_list: + - condition: ge + prelen: 17 + - condition: le + prelen: 18 + state: absent + state: present diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_prefix_list_role/templates/prefix_list_basic/steps/04_prefix_list_absent.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_prefix_list_role/templates/prefix_list_basic/steps/04_prefix_list_absent.j2 new file mode 100644 index 00000000..b349bd90 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_prefix_list_role/templates/prefix_list_basic/steps/04_prefix_list_absent.j2 @@ -0,0 +1,16 @@ +os10_prefix_list: + - name: testpl + type: ipv4 + description: pl + entries: + - number: 19 + permit: true + net_num: 20.0.0.0 + mask: 16 + condition_list: + - condition: ge + prelen: 17 + - condition: le + prelen: 18 + state: absent + state: absent diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_prefix_list_role/templates/prefix_list_basic/steps/teardown.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_prefix_list_role/templates/prefix_list_basic/steps/teardown.j2 new file mode 100644 index 00000000..b349bd90 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_prefix_list_role/templates/prefix_list_basic/steps/teardown.j2 @@ -0,0 +1,16 @@ +os10_prefix_list: + - name: testpl + type: ipv4 + description: pl + entries: + - number: 19 + permit: true + net_num: 20.0.0.0 + mask: 16 + condition_list: + - condition: ge + prelen: 17 + - condition: le + prelen: 18 + state: absent + state: absent diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_prefix_list_role/tests/prefix_list_basic.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_prefix_list_role/tests/prefix_list_basic.yaml new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_prefix_list_role/tests/prefix_list_basic.yaml diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_prefix_list_role/vars/main.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_prefix_list_role/vars/main.yaml new file mode 100644 index 00000000..706b6a87 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_prefix_list_role/vars/main.yaml @@ -0,0 +1,5 @@ +test_roles: + - dellemc.os10.os10_prefix_list + +idempotent_roles: + - dellemc.os10.os10_prefix_list diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_qos_role/defaults/main.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_qos_role/defaults/main.yaml new file mode 100644 index 00000000..967b3f14 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_qos_role/defaults/main.yaml @@ -0,0 +1,3 @@ +--- +testcase: "*" +test_idempotency: true diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_qos_role/tasks/main.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_qos_role/tasks/main.yaml new file mode 100644 index 00000000..88be0f20 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_qos_role/tasks/main.yaml @@ -0,0 +1,3 @@ +--- +- { include: prepare_test_facts.yaml, tags: ['role']} +- { include: tests.yaml, tags: ['role']} diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_qos_role/tasks/prepare_test_facts.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_qos_role/tasks/prepare_test_facts.yaml new file mode 100644 index 00000000..a86b71f6 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_qos_role/tasks/prepare_test_facts.yaml @@ -0,0 +1,14 @@ +--- +- block: + - name: Collect interface list + import_role: + name: os10_template + tasks_from: show_ip_interface_brief.yaml + register: result + - name: Set interface list + set_fact: + os10_interface_1: "{{ ip_interface_facts[0].INTERFACE_NAME | lower }}" + os10_interface_2: "{{ ip_interface_facts[1].INTERFACE_NAME | lower }}" + os10_interface_3: "{{ ip_interface_facts[2].INTERFACE_NAME | lower }}" + + when: prepare_os10_role_tests_task | default(True) | bool diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_qos_role/tasks/testcase/include_os10_role.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_qos_role/tasks/testcase/include_os10_role.yaml new file mode 100644 index 00000000..395d2fe8 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_qos_role/tasks/testcase/include_os10_role.yaml @@ -0,0 +1,20 @@ +- include_role: + name: "{{ os10_role_name }}" + +- debug: msg="Role completed {{ os10_role_name }}" + notify: "os10_role completed" + +- block: + - name: "Testing idempotency for {{ os10_role_name }}" + include_role: + name: "{{ os10_role_name }}" + - name: "idempotency result for {{ os10_role_name }}" + fail: + msg: "idempotency test failed for {{ os10_role_name }}" + when: output.changed + + when: > + ( test_idempotency is defined and test_idempotency and + idempotent_roles is defined and os10_role_name in idempotent_roles and + idempotent is defined and idempotent + ) diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_qos_role/tasks/testcase/run_test_case.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_qos_role/tasks/testcase/run_test_case.yaml new file mode 100644 index 00000000..c84b1033 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_qos_role/tasks/testcase/run_test_case.yaml @@ -0,0 +1,62 @@ +- name: set test case + set_fact: + role_testcase: "{{ role_testcase_path | basename | splitext | first }}" + +- name: set test case output dir + set_fact: + testcase_outdir: "{{ output_dir }}/{{ role_name }}/{{ role_testcase_path }}" + + +- name: Prepare testcase output dir + file: + path: "{{ testcase_outdir }}" + state: directory + +- name: Source testcase variables + include_vars: "{{ item }}" + vars: + params: + files: + - "{{ role_testcase }}.yaml" + paths: + - "vars" + loop: "{{ query('first_found', params, errors='ignore') }}" + +- name: Include Testcase tasks + include: "{{ role_testcase_path }}" + +- name: Identifying steps + block: + - name: Identifying steps + find: + paths: "{{ role_path }}/templates/{{ role_testcase }}/steps" + patterns: "*.j2" + register: step_files + - set_fact: teststeps_files="{{ step_files.files | map(attribute='path') | map('basename') | list }}" + - set_fact: teststeps="{{ teststeps_files | map('splitext') | map('first') | reject('equalto', 'setup') | reject('equalto', 'teardown') | list | sort }}" + when: teststeps is not defined + +- name: Check if setup step exists + stat: path="{{ role_path }}/templates/{{ role_testcase }}/steps/setup.j2" + ignore_errors: true + register: setup_template + +- name: Setup Testcase + include: testcase/run_test_step.yaml role_teststep=setup idempotent=false + when: setup_template.stat.exists == true + +- name: Run Test Steps + block: + - name: Run Test Steps + include: testcase/run_test_step.yaml idempotent=false + with_items: "{{ teststeps }}" + loop_control: + loop_var: role_teststep + always: + - name: Check teardown + stat: path="{{ role_path }}/templates/{{ role_testcase }}/steps/teardown.j2" + ignore_errors: true + register: teardown_template + - name: Run teardown + include: testcase/run_test_step.yaml role_teststep=teardown idempotent=false + when: teardown_template.stat.exists == true diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_qos_role/tasks/testcase/run_test_step.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_qos_role/tasks/testcase/run_test_step.yaml new file mode 100644 index 00000000..624325e5 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_qos_role/tasks/testcase/run_test_step.yaml @@ -0,0 +1,26 @@ +--- +- name: Running step {{ role_teststep }} + debug: msg="{{ role_teststep }}" + +- name: Set step vars file + set_fact: + teststep_var_template: "{{ role_testcase }}/steps/{{ role_teststep }}.j2" + teststep_vars_file: "{{ testcase_outdir }}/{{ role_teststep }}.yaml" + +- name: Preparing step variables + template: + src: "{{ teststep_var_template }}" + dest: "{{ teststep_vars_file }}" + +- name: Load step variables + include_vars: + file: "{{ teststep_vars_file }}" + +- name: Including roles for the step + include: testcase/include_os10_role.yaml os10_role_name="{{ step_role }}" + # include_role: + # name: "{{ step_role }}" + with_items: "{{ test_roles }}" + loop_control: + loop_var: step_role + when: test_roles is defined diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_qos_role/tasks/tests.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_qos_role/tasks/tests.yaml new file mode 100644 index 00000000..572c2538 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_qos_role/tasks/tests.yaml @@ -0,0 +1,14 @@ +- name: collect all test cases + find: + paths: "{{ role_path }}/tests" + patterns: "{{ testcase }}.yaml" + register: test_cases + +- name: set test_items + set_fact: test_items="{{ test_cases.files | map(attribute='path') | list }}" + +- name: run test case + include: testcase/run_test_case.yaml + with_items: "{{ test_items }}" + loop_control: + loop_var: role_testcase_path diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_qos_role/templates/qos_basic/steps/01_qos_config.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_qos_role/templates/qos_basic/steps/01_qos_config.j2 new file mode 100644 index 00000000..eec0f565 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_qos_role/templates/qos_basic/steps/01_qos_config.j2 @@ -0,0 +1,10 @@ +idempotent: true +os10_qos: + policy_map: + - name: testpolicy + type: qos + state: present + class_map: + - name: testclas + type: qos + state: present diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_qos_role/templates/qos_basic/steps/02_qos_update.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_qos_role/templates/qos_basic/steps/02_qos_update.j2 new file mode 100644 index 00000000..ba593683 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_qos_role/templates/qos_basic/steps/02_qos_update.j2 @@ -0,0 +1,10 @@ +idempotent: true +os10_qos: + policy_map: + - name: testpolicy + type: + state: present + class_map: + - name: testclas + type: + state: present diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_qos_role/templates/qos_basic/steps/03_qos_unconfig.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_qos_role/templates/qos_basic/steps/03_qos_unconfig.j2 new file mode 100644 index 00000000..3310a13e --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_qos_role/templates/qos_basic/steps/03_qos_unconfig.j2 @@ -0,0 +1,10 @@ +idempotent: false +os10_qos: + policy_map: + - name: testpolicy + type: + state: absent + class_map: + - name: testclas + type: + state: absent diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_qos_role/templates/qos_basic/steps/teardown.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_qos_role/templates/qos_basic/steps/teardown.j2 new file mode 100644 index 00000000..2e7960c6 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_qos_role/templates/qos_basic/steps/teardown.j2 @@ -0,0 +1,9 @@ +os10_qos: + policy_map: + - name: testpolicy + type: + state: absent + class_map: + - name: testclas + type: + state: absent diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_qos_role/tests/qos_basic.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_qos_role/tests/qos_basic.yaml new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_qos_role/tests/qos_basic.yaml diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_qos_role/vars/main.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_qos_role/vars/main.yaml new file mode 100644 index 00000000..9a1913c9 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_qos_role/vars/main.yaml @@ -0,0 +1,5 @@ +test_roles: + - dellemc.os10.os10_qos + +idempotent_roles: + - dellemc.os10.os10_qos diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_route_map_role/defaults/main.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_route_map_role/defaults/main.yaml new file mode 100644 index 00000000..967b3f14 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_route_map_role/defaults/main.yaml @@ -0,0 +1,3 @@ +--- +testcase: "*" +test_idempotency: true diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_route_map_role/tasks/main.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_route_map_role/tasks/main.yaml new file mode 100644 index 00000000..88be0f20 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_route_map_role/tasks/main.yaml @@ -0,0 +1,3 @@ +--- +- { include: prepare_test_facts.yaml, tags: ['role']} +- { include: tests.yaml, tags: ['role']} diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_route_map_role/tasks/prepare_test_facts.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_route_map_role/tasks/prepare_test_facts.yaml new file mode 100644 index 00000000..a86b71f6 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_route_map_role/tasks/prepare_test_facts.yaml @@ -0,0 +1,14 @@ +--- +- block: + - name: Collect interface list + import_role: + name: os10_template + tasks_from: show_ip_interface_brief.yaml + register: result + - name: Set interface list + set_fact: + os10_interface_1: "{{ ip_interface_facts[0].INTERFACE_NAME | lower }}" + os10_interface_2: "{{ ip_interface_facts[1].INTERFACE_NAME | lower }}" + os10_interface_3: "{{ ip_interface_facts[2].INTERFACE_NAME | lower }}" + + when: prepare_os10_role_tests_task | default(True) | bool diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_route_map_role/tasks/testcase/include_os10_role.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_route_map_role/tasks/testcase/include_os10_role.yaml new file mode 100644 index 00000000..395d2fe8 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_route_map_role/tasks/testcase/include_os10_role.yaml @@ -0,0 +1,20 @@ +- include_role: + name: "{{ os10_role_name }}" + +- debug: msg="Role completed {{ os10_role_name }}" + notify: "os10_role completed" + +- block: + - name: "Testing idempotency for {{ os10_role_name }}" + include_role: + name: "{{ os10_role_name }}" + - name: "idempotency result for {{ os10_role_name }}" + fail: + msg: "idempotency test failed for {{ os10_role_name }}" + when: output.changed + + when: > + ( test_idempotency is defined and test_idempotency and + idempotent_roles is defined and os10_role_name in idempotent_roles and + idempotent is defined and idempotent + ) diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_route_map_role/tasks/testcase/run_test_case.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_route_map_role/tasks/testcase/run_test_case.yaml new file mode 100644 index 00000000..c84b1033 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_route_map_role/tasks/testcase/run_test_case.yaml @@ -0,0 +1,62 @@ +- name: set test case + set_fact: + role_testcase: "{{ role_testcase_path | basename | splitext | first }}" + +- name: set test case output dir + set_fact: + testcase_outdir: "{{ output_dir }}/{{ role_name }}/{{ role_testcase_path }}" + + +- name: Prepare testcase output dir + file: + path: "{{ testcase_outdir }}" + state: directory + +- name: Source testcase variables + include_vars: "{{ item }}" + vars: + params: + files: + - "{{ role_testcase }}.yaml" + paths: + - "vars" + loop: "{{ query('first_found', params, errors='ignore') }}" + +- name: Include Testcase tasks + include: "{{ role_testcase_path }}" + +- name: Identifying steps + block: + - name: Identifying steps + find: + paths: "{{ role_path }}/templates/{{ role_testcase }}/steps" + patterns: "*.j2" + register: step_files + - set_fact: teststeps_files="{{ step_files.files | map(attribute='path') | map('basename') | list }}" + - set_fact: teststeps="{{ teststeps_files | map('splitext') | map('first') | reject('equalto', 'setup') | reject('equalto', 'teardown') | list | sort }}" + when: teststeps is not defined + +- name: Check if setup step exists + stat: path="{{ role_path }}/templates/{{ role_testcase }}/steps/setup.j2" + ignore_errors: true + register: setup_template + +- name: Setup Testcase + include: testcase/run_test_step.yaml role_teststep=setup idempotent=false + when: setup_template.stat.exists == true + +- name: Run Test Steps + block: + - name: Run Test Steps + include: testcase/run_test_step.yaml idempotent=false + with_items: "{{ teststeps }}" + loop_control: + loop_var: role_teststep + always: + - name: Check teardown + stat: path="{{ role_path }}/templates/{{ role_testcase }}/steps/teardown.j2" + ignore_errors: true + register: teardown_template + - name: Run teardown + include: testcase/run_test_step.yaml role_teststep=teardown idempotent=false + when: teardown_template.stat.exists == true diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_route_map_role/tasks/testcase/run_test_step.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_route_map_role/tasks/testcase/run_test_step.yaml new file mode 100644 index 00000000..624325e5 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_route_map_role/tasks/testcase/run_test_step.yaml @@ -0,0 +1,26 @@ +--- +- name: Running step {{ role_teststep }} + debug: msg="{{ role_teststep }}" + +- name: Set step vars file + set_fact: + teststep_var_template: "{{ role_testcase }}/steps/{{ role_teststep }}.j2" + teststep_vars_file: "{{ testcase_outdir }}/{{ role_teststep }}.yaml" + +- name: Preparing step variables + template: + src: "{{ teststep_var_template }}" + dest: "{{ teststep_vars_file }}" + +- name: Load step variables + include_vars: + file: "{{ teststep_vars_file }}" + +- name: Including roles for the step + include: testcase/include_os10_role.yaml os10_role_name="{{ step_role }}" + # include_role: + # name: "{{ step_role }}" + with_items: "{{ test_roles }}" + loop_control: + loop_var: step_role + when: test_roles is defined diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_route_map_role/tasks/tests.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_route_map_role/tasks/tests.yaml new file mode 100644 index 00000000..572c2538 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_route_map_role/tasks/tests.yaml @@ -0,0 +1,14 @@ +- name: collect all test cases + find: + paths: "{{ role_path }}/tests" + patterns: "{{ testcase }}.yaml" + register: test_cases + +- name: set test_items + set_fact: test_items="{{ test_cases.files | map(attribute='path') | list }}" + +- name: run test case + include: testcase/run_test_case.yaml + with_items: "{{ test_items }}" + loop_control: + loop_var: role_testcase_path diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_route_map_role/templates/route_map_basic/steps/01_route_map_configure.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_route_map_role/templates/route_map_basic/steps/01_route_map_configure.j2 new file mode 100644 index 00000000..1c0adec0 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_route_map_role/templates/route_map_basic/steps/01_route_map_configure.j2 @@ -0,0 +1,48 @@ +idempotent: true +os10_route_map: + as_path: + - access_list: aa + permit: true + regex: www + state: present + community_list: + - type: standard + name: qqq + permit: false + community: internet + state: present + extcommunity_list: + - type: standard + name: qqq + permit: false + community: "rt 22:33" + state: present + route_map: + - name: test + permit: true + seq_num: 1 + continue: 20 + match: + - ip_type: ipv4 + access_group: testaccess + prefix_list: testprefix + set: + local_pref: 1200 + metric_type: type-1 + metric: + 30 + origin: igp + weight: 50 + next_hop: + - type: ip + address: 10.1.1.1 + track_id: 3 + state: present + community: internet + comm_list: + add: qq + delete: qqq + extcommunity: "22:33" + extcomm_list: + add: aa + delete: aa + state: present diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_route_map_role/templates/route_map_basic/steps/02_route_map_update.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_route_map_role/templates/route_map_basic/steps/02_route_map_update.j2 new file mode 100644 index 00000000..fb464397 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_route_map_role/templates/route_map_basic/steps/02_route_map_update.j2 @@ -0,0 +1,48 @@ +idempotent: true +os10_route_map: + as_path: + - access_list: aa + permit: false + regex: abc + state: present + community_list: + - type: standard + name: qqq + permit: false + regex: internet + state: present + extcommunity_list: + - type: standard + name: qqq + permit: false + community: "rt 22:35" + state: present + route_map: + - name: test + permit: false + seq_num: 5 + continue: 20 + match: + - ip_type: ipv4 + access_group: testaccess + prefix_list: testprefix + set: + local_pref: 1500 + metric_type: type-1 + metric: "- 20" + origin: egp + weight: 60 + next_hop: + - type: ip + address: 10.1.1.1 + track_id: 3 + state: present + community: no-export + comm_list: + add: commstd + delete: commex + extcommunity: "25:37" + extcomm_list: + add: commstd + delete: commex + state: present diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_route_map_role/templates/route_map_basic/steps/03_route_map_options_unconfig.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_route_map_role/templates/route_map_basic/steps/03_route_map_options_unconfig.j2 new file mode 100644 index 00000000..a10c5d0a --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_route_map_role/templates/route_map_basic/steps/03_route_map_options_unconfig.j2 @@ -0,0 +1,48 @@ +idempotent: false +os10_route_map: + as_path: + - access_list: aa + permit: + regex: www + state: present + community_list: + - type: standard + name: qqq + permit: + community: internet + state: present + extcommunity_list: + - type: standard + name: qqq + permit: + community: "rt 22:33" + state: present + route_map: + - name: test + permit: + seq_num: + continue: + match: + - ip_type: ipv4 + access_group: testaccess + prefix_list: testprefix + set: + local_pref: + metric_type: + metric: + origin: + weight: + next_hop: + - type: ip + address: 10.1.1.1 + track_id: 3 + state: present + community: + comm_list: + add: + delete: + extcommunity: + extcomm_list: + add: + delete: + state: present diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_route_map_role/templates/route_map_basic/steps/04_route_map_unconfig.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_route_map_role/templates/route_map_basic/steps/04_route_map_unconfig.j2 new file mode 100644 index 00000000..181d8823 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_route_map_role/templates/route_map_basic/steps/04_route_map_unconfig.j2 @@ -0,0 +1,47 @@ +os10_route_map: + as_path: + - access_list: aa + permit: true + regex: www + state: absent + community_list: + - type: standard + name: qqq + permit: false + community: internet + state: absent + extcommunity_list: + - type: standard + name: qqq + permit: false + community: "rt 22:33" + state: absent + route_map: + - name: test + permit: true + seq_num: 1 + continue: 20 + match: + - ip_type: ipv4 + access_group: testaccess + prefix_list: testprefix + set: + local_pref: 1200 + metric_type: type-1 + metric: + 30 + origin: igp + weight: 50 + next_hop: + - type: ip + address: 10.1.1.1 + track_id: 3 + state: absent + community: internet + comm_list: + add: qq + delete: qqq + extcommunity: "22:33" + extcomm_list: + add: aa + delete: aa + state: absent diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_route_map_role/templates/route_map_basic/steps/teardown.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_route_map_role/templates/route_map_basic/steps/teardown.j2 new file mode 100644 index 00000000..e7380b3d --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_route_map_role/templates/route_map_basic/steps/teardown.j2 @@ -0,0 +1,47 @@ +os10_route_map: + as_path: + - access_list: aa + permit: true + regex: www + state: absent + community_list: + - type: standard + name: qqq + permit: false + community: internet + state: absent + extcommunity_list: + - type: standard + name: qqq + permit: false + community: "rt 22:33" + state: absent + route_map: + - name: test + permit: true + seq_num: 1 + continue: 20 + match: + - ip_type: ipv4 + access_group: testaccess + prefix_list: testprefix + set: + local_pref: 1200 + metric_type: internal + metric: + 30 + origin: igp + weight: 50 + next_hop: + - type: ip + address: 10.1.1.1 + track_id: 3 + state: absent + community: internet + comm_list: + add: qq + delete: qqq + extcommunity: "22:33" + extcomm_list: + add: aa + delete: aa + state: absent diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_route_map_role/tests/route_map_basic.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_route_map_role/tests/route_map_basic.yaml new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_route_map_role/tests/route_map_basic.yaml diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_route_map_role/vars/main.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_route_map_role/vars/main.yaml new file mode 100644 index 00000000..85313472 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_route_map_role/vars/main.yaml @@ -0,0 +1,5 @@ +test_roles: + - dellemc.os10.os10_route_map + +idempotent_roles: + - dellemc.os10.os10_route_map diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_snmp_role/defaults/main.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_snmp_role/defaults/main.yaml new file mode 100644 index 00000000..5f709c5a --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_snmp_role/defaults/main.yaml @@ -0,0 +1,2 @@ +--- +testcase: "*" diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_snmp_role/tasks/main.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_snmp_role/tasks/main.yaml new file mode 100644 index 00000000..88be0f20 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_snmp_role/tasks/main.yaml @@ -0,0 +1,3 @@ +--- +- { include: prepare_test_facts.yaml, tags: ['role']} +- { include: tests.yaml, tags: ['role']} diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_snmp_role/tasks/prepare_test_facts.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_snmp_role/tasks/prepare_test_facts.yaml new file mode 100644 index 00000000..a86b71f6 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_snmp_role/tasks/prepare_test_facts.yaml @@ -0,0 +1,14 @@ +--- +- block: + - name: Collect interface list + import_role: + name: os10_template + tasks_from: show_ip_interface_brief.yaml + register: result + - name: Set interface list + set_fact: + os10_interface_1: "{{ ip_interface_facts[0].INTERFACE_NAME | lower }}" + os10_interface_2: "{{ ip_interface_facts[1].INTERFACE_NAME | lower }}" + os10_interface_3: "{{ ip_interface_facts[2].INTERFACE_NAME | lower }}" + + when: prepare_os10_role_tests_task | default(True) | bool diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_snmp_role/tasks/testcase/include_os10_role.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_snmp_role/tasks/testcase/include_os10_role.yaml new file mode 100644 index 00000000..395d2fe8 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_snmp_role/tasks/testcase/include_os10_role.yaml @@ -0,0 +1,20 @@ +- include_role: + name: "{{ os10_role_name }}" + +- debug: msg="Role completed {{ os10_role_name }}" + notify: "os10_role completed" + +- block: + - name: "Testing idempotency for {{ os10_role_name }}" + include_role: + name: "{{ os10_role_name }}" + - name: "idempotency result for {{ os10_role_name }}" + fail: + msg: "idempotency test failed for {{ os10_role_name }}" + when: output.changed + + when: > + ( test_idempotency is defined and test_idempotency and + idempotent_roles is defined and os10_role_name in idempotent_roles and + idempotent is defined and idempotent + ) diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_snmp_role/tasks/testcase/run_test_case.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_snmp_role/tasks/testcase/run_test_case.yaml new file mode 100644 index 00000000..c84b1033 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_snmp_role/tasks/testcase/run_test_case.yaml @@ -0,0 +1,62 @@ +- name: set test case + set_fact: + role_testcase: "{{ role_testcase_path | basename | splitext | first }}" + +- name: set test case output dir + set_fact: + testcase_outdir: "{{ output_dir }}/{{ role_name }}/{{ role_testcase_path }}" + + +- name: Prepare testcase output dir + file: + path: "{{ testcase_outdir }}" + state: directory + +- name: Source testcase variables + include_vars: "{{ item }}" + vars: + params: + files: + - "{{ role_testcase }}.yaml" + paths: + - "vars" + loop: "{{ query('first_found', params, errors='ignore') }}" + +- name: Include Testcase tasks + include: "{{ role_testcase_path }}" + +- name: Identifying steps + block: + - name: Identifying steps + find: + paths: "{{ role_path }}/templates/{{ role_testcase }}/steps" + patterns: "*.j2" + register: step_files + - set_fact: teststeps_files="{{ step_files.files | map(attribute='path') | map('basename') | list }}" + - set_fact: teststeps="{{ teststeps_files | map('splitext') | map('first') | reject('equalto', 'setup') | reject('equalto', 'teardown') | list | sort }}" + when: teststeps is not defined + +- name: Check if setup step exists + stat: path="{{ role_path }}/templates/{{ role_testcase }}/steps/setup.j2" + ignore_errors: true + register: setup_template + +- name: Setup Testcase + include: testcase/run_test_step.yaml role_teststep=setup idempotent=false + when: setup_template.stat.exists == true + +- name: Run Test Steps + block: + - name: Run Test Steps + include: testcase/run_test_step.yaml idempotent=false + with_items: "{{ teststeps }}" + loop_control: + loop_var: role_teststep + always: + - name: Check teardown + stat: path="{{ role_path }}/templates/{{ role_testcase }}/steps/teardown.j2" + ignore_errors: true + register: teardown_template + - name: Run teardown + include: testcase/run_test_step.yaml role_teststep=teardown idempotent=false + when: teardown_template.stat.exists == true diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_snmp_role/tasks/testcase/run_test_step.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_snmp_role/tasks/testcase/run_test_step.yaml new file mode 100644 index 00000000..624325e5 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_snmp_role/tasks/testcase/run_test_step.yaml @@ -0,0 +1,26 @@ +--- +- name: Running step {{ role_teststep }} + debug: msg="{{ role_teststep }}" + +- name: Set step vars file + set_fact: + teststep_var_template: "{{ role_testcase }}/steps/{{ role_teststep }}.j2" + teststep_vars_file: "{{ testcase_outdir }}/{{ role_teststep }}.yaml" + +- name: Preparing step variables + template: + src: "{{ teststep_var_template }}" + dest: "{{ teststep_vars_file }}" + +- name: Load step variables + include_vars: + file: "{{ teststep_vars_file }}" + +- name: Including roles for the step + include: testcase/include_os10_role.yaml os10_role_name="{{ step_role }}" + # include_role: + # name: "{{ step_role }}" + with_items: "{{ test_roles }}" + loop_control: + loop_var: step_role + when: test_roles is defined diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_snmp_role/tasks/tests.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_snmp_role/tasks/tests.yaml new file mode 100644 index 00000000..572c2538 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_snmp_role/tasks/tests.yaml @@ -0,0 +1,14 @@ +- name: collect all test cases + find: + paths: "{{ role_path }}/tests" + patterns: "{{ testcase }}.yaml" + register: test_cases + +- name: set test_items + set_fact: test_items="{{ test_cases.files | map(attribute='path') | list }}" + +- name: run test case + include: testcase/run_test_case.yaml + with_items: "{{ test_items }}" + loop_control: + loop_var: role_testcase_path diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_snmp_role/templates/snmp_basic/steps/01_snmp_configure.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_snmp_role/templates/snmp_basic/steps/01_snmp_configure.j2 new file mode 100644 index 00000000..bbc97642 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_snmp_role/templates/snmp_basic/steps/01_snmp_configure.j2 @@ -0,0 +1,135 @@ +test_roles: + - dellemc.os10.os10_snmp +os10_snmp: + snmp_source_interface: mgmt 1/1/1 + snmp_location: Chennai + snmp_community: + - name: public + access_mode: ro + access_list: + name: test_acl + state: present + - name: test + access_mode: ro + access_list: + name: test_acl + state: present + state: present + snmp_traps: + - name: all + state: present + snmp_engine_id: 123456789 + snmp_remote_engine_id: + - host: 1.1.1.1 + engine_id: '0xab' + - host: 1.1.1.1 + engine_id: '0xcd' + udpport: 200 + - host: 2.1.1.1 + engine_id: '0xef' + udpport: 200 + snmp_vrf: red + snmp_group: + - name: group_1 + version: 1 + write_view: + name: view_2 + - name: group_2 + version: 2c + state: present + access_list: + name: test_acl + read_view: + name: view_1 + write_view: + name: view_2 + notify_view: + name: view_3 + - name: group_3 + version: 3 + security_level: auth + read_view: + name: view_1 + write_view: + name: view_2 + state: present + - name: group_4 + version: 3 + security_level: priv + notify_view: + name: view_1 + state: present + snmp_host: + - ip: 1.1.1.1 + communitystring: c1 + version: "2c" + udpport: 4 + state: present + - ip: 2.2.2.2 + version: 1 + communitystring: c3 + state: present + - ip: 2.1.1.1 + version: 1 + communitystring: c3 + trap_categories: + dom: true + entity: true + snmp: true + state: present + - ip: 3.1.1.1 + version: 3 + security_level: priv + security_name: test + notification_type: informs + udpport: 200 + trap_categories: + dom: true + entity: true + envmon: true + lldp: true + state: present + snmp_view: + - name: view_1 + oid_subtree: 2 + include: true + state: present + snmp_user: + - name: user_1 + group_name: group_1 + version: 3 + authentication: + localized: false + algorithm: md5 + password: 9fc53d9d908118b2804fe80e3ba8763d + encryption: + algorithm: aes + password: d0452401a8c3ce42804fe80e3ba8763d + state: present + - name: user_2 + group_name: group_1 + version: 3 + authentication: + localized: true + algorithm: md5 + password: '0x9fc53d9d908118b2804fe80e3ba8763d' + encryption: + algorithm: aes + password: '0xd0452401a8c3ce42804fe80e3ba8763d' + state: present + - name: user_3 + group_name: group_1 + version: 2c + state: present + - name: user_4 + group_name: group_1 + version: 3 + state: present + - name: user_5 + group_name: group_2 + version: 2c + remote: + ip: 1.1.1.1 + udpport: 200 + access_list: test_acl + state: present diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_snmp_role/templates/snmp_basic/steps/02_snmp_update.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_snmp_role/templates/snmp_basic/steps/02_snmp_update.j2 new file mode 100644 index 00000000..8c43046d --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_snmp_role/templates/snmp_basic/steps/02_snmp_update.j2 @@ -0,0 +1,144 @@ +os10_snmp: + snmp_source_interface: mgmt 1/1/1 + snmp_location: Chennai + snmp_community: + - name: public + access_mode: ro + access_list: + name: test_acl + state: absent + - name: test + access_mode: ro + access_list: + name: test_acl + state: present + state: present + snmp_traps: + - name: all + state: present + snmp_engine_id: 123456789 + snmp_remote_engine_id: + - host: 1.1.1.1 + engine_id: '0xab' + - host: 1.1.1.1 + engine_id: '0xcd' + udpport: 200 + - host: 2.1.1.1 + engine_id: '0xef' + udpport: 200 + snmp_vrf: red + snmp_group: + - name: group_1 + version: 1 + access_list: + name: test_acl + read_view: + name: view_1 + write_view: + name: view_2 + - name: group_2 + version: 2c + state: present + access_list: + name: test_acl + read_view: + name: view_1 + write_view: + name: view_2 + notify_view: + name: view_3 + state: absent + - name: group_3 + version: 3 + security_level: auth + read_view: + name: view_1 + write_view: + name: view_2 + state: present + - name: group_4 + version: 3 + security_level: priv + notify_view: + name: view_1 + state: present + read_view: + name: view_1 + write_view: + name: view_2 + state: present + snmp_host: + - ip: 1.1.1.1 + communitystring: c1 + version: "2c" + udpport: 4 + state: present + - ip: 2.2.2.2 + version: 1 + communitystring: c3 + state: present + - ip: 2.1.1.1 + version: 1 + communitystring: c3 + trap_categories: + dom: true + entity: true + snmp: true + lldp: true + state: present + - ip: 3.1.1.1 + version: 3 + security_level: priv + security_name: test + notification_type: informs + udpport: 200 + trap_categories: + dom: true + entity: true + envmon: false + lldp: false + state: present + snmp_view: + - name: view_1 + oid_subtree: 2 + include: true + state: present + snmp_user: + - name: user_1 + group_name: group_1 + version: 3 + authentication: + localized: false + algorithm: md5 + password: 9fc53d9d908118b2804fe80e3ba8763d + encryption: + algorithm: aes + password: d0452401a8c3ce42804fe80e3ba8763d + state: present + - name: user_2 + group_name: group_1 + version: 3 + authentication: + localized: true + algorithm: md5 + password: '0x9fc53d9d908118b2804fe80e3ba8763d' + encryption: + algorithm: aes + password: '0xd0452401a8c3ce42804fe80e3ba8763d' + state: present + - name: user_3 + group_name: group_1 + version: 2c + state: present + - name: user_4 + group_name: group_1 + version: 3 + state: present + - name: user_5 + group_name: group_2 + version: 2c + remote: + ip: 1.1.1.1 + udpport: 200 + access_list: test_acl + state: present diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_snmp_role/templates/snmp_basic/steps/03_snmp_unconfig.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_snmp_role/templates/snmp_basic/steps/03_snmp_unconfig.j2 new file mode 100644 index 00000000..4b4a8683 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_snmp_role/templates/snmp_basic/steps/03_snmp_unconfig.j2 @@ -0,0 +1,147 @@ +os10_snmp: + snmp_source_interface: mgmt 1/1/1 + snmp_location: Chennai + snmp_community: + - name: public + access_mode: ro + access_list: + name: test_acl + state: absent + - name: test + access_mode: ro + access_list: + name: test_acl + state: present + state: absent + snmp_traps: + - name: all + state: absent + snmp_engine_id: + snmp_remote_engine_id: + - host: 1.1.1.1 + engine_id: '0xab' + - host: 1.1.1.1 + engine_id: '0xcd' + udpport: 200 + - host: 2.1.1.1 + engine_id: '0xef' + udpport: 200 + state: absent + snmp_vrf: red + snmp_group: + - name: group_1 + version: 1 + access_list: + name: test_acl + read_view: + name: view_1 + write_view: + name: view_2 + - name: group_2 + version: 2c + state: present + access_list: + name: test_acl + read_view: + name: view_1 + write_view: + name: view_2 + notify_view: + name: view_3 + state: absent + - name: group_3 + version: 3 + security_level: auth + read_view: + name: view_1 + write_view: + name: view_2 + state: present + - name: group_4 + version: 3 + security_level: priv + notify_view: + name: view_1 + state: absent + read_view: + name: view_1 + state: absent + write_view: + name: view_2 + state: absent + state: absent + snmp_host: + - ip: 1.1.1.1 + communitystring: c1 + version: "2c" + udpport: 4 + state: present + - ip: 2.2.2.2 + version: 1 + communitystring: c3 + state: present + - ip: 2.1.1.1 + version: 1 + communitystring: c3 + trap_categories: + dom: true + entity: true + snmp: true + lldp: true + state: present + - ip: 3.1.1.1 + version: 3 + security_level: priv + security_name: test + notification_type: informs + udpport: 200 + trap_categories: + dom: true + entity: true + envmon: false + lldp: false + state: absent + snmp_view: + - name: view_1 + oid_subtree: 2 + include: true + state: absent + snmp_user: + - name: user_1 + group_name: group_1 + version: 3 + authentication: + localized: false + algorithm: md5 + password: 9fc53d9d908118b2804fe80e3ba8763d + encryption: + algorithm: aes + password: d0452401a8c3ce42804fe80e3ba8763d + state: present + - name: user_2 + group_name: group_1 + version: 3 + authentication: + localized: true + algorithm: md5 + password: '0x9fc53d9d908118b2804fe80e3ba8763d' + encryption: + algorithm: aes + password: '0xd0452401a8c3ce42804fe80e3ba8763d' + state: present + - name: user_3 + group_name: group_1 + version: 2c + state: absent + - name: user_4 + group_name: group_1 + version: 3 + state: absent + - name: user_5 + group_name: group_2 + version: 2c + remote: + ip: 1.1.1.1 + udpport: 200 + access_list: test_acl + state: present diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_snmp_role/templates/snmp_basic/steps/setup.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_snmp_role/templates/snmp_basic/steps/setup.j2 new file mode 100644 index 00000000..7ea26a0a --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_snmp_role/templates/snmp_basic/steps/setup.j2 @@ -0,0 +1,4 @@ +os10_vrf: + vrfdetails: + - vrf_name: red + state: present diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_snmp_role/templates/snmp_basic/steps/teardown.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_snmp_role/templates/snmp_basic/steps/teardown.j2 new file mode 100644 index 00000000..1a3ba013 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_snmp_role/templates/snmp_basic/steps/teardown.j2 @@ -0,0 +1,147 @@ +test_roles: + - dellemc.os10.os10_snmp + - dellemc.os10.os10_vrf +os10_vrf: + vrfdetails: + - vrf_name: "red" + state: "absent" +os10_snmp: + snmp_source_interface: + snmp_location: + snmp_community: + - name: public + access_mode: ro + access_list: + name: test_acl + state: absent + - name: test + access_mode: ro + access_list: + name: test_acl + state: absent + state: absent + snmp_traps: + - name: all + state: absent + snmp_engine_id: + snmp_remote_engine_id: + - host: 1.1.1.1 + engine_id: '0xab' + state: absent + - host: 1.1.1.1 + engine_id: '0xcd' + udpport: 200 + state: absent + - host: 2.1.1.1 + engine_id: '0xef' + udpport: 200 + state: absent + snmp_group: + - name: group_1 + version: 1 + write_view: + name: view_2 + state: absent + - name: group_2 + version: 2c + state: present + access_list: + name: test_acl + read_view: + name: view_1 + write_view: + name: view_2 + notify_view: + name: view_3 + state: absent + - name: group_3 + version: 3 + security_level: auth + read_view: + name: view_1 + write_view: + name: view_2 + state: present + state: absent + - name: group_4 + version: 3 + security_level: priv + notify_view: + name: view_1 + state: present + state: absent + snmp_host: + - ip: 1.1.1.1 + communitystring: c1 + version: "2c" + udpport: 4 + state: absent + - ip: 2.2.2.2 + version: 1 + communitystring: c3 + state: absent + - ip: 2.1.1.1 + version: 1 + communitystring: c3 + trap_categories: + dom: true + entity: true + snmp: true + state: absent + - ip: 3.1.1.1 + version: 3 + security_level: priv + security_name: test + notification_type: informs + udpport: 200 + trap_categories: + dom: true + entity: true + envmon: true + lldp: true + state: absent + snmp_view: + - name: view_1 + oid_subtree: 2 + include: true + state: absent + snmp_vrf: + snmp_user: + - name: user_1 + group_name: group_1 + version: 3 + authentication: + localized: false + algorithm: md5 + password: 9fc53d9d908118b2804fe80e3ba8763d + encryption: + algorithm: aes + password: d0452401a8c3ce42804fe80e3ba8763d + state: absent + - name: user_2 + group_name: group_1 + version: 3 + authentication: + localized: true + algorithm: md5 + password: '0x9fc53d9d908118b2804fe80e3ba8763d' + encryption: + algorithm: aes + password: '0xd0452401a8c3ce42804fe80e3ba8763d' + state: absent + - name: user_3 + group_name: group_1 + version: 2c + state: absent + - name: user_4 + group_name: group_1 + version: 3 + state: absent + - name: user_5 + group_name: group_2 + version: 2c + remote: + ip: 1.1.1.1 + udpport: 200 + access_list: test_acl + state: absent diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_snmp_role/tests/snmp_basic.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_snmp_role/tests/snmp_basic.yaml new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_snmp_role/tests/snmp_basic.yaml diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_snmp_role/vars/main.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_snmp_role/vars/main.yaml new file mode 100644 index 00000000..0e3995a5 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_snmp_role/vars/main.yaml @@ -0,0 +1,3 @@ +test_roles: + - dellemc.os10.os10_vrf + - dellemc.os10.os10_snmp diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_system_role/defaults/main.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_system_role/defaults/main.yaml new file mode 100644 index 00000000..5f709c5a --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_system_role/defaults/main.yaml @@ -0,0 +1,2 @@ +--- +testcase: "*" diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_system_role/tasks/main.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_system_role/tasks/main.yaml new file mode 100644 index 00000000..88be0f20 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_system_role/tasks/main.yaml @@ -0,0 +1,3 @@ +--- +- { include: prepare_test_facts.yaml, tags: ['role']} +- { include: tests.yaml, tags: ['role']} diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_system_role/tasks/prepare_test_facts.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_system_role/tasks/prepare_test_facts.yaml new file mode 100644 index 00000000..a86b71f6 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_system_role/tasks/prepare_test_facts.yaml @@ -0,0 +1,14 @@ +--- +- block: + - name: Collect interface list + import_role: + name: os10_template + tasks_from: show_ip_interface_brief.yaml + register: result + - name: Set interface list + set_fact: + os10_interface_1: "{{ ip_interface_facts[0].INTERFACE_NAME | lower }}" + os10_interface_2: "{{ ip_interface_facts[1].INTERFACE_NAME | lower }}" + os10_interface_3: "{{ ip_interface_facts[2].INTERFACE_NAME | lower }}" + + when: prepare_os10_role_tests_task | default(True) | bool diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_system_role/tasks/testcase/include_os10_role.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_system_role/tasks/testcase/include_os10_role.yaml new file mode 100644 index 00000000..395d2fe8 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_system_role/tasks/testcase/include_os10_role.yaml @@ -0,0 +1,20 @@ +- include_role: + name: "{{ os10_role_name }}" + +- debug: msg="Role completed {{ os10_role_name }}" + notify: "os10_role completed" + +- block: + - name: "Testing idempotency for {{ os10_role_name }}" + include_role: + name: "{{ os10_role_name }}" + - name: "idempotency result for {{ os10_role_name }}" + fail: + msg: "idempotency test failed for {{ os10_role_name }}" + when: output.changed + + when: > + ( test_idempotency is defined and test_idempotency and + idempotent_roles is defined and os10_role_name in idempotent_roles and + idempotent is defined and idempotent + ) diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_system_role/tasks/testcase/run_test_case.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_system_role/tasks/testcase/run_test_case.yaml new file mode 100644 index 00000000..c84b1033 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_system_role/tasks/testcase/run_test_case.yaml @@ -0,0 +1,62 @@ +- name: set test case + set_fact: + role_testcase: "{{ role_testcase_path | basename | splitext | first }}" + +- name: set test case output dir + set_fact: + testcase_outdir: "{{ output_dir }}/{{ role_name }}/{{ role_testcase_path }}" + + +- name: Prepare testcase output dir + file: + path: "{{ testcase_outdir }}" + state: directory + +- name: Source testcase variables + include_vars: "{{ item }}" + vars: + params: + files: + - "{{ role_testcase }}.yaml" + paths: + - "vars" + loop: "{{ query('first_found', params, errors='ignore') }}" + +- name: Include Testcase tasks + include: "{{ role_testcase_path }}" + +- name: Identifying steps + block: + - name: Identifying steps + find: + paths: "{{ role_path }}/templates/{{ role_testcase }}/steps" + patterns: "*.j2" + register: step_files + - set_fact: teststeps_files="{{ step_files.files | map(attribute='path') | map('basename') | list }}" + - set_fact: teststeps="{{ teststeps_files | map('splitext') | map('first') | reject('equalto', 'setup') | reject('equalto', 'teardown') | list | sort }}" + when: teststeps is not defined + +- name: Check if setup step exists + stat: path="{{ role_path }}/templates/{{ role_testcase }}/steps/setup.j2" + ignore_errors: true + register: setup_template + +- name: Setup Testcase + include: testcase/run_test_step.yaml role_teststep=setup idempotent=false + when: setup_template.stat.exists == true + +- name: Run Test Steps + block: + - name: Run Test Steps + include: testcase/run_test_step.yaml idempotent=false + with_items: "{{ teststeps }}" + loop_control: + loop_var: role_teststep + always: + - name: Check teardown + stat: path="{{ role_path }}/templates/{{ role_testcase }}/steps/teardown.j2" + ignore_errors: true + register: teardown_template + - name: Run teardown + include: testcase/run_test_step.yaml role_teststep=teardown idempotent=false + when: teardown_template.stat.exists == true diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_system_role/tasks/testcase/run_test_step.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_system_role/tasks/testcase/run_test_step.yaml new file mode 100644 index 00000000..624325e5 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_system_role/tasks/testcase/run_test_step.yaml @@ -0,0 +1,26 @@ +--- +- name: Running step {{ role_teststep }} + debug: msg="{{ role_teststep }}" + +- name: Set step vars file + set_fact: + teststep_var_template: "{{ role_testcase }}/steps/{{ role_teststep }}.j2" + teststep_vars_file: "{{ testcase_outdir }}/{{ role_teststep }}.yaml" + +- name: Preparing step variables + template: + src: "{{ teststep_var_template }}" + dest: "{{ teststep_vars_file }}" + +- name: Load step variables + include_vars: + file: "{{ teststep_vars_file }}" + +- name: Including roles for the step + include: testcase/include_os10_role.yaml os10_role_name="{{ step_role }}" + # include_role: + # name: "{{ step_role }}" + with_items: "{{ test_roles }}" + loop_control: + loop_var: step_role + when: test_roles is defined diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_system_role/tasks/tests.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_system_role/tasks/tests.yaml new file mode 100644 index 00000000..572c2538 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_system_role/tasks/tests.yaml @@ -0,0 +1,14 @@ +- name: collect all test cases + find: + paths: "{{ role_path }}/tests" + patterns: "{{ testcase }}.yaml" + register: test_cases + +- name: set test_items + set_fact: test_items="{{ test_cases.files | map(attribute='path') | list }}" + +- name: run test case + include: testcase/run_test_case.yaml + with_items: "{{ test_items }}" + loop_control: + loop_var: role_testcase_path diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_system_role/templates/system_basic/steps/01_system_configure.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_system_role/templates/system_basic/steps/01_system_configure.j2 new file mode 100644 index 00000000..13549985 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_system_role/templates/system_basic/steps/01_system_configure.j2 @@ -0,0 +1,26 @@ +os10_system: + hostname: OS10 + hardware_forwarding: scaled-l3-hosts + hash_algo: + algo: + - name: lag + mode: crc + state: present + - name: ecmp + mode: xor + state: present + load_balance: + ingress_port: true + ip_selection: + - field: source-ip + state: present + ipv6_selection: + - field: source-ip + state: present + mac_selection: + - field: source-mac + state: present + tcp_udp_selection: + - field: l4-source-port + state: present + diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_system_role/templates/system_basic/steps/02_system_update.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_system_role/templates/system_basic/steps/02_system_update.j2 new file mode 100644 index 00000000..7263204b --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_system_role/templates/system_basic/steps/02_system_update.j2 @@ -0,0 +1,26 @@ +os10_system: + hostname: OS10 + hardware_forwarding: scaled-l2 + hash_algo: + algo: + - name: ecmp + mode: random + state: present + - name: lag + mode: xor + state: present + load_balance: + ingress_port: true + ip_selection: + - field: destination-ip + state: present + ipv6_selection: + - field: destination-ip + state: present + mac_selection: + - field: destination-mac + state: present + tcp_udp_selection: + - field: l4-destination-port + state: present + diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_system_role/templates/system_basic/steps/03_system_unconfig.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_system_role/templates/system_basic/steps/03_system_unconfig.j2 new file mode 100644 index 00000000..17c84d33 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_system_role/templates/system_basic/steps/03_system_unconfig.j2 @@ -0,0 +1,26 @@ +os10_system: + hostname: OS10 + hardware_forwarding: + hash_algo: + algo: + - name: ecmp + mode: random + state: absent + - name: lag + mode: xor + state: present + load_balance: + ingress_port: + ip_selection: + - field: destination-ip + state: absent + ipv6_selection: + - field: destination-ip + state: absent + mac_selection: + - field: destination-mac + state: absent + tcp_udp_selection: + - field: l4-destination-port + state: absent + diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_system_role/templates/system_basic/steps/teardown.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_system_role/templates/system_basic/steps/teardown.j2 new file mode 100644 index 00000000..480ce114 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_system_role/templates/system_basic/steps/teardown.j2 @@ -0,0 +1,25 @@ +os10_system: + hostname: + hardware_forwarding: + hash_algo: + algo: + - name: ecmp + mode: random + state: absent + - name: lag + mode: xor + state: absent + load_balance: + ingress_port: + ip_selection: + - field: destination-ip + state: absent + ipv6_selection: + - field: destination-ip + state: absent + mac_selection: + - field: destination-mac + state: absent + tcp_udp_selection: + - field: l4-destination-port + state: absent diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_system_role/tests/system_basic.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_system_role/tests/system_basic.yaml new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_system_role/tests/system_basic.yaml diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_system_role/vars/main.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_system_role/vars/main.yaml new file mode 100644 index 00000000..d847941e --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_system_role/vars/main.yaml @@ -0,0 +1,2 @@ +test_roles: + - dellemc.os10.os10_system diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_uplink_role/defaults/main.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_uplink_role/defaults/main.yaml new file mode 100644 index 00000000..5f709c5a --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_uplink_role/defaults/main.yaml @@ -0,0 +1,2 @@ +--- +testcase: "*" diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_uplink_role/tasks/main.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_uplink_role/tasks/main.yaml new file mode 100644 index 00000000..88be0f20 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_uplink_role/tasks/main.yaml @@ -0,0 +1,3 @@ +--- +- { include: prepare_test_facts.yaml, tags: ['role']} +- { include: tests.yaml, tags: ['role']} diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_uplink_role/tasks/prepare_test_facts.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_uplink_role/tasks/prepare_test_facts.yaml new file mode 100644 index 00000000..a86b71f6 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_uplink_role/tasks/prepare_test_facts.yaml @@ -0,0 +1,14 @@ +--- +- block: + - name: Collect interface list + import_role: + name: os10_template + tasks_from: show_ip_interface_brief.yaml + register: result + - name: Set interface list + set_fact: + os10_interface_1: "{{ ip_interface_facts[0].INTERFACE_NAME | lower }}" + os10_interface_2: "{{ ip_interface_facts[1].INTERFACE_NAME | lower }}" + os10_interface_3: "{{ ip_interface_facts[2].INTERFACE_NAME | lower }}" + + when: prepare_os10_role_tests_task | default(True) | bool diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_uplink_role/tasks/testcase/include_os10_role.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_uplink_role/tasks/testcase/include_os10_role.yaml new file mode 100644 index 00000000..395d2fe8 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_uplink_role/tasks/testcase/include_os10_role.yaml @@ -0,0 +1,20 @@ +- include_role: + name: "{{ os10_role_name }}" + +- debug: msg="Role completed {{ os10_role_name }}" + notify: "os10_role completed" + +- block: + - name: "Testing idempotency for {{ os10_role_name }}" + include_role: + name: "{{ os10_role_name }}" + - name: "idempotency result for {{ os10_role_name }}" + fail: + msg: "idempotency test failed for {{ os10_role_name }}" + when: output.changed + + when: > + ( test_idempotency is defined and test_idempotency and + idempotent_roles is defined and os10_role_name in idempotent_roles and + idempotent is defined and idempotent + ) diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_uplink_role/tasks/testcase/run_test_case.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_uplink_role/tasks/testcase/run_test_case.yaml new file mode 100644 index 00000000..c84b1033 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_uplink_role/tasks/testcase/run_test_case.yaml @@ -0,0 +1,62 @@ +- name: set test case + set_fact: + role_testcase: "{{ role_testcase_path | basename | splitext | first }}" + +- name: set test case output dir + set_fact: + testcase_outdir: "{{ output_dir }}/{{ role_name }}/{{ role_testcase_path }}" + + +- name: Prepare testcase output dir + file: + path: "{{ testcase_outdir }}" + state: directory + +- name: Source testcase variables + include_vars: "{{ item }}" + vars: + params: + files: + - "{{ role_testcase }}.yaml" + paths: + - "vars" + loop: "{{ query('first_found', params, errors='ignore') }}" + +- name: Include Testcase tasks + include: "{{ role_testcase_path }}" + +- name: Identifying steps + block: + - name: Identifying steps + find: + paths: "{{ role_path }}/templates/{{ role_testcase }}/steps" + patterns: "*.j2" + register: step_files + - set_fact: teststeps_files="{{ step_files.files | map(attribute='path') | map('basename') | list }}" + - set_fact: teststeps="{{ teststeps_files | map('splitext') | map('first') | reject('equalto', 'setup') | reject('equalto', 'teardown') | list | sort }}" + when: teststeps is not defined + +- name: Check if setup step exists + stat: path="{{ role_path }}/templates/{{ role_testcase }}/steps/setup.j2" + ignore_errors: true + register: setup_template + +- name: Setup Testcase + include: testcase/run_test_step.yaml role_teststep=setup idempotent=false + when: setup_template.stat.exists == true + +- name: Run Test Steps + block: + - name: Run Test Steps + include: testcase/run_test_step.yaml idempotent=false + with_items: "{{ teststeps }}" + loop_control: + loop_var: role_teststep + always: + - name: Check teardown + stat: path="{{ role_path }}/templates/{{ role_testcase }}/steps/teardown.j2" + ignore_errors: true + register: teardown_template + - name: Run teardown + include: testcase/run_test_step.yaml role_teststep=teardown idempotent=false + when: teardown_template.stat.exists == true diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_uplink_role/tasks/testcase/run_test_step.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_uplink_role/tasks/testcase/run_test_step.yaml new file mode 100644 index 00000000..624325e5 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_uplink_role/tasks/testcase/run_test_step.yaml @@ -0,0 +1,26 @@ +--- +- name: Running step {{ role_teststep }} + debug: msg="{{ role_teststep }}" + +- name: Set step vars file + set_fact: + teststep_var_template: "{{ role_testcase }}/steps/{{ role_teststep }}.j2" + teststep_vars_file: "{{ testcase_outdir }}/{{ role_teststep }}.yaml" + +- name: Preparing step variables + template: + src: "{{ teststep_var_template }}" + dest: "{{ teststep_vars_file }}" + +- name: Load step variables + include_vars: + file: "{{ teststep_vars_file }}" + +- name: Including roles for the step + include: testcase/include_os10_role.yaml os10_role_name="{{ step_role }}" + # include_role: + # name: "{{ step_role }}" + with_items: "{{ test_roles }}" + loop_control: + loop_var: step_role + when: test_roles is defined diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_uplink_role/tasks/tests.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_uplink_role/tasks/tests.yaml new file mode 100644 index 00000000..572c2538 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_uplink_role/tasks/tests.yaml @@ -0,0 +1,14 @@ +- name: collect all test cases + find: + paths: "{{ role_path }}/tests" + patterns: "{{ testcase }}.yaml" + register: test_cases + +- name: set test_items + set_fact: test_items="{{ test_cases.files | map(attribute='path') | list }}" + +- name: run test case + include: testcase/run_test_case.yaml + with_items: "{{ test_items }}" + loop_control: + loop_var: role_testcase_path diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_uplink_role/templates/uplink_basic/steps/01_uplink_configure.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_uplink_role/templates/uplink_basic/steps/01_uplink_configure.j2 new file mode 100644 index 00000000..fd7a9165 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_uplink_role/templates/uplink_basic/steps/01_uplink_configure.j2 @@ -0,0 +1,32 @@ +test_roles: + - dellemc.os10.os10_uplink +os10_uplink: + uplink_state_group: + - id: 1 + enable: True + uplink_type: + - type: "upstream" + intf: "port-channel1" + state: "present" + - type: "downstream" + intf: "ethernet{{ os10_interface_1.split()[1] }},{{ os10_interface_2.split()[1] }}" + state: "present" + downstream: + disable_links: all + auto_recover: false + defer_time: 50 + state: "present" + - id: 2 + enable: True + uplink_type: + - type: "upstream" + intf: "port-channel2" + state: "present" + - type: "downstream" + intf: "{{ os10_interface_3 }}" + state: "present" + downstream: + disable_links: 10 + auto_recover: true + defer_time: 50 + state: "present" diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_uplink_role/templates/uplink_basic/steps/02_uplink_update.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_uplink_role/templates/uplink_basic/steps/02_uplink_update.j2 new file mode 100644 index 00000000..d412e3e0 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_uplink_role/templates/uplink_basic/steps/02_uplink_update.j2 @@ -0,0 +1,30 @@ +os10_uplink: + uplink_state_group: + - id: 1 + enable: True + uplink_type: + - type: "upstream" + intf: "port-channel1" + state: absent + - type: "downstream" + intf: "ethernet{{ os10_interface_1.split()[1] }},{{ os10_interface_2.split()[1] }}" + state: "present" + downstream: + disable_links: 10 + auto_recover: false + defer_time: 50 + state: "present" + - id: 2 + enable: false + uplink_type: + - type: "upstream" + intf: "port-channel2" + state: "present" + - type: "downstream" + intf: "{{ os10_interface_3 }}" + state: absent + downstream: + disable_links: 15 + auto_recover: false + defer_time: 40 + state: "present" diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_uplink_role/templates/uplink_basic/steps/03_uplink_absent.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_uplink_role/templates/uplink_basic/steps/03_uplink_absent.j2 new file mode 100644 index 00000000..b2d3da07 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_uplink_role/templates/uplink_basic/steps/03_uplink_absent.j2 @@ -0,0 +1,30 @@ +os10_uplink: + uplink_state_group: + - id: 1 + enable: True + uplink_type: + - type: "upstream" + intf: "port-channel1" + state: "absent" + - type: "downstream" + intf: "ethernet{{ os10_interface_1.split()[1] }},{{ os10_interface_2.split()[1] }}" + state: "absent" + downstream: + disable_links: all + auto_recover: false + defer_time: 50 + state: "absent" + - id: 2 + enable: True + uplink_type: + - type: "upstream" + intf: "port-channel2" + state: "absent" + - type: "downstream" + intf: "{{ os10_interface_3 }}" + state: "absent" + downstream: + disable_links: 10 + auto_recover: true + defer_time: 50 + state: "absent" diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_uplink_role/templates/uplink_basic/steps/setup.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_uplink_role/templates/uplink_basic/steps/setup.j2 new file mode 100644 index 00000000..2f579616 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_uplink_role/templates/uplink_basic/steps/setup.j2 @@ -0,0 +1,5 @@ +os10_lag: + Po 1: + state: present + Po 2: + state: present diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_uplink_role/templates/uplink_basic/steps/teardown.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_uplink_role/templates/uplink_basic/steps/teardown.j2 new file mode 100644 index 00000000..dcd90471 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_uplink_role/templates/uplink_basic/steps/teardown.j2 @@ -0,0 +1,38 @@ +test_roles: + - dellemc.os10.os10_uplink + - dellemc.os10.os10_lag +os10_lag: + Po 1: + state: absent + Po 2: + state: absent +os10_uplink: + uplink_state_group: + - id: 1 + enable: True + uplink_type: + - type: "upstream" + intf: "port-channel1" + state: "absent" + - type: "downstream" + intf: "ethernet{{ os10_interface_1.split()[1] }},{{ os10_interface_2.split()[1] }}" + state: "absent" + downstream: + disable_links: all + auto_recover: false + defer_time: 50 + state: "absent" + - id: 2 + enable: True + uplink_type: + - type: "upstream" + intf: "port-channel2" + state: "absent" + - type: "downstream" + intf: "{{ os10_interface_3 }}" + state: "absent" + downstream: + disable_links: 10 + auto_recover: true + defer_time: 50 + state: "absent" diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_uplink_role/tests/uplink_basic.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_uplink_role/tests/uplink_basic.yaml new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_uplink_role/tests/uplink_basic.yaml diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_uplink_role/vars/main.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_uplink_role/vars/main.yaml new file mode 100644 index 00000000..c3d3900d --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_uplink_role/vars/main.yaml @@ -0,0 +1,3 @@ +test_roles: + - dellemc.os10.os10_lag + - dellemc.os10.os10_uplink diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_users_role/defaults/main.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_users_role/defaults/main.yaml new file mode 100644 index 00000000..5f709c5a --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_users_role/defaults/main.yaml @@ -0,0 +1,2 @@ +--- +testcase: "*" diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_users_role/tasks/main.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_users_role/tasks/main.yaml new file mode 100644 index 00000000..88be0f20 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_users_role/tasks/main.yaml @@ -0,0 +1,3 @@ +--- +- { include: prepare_test_facts.yaml, tags: ['role']} +- { include: tests.yaml, tags: ['role']} diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_users_role/tasks/prepare_test_facts.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_users_role/tasks/prepare_test_facts.yaml new file mode 100644 index 00000000..a86b71f6 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_users_role/tasks/prepare_test_facts.yaml @@ -0,0 +1,14 @@ +--- +- block: + - name: Collect interface list + import_role: + name: os10_template + tasks_from: show_ip_interface_brief.yaml + register: result + - name: Set interface list + set_fact: + os10_interface_1: "{{ ip_interface_facts[0].INTERFACE_NAME | lower }}" + os10_interface_2: "{{ ip_interface_facts[1].INTERFACE_NAME | lower }}" + os10_interface_3: "{{ ip_interface_facts[2].INTERFACE_NAME | lower }}" + + when: prepare_os10_role_tests_task | default(True) | bool diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_users_role/tasks/testcase/include_os10_role.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_users_role/tasks/testcase/include_os10_role.yaml new file mode 100644 index 00000000..395d2fe8 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_users_role/tasks/testcase/include_os10_role.yaml @@ -0,0 +1,20 @@ +- include_role: + name: "{{ os10_role_name }}" + +- debug: msg="Role completed {{ os10_role_name }}" + notify: "os10_role completed" + +- block: + - name: "Testing idempotency for {{ os10_role_name }}" + include_role: + name: "{{ os10_role_name }}" + - name: "idempotency result for {{ os10_role_name }}" + fail: + msg: "idempotency test failed for {{ os10_role_name }}" + when: output.changed + + when: > + ( test_idempotency is defined and test_idempotency and + idempotent_roles is defined and os10_role_name in idempotent_roles and + idempotent is defined and idempotent + ) diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_users_role/tasks/testcase/run_test_case.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_users_role/tasks/testcase/run_test_case.yaml new file mode 100644 index 00000000..c84b1033 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_users_role/tasks/testcase/run_test_case.yaml @@ -0,0 +1,62 @@ +- name: set test case + set_fact: + role_testcase: "{{ role_testcase_path | basename | splitext | first }}" + +- name: set test case output dir + set_fact: + testcase_outdir: "{{ output_dir }}/{{ role_name }}/{{ role_testcase_path }}" + + +- name: Prepare testcase output dir + file: + path: "{{ testcase_outdir }}" + state: directory + +- name: Source testcase variables + include_vars: "{{ item }}" + vars: + params: + files: + - "{{ role_testcase }}.yaml" + paths: + - "vars" + loop: "{{ query('first_found', params, errors='ignore') }}" + +- name: Include Testcase tasks + include: "{{ role_testcase_path }}" + +- name: Identifying steps + block: + - name: Identifying steps + find: + paths: "{{ role_path }}/templates/{{ role_testcase }}/steps" + patterns: "*.j2" + register: step_files + - set_fact: teststeps_files="{{ step_files.files | map(attribute='path') | map('basename') | list }}" + - set_fact: teststeps="{{ teststeps_files | map('splitext') | map('first') | reject('equalto', 'setup') | reject('equalto', 'teardown') | list | sort }}" + when: teststeps is not defined + +- name: Check if setup step exists + stat: path="{{ role_path }}/templates/{{ role_testcase }}/steps/setup.j2" + ignore_errors: true + register: setup_template + +- name: Setup Testcase + include: testcase/run_test_step.yaml role_teststep=setup idempotent=false + when: setup_template.stat.exists == true + +- name: Run Test Steps + block: + - name: Run Test Steps + include: testcase/run_test_step.yaml idempotent=false + with_items: "{{ teststeps }}" + loop_control: + loop_var: role_teststep + always: + - name: Check teardown + stat: path="{{ role_path }}/templates/{{ role_testcase }}/steps/teardown.j2" + ignore_errors: true + register: teardown_template + - name: Run teardown + include: testcase/run_test_step.yaml role_teststep=teardown idempotent=false + when: teardown_template.stat.exists == true diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_users_role/tasks/testcase/run_test_step.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_users_role/tasks/testcase/run_test_step.yaml new file mode 100644 index 00000000..624325e5 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_users_role/tasks/testcase/run_test_step.yaml @@ -0,0 +1,26 @@ +--- +- name: Running step {{ role_teststep }} + debug: msg="{{ role_teststep }}" + +- name: Set step vars file + set_fact: + teststep_var_template: "{{ role_testcase }}/steps/{{ role_teststep }}.j2" + teststep_vars_file: "{{ testcase_outdir }}/{{ role_teststep }}.yaml" + +- name: Preparing step variables + template: + src: "{{ teststep_var_template }}" + dest: "{{ teststep_vars_file }}" + +- name: Load step variables + include_vars: + file: "{{ teststep_vars_file }}" + +- name: Including roles for the step + include: testcase/include_os10_role.yaml os10_role_name="{{ step_role }}" + # include_role: + # name: "{{ step_role }}" + with_items: "{{ test_roles }}" + loop_control: + loop_var: step_role + when: test_roles is defined diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_users_role/tasks/tests.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_users_role/tasks/tests.yaml new file mode 100644 index 00000000..572c2538 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_users_role/tasks/tests.yaml @@ -0,0 +1,14 @@ +- name: collect all test cases + find: + paths: "{{ role_path }}/tests" + patterns: "{{ testcase }}.yaml" + register: test_cases + +- name: set test_items + set_fact: test_items="{{ test_cases.files | map(attribute='path') | list }}" + +- name: run test case + include: testcase/run_test_case.yaml + with_items: "{{ test_items }}" + loop_control: + loop_var: role_testcase_path diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_users_role/tasks_old/main.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_users_role/tasks_old/main.yaml new file mode 100644 index 00000000..4de62fb9 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_users_role/tasks_old/main.yaml @@ -0,0 +1,15 @@ +--- +- name: collect all test cases + find: + paths: "{{ role_path }}/tests" + patterns: "{{ testcase }}.yaml" + register: test_cases + +- name: set test_items + set_fact: test_items="{{ test_cases.files | map(attribute='path') | list }}" + +- name: run test case + include: "{{ test_case_to_run }}" + with_items: "{{ test_items }}" + loop_control: + loop_var: test_case_to_run diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_users_role/templates/users_basic/steps/01_users_add.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_users_role/templates/users_basic/steps/01_users_add.j2 new file mode 100644 index 00000000..b53a5bb0 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_users_role/templates/users_basic/steps/01_users_add.j2 @@ -0,0 +1,9 @@ +os10_users: + - username: test + password: a1a2a3a4!@#$ + role: sysadmin + state: present + - username: u1 + password: a1a2a3a4!@#$ + role: netadmin + state: present diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_users_role/templates/users_basic/steps/02_users_del.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_users_role/templates/users_basic/steps/02_users_del.j2 new file mode 100644 index 00000000..abb30cfa --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_users_role/templates/users_basic/steps/02_users_del.j2 @@ -0,0 +1,5 @@ +os10_users: + - username: test + password: a1a2a3a4!@#$ + role: sysadmin + state: absent diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_users_role/templates/users_basic/steps/teardown.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_users_role/templates/users_basic/steps/teardown.j2 new file mode 100644 index 00000000..f817f7b2 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_users_role/templates/users_basic/steps/teardown.j2 @@ -0,0 +1,9 @@ +os10_users: + - username: test + password: a1a2a3a4!@#$ + role: sysadmin + state: absent + - username: u1 + password: a1a2a3a4!@#$ + role: netadmin + state: absent diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_users_role/tests/users_basic.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_users_role/tests/users_basic.yaml new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_users_role/tests/users_basic.yaml diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_users_role/vars/main.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_users_role/vars/main.yaml new file mode 100644 index 00000000..0a54dcad --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_users_role/vars/main.yaml @@ -0,0 +1,2 @@ +test_roles: + - dellemc.os10.os10_users diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_vlan_role/defaults/main.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_vlan_role/defaults/main.yaml new file mode 100644 index 00000000..967b3f14 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_vlan_role/defaults/main.yaml @@ -0,0 +1,3 @@ +--- +testcase: "*" +test_idempotency: true diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_vlan_role/tasks/main.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_vlan_role/tasks/main.yaml new file mode 100644 index 00000000..88be0f20 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_vlan_role/tasks/main.yaml @@ -0,0 +1,3 @@ +--- +- { include: prepare_test_facts.yaml, tags: ['role']} +- { include: tests.yaml, tags: ['role']} diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_vlan_role/tasks/prepare_test_facts.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_vlan_role/tasks/prepare_test_facts.yaml new file mode 100644 index 00000000..a86b71f6 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_vlan_role/tasks/prepare_test_facts.yaml @@ -0,0 +1,14 @@ +--- +- block: + - name: Collect interface list + import_role: + name: os10_template + tasks_from: show_ip_interface_brief.yaml + register: result + - name: Set interface list + set_fact: + os10_interface_1: "{{ ip_interface_facts[0].INTERFACE_NAME | lower }}" + os10_interface_2: "{{ ip_interface_facts[1].INTERFACE_NAME | lower }}" + os10_interface_3: "{{ ip_interface_facts[2].INTERFACE_NAME | lower }}" + + when: prepare_os10_role_tests_task | default(True) | bool diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_vlan_role/tasks/testcase/include_os10_role.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_vlan_role/tasks/testcase/include_os10_role.yaml new file mode 100644 index 00000000..395d2fe8 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_vlan_role/tasks/testcase/include_os10_role.yaml @@ -0,0 +1,20 @@ +- include_role: + name: "{{ os10_role_name }}" + +- debug: msg="Role completed {{ os10_role_name }}" + notify: "os10_role completed" + +- block: + - name: "Testing idempotency for {{ os10_role_name }}" + include_role: + name: "{{ os10_role_name }}" + - name: "idempotency result for {{ os10_role_name }}" + fail: + msg: "idempotency test failed for {{ os10_role_name }}" + when: output.changed + + when: > + ( test_idempotency is defined and test_idempotency and + idempotent_roles is defined and os10_role_name in idempotent_roles and + idempotent is defined and idempotent + ) diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_vlan_role/tasks/testcase/run_test_case.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_vlan_role/tasks/testcase/run_test_case.yaml new file mode 100644 index 00000000..c84b1033 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_vlan_role/tasks/testcase/run_test_case.yaml @@ -0,0 +1,62 @@ +- name: set test case + set_fact: + role_testcase: "{{ role_testcase_path | basename | splitext | first }}" + +- name: set test case output dir + set_fact: + testcase_outdir: "{{ output_dir }}/{{ role_name }}/{{ role_testcase_path }}" + + +- name: Prepare testcase output dir + file: + path: "{{ testcase_outdir }}" + state: directory + +- name: Source testcase variables + include_vars: "{{ item }}" + vars: + params: + files: + - "{{ role_testcase }}.yaml" + paths: + - "vars" + loop: "{{ query('first_found', params, errors='ignore') }}" + +- name: Include Testcase tasks + include: "{{ role_testcase_path }}" + +- name: Identifying steps + block: + - name: Identifying steps + find: + paths: "{{ role_path }}/templates/{{ role_testcase }}/steps" + patterns: "*.j2" + register: step_files + - set_fact: teststeps_files="{{ step_files.files | map(attribute='path') | map('basename') | list }}" + - set_fact: teststeps="{{ teststeps_files | map('splitext') | map('first') | reject('equalto', 'setup') | reject('equalto', 'teardown') | list | sort }}" + when: teststeps is not defined + +- name: Check if setup step exists + stat: path="{{ role_path }}/templates/{{ role_testcase }}/steps/setup.j2" + ignore_errors: true + register: setup_template + +- name: Setup Testcase + include: testcase/run_test_step.yaml role_teststep=setup idempotent=false + when: setup_template.stat.exists == true + +- name: Run Test Steps + block: + - name: Run Test Steps + include: testcase/run_test_step.yaml idempotent=false + with_items: "{{ teststeps }}" + loop_control: + loop_var: role_teststep + always: + - name: Check teardown + stat: path="{{ role_path }}/templates/{{ role_testcase }}/steps/teardown.j2" + ignore_errors: true + register: teardown_template + - name: Run teardown + include: testcase/run_test_step.yaml role_teststep=teardown idempotent=false + when: teardown_template.stat.exists == true diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_vlan_role/tasks/testcase/run_test_step.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_vlan_role/tasks/testcase/run_test_step.yaml new file mode 100644 index 00000000..624325e5 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_vlan_role/tasks/testcase/run_test_step.yaml @@ -0,0 +1,26 @@ +--- +- name: Running step {{ role_teststep }} + debug: msg="{{ role_teststep }}" + +- name: Set step vars file + set_fact: + teststep_var_template: "{{ role_testcase }}/steps/{{ role_teststep }}.j2" + teststep_vars_file: "{{ testcase_outdir }}/{{ role_teststep }}.yaml" + +- name: Preparing step variables + template: + src: "{{ teststep_var_template }}" + dest: "{{ teststep_vars_file }}" + +- name: Load step variables + include_vars: + file: "{{ teststep_vars_file }}" + +- name: Including roles for the step + include: testcase/include_os10_role.yaml os10_role_name="{{ step_role }}" + # include_role: + # name: "{{ step_role }}" + with_items: "{{ test_roles }}" + loop_control: + loop_var: step_role + when: test_roles is defined diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_vlan_role/tasks/tests.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_vlan_role/tasks/tests.yaml new file mode 100644 index 00000000..572c2538 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_vlan_role/tasks/tests.yaml @@ -0,0 +1,14 @@ +- name: collect all test cases + find: + paths: "{{ role_path }}/tests" + patterns: "{{ testcase }}.yaml" + register: test_cases + +- name: set test_items + set_fact: test_items="{{ test_cases.files | map(attribute='path') | list }}" + +- name: run test case + include: testcase/run_test_case.yaml + with_items: "{{ test_items }}" + loop_control: + loop_var: role_testcase_path diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_vlan_role/templates/vlan_basic/steps/01_vlan_configure.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_vlan_role/templates/vlan_basic/steps/01_vlan_configure.j2 new file mode 100644 index 00000000..593fb33d --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_vlan_role/templates/vlan_basic/steps/01_vlan_configure.j2 @@ -0,0 +1,17 @@ +idempotent: true +os10_vlan: + vlan 100: + description: "Blue" + tagged_members: + - port: {{ os10_interface_1 }} + state: present + untagged_members: + - port: {{ os10_interface_2 }} + state: present + state: present + vlan 888: + description: "NSX_Cluster" + untagged_members: + - port: port-channel 1 + state: "present" + state: "present" diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_vlan_role/templates/vlan_basic/steps/02_vlan_update.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_vlan_role/templates/vlan_basic/steps/02_vlan_update.j2 new file mode 100644 index 00000000..a2fd82f4 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_vlan_role/templates/vlan_basic/steps/02_vlan_update.j2 @@ -0,0 +1,19 @@ +idempotent: true +os10_vlan: + vlan 100: + description: "Blue VLAN" + tagged_members: + - port: {{ os10_interface_1 }} + state: present + - port: {{ os10_interface_3 }} + state: present + untagged_members: + - port: {{ os10_interface_2 }} + state: present + state: present + vlan 888: + description: "NSX_Cluster" + untagged_members: + - port: port-channel 1 + state: "present" + state: "present" diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_vlan_role/templates/vlan_basic/steps/03_vlan_member_port_range.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_vlan_role/templates/vlan_basic/steps/03_vlan_member_port_range.j2 new file mode 100644 index 00000000..bbff49b1 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_vlan_role/templates/vlan_basic/steps/03_vlan_member_port_range.j2 @@ -0,0 +1,17 @@ +idempotent: false +os10_vlan: + vlan 100: + description: "Blue VLAN" + tagged_members: + - port: range ethernet {{ os10_interface_1.split()[1] }},{{ os10_interface_3.split()[1] }} + state: present + untagged_members: + - port: range {{ os10_interface_2 }} + state: present + state: present + vlan 888: + description: "NSX_Cluster" + untagged_members: + - port: port-channel 1 + state: "present" + state: "present" diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_vlan_role/templates/vlan_basic/steps/04_vlan_absent.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_vlan_role/templates/vlan_basic/steps/04_vlan_absent.j2 new file mode 100644 index 00000000..2cc502d2 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_vlan_role/templates/vlan_basic/steps/04_vlan_absent.j2 @@ -0,0 +1,20 @@ +idempotent: false +os10_vlan: + default_vlan_id: 1 + vlan 100: + description: + tagged_members: + - port: {{ os10_interface_1 }} + state: present + - port: {{ os10_interface_3 }} + state: absent + untagged_members: + - port: {{ os10_interface_2 }} + state: present + state: present + vlan 888: + description: "NSX_Cluster" + untagged_members: + - port: port-channel 1 + state: "present" + state: absent diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_vlan_role/templates/vlan_basic/steps/setup.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_vlan_role/templates/vlan_basic/steps/setup.j2 new file mode 100644 index 00000000..81cff710 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_vlan_role/templates/vlan_basic/steps/setup.j2 @@ -0,0 +1,3 @@ +os10_lag: + Po 1: + state: present diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_vlan_role/templates/vlan_basic/steps/teardown.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_vlan_role/templates/vlan_basic/steps/teardown.j2 new file mode 100644 index 00000000..e640d0c1 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_vlan_role/templates/vlan_basic/steps/teardown.j2 @@ -0,0 +1,25 @@ +test_roles: + - dellemc.os10.os10_vlan + - dellemc.os10.os10_lag +os10_lag: + Po 1: + state: absent +os10_vlan: + default_vlan_id: + vlan 100: + description: + tagged_members: + - port: {{ os10_interface_1 }} + state: absent + - port: {{ os10_interface_3 }} + state: absent + untagged_members: + - port: {{ os10_interface_2 }} + state: absent + state: absent + vlan 888: + description: "NSX_Cluster" + untagged_members: + - port: port-channel 1 + state: absent + state: absent diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_vlan_role/tests/vlan_basic.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_vlan_role/tests/vlan_basic.yaml new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_vlan_role/tests/vlan_basic.yaml diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_vlan_role/vars/main.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_vlan_role/vars/main.yaml new file mode 100644 index 00000000..7acc287d --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_vlan_role/vars/main.yaml @@ -0,0 +1,6 @@ +test_roles: + - dellemc.os10.os10_lag + - dellemc.os10.os10_vlan + +idempotent_roles: + - dellemc.os10.os10_vlan diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_vlt_role/defaults/main.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_vlt_role/defaults/main.yaml new file mode 100644 index 00000000..967b3f14 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_vlt_role/defaults/main.yaml @@ -0,0 +1,3 @@ +--- +testcase: "*" +test_idempotency: true diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_vlt_role/tasks/main.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_vlt_role/tasks/main.yaml new file mode 100644 index 00000000..88be0f20 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_vlt_role/tasks/main.yaml @@ -0,0 +1,3 @@ +--- +- { include: prepare_test_facts.yaml, tags: ['role']} +- { include: tests.yaml, tags: ['role']} diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_vlt_role/tasks/prepare_test_facts.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_vlt_role/tasks/prepare_test_facts.yaml new file mode 100644 index 00000000..a86b71f6 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_vlt_role/tasks/prepare_test_facts.yaml @@ -0,0 +1,14 @@ +--- +- block: + - name: Collect interface list + import_role: + name: os10_template + tasks_from: show_ip_interface_brief.yaml + register: result + - name: Set interface list + set_fact: + os10_interface_1: "{{ ip_interface_facts[0].INTERFACE_NAME | lower }}" + os10_interface_2: "{{ ip_interface_facts[1].INTERFACE_NAME | lower }}" + os10_interface_3: "{{ ip_interface_facts[2].INTERFACE_NAME | lower }}" + + when: prepare_os10_role_tests_task | default(True) | bool diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_vlt_role/tasks/testcase/include_os10_role.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_vlt_role/tasks/testcase/include_os10_role.yaml new file mode 100644 index 00000000..395d2fe8 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_vlt_role/tasks/testcase/include_os10_role.yaml @@ -0,0 +1,20 @@ +- include_role: + name: "{{ os10_role_name }}" + +- debug: msg="Role completed {{ os10_role_name }}" + notify: "os10_role completed" + +- block: + - name: "Testing idempotency for {{ os10_role_name }}" + include_role: + name: "{{ os10_role_name }}" + - name: "idempotency result for {{ os10_role_name }}" + fail: + msg: "idempotency test failed for {{ os10_role_name }}" + when: output.changed + + when: > + ( test_idempotency is defined and test_idempotency and + idempotent_roles is defined and os10_role_name in idempotent_roles and + idempotent is defined and idempotent + ) diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_vlt_role/tasks/testcase/run_test_case.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_vlt_role/tasks/testcase/run_test_case.yaml new file mode 100644 index 00000000..c84b1033 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_vlt_role/tasks/testcase/run_test_case.yaml @@ -0,0 +1,62 @@ +- name: set test case + set_fact: + role_testcase: "{{ role_testcase_path | basename | splitext | first }}" + +- name: set test case output dir + set_fact: + testcase_outdir: "{{ output_dir }}/{{ role_name }}/{{ role_testcase_path }}" + + +- name: Prepare testcase output dir + file: + path: "{{ testcase_outdir }}" + state: directory + +- name: Source testcase variables + include_vars: "{{ item }}" + vars: + params: + files: + - "{{ role_testcase }}.yaml" + paths: + - "vars" + loop: "{{ query('first_found', params, errors='ignore') }}" + +- name: Include Testcase tasks + include: "{{ role_testcase_path }}" + +- name: Identifying steps + block: + - name: Identifying steps + find: + paths: "{{ role_path }}/templates/{{ role_testcase }}/steps" + patterns: "*.j2" + register: step_files + - set_fact: teststeps_files="{{ step_files.files | map(attribute='path') | map('basename') | list }}" + - set_fact: teststeps="{{ teststeps_files | map('splitext') | map('first') | reject('equalto', 'setup') | reject('equalto', 'teardown') | list | sort }}" + when: teststeps is not defined + +- name: Check if setup step exists + stat: path="{{ role_path }}/templates/{{ role_testcase }}/steps/setup.j2" + ignore_errors: true + register: setup_template + +- name: Setup Testcase + include: testcase/run_test_step.yaml role_teststep=setup idempotent=false + when: setup_template.stat.exists == true + +- name: Run Test Steps + block: + - name: Run Test Steps + include: testcase/run_test_step.yaml idempotent=false + with_items: "{{ teststeps }}" + loop_control: + loop_var: role_teststep + always: + - name: Check teardown + stat: path="{{ role_path }}/templates/{{ role_testcase }}/steps/teardown.j2" + ignore_errors: true + register: teardown_template + - name: Run teardown + include: testcase/run_test_step.yaml role_teststep=teardown idempotent=false + when: teardown_template.stat.exists == true diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_vlt_role/tasks/testcase/run_test_step.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_vlt_role/tasks/testcase/run_test_step.yaml new file mode 100644 index 00000000..624325e5 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_vlt_role/tasks/testcase/run_test_step.yaml @@ -0,0 +1,26 @@ +--- +- name: Running step {{ role_teststep }} + debug: msg="{{ role_teststep }}" + +- name: Set step vars file + set_fact: + teststep_var_template: "{{ role_testcase }}/steps/{{ role_teststep }}.j2" + teststep_vars_file: "{{ testcase_outdir }}/{{ role_teststep }}.yaml" + +- name: Preparing step variables + template: + src: "{{ teststep_var_template }}" + dest: "{{ teststep_vars_file }}" + +- name: Load step variables + include_vars: + file: "{{ teststep_vars_file }}" + +- name: Including roles for the step + include: testcase/include_os10_role.yaml os10_role_name="{{ step_role }}" + # include_role: + # name: "{{ step_role }}" + with_items: "{{ test_roles }}" + loop_control: + loop_var: step_role + when: test_roles is defined diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_vlt_role/tasks/tests.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_vlt_role/tasks/tests.yaml new file mode 100644 index 00000000..572c2538 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_vlt_role/tasks/tests.yaml @@ -0,0 +1,14 @@ +- name: collect all test cases + find: + paths: "{{ role_path }}/tests" + patterns: "{{ testcase }}.yaml" + register: test_cases + +- name: set test_items + set_fact: test_items="{{ test_cases.files | map(attribute='path') | list }}" + +- name: run test case + include: testcase/run_test_case.yaml + with_items: "{{ test_items }}" + loop_control: + loop_var: role_testcase_path diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_vlt_role/templates/vlt_basic/steps/01_vlt_configure.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_vlt_role/templates/vlt_basic/steps/01_vlt_configure.j2 new file mode 100644 index 00000000..90ca5988 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_vlt_role/templates/vlt_basic/steps/01_vlt_configure.j2 @@ -0,0 +1,15 @@ +idempotent: true +test_roles: + - dellemc.os10.os10_vlt +os10_vlt: + domain: 1 + backup_destination: "192.168.211.175" + destination_type: "ipv4" + discovery_intf: {{ os10_interface_1.split()[1] }} + discovery_intf_state: present + peer_routing: True + vlt_mac: aa:aa:aa:aa:aa:aa + vlt_peers: + Po 12: + peer_lag: 13 + state: present diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_vlt_role/templates/vlt_basic/steps/02_vlt_update.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_vlt_role/templates/vlt_basic/steps/02_vlt_update.j2 new file mode 100644 index 00000000..e1406d21 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_vlt_role/templates/vlt_basic/steps/02_vlt_update.j2 @@ -0,0 +1,14 @@ +idempotent: false +os10_vlt: + domain: 1 + backup_destination: "192.168.211.175" + destination_type: "ipv4" + backup_destination_vrf: + discovery_intf: {{ os10_interface_1.split()[1] }} + discovery_intf_state: absent + peer_routing: false + vlt_mac: aa:aa:aa:aa:aa:ab + vlt_peers: + Po 12: + peer_lag: 14 + state: present diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_vlt_role/templates/vlt_basic/steps/03_vlt_absent.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_vlt_role/templates/vlt_basic/steps/03_vlt_absent.j2 new file mode 100644 index 00000000..1d667cca --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_vlt_role/templates/vlt_basic/steps/03_vlt_absent.j2 @@ -0,0 +1,12 @@ +os10_vlt: + domain: 1 + backup_destination: "192.168.211.175" + destination_type: "ipv4" + discovery_intf: {{ os10_interface_1.split()[1] }} + discovery_intf_state: present + peer_routing: True + vlt_mac: aa:aa:aa:aa:aa:aa + vlt_peers: + Po 12: + peer_lag: 13 + state: absent diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_vlt_role/templates/vlt_basic/steps/setup.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_vlt_role/templates/vlt_basic/steps/setup.j2 new file mode 100644 index 00000000..17245d04 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_vlt_role/templates/vlt_basic/steps/setup.j2 @@ -0,0 +1,7 @@ +os10_lag: + Po 12: + state: present + +os10_interface: + {{ os10_interface_1 }}: + switchport: false diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_vlt_role/templates/vlt_basic/steps/teardown.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_vlt_role/templates/vlt_basic/steps/teardown.j2 new file mode 100644 index 00000000..4460af86 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_vlt_role/templates/vlt_basic/steps/teardown.j2 @@ -0,0 +1,23 @@ +test_roles: + - dellemc.os10.os10_vlt + - dellemc.os10.os10_lag + - dellemc.os10.os10_interface +os10_interface: + {{ os10_interface_1 }}: + portmode: access + switchport: true +os10_lag: + Po 12: + state: absent +os10_vlt: + domain: 1 + backup_destination: "192.168.211.175" + destination_type: "ipv4" + discovery_intf: {{ os10_interface_1.split()[1] }} + discovery_intf_state: present + peer_routing: True + vlt_mac: aa:aa:aa:aa:aa:aa + vlt_peers: + Po 12: + peer_lag: 13 + state: absent diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_vlt_role/tests/vlt_basic.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_vlt_role/tests/vlt_basic.yaml new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_vlt_role/tests/vlt_basic.yaml diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_vlt_role/vars/main.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_vlt_role/vars/main.yaml new file mode 100644 index 00000000..e18e8364 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_vlt_role/vars/main.yaml @@ -0,0 +1,7 @@ +test_roles: + - dellemc.os10.os10_interface + - dellemc.os10.os10_lag + - dellemc.os10.os10_vlt + +idempotent_roles: + - dellemc.os10.os10_vlt diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_vrrp_role/defaults/main.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_vrrp_role/defaults/main.yaml new file mode 100644 index 00000000..5f709c5a --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_vrrp_role/defaults/main.yaml @@ -0,0 +1,2 @@ +--- +testcase: "*" diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_vrrp_role/tasks/main.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_vrrp_role/tasks/main.yaml new file mode 100644 index 00000000..88be0f20 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_vrrp_role/tasks/main.yaml @@ -0,0 +1,3 @@ +--- +- { include: prepare_test_facts.yaml, tags: ['role']} +- { include: tests.yaml, tags: ['role']} diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_vrrp_role/tasks/prepare_test_facts.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_vrrp_role/tasks/prepare_test_facts.yaml new file mode 100644 index 00000000..a86b71f6 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_vrrp_role/tasks/prepare_test_facts.yaml @@ -0,0 +1,14 @@ +--- +- block: + - name: Collect interface list + import_role: + name: os10_template + tasks_from: show_ip_interface_brief.yaml + register: result + - name: Set interface list + set_fact: + os10_interface_1: "{{ ip_interface_facts[0].INTERFACE_NAME | lower }}" + os10_interface_2: "{{ ip_interface_facts[1].INTERFACE_NAME | lower }}" + os10_interface_3: "{{ ip_interface_facts[2].INTERFACE_NAME | lower }}" + + when: prepare_os10_role_tests_task | default(True) | bool diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_vrrp_role/tasks/testcase/include_os10_role.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_vrrp_role/tasks/testcase/include_os10_role.yaml new file mode 100644 index 00000000..395d2fe8 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_vrrp_role/tasks/testcase/include_os10_role.yaml @@ -0,0 +1,20 @@ +- include_role: + name: "{{ os10_role_name }}" + +- debug: msg="Role completed {{ os10_role_name }}" + notify: "os10_role completed" + +- block: + - name: "Testing idempotency for {{ os10_role_name }}" + include_role: + name: "{{ os10_role_name }}" + - name: "idempotency result for {{ os10_role_name }}" + fail: + msg: "idempotency test failed for {{ os10_role_name }}" + when: output.changed + + when: > + ( test_idempotency is defined and test_idempotency and + idempotent_roles is defined and os10_role_name in idempotent_roles and + idempotent is defined and idempotent + ) diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_vrrp_role/tasks/testcase/run_test_case.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_vrrp_role/tasks/testcase/run_test_case.yaml new file mode 100644 index 00000000..c84b1033 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_vrrp_role/tasks/testcase/run_test_case.yaml @@ -0,0 +1,62 @@ +- name: set test case + set_fact: + role_testcase: "{{ role_testcase_path | basename | splitext | first }}" + +- name: set test case output dir + set_fact: + testcase_outdir: "{{ output_dir }}/{{ role_name }}/{{ role_testcase_path }}" + + +- name: Prepare testcase output dir + file: + path: "{{ testcase_outdir }}" + state: directory + +- name: Source testcase variables + include_vars: "{{ item }}" + vars: + params: + files: + - "{{ role_testcase }}.yaml" + paths: + - "vars" + loop: "{{ query('first_found', params, errors='ignore') }}" + +- name: Include Testcase tasks + include: "{{ role_testcase_path }}" + +- name: Identifying steps + block: + - name: Identifying steps + find: + paths: "{{ role_path }}/templates/{{ role_testcase }}/steps" + patterns: "*.j2" + register: step_files + - set_fact: teststeps_files="{{ step_files.files | map(attribute='path') | map('basename') | list }}" + - set_fact: teststeps="{{ teststeps_files | map('splitext') | map('first') | reject('equalto', 'setup') | reject('equalto', 'teardown') | list | sort }}" + when: teststeps is not defined + +- name: Check if setup step exists + stat: path="{{ role_path }}/templates/{{ role_testcase }}/steps/setup.j2" + ignore_errors: true + register: setup_template + +- name: Setup Testcase + include: testcase/run_test_step.yaml role_teststep=setup idempotent=false + when: setup_template.stat.exists == true + +- name: Run Test Steps + block: + - name: Run Test Steps + include: testcase/run_test_step.yaml idempotent=false + with_items: "{{ teststeps }}" + loop_control: + loop_var: role_teststep + always: + - name: Check teardown + stat: path="{{ role_path }}/templates/{{ role_testcase }}/steps/teardown.j2" + ignore_errors: true + register: teardown_template + - name: Run teardown + include: testcase/run_test_step.yaml role_teststep=teardown idempotent=false + when: teardown_template.stat.exists == true diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_vrrp_role/tasks/testcase/run_test_step.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_vrrp_role/tasks/testcase/run_test_step.yaml new file mode 100644 index 00000000..624325e5 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_vrrp_role/tasks/testcase/run_test_step.yaml @@ -0,0 +1,26 @@ +--- +- name: Running step {{ role_teststep }} + debug: msg="{{ role_teststep }}" + +- name: Set step vars file + set_fact: + teststep_var_template: "{{ role_testcase }}/steps/{{ role_teststep }}.j2" + teststep_vars_file: "{{ testcase_outdir }}/{{ role_teststep }}.yaml" + +- name: Preparing step variables + template: + src: "{{ teststep_var_template }}" + dest: "{{ teststep_vars_file }}" + +- name: Load step variables + include_vars: + file: "{{ teststep_vars_file }}" + +- name: Including roles for the step + include: testcase/include_os10_role.yaml os10_role_name="{{ step_role }}" + # include_role: + # name: "{{ step_role }}" + with_items: "{{ test_roles }}" + loop_control: + loop_var: step_role + when: test_roles is defined diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_vrrp_role/tasks/tests.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_vrrp_role/tasks/tests.yaml new file mode 100644 index 00000000..572c2538 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_vrrp_role/tasks/tests.yaml @@ -0,0 +1,14 @@ +- name: collect all test cases + find: + paths: "{{ role_path }}/tests" + patterns: "{{ testcase }}.yaml" + register: test_cases + +- name: set test_items + set_fact: test_items="{{ test_cases.files | map(attribute='path') | list }}" + +- name: run test case + include: testcase/run_test_case.yaml + with_items: "{{ test_items }}" + loop_control: + loop_var: role_testcase_path diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_vrrp_role/templates/vrrp_basic/steps/01_vrrp_configure.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_vrrp_role/templates/vrrp_basic/steps/01_vrrp_configure.j2 new file mode 100644 index 00000000..0f95b515 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_vrrp_role/templates/vrrp_basic/steps/01_vrrp_configure.j2 @@ -0,0 +1,43 @@ +test_roles: + - dellemc.os10.os10_vrrp +os10_vrrp: + vrrp: + delay_reload: 2 + version: 3 + {{ os10_interface_1 }}: + vrrp_group: + - group_id: 2 + type: ipv6 + priority: 120 + preempt: false + track_interface: + - resource_id: 3 + priority_cost: 25 + state: present + virtual_address: + - ip: 2001:4828:5808:ffa3::9 + state: present + - ip: 3001:4828:5808:ffa3::9 + state: present + - ip: 4001:4828:5808:ffa3::9 + state: absent + adv_interval_centisecs: 200 + state: present + - group_id: 4 + virtual_address: + - ip: 4.1.1.1 + state: present + - ip: 4.1.1.2 + state: present + - ip: 4.1.1.3 + state: absent + priority: 120 + preempt: false + track_interface: + - resource_id: 3 + priority_cost: 25 + state: present + adv_interval_centisecs: 200 + state: present + vlan100: + vrrp_active_active_mode: true diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_vrrp_role/templates/vrrp_basic/steps/02_vrrp_update.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_vrrp_role/templates/vrrp_basic/steps/02_vrrp_update.j2 new file mode 100644 index 00000000..b3fc61ce --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_vrrp_role/templates/vrrp_basic/steps/02_vrrp_update.j2 @@ -0,0 +1,41 @@ +os10_vrrp: + vrrp: + delay_reload: 2 + version: 3 + {{ os10_interface_1 }}: + vrrp_group: + - group_id: 2 + type: ipv6 + priority: 200 + preempt: true + track_interface: + - resource_id: 3 + priority_cost: 30 + state: present + virtual_address: + - ip: 2001:4828:5808:ffa3::9 + state: present + - ip: 3001:4828:5808:ffa3::9 + state: absent + - ip: 4001:4828:5808:ffa3::9 + state: absent + adv_interval_centisecs: 300 + state: present + - group_id: 4 + virtual_address: + - ip: 4.1.1.1 + state: present + - ip: 4.1.1.2 + state: absent + - ip: 4.1.1.3 + state: absent + priority: 140 + preempt: true + track_interface: + - resource_id: 3 + priority_cost: 20 + state: present + adv_interval_centisecs: 300 + state: present + vlan100: + vrrp_active_active_mode: false diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_vrrp_role/templates/vrrp_basic/steps/03_vrrp_options_absent.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_vrrp_role/templates/vrrp_basic/steps/03_vrrp_options_absent.j2 new file mode 100644 index 00000000..f013293a --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_vrrp_role/templates/vrrp_basic/steps/03_vrrp_options_absent.j2 @@ -0,0 +1,41 @@ +os10_vrrp: + vrrp: + delay_reload: 2 + version: 3 + {{ os10_interface_1 }}: + vrrp_group: + - group_id: 2 + type: ipv6 + priority: 120 + preempt: false + track_interface: + - resource_id: 3 + priority_cost: 25 + state: absent + virtual_address: + - ip: 2001:4828:5808:ffa3::9 + state: present + - ip: 3001:4828:5808:ffa3::9 + state: present + - ip: 4001:4828:5808:ffa3::9 + state: absent + adv_interval_centisecs: 200 + state: present + - group_id: 4 + virtual_address: + - ip: 4.1.1.1 + state: present + - ip: 4.1.1.2 + state: present + - ip: 4.1.1.3 + state: absent + priority: 120 + preempt: false + track_interface: + - resource_id: 3 + priority_cost: 25 + state: absent + adv_interval_centisecs: 200 + state: present + vlan100: + vrrp_active_active_mode: true diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_vrrp_role/templates/vrrp_basic/steps/04_vrrp_absent.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_vrrp_role/templates/vrrp_basic/steps/04_vrrp_absent.j2 new file mode 100644 index 00000000..8e79b319 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_vrrp_role/templates/vrrp_basic/steps/04_vrrp_absent.j2 @@ -0,0 +1,41 @@ +os10_vrrp: + vrrp: + delay_reload: 2 + version: 3 + {{ os10_interface_1 }}: + vrrp_group: + - group_id: 2 + type: ipv6 + priority: 120 + preempt: false + track_interface: + - resource_id: 3 + priority_cost: 25 + state: present + virtual_address: + - ip: 2001:4828:5808:ffa3::9 + state: present + - ip: 3001:4828:5808:ffa3::9 + state: present + - ip: 4001:4828:5808:ffa3::9 + state: absent + adv_interval_centisecs: 200 + state: absent + - group_id: 4 + virtual_address: + - ip: 4.1.1.1 + state: present + - ip: 4.1.1.2 + state: present + - ip: 4.1.1.3 + state: absent + priority: 120 + preempt: false + track_interface: + - resource_id: 3 + priority_cost: 25 + state: present + adv_interval_centisecs: 200 + state: absent + vlan100: + vrrp_active_active_mode: true diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_vrrp_role/templates/vrrp_basic/steps/setup.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_vrrp_role/templates/vrrp_basic/steps/setup.j2 new file mode 100644 index 00000000..dd6b16b4 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_vrrp_role/templates/vrrp_basic/steps/setup.j2 @@ -0,0 +1,3 @@ +os10_interface: + {{ os10_interface_1 }}: + switchport: false diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_vrrp_role/templates/vrrp_basic/steps/teardown.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_vrrp_role/templates/vrrp_basic/steps/teardown.j2 new file mode 100644 index 00000000..2d876f55 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_vrrp_role/templates/vrrp_basic/steps/teardown.j2 @@ -0,0 +1,47 @@ +test_roles: + - dellemc.os10.os10_vrrp + - dellemc.os10.os10_vlan +os10_vlan: + vlan 100: + state: absent +os10_vrrp: + vrrp: + delay_reload: 0 + version: + {{ os10_interface_1 }}: + vrrp_group: + - group_id: 2 + type: ipv6 + priority: 120 + preempt: false + track_interface: + - resource_id: 3 + priority_cost: 25 + state: absent + virtual_address: + - ip: 2001:4828:5808:ffa3::9 + state: absent + - ip: 3001:4828:5808:ffa3::9 + state: absent + - ip: 4001:4828:5808:ffa3::9 + state: absent + adv_interval_centisecs: 200 + state: absent + - group_id: 4 + virtual_address: + - ip: 4.1.1.1 + state: absent + - ip: 4.1.1.2 + state: absent + - ip: 4.1.1.3 + state: absent + priority: 120 + preempt: false + track_interface: + - resource_id: 3 + priority_cost: 25 + state: absent + adv_interval_centisecs: 200 + state: absent + vlan100: + vrrp_active_active_mode: diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_vrrp_role/tests/vrrp_basic.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_vrrp_role/tests/vrrp_basic.yaml new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_vrrp_role/tests/vrrp_basic.yaml diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_vrrp_role/vars/main.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_vrrp_role/vars/main.yaml new file mode 100644 index 00000000..1eb402bf --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_vrrp_role/vars/main.yaml @@ -0,0 +1,3 @@ +test_roles: + - dellemc.os10.os10_interface + - dellemc.os10.os10_vrrp diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_xstp_role/defaults/main.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_xstp_role/defaults/main.yaml new file mode 100644 index 00000000..5f709c5a --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_xstp_role/defaults/main.yaml @@ -0,0 +1,2 @@ +--- +testcase: "*" diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_xstp_role/tasks/main.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_xstp_role/tasks/main.yaml new file mode 100644 index 00000000..88be0f20 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_xstp_role/tasks/main.yaml @@ -0,0 +1,3 @@ +--- +- { include: prepare_test_facts.yaml, tags: ['role']} +- { include: tests.yaml, tags: ['role']} diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_xstp_role/tasks/prepare_test_facts.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_xstp_role/tasks/prepare_test_facts.yaml new file mode 100644 index 00000000..a86b71f6 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_xstp_role/tasks/prepare_test_facts.yaml @@ -0,0 +1,14 @@ +--- +- block: + - name: Collect interface list + import_role: + name: os10_template + tasks_from: show_ip_interface_brief.yaml + register: result + - name: Set interface list + set_fact: + os10_interface_1: "{{ ip_interface_facts[0].INTERFACE_NAME | lower }}" + os10_interface_2: "{{ ip_interface_facts[1].INTERFACE_NAME | lower }}" + os10_interface_3: "{{ ip_interface_facts[2].INTERFACE_NAME | lower }}" + + when: prepare_os10_role_tests_task | default(True) | bool diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_xstp_role/tasks/testcase/include_os10_role.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_xstp_role/tasks/testcase/include_os10_role.yaml new file mode 100644 index 00000000..395d2fe8 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_xstp_role/tasks/testcase/include_os10_role.yaml @@ -0,0 +1,20 @@ +- include_role: + name: "{{ os10_role_name }}" + +- debug: msg="Role completed {{ os10_role_name }}" + notify: "os10_role completed" + +- block: + - name: "Testing idempotency for {{ os10_role_name }}" + include_role: + name: "{{ os10_role_name }}" + - name: "idempotency result for {{ os10_role_name }}" + fail: + msg: "idempotency test failed for {{ os10_role_name }}" + when: output.changed + + when: > + ( test_idempotency is defined and test_idempotency and + idempotent_roles is defined and os10_role_name in idempotent_roles and + idempotent is defined and idempotent + ) diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_xstp_role/tasks/testcase/run_test_case.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_xstp_role/tasks/testcase/run_test_case.yaml new file mode 100644 index 00000000..c84b1033 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_xstp_role/tasks/testcase/run_test_case.yaml @@ -0,0 +1,62 @@ +- name: set test case + set_fact: + role_testcase: "{{ role_testcase_path | basename | splitext | first }}" + +- name: set test case output dir + set_fact: + testcase_outdir: "{{ output_dir }}/{{ role_name }}/{{ role_testcase_path }}" + + +- name: Prepare testcase output dir + file: + path: "{{ testcase_outdir }}" + state: directory + +- name: Source testcase variables + include_vars: "{{ item }}" + vars: + params: + files: + - "{{ role_testcase }}.yaml" + paths: + - "vars" + loop: "{{ query('first_found', params, errors='ignore') }}" + +- name: Include Testcase tasks + include: "{{ role_testcase_path }}" + +- name: Identifying steps + block: + - name: Identifying steps + find: + paths: "{{ role_path }}/templates/{{ role_testcase }}/steps" + patterns: "*.j2" + register: step_files + - set_fact: teststeps_files="{{ step_files.files | map(attribute='path') | map('basename') | list }}" + - set_fact: teststeps="{{ teststeps_files | map('splitext') | map('first') | reject('equalto', 'setup') | reject('equalto', 'teardown') | list | sort }}" + when: teststeps is not defined + +- name: Check if setup step exists + stat: path="{{ role_path }}/templates/{{ role_testcase }}/steps/setup.j2" + ignore_errors: true + register: setup_template + +- name: Setup Testcase + include: testcase/run_test_step.yaml role_teststep=setup idempotent=false + when: setup_template.stat.exists == true + +- name: Run Test Steps + block: + - name: Run Test Steps + include: testcase/run_test_step.yaml idempotent=false + with_items: "{{ teststeps }}" + loop_control: + loop_var: role_teststep + always: + - name: Check teardown + stat: path="{{ role_path }}/templates/{{ role_testcase }}/steps/teardown.j2" + ignore_errors: true + register: teardown_template + - name: Run teardown + include: testcase/run_test_step.yaml role_teststep=teardown idempotent=false + when: teardown_template.stat.exists == true diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_xstp_role/tasks/testcase/run_test_step.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_xstp_role/tasks/testcase/run_test_step.yaml new file mode 100644 index 00000000..624325e5 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_xstp_role/tasks/testcase/run_test_step.yaml @@ -0,0 +1,26 @@ +--- +- name: Running step {{ role_teststep }} + debug: msg="{{ role_teststep }}" + +- name: Set step vars file + set_fact: + teststep_var_template: "{{ role_testcase }}/steps/{{ role_teststep }}.j2" + teststep_vars_file: "{{ testcase_outdir }}/{{ role_teststep }}.yaml" + +- name: Preparing step variables + template: + src: "{{ teststep_var_template }}" + dest: "{{ teststep_vars_file }}" + +- name: Load step variables + include_vars: + file: "{{ teststep_vars_file }}" + +- name: Including roles for the step + include: testcase/include_os10_role.yaml os10_role_name="{{ step_role }}" + # include_role: + # name: "{{ step_role }}" + with_items: "{{ test_roles }}" + loop_control: + loop_var: step_role + when: test_roles is defined diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_xstp_role/tasks/tests.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_xstp_role/tasks/tests.yaml new file mode 100644 index 00000000..572c2538 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_xstp_role/tasks/tests.yaml @@ -0,0 +1,14 @@ +- name: collect all test cases + find: + paths: "{{ role_path }}/tests" + patterns: "{{ testcase }}.yaml" + register: test_cases + +- name: set test_items + set_fact: test_items="{{ test_cases.files | map(attribute='path') | list }}" + +- name: run test case + include: testcase/run_test_case.yaml + with_items: "{{ test_items }}" + loop_control: + loop_var: role_testcase_path diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_xstp_role/templates/xstp_basic/steps/01_xstp_rstp_configure.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_xstp_role/templates/xstp_basic/steps/01_xstp_rstp_configure.j2 new file mode 100644 index 00000000..f1a85dbd --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_xstp_role/templates/xstp_basic/steps/01_xstp_rstp_configure.j2 @@ -0,0 +1,14 @@ +test_roles: + - dellemc.os10.os10_xstp +os10_xstp: + type: rstp + enable: true + path_cost: false + mac_flush_timer: 5 + rstp: + max_age: 7 + hello_time: 8 + forward_time: 9 + force_version: stp + bridge_priority: 8192 + mac_flush_threshold: 6 diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_xstp_role/templates/xstp_basic/steps/02_xstp_rstp_defaults.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_xstp_role/templates/xstp_basic/steps/02_xstp_rstp_defaults.j2 new file mode 100644 index 00000000..f6c324bd --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_xstp_role/templates/xstp_basic/steps/02_xstp_rstp_defaults.j2 @@ -0,0 +1,12 @@ +os10_xstp: + type: rstp + enable: true + path_cost: false + mac_flush_timer: + rstp: + max_age: + hello_time: + forward_time: + force_version: stp + bridge_priority: + mac_flush_threshold: diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_xstp_role/templates/xstp_basic/steps/03_xstp_pvst_configure.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_xstp_role/templates/xstp_basic/steps/03_xstp_pvst_configure.j2 new file mode 100644 index 00000000..07ed32db --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_xstp_role/templates/xstp_basic/steps/03_xstp_pvst_configure.j2 @@ -0,0 +1,16 @@ +os10_xstp: + type: rapid-pvst + enable: true + path_cost: true + mac_flush_timer: 5 + pvst: + vlan: + - range_or_id: 10 + max_age: 10 + enable: true + hello_time: 8 + forward_time: 8 + bridge_priority: 8192 + mac_flush_threshold: 6 + root: secondary + diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_xstp_role/templates/xstp_basic/steps/04_xstp_pvst_defaults.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_xstp_role/templates/xstp_basic/steps/04_xstp_pvst_defaults.j2 new file mode 100644 index 00000000..82469210 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_xstp_role/templates/xstp_basic/steps/04_xstp_pvst_defaults.j2 @@ -0,0 +1,16 @@ +os10_xstp: + type: rapid-pvst + enable: true + path_cost: false + mac_flush_timer: + pvst: + vlan: + - range_or_id: 10 + max_age: + enable: + hello_time: + forward_time: + bridge_priority: + mac_flush_threshold: + root: + diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_xstp_role/templates/xstp_basic/steps/05_xstp_mstp_configure.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_xstp_role/templates/xstp_basic/steps/05_xstp_mstp_configure.j2 new file mode 100644 index 00000000..ded2976b --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_xstp_role/templates/xstp_basic/steps/05_xstp_mstp_configure.j2 @@ -0,0 +1,24 @@ +os10_xstp: + type: mst + enable: true + path_cost: true + mac_flush_timer: 5 + mstp: + max_age: 8 + max_hops: 7 + hello_time: 8 + forward_time: 8 + force_version: stp + mstp_instances: + - number_or_range: 1 + enable: true + root: secondary + mac_flush_threshold: 8 + bridge_priority: 8192 + mst_config: + name: cfg1 + revision: 3 + cfg_list: + - number: 1 + vlans: 4,5 + vlans_state: present diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_xstp_role/templates/xstp_basic/steps/06_xstp_mstp_defaults.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_xstp_role/templates/xstp_basic/steps/06_xstp_mstp_defaults.j2 new file mode 100644 index 00000000..c39becdc --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_xstp_role/templates/xstp_basic/steps/06_xstp_mstp_defaults.j2 @@ -0,0 +1,24 @@ +os10_xstp: + type: mst + enable: true + path_cost: false + mac_flush_timer: + mstp: + max_age: + max_hops: + hello_time: + forward_time: + force_version: + mstp_instances: + - number_or_range: 1 + enable: + root: + mac_flush_threshold: + bridge_priority: + mst_config: + name: cfg1 + revision: + cfg_list: + - number: 1 + vlans: 4,5 + vlans_state: absent diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_xstp_role/templates/xstp_basic/steps/07_xstp_interface_configure.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_xstp_role/templates/xstp_basic/steps/07_xstp_interface_configure.j2 new file mode 100644 index 00000000..2ec48bc2 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_xstp_role/templates/xstp_basic/steps/07_xstp_interface_configure.j2 @@ -0,0 +1,25 @@ +os10_xstp: + type: rstp + enable: true + path_cost: true + mac_flush_timer: + intf: + {{ os10_interface_1 }}: + edge_port: true + bpdu_filter: true + bpdu_guard: true + guard: loop + enable: true + link_type: point-to-point + msti: + - instance_number: 1 + priority: 32 + cost: 1 + rstp: + priority: 32 + cost: 7 + vlan: + - range_or_id: 6 + priority: 16 + cost: 8 + diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_xstp_role/templates/xstp_basic/steps/08_xstp_interface_defaults.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_xstp_role/templates/xstp_basic/steps/08_xstp_interface_defaults.j2 new file mode 100644 index 00000000..b28ea451 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_xstp_role/templates/xstp_basic/steps/08_xstp_interface_defaults.j2 @@ -0,0 +1,25 @@ +os10_xstp: + type: rstp + enable: true + path_cost: true + mac_flush_timer: + intf: + {{ os10_interface_1 }}: + edge_port: + bpdu_filter: + bpdu_guard: + guard: + enable: false + link_type: + msti: + - instance_number: 1 + priority: + cost: + rstp: + priority: + cost: + vlan: + - range_or_id: 6 + priority: + cost: + diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_xstp_role/templates/xstp_basic/steps/setup.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_xstp_role/templates/xstp_basic/steps/setup.j2 new file mode 100644 index 00000000..e01f16e4 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_xstp_role/templates/xstp_basic/steps/setup.j2 @@ -0,0 +1,4 @@ +os10_interface: + {{ os10_interface_1 }}: + switchport: true + portmode: access diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_xstp_role/templates/xstp_basic/steps/teardown.j2 b/ansible_collections/dellemc/os10/tests/integration/targets/os10_xstp_role/templates/xstp_basic/steps/teardown.j2 new file mode 100644 index 00000000..e1e5ffa8 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_xstp_role/templates/xstp_basic/steps/teardown.j2 @@ -0,0 +1,60 @@ +os10_xstp: + type: + enable: true + path_cost: false + mac_flush_timer: + rstp: + max_age: + hello_time: + forward_time: + force_version: + bridge_priority: + mac_flush_threshold: + pvst: + vlan: + - range_or_id: 10 + max_age: + enable: true + hello_time: + forward_time: + bridge_priority: + mac_flush_threshold: + root: + mstp: + max_age: + max_hops: + hello_time: + forward_time: + force_version: + mstp_instances: + - number_or_range: 1 + enable: true + root: + mac_flush_threshold: + bridge_priority: + mst_config: + name: + revision: + cfg_list: + - number: 1 + vlans: 4,5 + vlans_state: absent + intf: + {{ os10_interface_1 }}: + edge_port: + bpdu_filter: + bpdu_guard: + guard: + enable: true + link_type: + msti: + - instance_number: 1 + priority: + cost: + rstp: + priority: + cost: + vlan: + - range_or_id: 6 + priority: + cost: diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_xstp_role/tests/xstp_basic.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_xstp_role/tests/xstp_basic.yaml new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_xstp_role/tests/xstp_basic.yaml diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/os10_xstp_role/vars/main.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/os10_xstp_role/vars/main.yaml new file mode 100644 index 00000000..001043cd --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/os10_xstp_role/vars/main.yaml @@ -0,0 +1,3 @@ +test_roles: + - dellemc.os10.os10_interface + - dellemc.os10.os10_xstp diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/role_test/tasks/main.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/role_test/tasks/main.yaml new file mode 100644 index 00000000..88be0f20 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/role_test/tasks/main.yaml @@ -0,0 +1,3 @@ +--- +- { include: prepare_test_facts.yaml, tags: ['role']} +- { include: tests.yaml, tags: ['role']} diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/role_test/tasks/prepare_test_facts.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/role_test/tasks/prepare_test_facts.yaml new file mode 100644 index 00000000..a86b71f6 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/role_test/tasks/prepare_test_facts.yaml @@ -0,0 +1,14 @@ +--- +- block: + - name: Collect interface list + import_role: + name: os10_template + tasks_from: show_ip_interface_brief.yaml + register: result + - name: Set interface list + set_fact: + os10_interface_1: "{{ ip_interface_facts[0].INTERFACE_NAME | lower }}" + os10_interface_2: "{{ ip_interface_facts[1].INTERFACE_NAME | lower }}" + os10_interface_3: "{{ ip_interface_facts[2].INTERFACE_NAME | lower }}" + + when: prepare_os10_role_tests_task | default(True) | bool diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/role_test/tasks/testcase/include_os10_role.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/role_test/tasks/testcase/include_os10_role.yaml new file mode 100644 index 00000000..395d2fe8 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/role_test/tasks/testcase/include_os10_role.yaml @@ -0,0 +1,20 @@ +- include_role: + name: "{{ os10_role_name }}" + +- debug: msg="Role completed {{ os10_role_name }}" + notify: "os10_role completed" + +- block: + - name: "Testing idempotency for {{ os10_role_name }}" + include_role: + name: "{{ os10_role_name }}" + - name: "idempotency result for {{ os10_role_name }}" + fail: + msg: "idempotency test failed for {{ os10_role_name }}" + when: output.changed + + when: > + ( test_idempotency is defined and test_idempotency and + idempotent_roles is defined and os10_role_name in idempotent_roles and + idempotent is defined and idempotent + ) diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/role_test/tasks/testcase/run_test_case.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/role_test/tasks/testcase/run_test_case.yaml new file mode 100644 index 00000000..c84b1033 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/role_test/tasks/testcase/run_test_case.yaml @@ -0,0 +1,62 @@ +- name: set test case + set_fact: + role_testcase: "{{ role_testcase_path | basename | splitext | first }}" + +- name: set test case output dir + set_fact: + testcase_outdir: "{{ output_dir }}/{{ role_name }}/{{ role_testcase_path }}" + + +- name: Prepare testcase output dir + file: + path: "{{ testcase_outdir }}" + state: directory + +- name: Source testcase variables + include_vars: "{{ item }}" + vars: + params: + files: + - "{{ role_testcase }}.yaml" + paths: + - "vars" + loop: "{{ query('first_found', params, errors='ignore') }}" + +- name: Include Testcase tasks + include: "{{ role_testcase_path }}" + +- name: Identifying steps + block: + - name: Identifying steps + find: + paths: "{{ role_path }}/templates/{{ role_testcase }}/steps" + patterns: "*.j2" + register: step_files + - set_fact: teststeps_files="{{ step_files.files | map(attribute='path') | map('basename') | list }}" + - set_fact: teststeps="{{ teststeps_files | map('splitext') | map('first') | reject('equalto', 'setup') | reject('equalto', 'teardown') | list | sort }}" + when: teststeps is not defined + +- name: Check if setup step exists + stat: path="{{ role_path }}/templates/{{ role_testcase }}/steps/setup.j2" + ignore_errors: true + register: setup_template + +- name: Setup Testcase + include: testcase/run_test_step.yaml role_teststep=setup idempotent=false + when: setup_template.stat.exists == true + +- name: Run Test Steps + block: + - name: Run Test Steps + include: testcase/run_test_step.yaml idempotent=false + with_items: "{{ teststeps }}" + loop_control: + loop_var: role_teststep + always: + - name: Check teardown + stat: path="{{ role_path }}/templates/{{ role_testcase }}/steps/teardown.j2" + ignore_errors: true + register: teardown_template + - name: Run teardown + include: testcase/run_test_step.yaml role_teststep=teardown idempotent=false + when: teardown_template.stat.exists == true diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/role_test/tasks/testcase/run_test_step.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/role_test/tasks/testcase/run_test_step.yaml new file mode 100644 index 00000000..624325e5 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/role_test/tasks/testcase/run_test_step.yaml @@ -0,0 +1,26 @@ +--- +- name: Running step {{ role_teststep }} + debug: msg="{{ role_teststep }}" + +- name: Set step vars file + set_fact: + teststep_var_template: "{{ role_testcase }}/steps/{{ role_teststep }}.j2" + teststep_vars_file: "{{ testcase_outdir }}/{{ role_teststep }}.yaml" + +- name: Preparing step variables + template: + src: "{{ teststep_var_template }}" + dest: "{{ teststep_vars_file }}" + +- name: Load step variables + include_vars: + file: "{{ teststep_vars_file }}" + +- name: Including roles for the step + include: testcase/include_os10_role.yaml os10_role_name="{{ step_role }}" + # include_role: + # name: "{{ step_role }}" + with_items: "{{ test_roles }}" + loop_control: + loop_var: step_role + when: test_roles is defined diff --git a/ansible_collections/dellemc/os10/tests/integration/targets/role_test/tasks/tests.yaml b/ansible_collections/dellemc/os10/tests/integration/targets/role_test/tasks/tests.yaml new file mode 100644 index 00000000..572c2538 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/integration/targets/role_test/tasks/tests.yaml @@ -0,0 +1,14 @@ +- name: collect all test cases + find: + paths: "{{ role_path }}/tests" + patterns: "{{ testcase }}.yaml" + register: test_cases + +- name: set test_items + set_fact: test_items="{{ test_cases.files | map(attribute='path') | list }}" + +- name: run test case + include: testcase/run_test_case.yaml + with_items: "{{ test_items }}" + loop_control: + loop_var: role_testcase_path diff --git a/ansible_collections/dellemc/os10/tests/sanity/ignore-2.10.txt b/ansible_collections/dellemc/os10/tests/sanity/ignore-2.10.txt new file mode 100644 index 00000000..bfed9cf6 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/sanity/ignore-2.10.txt @@ -0,0 +1,20 @@ +plugins/action/os10.py action-plugin-docs +plugins/action/textfsm_parser.py action-plugin-docs +plugins/modules/bgp_validate.py validate-modules:parameter-list-no-elements +plugins/modules/mtu_validate.py validate-modules:parameter-list-no-elements +plugins/modules/vlt_validate.py validate-modules:parameter-list-no-elements +plugins/modules/wiring_validate.py validate-modules:parameter-list-no-elements +plugins/modules/show_system_network_summary.py validate-modules:parameter-list-no-elements +plugins/modules/os10_config.py validate-modules:parameter-list-no-elements +plugins/modules/os10_facts.py validate-modules:parameter-list-no-elements +plugins/modules/os10_command.py validate-modules:parameter-list-no-elements +plugins/modules/os10_config.py validate-modules:doc-default-does-not-match-spec +plugins/modules/os10_facts.py validate-modules:doc-default-does-not-match-spec +plugins/modules/os10_command.py validate-modules:doc-default-does-not-match-spec +plugins/module_utils/network/base_network_show.py import-2.6 +plugins/modules/base_xml_to_dict.py import-2.6 +plugins/modules/bgp_validate.py import-2.6 +plugins/modules/mtu_validate.py import-2.6 +plugins/modules/show_system_network_summary.py import-2.6 +plugins/modules/vlt_validate.py import-2.6 +plugins/modules/wiring_validate.py import-2.6 diff --git a/ansible_collections/dellemc/os10/tests/sanity/ignore-2.11.txt b/ansible_collections/dellemc/os10/tests/sanity/ignore-2.11.txt new file mode 100644 index 00000000..16dc721f --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/sanity/ignore-2.11.txt @@ -0,0 +1,13 @@ +plugins/action/os10.py action-plugin-docs +plugins/action/textfsm_parser.py action-plugin-docs +plugins/modules/bgp_validate.py validate-modules:parameter-list-no-elements +plugins/modules/mtu_validate.py validate-modules:parameter-list-no-elements +plugins/modules/vlt_validate.py validate-modules:parameter-list-no-elements +plugins/modules/wiring_validate.py validate-modules:parameter-list-no-elements +plugins/modules/show_system_network_summary.py validate-modules:parameter-list-no-elements +plugins/modules/os10_config.py validate-modules:parameter-list-no-elements +plugins/modules/os10_facts.py validate-modules:parameter-list-no-elements +plugins/modules/os10_command.py validate-modules:parameter-list-no-elements +plugins/modules/os10_config.py validate-modules:doc-default-does-not-match-spec +plugins/modules/os10_facts.py validate-modules:doc-default-does-not-match-spec +plugins/modules/os10_command.py validate-modules:doc-default-does-not-match-spec diff --git a/ansible_collections/dellemc/os10/tests/sanity/ignore-2.9.txt b/ansible_collections/dellemc/os10/tests/sanity/ignore-2.9.txt new file mode 100644 index 00000000..ee4573d7 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/sanity/ignore-2.9.txt @@ -0,0 +1,3 @@ +plugins/action/os10.py action-plugin-docs +plugins/action/textfsm_parser.py action-plugin-docs +plugins/modules/show_system_network_summary.py validate-modules:missing-module-utils-import diff --git a/ansible_collections/dellemc/os10/tests/sanity/requirements.txt b/ansible_collections/dellemc/os10/tests/sanity/requirements.txt new file mode 100644 index 00000000..3e3a9669 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/sanity/requirements.txt @@ -0,0 +1,4 @@ +packaging # needed for update-bundled and changelog +sphinx ; python_version >= '3.5' # docs build requires python 3+ +sphinx-notfound-page ; python_version >= '3.5' # docs build requires python 3+ +straight.plugin ; python_version >= '3.5' # needed for hacking/build-ansible.py which will host changelog generation and requires python 3+ diff --git a/ansible_collections/dellemc/os10/tests/unit/modules/network/os10/__init__.py b/ansible_collections/dellemc/os10/tests/unit/modules/network/os10/__init__.py new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/unit/modules/network/os10/__init__.py diff --git a/ansible_collections/dellemc/os10/tests/unit/modules/network/os10/fixtures/os10_config_config.cfg b/ansible_collections/dellemc/os10/tests/unit/modules/network/os10/fixtures/os10_config_config.cfg new file mode 100644 index 00000000..83e3e891 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/unit/modules/network/os10/fixtures/os10_config_config.cfg @@ -0,0 +1,13 @@ +! +hostname router +! +interface ethernet1/1/2 + ip address 1.2.3.4/24 + description test string +! +interface ethernet1/1/3 + ip address 6.7.8.9/24 + description test string + shutdown +! + diff --git a/ansible_collections/dellemc/os10/tests/unit/modules/network/os10/fixtures/os10_config_src.cfg b/ansible_collections/dellemc/os10/tests/unit/modules/network/os10/fixtures/os10_config_src.cfg new file mode 100644 index 00000000..7303a0c4 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/unit/modules/network/os10/fixtures/os10_config_src.cfg @@ -0,0 +1,12 @@ +! +hostname foo +! +interface ethernet1/1/2 + no ip address +! +interface ethernet1/1/3 + ip address 6.7.8.9/24 + description test string + shutdown +! + diff --git a/ansible_collections/dellemc/os10/tests/unit/modules/network/os10/fixtures/show_interface__display-xml b/ansible_collections/dellemc/os10/tests/unit/modules/network/os10/fixtures/show_interface__display-xml new file mode 100644 index 00000000..bd13f0e6 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/unit/modules/network/os10/fixtures/show_interface__display-xml @@ -0,0 +1,19467 @@ +<?xml version="1.0"?> +<rpc-reply> + <data> + <cms-interface-backptr> + <interface-in-running> + <name>ethernet1/1/1</name> + <untagged-vlan>vlan1</untagged-vlan> + </interface-in-running> + </cms-interface-backptr> + <interfaces> + <interface> + <name>ethernet1/1/1</name> + <type>ianaift:ethernetCsmacd</type> + <enabled>true</enabled> + <mtu>1532</mtu> + <mac-learn>HW</mac-learn> + <mode>MODE_L2</mode> + <load-interval>299</load-interval> + <duplex>auto</duplex> + <speed>AUTO</speed> + <keepalive>true</keepalive> + <lldp-med-cfg> + <med-enable>true</med-enable> + <notif-enable>false</notif-enable> + </lldp-med-cfg> + <lldp> + <tx-enable>true</tx-enable> + <rx-enable>true</rx-enable> + </lldp> + </interface> + </interfaces> + <ip-config> + <ipv4> + <arp> + <timeout>60</timeout> + </arp> + </ipv4> + </ip-config> + <ports> + <ports-state> + <port> + <name>phy-eth1/1/1</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>131137546</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/2</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>131137546</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/3</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>131137546</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/4</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/5</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/6</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/7</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/8</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/9</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/10</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/11</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/12</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/13</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/14</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/15</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/16</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/17</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/18</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/19</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/20</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/21</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/22</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/23</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/24</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/25</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/26</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/27</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/28</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/29</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/30</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/31</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/32</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + </ports-state> + </ports> + <system-state> + <system-status> + <uptime>162762</uptime> + </system-status> + </system-state> + </data> + <bulk> + <data> + <interface> + <name>ethernet1/1/1</name> + <type>ianaift:ethernetCsmacd</type> + <admin-status>up</admin-status> + <oper-status>up</oper-status> + <if-index>17305068</if-index> + <phys-address>14:18:77:09:ae:01</phys-address> + <speed>40000000000</speed> + <statistics> + <in-octets>884475</in-octets> + <in-unicast-pkts>0</in-unicast-pkts> + <in-broadcast-pkts>0</in-broadcast-pkts> + <in-multicast-pkts>5429</in-multicast-pkts> + <in-discards>0</in-discards> + <in-errors>0</in-errors> + <in-unknown-protos>0</in-unknown-protos> + <out-octets>6212880</out-octets> + <out-unicast-pkts>0</out-unicast-pkts> + <out-broadcast-pkts>0</out-broadcast-pkts> + <out-multicast-pkts>88684</out-multicast-pkts> + <out-discards>0</out-discards> + <out-errors>0</out-errors> + <if-out-qlen>0</if-out-qlen> + <ether-drop-events>0</ether-drop-events> + <ether-multicast-pkts>94113</ether-multicast-pkts> + <ether-broadcast-pkts>0</ether-broadcast-pkts> + <ether-undersize-pkts>0</ether-undersize-pkts> + <ether-fragments>0</ether-fragments> + <ether-oversize-pkts>0</ether-oversize-pkts> + <ether-rx-oversize-pkts>0</ether-rx-oversize-pkts> + <ether-tx-oversize-pkts>0</ether-tx-oversize-pkts> + <ether-jabbers>0</ether-jabbers> + <ether-octets>7097355</ether-octets> + <ether-pkts>94113</ether-pkts> + <ether-collisions>0</ether-collisions> + <ether-crc-align-errors>0</ether-crc-align-errors> + <ether-tx-no-errors>88684</ether-tx-no-errors> + <ether-rx-no-errors>5429</ether-rx-no-errors> + <green-discard-dropped-packets>0</green-discard-dropped-packets> + <green-discard-dropped-bytes>0</green-discard-dropped-bytes> + <yellow-discard-dropped-packets>0</yellow-discard-dropped-packets> + <yellow-discard-dropped-bytes>0</yellow-discard-dropped-bytes> + <red-discard-dropped-packets>0</red-discard-dropped-packets> + <red-discard-dropped-bytes>0</red-discard-dropped-bytes> + <discard-dropped-packets>0</discard-dropped-packets> + <discard-dropped-bytes>0</discard-dropped-bytes> + <ether-in-pkts-64-octets>4</ether-in-pkts-64-octets> + <ether-in-pkts-65-to-127-octets>0</ether-in-pkts-65-to-127-octets> + <ether-in-pkts-128-to-255-octets>5425</ether-in-pkts-128-to-255-octets> + <ether-in-pkts-256-to-511-octets>0</ether-in-pkts-256-to-511-octets> + <ether-in-pkts-512-to-1023-octets>0</ether-in-pkts-512-to-1023-octets> + <ether-in-pkts-1024-to-1518-octets>0</ether-in-pkts-1024-to-1518-octets> + <ether-in-pkts-1519-to-2047-octets>0</ether-in-pkts-1519-to-2047-octets> + <ether-in-pkts-2048-to-4095-octets>0</ether-in-pkts-2048-to-4095-octets> + <ether-in-pkts-4096-to-9216-octets>0</ether-in-pkts-4096-to-9216-octets> + <ether-in-pkts-9217-to-16383-octets>0</ether-in-pkts-9217-to-16383-octets> + <ether-out-pkts-64-octets>83258</ether-out-pkts-64-octets> + <ether-out-pkts-65-to-127-octets>0</ether-out-pkts-65-to-127-octets> + <ether-out-pkts-128-to-255-octets>5426</ether-out-pkts-128-to-255-octets> + <ether-out-pkts-256-to-511-octets>0</ether-out-pkts-256-to-511-octets> + <ether-out-pkts-512-to-1023-octets>0</ether-out-pkts-512-to-1023-octets> + <ether-out-pkts-1024-to-1518-octets>0</ether-out-pkts-1024-to-1518-octets> + <ether-out-pkts-1519-to-2047-octets>0</ether-out-pkts-1519-to-2047-octets> + <ether-out-pkts-2048-to-4095-octets>0</ether-out-pkts-2048-to-4095-octets> + <ether-out-pkts-4096-to-9216-octets>0</ether-out-pkts-4096-to-9216-octets> + <ether-out-pkts-9217-to-16383-octets>0</ether-out-pkts-9217-to-16383-octets> + <pause-rx-pkts>0</pause-rx-pkts> + <pause-tx-pkts>0</pause-tx-pkts> + <in-pkts>5429</in-pkts> + <out-pkts>88684</out-pkts> + <utilization-percentage>0</utilization-percentage> + <in-bit-rate>0</in-bit-rate> + <in-pkt-rate>0</in-pkt-rate> + <in-line-rate>0</in-line-rate> + <out-bit-rate>0</out-bit-rate> + <out-pkt-rate>0</out-pkt-rate> + <out-line-rate>0</out-line-rate> + <lacp-statistics> + <lacpdus-rx>0</lacpdus-rx> + <lacpdus-tx>0</lacpdus-tx> + <unknown-rx>0</unknown-rx> + <illegal-rx>0</illegal-rx> + <marker-pdus-tx>0</marker-pdus-tx> + <marker-response-pdus-tx>0</marker-response-pdus-tx> + <marker-pdus-rx>0</marker-pdus-rx> + <marker-response-pdus-rx>0</marker-response-pdus-rx> + </lacp-statistics> + <dcbx-stats> + <ets-conf-tx-tlv-count>0</ets-conf-tx-tlv-count> + <ets-conf-rx-tlv-count>0</ets-conf-rx-tlv-count> + <ets-conf-rx-tlv-errors>0</ets-conf-rx-tlv-errors> + <ets-reco-tx-tlv-count>0</ets-reco-tx-tlv-count> + <ets-reco-rx-tlv-count>0</ets-reco-rx-tlv-count> + <ets-reco-rx-tlv-errors>0</ets-reco-rx-tlv-errors> + <pfc-tx-tlv-count>0</pfc-tx-tlv-count> + <pfc-rx-tlv-count>0</pfc-rx-tlv-count> + <pfc-rx-tlv-errors>0</pfc-rx-tlv-errors> + <app-prio-tx-tlv-count>0</app-prio-tx-tlv-count> + <app-prio-rx-tlv-count>0</app-prio-rx-tlv-count> + <app-prio-rx-tlv-errors>0</app-prio-rx-tlv-errors> + <dcbx-frames-tx-total>0</dcbx-frames-tx-total> + <dcbx-frames-rx-total>0</dcbx-frames-rx-total> + <dcbx-frames-error-total>0</dcbx-frames-error-total> + <dcbx-frames-unrecognized>0</dcbx-frames-unrecognized> + </dcbx-stats> + </statistics> + <auto-negotiation>true</auto-negotiation> + <supported-speed>40GIGE</supported-speed> + <supported-autoneg>BOTH_SUPPORTED</supported-autoneg> + <fec>not-supported</fec> + <npu-speed>0MBPS</npu-speed> + <current-phys-address>14:18:77:09:ae:01</current-phys-address> + <last-change-time>44</last-change-time> + <last-counter-clear>16272700</last-counter-clear> + <load-interval>30</load-interval> + <mtu>1532</mtu> + <eee-state>n/a</eee-state> + <qos-if-params> + <flow-control-rx>false</flow-control-rx> + <flow-control-tx>false</flow-control-tx> + <pfc-mode>false</pfc-mode> + <ets-mode>false</ets-mode> + <unknown-unicast-rate-pps>0</unknown-unicast-rate-pps> + <weight-info> + <queue-id>0</queue-id> + <weight>1</weight> + </weight-info> + <weight-info> + <queue-id>1</queue-id> + <weight>2</weight> + </weight-info> + <weight-info> + <queue-id>2</queue-id> + <weight>3</weight> + </weight-info> + <weight-info> + <queue-id>3</queue-id> + <weight>4</weight> + </weight-info> + <weight-info> + <queue-id>4</queue-id> + <weight>5</weight> + </weight-info> + <weight-info> + <queue-id>5</queue-id> + <weight>10</weight> + </weight-info> + <weight-info> + <queue-id>6</queue-id> + <weight>25</weight> + </weight-info> + <weight-info> + <queue-id>7</queue-id> + <weight>50</weight> + </weight-info> + </qos-if-params> + <ipv4-info/> + <ipv6> + <enable-status>false</enable-status> + </ipv6> + <fc-intf-params> + <port-type>Disabled</port-type> + <pwwn>00:00:00:00:00:00:00:00</pwwn> + <fc-id>00:00:00</fc-id> + <bb-credit>0</bb-credit> + </fc-intf-params> + </interface> + </data> + <last-keys> + <name>ethernet1/1/1</name> + </last-keys> + </bulk> +</rpc-reply> +<?xml version="1.0"?> +<rpc-reply> + <data> + <cms-interface-backptr> + <interface-in-running> + <name>ethernet1/1/2</name> + </interface-in-running> + </cms-interface-backptr> + <interfaces> + <interface> + <name>ethernet1/1/2</name> + <type>ianaift:ethernetCsmacd</type> + <enabled>true</enabled> + <mtu>1532</mtu> + <mac-learn>HW</mac-learn> + <mode>MODE_L2DISABLED</mode> + <load-interval>299</load-interval> + <duplex>auto</duplex> + <speed>AUTO</speed> + <keepalive>true</keepalive> + <lldp-med-cfg> + <med-enable>true</med-enable> + <notif-enable>false</notif-enable> + </lldp-med-cfg> + <lldp> + <tx-enable>true</tx-enable> + <rx-enable>true</rx-enable> + </lldp> + </interface> + </interfaces> + <ip-config> + <ipv4> + <arp> + <timeout>60</timeout> + </arp> + </ipv4> + </ip-config> + <ports> + <ports-state> + <port> + <name>phy-eth1/1/1</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>131137546</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/2</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>131137546</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/3</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>131137546</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/4</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/5</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/6</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/7</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/8</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/9</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/10</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/11</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/12</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/13</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/14</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/15</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/16</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/17</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/18</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/19</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/20</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/21</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/22</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/23</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/24</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/25</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/26</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/27</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/28</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/29</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/30</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/31</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/32</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + </ports-state> + </ports> + <system-state> + <system-status> + <uptime>162762</uptime> + </system-status> + </system-state> + </data> + <bulk> + <data> + <interface> + <name>ethernet1/1/2</name> + <type>ianaift:ethernetCsmacd</type> + <admin-status>up</admin-status> + <oper-status>up</oper-status> + <if-index>17305094</if-index> + <phys-address>14:18:77:09:ae:05</phys-address> + <speed>40000000000</speed> + <statistics> + <in-octets>6220575</in-octets> + <in-unicast-pkts>0</in-unicast-pkts> + <in-broadcast-pkts>0</in-broadcast-pkts> + <in-multicast-pkts>88787</in-multicast-pkts> + <in-discards>0</in-discards> + <in-errors>0</in-errors> + <in-unknown-protos>0</in-unknown-protos> + <out-octets>892090</out-octets> + <out-unicast-pkts>0</out-unicast-pkts> + <out-broadcast-pkts>0</out-broadcast-pkts> + <out-multicast-pkts>5523</out-multicast-pkts> + <out-discards>0</out-discards> + <out-errors>0</out-errors> + <if-out-qlen>0</if-out-qlen> + <ether-drop-events>0</ether-drop-events> + <ether-multicast-pkts>94310</ether-multicast-pkts> + <ether-broadcast-pkts>0</ether-broadcast-pkts> + <ether-undersize-pkts>0</ether-undersize-pkts> + <ether-fragments>0</ether-fragments> + <ether-oversize-pkts>0</ether-oversize-pkts> + <ether-rx-oversize-pkts>0</ether-rx-oversize-pkts> + <ether-tx-oversize-pkts>0</ether-tx-oversize-pkts> + <ether-jabbers>0</ether-jabbers> + <ether-octets>7112665</ether-octets> + <ether-pkts>94310</ether-pkts> + <ether-collisions>0</ether-collisions> + <ether-crc-align-errors>0</ether-crc-align-errors> + <ether-tx-no-errors>5523</ether-tx-no-errors> + <ether-rx-no-errors>88787</ether-rx-no-errors> + <green-discard-dropped-packets>0</green-discard-dropped-packets> + <green-discard-dropped-bytes>0</green-discard-dropped-bytes> + <yellow-discard-dropped-packets>0</yellow-discard-dropped-packets> + <yellow-discard-dropped-bytes>0</yellow-discard-dropped-bytes> + <red-discard-dropped-packets>0</red-discard-dropped-packets> + <red-discard-dropped-bytes>0</red-discard-dropped-bytes> + <discard-dropped-packets>0</discard-dropped-packets> + <discard-dropped-bytes>0</discard-dropped-bytes> + <ether-in-pkts-64-octets>83350</ether-in-pkts-64-octets> + <ether-in-pkts-65-to-127-octets>0</ether-in-pkts-65-to-127-octets> + <ether-in-pkts-128-to-255-octets>5437</ether-in-pkts-128-to-255-octets> + <ether-in-pkts-256-to-511-octets>0</ether-in-pkts-256-to-511-octets> + <ether-in-pkts-512-to-1023-octets>0</ether-in-pkts-512-to-1023-octets> + <ether-in-pkts-1024-to-1518-octets>0</ether-in-pkts-1024-to-1518-octets> + <ether-in-pkts-1519-to-2047-octets>0</ether-in-pkts-1519-to-2047-octets> + <ether-in-pkts-2048-to-4095-octets>0</ether-in-pkts-2048-to-4095-octets> + <ether-in-pkts-4096-to-9216-octets>0</ether-in-pkts-4096-to-9216-octets> + <ether-in-pkts-9217-to-16383-octets>0</ether-in-pkts-9217-to-16383-octets> + <ether-out-pkts-64-octets>77</ether-out-pkts-64-octets> + <ether-out-pkts-65-to-127-octets>6</ether-out-pkts-65-to-127-octets> + <ether-out-pkts-128-to-255-octets>5440</ether-out-pkts-128-to-255-octets> + <ether-out-pkts-256-to-511-octets>0</ether-out-pkts-256-to-511-octets> + <ether-out-pkts-512-to-1023-octets>0</ether-out-pkts-512-to-1023-octets> + <ether-out-pkts-1024-to-1518-octets>0</ether-out-pkts-1024-to-1518-octets> + <ether-out-pkts-1519-to-2047-octets>0</ether-out-pkts-1519-to-2047-octets> + <ether-out-pkts-2048-to-4095-octets>0</ether-out-pkts-2048-to-4095-octets> + <ether-out-pkts-4096-to-9216-octets>0</ether-out-pkts-4096-to-9216-octets> + <ether-out-pkts-9217-to-16383-octets>0</ether-out-pkts-9217-to-16383-octets> + <pause-rx-pkts>0</pause-rx-pkts> + <pause-tx-pkts>0</pause-tx-pkts> + <in-pkts>88787</in-pkts> + <out-pkts>5523</out-pkts> + <utilization-percentage>0</utilization-percentage> + <in-bit-rate>0</in-bit-rate> + <in-pkt-rate>0</in-pkt-rate> + <in-line-rate>0</in-line-rate> + <out-bit-rate>0</out-bit-rate> + <out-pkt-rate>0</out-pkt-rate> + <out-line-rate>0</out-line-rate> + <lacp-statistics> + <lacpdus-rx>0</lacpdus-rx> + <lacpdus-tx>0</lacpdus-tx> + <unknown-rx>0</unknown-rx> + <illegal-rx>0</illegal-rx> + <marker-pdus-tx>0</marker-pdus-tx> + <marker-response-pdus-tx>0</marker-response-pdus-tx> + <marker-pdus-rx>0</marker-pdus-rx> + <marker-response-pdus-rx>0</marker-response-pdus-rx> + </lacp-statistics> + <dcbx-stats> + <ets-conf-tx-tlv-count>0</ets-conf-tx-tlv-count> + <ets-conf-rx-tlv-count>0</ets-conf-rx-tlv-count> + <ets-conf-rx-tlv-errors>0</ets-conf-rx-tlv-errors> + <ets-reco-tx-tlv-count>0</ets-reco-tx-tlv-count> + <ets-reco-rx-tlv-count>0</ets-reco-rx-tlv-count> + <ets-reco-rx-tlv-errors>0</ets-reco-rx-tlv-errors> + <pfc-tx-tlv-count>0</pfc-tx-tlv-count> + <pfc-rx-tlv-count>0</pfc-rx-tlv-count> + <pfc-rx-tlv-errors>0</pfc-rx-tlv-errors> + <app-prio-tx-tlv-count>0</app-prio-tx-tlv-count> + <app-prio-rx-tlv-count>0</app-prio-rx-tlv-count> + <app-prio-rx-tlv-errors>0</app-prio-rx-tlv-errors> + <dcbx-frames-tx-total>0</dcbx-frames-tx-total> + <dcbx-frames-rx-total>0</dcbx-frames-rx-total> + <dcbx-frames-error-total>0</dcbx-frames-error-total> + <dcbx-frames-unrecognized>0</dcbx-frames-unrecognized> + </dcbx-stats> + </statistics> + <auto-negotiation>true</auto-negotiation> + <supported-speed>40GIGE</supported-speed> + <supported-autoneg>BOTH_SUPPORTED</supported-autoneg> + <fec>not-supported</fec> + <npu-speed>0MBPS</npu-speed> + <current-phys-address>14:18:77:09:ae:05</current-phys-address> + <last-change-time>44</last-change-time> + <last-counter-clear>16306900</last-counter-clear> + <load-interval>30</load-interval> + <mtu>1532</mtu> + <eee-state>n/a</eee-state> + <qos-if-params> + <flow-control-rx>false</flow-control-rx> + <flow-control-tx>false</flow-control-tx> + <pfc-mode>false</pfc-mode> + <ets-mode>false</ets-mode> + <unknown-unicast-rate-pps>0</unknown-unicast-rate-pps> + <weight-info> + <queue-id>0</queue-id> + <weight>1</weight> + </weight-info> + <weight-info> + <queue-id>1</queue-id> + <weight>2</weight> + </weight-info> + <weight-info> + <queue-id>2</queue-id> + <weight>3</weight> + </weight-info> + <weight-info> + <queue-id>3</queue-id> + <weight>4</weight> + </weight-info> + <weight-info> + <queue-id>4</queue-id> + <weight>5</weight> + </weight-info> + <weight-info> + <queue-id>5</queue-id> + <weight>10</weight> + </weight-info> + <weight-info> + <queue-id>6</queue-id> + <weight>25</weight> + </weight-info> + <weight-info> + <queue-id>7</queue-id> + <weight>50</weight> + </weight-info> + </qos-if-params> + <ipv4-info/> + <ipv6> + <enable-status>true</enable-status> + <link-local-addr>fe80::1618:77ff:fe09:ae05/64</link-local-addr> + </ipv6> + <fc-intf-params> + <port-type>Disabled</port-type> + <pwwn>00:00:00:00:00:00:00:00</pwwn> + <fc-id>00:00:00</fc-id> + <bb-credit>0</bb-credit> + </fc-intf-params> + </interface> + </data> + <last-keys> + <name>ethernet1/1/2</name> + </last-keys> + </bulk> +</rpc-reply> +<?xml version="1.0"?> +<rpc-reply> + <data> + <cms-interface-backptr> + <interface-in-running> + <name>ethernet1/1/3</name> + <untagged-vlan>vlan1</untagged-vlan> + </interface-in-running> + </cms-interface-backptr> + <interfaces> + <interface> + <name>ethernet1/1/3</name> + <type>ianaift:ethernetCsmacd</type> + <enabled>true</enabled> + <mtu>1532</mtu> + <mac-learn>HW</mac-learn> + <mode>MODE_L2</mode> + <load-interval>299</load-interval> + <duplex>auto</duplex> + <speed>AUTO</speed> + <keepalive>true</keepalive> + <lldp-med-cfg> + <med-enable>true</med-enable> + <notif-enable>false</notif-enable> + </lldp-med-cfg> + <lldp> + <tx-enable>true</tx-enable> + <rx-enable>true</rx-enable> + </lldp> + </interface> + </interfaces> + <ip-config> + <ipv4> + <arp> + <timeout>60</timeout> + </arp> + </ipv4> + </ip-config> + <ports> + <ports-state> + <port> + <name>phy-eth1/1/1</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>131137546</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/2</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>131137546</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/3</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>131137546</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/4</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/5</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/6</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/7</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/8</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/9</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/10</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/11</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/12</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/13</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/14</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/15</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/16</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/17</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/18</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/19</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/20</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/21</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/22</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/23</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/24</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/25</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/26</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/27</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/28</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/29</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/30</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/31</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/32</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + </ports-state> + </ports> + <system-state> + <system-status> + <uptime>162762</uptime> + </system-status> + </system-state> + </data> + <bulk> + <data> + <interface> + <name>ethernet1/1/3</name> + <type>ianaift:ethernetCsmacd</type> + <admin-status>up</admin-status> + <oper-status>up</oper-status> + <if-index>17305120</if-index> + <phys-address>14:18:77:09:ae:09</phys-address> + <speed>40000000000</speed> + <statistics> + <in-octets>6396220</in-octets> + <in-unicast-pkts>0</in-unicast-pkts> + <in-broadcast-pkts>0</in-broadcast-pkts> + <in-multicast-pkts>91295</in-multicast-pkts> + <in-discards>0</in-discards> + <in-errors>0</in-errors> + <in-unknown-protos>0</in-unknown-protos> + <out-octets>911207</out-octets> + <out-unicast-pkts>0</out-unicast-pkts> + <out-broadcast-pkts>0</out-broadcast-pkts> + <out-multicast-pkts>5593</out-multicast-pkts> + <out-discards>0</out-discards> + <out-errors>0</out-errors> + <if-out-qlen>0</if-out-qlen> + <ether-drop-events>0</ether-drop-events> + <ether-multicast-pkts>96888</ether-multicast-pkts> + <ether-broadcast-pkts>0</ether-broadcast-pkts> + <ether-undersize-pkts>0</ether-undersize-pkts> + <ether-fragments>0</ether-fragments> + <ether-oversize-pkts>0</ether-oversize-pkts> + <ether-rx-oversize-pkts>0</ether-rx-oversize-pkts> + <ether-tx-oversize-pkts>0</ether-tx-oversize-pkts> + <ether-jabbers>0</ether-jabbers> + <ether-octets>7307427</ether-octets> + <ether-pkts>96888</ether-pkts> + <ether-collisions>0</ether-collisions> + <ether-crc-align-errors>0</ether-crc-align-errors> + <ether-tx-no-errors>5593</ether-tx-no-errors> + <ether-rx-no-errors>91295</ether-rx-no-errors> + <green-discard-dropped-packets>0</green-discard-dropped-packets> + <green-discard-dropped-bytes>0</green-discard-dropped-bytes> + <yellow-discard-dropped-packets>0</yellow-discard-dropped-packets> + <yellow-discard-dropped-bytes>0</yellow-discard-dropped-bytes> + <red-discard-dropped-packets>0</red-discard-dropped-packets> + <red-discard-dropped-bytes>0</red-discard-dropped-bytes> + <discard-dropped-packets>0</discard-dropped-packets> + <discard-dropped-bytes>0</discard-dropped-bytes> + <ether-in-pkts-64-octets>85705</ether-in-pkts-64-octets> + <ether-in-pkts-65-to-127-octets>0</ether-in-pkts-65-to-127-octets> + <ether-in-pkts-128-to-255-octets>5590</ether-in-pkts-128-to-255-octets> + <ether-in-pkts-256-to-511-octets>0</ether-in-pkts-256-to-511-octets> + <ether-in-pkts-512-to-1023-octets>0</ether-in-pkts-512-to-1023-octets> + <ether-in-pkts-1024-to-1518-octets>0</ether-in-pkts-1024-to-1518-octets> + <ether-in-pkts-1519-to-2047-octets>0</ether-in-pkts-1519-to-2047-octets> + <ether-in-pkts-2048-to-4095-octets>0</ether-in-pkts-2048-to-4095-octets> + <ether-in-pkts-4096-to-9216-octets>0</ether-in-pkts-4096-to-9216-octets> + <ether-in-pkts-9217-to-16383-octets>0</ether-in-pkts-9217-to-16383-octets> + <ether-out-pkts-64-octets>4</ether-out-pkts-64-octets> + <ether-out-pkts-65-to-127-octets>0</ether-out-pkts-65-to-127-octets> + <ether-out-pkts-128-to-255-octets>5589</ether-out-pkts-128-to-255-octets> + <ether-out-pkts-256-to-511-octets>0</ether-out-pkts-256-to-511-octets> + <ether-out-pkts-512-to-1023-octets>0</ether-out-pkts-512-to-1023-octets> + <ether-out-pkts-1024-to-1518-octets>0</ether-out-pkts-1024-to-1518-octets> + <ether-out-pkts-1519-to-2047-octets>0</ether-out-pkts-1519-to-2047-octets> + <ether-out-pkts-2048-to-4095-octets>0</ether-out-pkts-2048-to-4095-octets> + <ether-out-pkts-4096-to-9216-octets>0</ether-out-pkts-4096-to-9216-octets> + <ether-out-pkts-9217-to-16383-octets>0</ether-out-pkts-9217-to-16383-octets> + <pause-rx-pkts>0</pause-rx-pkts> + <pause-tx-pkts>0</pause-tx-pkts> + <in-pkts>91295</in-pkts> + <out-pkts>5593</out-pkts> + <utilization-percentage>0</utilization-percentage> + <in-bit-rate>0</in-bit-rate> + <in-pkt-rate>0</in-pkt-rate> + <in-line-rate>0</in-line-rate> + <out-bit-rate>0</out-bit-rate> + <out-pkt-rate>0</out-pkt-rate> + <out-line-rate>0</out-line-rate> + <lacp-statistics> + <lacpdus-rx>0</lacpdus-rx> + <lacpdus-tx>0</lacpdus-tx> + <unknown-rx>0</unknown-rx> + <illegal-rx>0</illegal-rx> + <marker-pdus-tx>0</marker-pdus-tx> + <marker-response-pdus-tx>0</marker-response-pdus-tx> + <marker-pdus-rx>0</marker-pdus-rx> + <marker-response-pdus-rx>0</marker-response-pdus-rx> + </lacp-statistics> + <dcbx-stats> + <ets-conf-tx-tlv-count>0</ets-conf-tx-tlv-count> + <ets-conf-rx-tlv-count>0</ets-conf-rx-tlv-count> + <ets-conf-rx-tlv-errors>0</ets-conf-rx-tlv-errors> + <ets-reco-tx-tlv-count>0</ets-reco-tx-tlv-count> + <ets-reco-rx-tlv-count>0</ets-reco-rx-tlv-count> + <ets-reco-rx-tlv-errors>0</ets-reco-rx-tlv-errors> + <pfc-tx-tlv-count>0</pfc-tx-tlv-count> + <pfc-rx-tlv-count>0</pfc-rx-tlv-count> + <pfc-rx-tlv-errors>0</pfc-rx-tlv-errors> + <app-prio-tx-tlv-count>0</app-prio-tx-tlv-count> + <app-prio-rx-tlv-count>0</app-prio-rx-tlv-count> + <app-prio-rx-tlv-errors>0</app-prio-rx-tlv-errors> + <dcbx-frames-tx-total>0</dcbx-frames-tx-total> + <dcbx-frames-rx-total>0</dcbx-frames-rx-total> + <dcbx-frames-error-total>0</dcbx-frames-error-total> + <dcbx-frames-unrecognized>0</dcbx-frames-unrecognized> + </dcbx-stats> + </statistics> + <auto-negotiation>true</auto-negotiation> + <supported-speed>40GIGE</supported-speed> + <supported-autoneg>BOTH_SUPPORTED</supported-autoneg> + <fec>not-supported</fec> + <npu-speed>0MBPS</npu-speed> + <current-phys-address>14:18:77:09:ae:09</current-phys-address> + <last-change-time>44</last-change-time> + <last-counter-clear>16764600</last-counter-clear> + <load-interval>30</load-interval> + <mtu>1532</mtu> + <eee-state>n/a</eee-state> + <qos-if-params> + <flow-control-rx>false</flow-control-rx> + <flow-control-tx>false</flow-control-tx> + <pfc-mode>false</pfc-mode> + <ets-mode>false</ets-mode> + <unknown-unicast-rate-pps>0</unknown-unicast-rate-pps> + <weight-info> + <queue-id>0</queue-id> + <weight>1</weight> + </weight-info> + <weight-info> + <queue-id>1</queue-id> + <weight>2</weight> + </weight-info> + <weight-info> + <queue-id>2</queue-id> + <weight>3</weight> + </weight-info> + <weight-info> + <queue-id>3</queue-id> + <weight>4</weight> + </weight-info> + <weight-info> + <queue-id>4</queue-id> + <weight>5</weight> + </weight-info> + <weight-info> + <queue-id>5</queue-id> + <weight>10</weight> + </weight-info> + <weight-info> + <queue-id>6</queue-id> + <weight>25</weight> + </weight-info> + <weight-info> + <queue-id>7</queue-id> + <weight>50</weight> + </weight-info> + </qos-if-params> + <ipv4-info/> + <ipv6> + <enable-status>false</enable-status> + </ipv6> + <fc-intf-params> + <port-type>Disabled</port-type> + <pwwn>00:00:00:00:00:00:00:00</pwwn> + <fc-id>00:00:00</fc-id> + <bb-credit>0</bb-credit> + </fc-intf-params> + </interface> + </data> + <last-keys> + <name>ethernet1/1/3</name> + </last-keys> + </bulk> +</rpc-reply> +<?xml version="1.0"?> +<rpc-reply> + <data> + <cms-interface-backptr> + <interface-in-running> + <name>ethernet1/1/4</name> + <untagged-vlan>vlan1</untagged-vlan> + </interface-in-running> + </cms-interface-backptr> + <interfaces> + <interface> + <name>ethernet1/1/4</name> + <type>ianaift:ethernetCsmacd</type> + <enabled>true</enabled> + <mtu>1532</mtu> + <mac-learn>HW</mac-learn> + <mode>MODE_L2</mode> + <load-interval>299</load-interval> + <duplex>auto</duplex> + <speed>AUTO</speed> + <keepalive>true</keepalive> + <lldp-med-cfg> + <med-enable>true</med-enable> + <notif-enable>false</notif-enable> + </lldp-med-cfg> + <lldp> + <tx-enable>true</tx-enable> + <rx-enable>true</rx-enable> + </lldp> + </interface> + </interfaces> + <ip-config> + <ipv4> + <arp> + <timeout>60</timeout> + </arp> + </ipv4> + </ip-config> + <ports> + <ports-state> + <port> + <name>phy-eth1/1/1</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>131137546</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/2</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>131137546</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/3</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>131137546</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/4</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/5</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/6</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/7</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/8</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/9</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/10</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/11</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/12</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/13</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/14</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/15</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/16</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/17</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/18</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/19</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/20</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/21</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/22</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/23</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/24</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/25</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/26</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/27</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/28</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/29</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/30</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/31</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/32</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + </ports-state> + </ports> + <system-state> + <system-status> + <uptime>162762</uptime> + </system-status> + </system-state> + </data> + <bulk> + <data> + <interface> + <name>ethernet1/1/4</name> + <type>ianaift:ethernetCsmacd</type> + <admin-status>up</admin-status> + <oper-status>up</oper-status> + <if-index>17305146</if-index> + <phys-address>14:18:77:09:ae:0d</phys-address> + <speed>40000000000</speed> + <statistics> + <in-octets>919800</in-octets> + <in-unicast-pkts>0</in-unicast-pkts> + <in-broadcast-pkts>0</in-broadcast-pkts> + <in-multicast-pkts>5693</in-multicast-pkts> + <in-discards>0</in-discards> + <in-errors>0</in-errors> + <in-unknown-protos>0</in-unknown-protos> + <out-octets>6410845</out-octets> + <out-unicast-pkts>0</out-unicast-pkts> + <out-broadcast-pkts>0</out-broadcast-pkts> + <out-multicast-pkts>91497</out-multicast-pkts> + <out-discards>0</out-discards> + <out-errors>0</out-errors> + <if-out-qlen>0</if-out-qlen> + <ether-drop-events>0</ether-drop-events> + <ether-multicast-pkts>97190</ether-multicast-pkts> + <ether-broadcast-pkts>0</ether-broadcast-pkts> + <ether-undersize-pkts>0</ether-undersize-pkts> + <ether-fragments>0</ether-fragments> + <ether-oversize-pkts>0</ether-oversize-pkts> + <ether-rx-oversize-pkts>0</ether-rx-oversize-pkts> + <ether-tx-oversize-pkts>0</ether-tx-oversize-pkts> + <ether-jabbers>0</ether-jabbers> + <ether-octets>7330645</ether-octets> + <ether-pkts>97190</ether-pkts> + <ether-collisions>0</ether-collisions> + <ether-crc-align-errors>0</ether-crc-align-errors> + <ether-tx-no-errors>91497</ether-tx-no-errors> + <ether-rx-no-errors>5693</ether-rx-no-errors> + <green-discard-dropped-packets>0</green-discard-dropped-packets> + <green-discard-dropped-bytes>0</green-discard-dropped-bytes> + <yellow-discard-dropped-packets>0</yellow-discard-dropped-packets> + <yellow-discard-dropped-bytes>0</yellow-discard-dropped-bytes> + <red-discard-dropped-packets>0</red-discard-dropped-packets> + <red-discard-dropped-bytes>0</red-discard-dropped-bytes> + <discard-dropped-packets>0</discard-dropped-packets> + <discard-dropped-bytes>0</discard-dropped-bytes> + <ether-in-pkts-64-octets>77</ether-in-pkts-64-octets> + <ether-in-pkts-65-to-127-octets>6</ether-in-pkts-65-to-127-octets> + <ether-in-pkts-128-to-255-octets>5610</ether-in-pkts-128-to-255-octets> + <ether-in-pkts-256-to-511-octets>0</ether-in-pkts-256-to-511-octets> + <ether-in-pkts-512-to-1023-octets>0</ether-in-pkts-512-to-1023-octets> + <ether-in-pkts-1024-to-1518-octets>0</ether-in-pkts-1024-to-1518-octets> + <ether-in-pkts-1519-to-2047-octets>0</ether-in-pkts-1519-to-2047-octets> + <ether-in-pkts-2048-to-4095-octets>0</ether-in-pkts-2048-to-4095-octets> + <ether-in-pkts-4096-to-9216-octets>0</ether-in-pkts-4096-to-9216-octets> + <ether-in-pkts-9217-to-16383-octets>0</ether-in-pkts-9217-to-16383-octets> + <ether-out-pkts-64-octets>85890</ether-out-pkts-64-octets> + <ether-out-pkts-65-to-127-octets>0</ether-out-pkts-65-to-127-octets> + <ether-out-pkts-128-to-255-octets>5607</ether-out-pkts-128-to-255-octets> + <ether-out-pkts-256-to-511-octets>0</ether-out-pkts-256-to-511-octets> + <ether-out-pkts-512-to-1023-octets>0</ether-out-pkts-512-to-1023-octets> + <ether-out-pkts-1024-to-1518-octets>0</ether-out-pkts-1024-to-1518-octets> + <ether-out-pkts-1519-to-2047-octets>0</ether-out-pkts-1519-to-2047-octets> + <ether-out-pkts-2048-to-4095-octets>0</ether-out-pkts-2048-to-4095-octets> + <ether-out-pkts-4096-to-9216-octets>0</ether-out-pkts-4096-to-9216-octets> + <ether-out-pkts-9217-to-16383-octets>0</ether-out-pkts-9217-to-16383-octets> + <pause-rx-pkts>0</pause-rx-pkts> + <pause-tx-pkts>0</pause-tx-pkts> + <in-pkts>5693</in-pkts> + <out-pkts>91497</out-pkts> + <utilization-percentage>0</utilization-percentage> + <in-bit-rate>0</in-bit-rate> + <in-pkt-rate>0</in-pkt-rate> + <in-line-rate>0</in-line-rate> + <out-bit-rate>0</out-bit-rate> + <out-pkt-rate>0</out-pkt-rate> + <out-line-rate>0</out-line-rate> + <lacp-statistics> + <lacpdus-rx>0</lacpdus-rx> + <lacpdus-tx>0</lacpdus-tx> + <unknown-rx>0</unknown-rx> + <illegal-rx>0</illegal-rx> + <marker-pdus-tx>0</marker-pdus-tx> + <marker-response-pdus-tx>0</marker-response-pdus-tx> + <marker-pdus-rx>0</marker-pdus-rx> + <marker-response-pdus-rx>0</marker-response-pdus-rx> + </lacp-statistics> + <dcbx-stats> + <ets-conf-tx-tlv-count>0</ets-conf-tx-tlv-count> + <ets-conf-rx-tlv-count>0</ets-conf-rx-tlv-count> + <ets-conf-rx-tlv-errors>0</ets-conf-rx-tlv-errors> + <ets-reco-tx-tlv-count>0</ets-reco-tx-tlv-count> + <ets-reco-rx-tlv-count>0</ets-reco-rx-tlv-count> + <ets-reco-rx-tlv-errors>0</ets-reco-rx-tlv-errors> + <pfc-tx-tlv-count>0</pfc-tx-tlv-count> + <pfc-rx-tlv-count>0</pfc-rx-tlv-count> + <pfc-rx-tlv-errors>0</pfc-rx-tlv-errors> + <app-prio-tx-tlv-count>0</app-prio-tx-tlv-count> + <app-prio-rx-tlv-count>0</app-prio-rx-tlv-count> + <app-prio-rx-tlv-errors>0</app-prio-rx-tlv-errors> + <dcbx-frames-tx-total>0</dcbx-frames-tx-total> + <dcbx-frames-rx-total>0</dcbx-frames-rx-total> + <dcbx-frames-error-total>0</dcbx-frames-error-total> + <dcbx-frames-unrecognized>0</dcbx-frames-unrecognized> + </dcbx-stats> + </statistics> + <auto-negotiation>true</auto-negotiation> + <supported-speed>40GIGE</supported-speed> + <supported-autoneg>BOTH_SUPPORTED</supported-autoneg> + <fec>not-supported</fec> + <npu-speed>0MBPS</npu-speed> + <current-phys-address>14:18:77:09:ae:0d</current-phys-address> + <last-change-time>44</last-change-time> + <last-counter-clear>16818100</last-counter-clear> + <load-interval>30</load-interval> + <mtu>1532</mtu> + <eee-state>n/a</eee-state> + <qos-if-params> + <flow-control-rx>false</flow-control-rx> + <flow-control-tx>false</flow-control-tx> + <pfc-mode>false</pfc-mode> + <ets-mode>false</ets-mode> + <unknown-unicast-rate-pps>0</unknown-unicast-rate-pps> + <weight-info> + <queue-id>0</queue-id> + <weight>1</weight> + </weight-info> + <weight-info> + <queue-id>1</queue-id> + <weight>2</weight> + </weight-info> + <weight-info> + <queue-id>2</queue-id> + <weight>3</weight> + </weight-info> + <weight-info> + <queue-id>3</queue-id> + <weight>4</weight> + </weight-info> + <weight-info> + <queue-id>4</queue-id> + <weight>5</weight> + </weight-info> + <weight-info> + <queue-id>5</queue-id> + <weight>10</weight> + </weight-info> + <weight-info> + <queue-id>6</queue-id> + <weight>25</weight> + </weight-info> + <weight-info> + <queue-id>7</queue-id> + <weight>50</weight> + </weight-info> + </qos-if-params> + <ipv4-info/> + <ipv6> + <enable-status>false</enable-status> + </ipv6> + <fc-intf-params> + <port-type>Disabled</port-type> + <pwwn>00:00:00:00:00:00:00:00</pwwn> + <fc-id>00:00:00</fc-id> + <bb-credit>0</bb-credit> + </fc-intf-params> + </interface> + </data> + <last-keys> + <name>ethernet1/1/4</name> + </last-keys> + </bulk> +</rpc-reply> +<?xml version="1.0"?> +<rpc-reply> + <data> + <cms-interface-backptr> + <interface-in-running> + <name>ethernet1/1/5</name> + <untagged-vlan>vlan1</untagged-vlan> + </interface-in-running> + </cms-interface-backptr> + <interfaces> + <interface> + <name>ethernet1/1/5</name> + <type>ianaift:ethernetCsmacd</type> + <enabled>true</enabled> + <mtu>1532</mtu> + <mac-learn>HW</mac-learn> + <mode>MODE_L2</mode> + <load-interval>299</load-interval> + <duplex>auto</duplex> + <speed>AUTO</speed> + <keepalive>true</keepalive> + <lldp-med-cfg> + <med-enable>true</med-enable> + <notif-enable>false</notif-enable> + </lldp-med-cfg> + <lldp> + <tx-enable>true</tx-enable> + <rx-enable>true</rx-enable> + </lldp> + </interface> + </interfaces> + <ip-config> + <ipv4> + <arp> + <timeout>60</timeout> + </arp> + </ipv4> + </ip-config> + <ports> + <ports-state> + <port> + <name>phy-eth1/1/1</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>131137546</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/2</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>131137546</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/3</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>131137546</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/4</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/5</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/6</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/7</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/8</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/9</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/10</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/11</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/12</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/13</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/14</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/15</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/16</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/17</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/18</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/19</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/20</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/21</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/22</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/23</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/24</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/25</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/26</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/27</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/28</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/29</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/30</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/31</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/32</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + </ports-state> + </ports> + <system-state> + <system-status> + <uptime>162762</uptime> + </system-status> + </system-state> + </data> + <bulk> + <data> + <interface> + <name>ethernet1/1/5</name> + <type>ianaift:ethernetCsmacd</type> + <admin-status>up</admin-status> + <oper-status>down</oper-status> + <if-index>17305172</if-index> + <phys-address>14:18:77:09:ae:11</phys-address> + <speed>0</speed> + <statistics> + <in-octets>0</in-octets> + <in-unicast-pkts>0</in-unicast-pkts> + <in-broadcast-pkts>0</in-broadcast-pkts> + <in-multicast-pkts>0</in-multicast-pkts> + <in-discards>0</in-discards> + <in-errors>0</in-errors> + <in-unknown-protos>0</in-unknown-protos> + <out-octets>0</out-octets> + <out-unicast-pkts>0</out-unicast-pkts> + <out-broadcast-pkts>0</out-broadcast-pkts> + <out-multicast-pkts>0</out-multicast-pkts> + <out-discards>0</out-discards> + <out-errors>0</out-errors> + <if-out-qlen>0</if-out-qlen> + <ether-drop-events>0</ether-drop-events> + <ether-multicast-pkts>0</ether-multicast-pkts> + <ether-broadcast-pkts>0</ether-broadcast-pkts> + <ether-undersize-pkts>0</ether-undersize-pkts> + <ether-fragments>0</ether-fragments> + <ether-oversize-pkts>0</ether-oversize-pkts> + <ether-rx-oversize-pkts>0</ether-rx-oversize-pkts> + <ether-tx-oversize-pkts>0</ether-tx-oversize-pkts> + <ether-jabbers>0</ether-jabbers> + <ether-octets>0</ether-octets> + <ether-pkts>0</ether-pkts> + <ether-collisions>0</ether-collisions> + <ether-crc-align-errors>0</ether-crc-align-errors> + <ether-tx-no-errors>0</ether-tx-no-errors> + <ether-rx-no-errors>0</ether-rx-no-errors> + <green-discard-dropped-packets>0</green-discard-dropped-packets> + <green-discard-dropped-bytes>0</green-discard-dropped-bytes> + <yellow-discard-dropped-packets>0</yellow-discard-dropped-packets> + <yellow-discard-dropped-bytes>0</yellow-discard-dropped-bytes> + <red-discard-dropped-packets>0</red-discard-dropped-packets> + <red-discard-dropped-bytes>0</red-discard-dropped-bytes> + <discard-dropped-packets>0</discard-dropped-packets> + <discard-dropped-bytes>0</discard-dropped-bytes> + <ether-in-pkts-64-octets>0</ether-in-pkts-64-octets> + <ether-in-pkts-65-to-127-octets>0</ether-in-pkts-65-to-127-octets> + <ether-in-pkts-128-to-255-octets>0</ether-in-pkts-128-to-255-octets> + <ether-in-pkts-256-to-511-octets>0</ether-in-pkts-256-to-511-octets> + <ether-in-pkts-512-to-1023-octets>0</ether-in-pkts-512-to-1023-octets> + <ether-in-pkts-1024-to-1518-octets>0</ether-in-pkts-1024-to-1518-octets> + <ether-in-pkts-1519-to-2047-octets>0</ether-in-pkts-1519-to-2047-octets> + <ether-in-pkts-2048-to-4095-octets>0</ether-in-pkts-2048-to-4095-octets> + <ether-in-pkts-4096-to-9216-octets>0</ether-in-pkts-4096-to-9216-octets> + <ether-in-pkts-9217-to-16383-octets>0</ether-in-pkts-9217-to-16383-octets> + <ether-out-pkts-64-octets>0</ether-out-pkts-64-octets> + <ether-out-pkts-65-to-127-octets>0</ether-out-pkts-65-to-127-octets> + <ether-out-pkts-128-to-255-octets>0</ether-out-pkts-128-to-255-octets> + <ether-out-pkts-256-to-511-octets>0</ether-out-pkts-256-to-511-octets> + <ether-out-pkts-512-to-1023-octets>0</ether-out-pkts-512-to-1023-octets> + <ether-out-pkts-1024-to-1518-octets>0</ether-out-pkts-1024-to-1518-octets> + <ether-out-pkts-1519-to-2047-octets>0</ether-out-pkts-1519-to-2047-octets> + <ether-out-pkts-2048-to-4095-octets>0</ether-out-pkts-2048-to-4095-octets> + <ether-out-pkts-4096-to-9216-octets>0</ether-out-pkts-4096-to-9216-octets> + <ether-out-pkts-9217-to-16383-octets>0</ether-out-pkts-9217-to-16383-octets> + <pause-rx-pkts>0</pause-rx-pkts> + <pause-tx-pkts>0</pause-tx-pkts> + <in-pkts>0</in-pkts> + <out-pkts>0</out-pkts> + <utilization-percentage>0</utilization-percentage> + <in-bit-rate>0</in-bit-rate> + <in-pkt-rate>0</in-pkt-rate> + <in-line-rate>0</in-line-rate> + <out-bit-rate>0</out-bit-rate> + <out-pkt-rate>0</out-pkt-rate> + <out-line-rate>0</out-line-rate> + <lacp-statistics> + <lacpdus-rx>0</lacpdus-rx> + <lacpdus-tx>0</lacpdus-tx> + <unknown-rx>0</unknown-rx> + <illegal-rx>0</illegal-rx> + <marker-pdus-tx>0</marker-pdus-tx> + <marker-response-pdus-tx>0</marker-response-pdus-tx> + <marker-pdus-rx>0</marker-pdus-rx> + <marker-response-pdus-rx>0</marker-response-pdus-rx> + </lacp-statistics> + <dcbx-stats> + <ets-conf-tx-tlv-count>0</ets-conf-tx-tlv-count> + <ets-conf-rx-tlv-count>0</ets-conf-rx-tlv-count> + <ets-conf-rx-tlv-errors>0</ets-conf-rx-tlv-errors> + <ets-reco-tx-tlv-count>0</ets-reco-tx-tlv-count> + <ets-reco-rx-tlv-count>0</ets-reco-rx-tlv-count> + <ets-reco-rx-tlv-errors>0</ets-reco-rx-tlv-errors> + <pfc-tx-tlv-count>0</pfc-tx-tlv-count> + <pfc-rx-tlv-count>0</pfc-rx-tlv-count> + <pfc-rx-tlv-errors>0</pfc-rx-tlv-errors> + <app-prio-tx-tlv-count>0</app-prio-tx-tlv-count> + <app-prio-rx-tlv-count>0</app-prio-rx-tlv-count> + <app-prio-rx-tlv-errors>0</app-prio-rx-tlv-errors> + <dcbx-frames-tx-total>0</dcbx-frames-tx-total> + <dcbx-frames-rx-total>0</dcbx-frames-rx-total> + <dcbx-frames-error-total>0</dcbx-frames-error-total> + <dcbx-frames-unrecognized>0</dcbx-frames-unrecognized> + </dcbx-stats> + </statistics> + <auto-negotiation>false</auto-negotiation> + <supported-speed>40GIGE</supported-speed> + <supported-autoneg>BOTH_SUPPORTED</supported-autoneg> + <fec>not-supported</fec> + <npu-speed>0MBPS</npu-speed> + <current-phys-address>14:18:77:09:ae:11</current-phys-address> + <last-change-time>36</last-change-time> + <last-counter-clear>16913000</last-counter-clear> + <load-interval>30</load-interval> + <mtu>1532</mtu> + <eee-state>n/a</eee-state> + <qos-if-params> + <flow-control-rx>false</flow-control-rx> + <flow-control-tx>false</flow-control-tx> + <pfc-mode>false</pfc-mode> + <ets-mode>false</ets-mode> + <unknown-unicast-rate-pps>0</unknown-unicast-rate-pps> + <weight-info> + <queue-id>0</queue-id> + <weight>1</weight> + </weight-info> + <weight-info> + <queue-id>1</queue-id> + <weight>2</weight> + </weight-info> + <weight-info> + <queue-id>2</queue-id> + <weight>3</weight> + </weight-info> + <weight-info> + <queue-id>3</queue-id> + <weight>4</weight> + </weight-info> + <weight-info> + <queue-id>4</queue-id> + <weight>5</weight> + </weight-info> + <weight-info> + <queue-id>5</queue-id> + <weight>10</weight> + </weight-info> + <weight-info> + <queue-id>6</queue-id> + <weight>25</weight> + </weight-info> + <weight-info> + <queue-id>7</queue-id> + <weight>50</weight> + </weight-info> + </qos-if-params> + <ipv4-info/> + <ipv6> + <enable-status>false</enable-status> + </ipv6> + <fc-intf-params> + <port-type>Disabled</port-type> + <pwwn>00:00:00:00:00:00:00:00</pwwn> + <fc-id>00:00:00</fc-id> + <bb-credit>0</bb-credit> + </fc-intf-params> + </interface> + </data> + <last-keys> + <name>ethernet1/1/5</name> + </last-keys> + </bulk> +</rpc-reply> +<?xml version="1.0"?> +<rpc-reply> + <data> + <cms-interface-backptr> + <interface-in-running> + <name>ethernet1/1/6</name> + <untagged-vlan>vlan1</untagged-vlan> + </interface-in-running> + </cms-interface-backptr> + <interfaces> + <interface> + <name>ethernet1/1/6</name> + <type>ianaift:ethernetCsmacd</type> + <enabled>true</enabled> + <mtu>1532</mtu> + <mac-learn>HW</mac-learn> + <mode>MODE_L2</mode> + <load-interval>299</load-interval> + <duplex>auto</duplex> + <speed>AUTO</speed> + <keepalive>true</keepalive> + <lldp-med-cfg> + <med-enable>true</med-enable> + <notif-enable>false</notif-enable> + </lldp-med-cfg> + <lldp> + <tx-enable>true</tx-enable> + <rx-enable>true</rx-enable> + </lldp> + </interface> + </interfaces> + <ip-config> + <ipv4> + <arp> + <timeout>60</timeout> + </arp> + </ipv4> + </ip-config> + <ports> + <ports-state> + <port> + <name>phy-eth1/1/1</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>131137546</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/2</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>131137546</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/3</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>131137546</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/4</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/5</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/6</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/7</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/8</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/9</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/10</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/11</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/12</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/13</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/14</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/15</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/16</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/17</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/18</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/19</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/20</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/21</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/22</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/23</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/24</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/25</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/26</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/27</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/28</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/29</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/30</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/31</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/32</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + </ports-state> + </ports> + <system-state> + <system-status> + <uptime>162762</uptime> + </system-status> + </system-state> + </data> + <bulk> + <data> + <interface> + <name>ethernet1/1/6</name> + <type>ianaift:ethernetCsmacd</type> + <admin-status>up</admin-status> + <oper-status>down</oper-status> + <if-index>17305198</if-index> + <phys-address>14:18:77:09:ae:15</phys-address> + <speed>0</speed> + <statistics> + <in-octets>0</in-octets> + <in-unicast-pkts>0</in-unicast-pkts> + <in-broadcast-pkts>0</in-broadcast-pkts> + <in-multicast-pkts>0</in-multicast-pkts> + <in-discards>0</in-discards> + <in-errors>0</in-errors> + <in-unknown-protos>0</in-unknown-protos> + <out-octets>0</out-octets> + <out-unicast-pkts>0</out-unicast-pkts> + <out-broadcast-pkts>0</out-broadcast-pkts> + <out-multicast-pkts>0</out-multicast-pkts> + <out-discards>0</out-discards> + <out-errors>0</out-errors> + <if-out-qlen>0</if-out-qlen> + <ether-drop-events>0</ether-drop-events> + <ether-multicast-pkts>0</ether-multicast-pkts> + <ether-broadcast-pkts>0</ether-broadcast-pkts> + <ether-undersize-pkts>0</ether-undersize-pkts> + <ether-fragments>0</ether-fragments> + <ether-oversize-pkts>0</ether-oversize-pkts> + <ether-rx-oversize-pkts>0</ether-rx-oversize-pkts> + <ether-tx-oversize-pkts>0</ether-tx-oversize-pkts> + <ether-jabbers>0</ether-jabbers> + <ether-octets>0</ether-octets> + <ether-pkts>0</ether-pkts> + <ether-collisions>0</ether-collisions> + <ether-crc-align-errors>0</ether-crc-align-errors> + <ether-tx-no-errors>0</ether-tx-no-errors> + <ether-rx-no-errors>0</ether-rx-no-errors> + <green-discard-dropped-packets>0</green-discard-dropped-packets> + <green-discard-dropped-bytes>0</green-discard-dropped-bytes> + <yellow-discard-dropped-packets>0</yellow-discard-dropped-packets> + <yellow-discard-dropped-bytes>0</yellow-discard-dropped-bytes> + <red-discard-dropped-packets>0</red-discard-dropped-packets> + <red-discard-dropped-bytes>0</red-discard-dropped-bytes> + <discard-dropped-packets>0</discard-dropped-packets> + <discard-dropped-bytes>0</discard-dropped-bytes> + <ether-in-pkts-64-octets>0</ether-in-pkts-64-octets> + <ether-in-pkts-65-to-127-octets>0</ether-in-pkts-65-to-127-octets> + <ether-in-pkts-128-to-255-octets>0</ether-in-pkts-128-to-255-octets> + <ether-in-pkts-256-to-511-octets>0</ether-in-pkts-256-to-511-octets> + <ether-in-pkts-512-to-1023-octets>0</ether-in-pkts-512-to-1023-octets> + <ether-in-pkts-1024-to-1518-octets>0</ether-in-pkts-1024-to-1518-octets> + <ether-in-pkts-1519-to-2047-octets>0</ether-in-pkts-1519-to-2047-octets> + <ether-in-pkts-2048-to-4095-octets>0</ether-in-pkts-2048-to-4095-octets> + <ether-in-pkts-4096-to-9216-octets>0</ether-in-pkts-4096-to-9216-octets> + <ether-in-pkts-9217-to-16383-octets>0</ether-in-pkts-9217-to-16383-octets> + <ether-out-pkts-64-octets>0</ether-out-pkts-64-octets> + <ether-out-pkts-65-to-127-octets>0</ether-out-pkts-65-to-127-octets> + <ether-out-pkts-128-to-255-octets>0</ether-out-pkts-128-to-255-octets> + <ether-out-pkts-256-to-511-octets>0</ether-out-pkts-256-to-511-octets> + <ether-out-pkts-512-to-1023-octets>0</ether-out-pkts-512-to-1023-octets> + <ether-out-pkts-1024-to-1518-octets>0</ether-out-pkts-1024-to-1518-octets> + <ether-out-pkts-1519-to-2047-octets>0</ether-out-pkts-1519-to-2047-octets> + <ether-out-pkts-2048-to-4095-octets>0</ether-out-pkts-2048-to-4095-octets> + <ether-out-pkts-4096-to-9216-octets>0</ether-out-pkts-4096-to-9216-octets> + <ether-out-pkts-9217-to-16383-octets>0</ether-out-pkts-9217-to-16383-octets> + <pause-rx-pkts>0</pause-rx-pkts> + <pause-tx-pkts>0</pause-tx-pkts> + <in-pkts>0</in-pkts> + <out-pkts>0</out-pkts> + <utilization-percentage>0</utilization-percentage> + <in-bit-rate>0</in-bit-rate> + <in-pkt-rate>0</in-pkt-rate> + <in-line-rate>0</in-line-rate> + <out-bit-rate>0</out-bit-rate> + <out-pkt-rate>0</out-pkt-rate> + <out-line-rate>0</out-line-rate> + <lacp-statistics> + <lacpdus-rx>0</lacpdus-rx> + <lacpdus-tx>0</lacpdus-tx> + <unknown-rx>0</unknown-rx> + <illegal-rx>0</illegal-rx> + <marker-pdus-tx>0</marker-pdus-tx> + <marker-response-pdus-tx>0</marker-response-pdus-tx> + <marker-pdus-rx>0</marker-pdus-rx> + <marker-response-pdus-rx>0</marker-response-pdus-rx> + </lacp-statistics> + <dcbx-stats> + <ets-conf-tx-tlv-count>0</ets-conf-tx-tlv-count> + <ets-conf-rx-tlv-count>0</ets-conf-rx-tlv-count> + <ets-conf-rx-tlv-errors>0</ets-conf-rx-tlv-errors> + <ets-reco-tx-tlv-count>0</ets-reco-tx-tlv-count> + <ets-reco-rx-tlv-count>0</ets-reco-rx-tlv-count> + <ets-reco-rx-tlv-errors>0</ets-reco-rx-tlv-errors> + <pfc-tx-tlv-count>0</pfc-tx-tlv-count> + <pfc-rx-tlv-count>0</pfc-rx-tlv-count> + <pfc-rx-tlv-errors>0</pfc-rx-tlv-errors> + <app-prio-tx-tlv-count>0</app-prio-tx-tlv-count> + <app-prio-rx-tlv-count>0</app-prio-rx-tlv-count> + <app-prio-rx-tlv-errors>0</app-prio-rx-tlv-errors> + <dcbx-frames-tx-total>0</dcbx-frames-tx-total> + <dcbx-frames-rx-total>0</dcbx-frames-rx-total> + <dcbx-frames-error-total>0</dcbx-frames-error-total> + <dcbx-frames-unrecognized>0</dcbx-frames-unrecognized> + </dcbx-stats> + </statistics> + <auto-negotiation>false</auto-negotiation> + <supported-speed>40GIGE</supported-speed> + <supported-autoneg>BOTH_SUPPORTED</supported-autoneg> + <fec>not-supported</fec> + <npu-speed>0MBPS</npu-speed> + <current-phys-address>14:18:77:09:ae:15</current-phys-address> + <last-change-time>36</last-change-time> + <last-counter-clear>16950900</last-counter-clear> + <load-interval>30</load-interval> + <mtu>1532</mtu> + <eee-state>n/a</eee-state> + <qos-if-params> + <flow-control-rx>false</flow-control-rx> + <flow-control-tx>false</flow-control-tx> + <pfc-mode>false</pfc-mode> + <ets-mode>false</ets-mode> + <unknown-unicast-rate-pps>0</unknown-unicast-rate-pps> + <weight-info> + <queue-id>0</queue-id> + <weight>1</weight> + </weight-info> + <weight-info> + <queue-id>1</queue-id> + <weight>2</weight> + </weight-info> + <weight-info> + <queue-id>2</queue-id> + <weight>3</weight> + </weight-info> + <weight-info> + <queue-id>3</queue-id> + <weight>4</weight> + </weight-info> + <weight-info> + <queue-id>4</queue-id> + <weight>5</weight> + </weight-info> + <weight-info> + <queue-id>5</queue-id> + <weight>10</weight> + </weight-info> + <weight-info> + <queue-id>6</queue-id> + <weight>25</weight> + </weight-info> + <weight-info> + <queue-id>7</queue-id> + <weight>50</weight> + </weight-info> + </qos-if-params> + <ipv4-info/> + <ipv6> + <enable-status>false</enable-status> + </ipv6> + <fc-intf-params> + <port-type>Disabled</port-type> + <pwwn>00:00:00:00:00:00:00:00</pwwn> + <fc-id>00:00:00</fc-id> + <bb-credit>0</bb-credit> + </fc-intf-params> + </interface> + </data> + <last-keys> + <name>ethernet1/1/6</name> + </last-keys> + </bulk> +</rpc-reply> +<?xml version="1.0"?> +<rpc-reply> + <data> + <cms-interface-backptr> + <interface-in-running> + <name>ethernet1/1/7</name> + <untagged-vlan>vlan1</untagged-vlan> + </interface-in-running> + </cms-interface-backptr> + <interfaces> + <interface> + <name>ethernet1/1/7</name> + <type>ianaift:ethernetCsmacd</type> + <enabled>true</enabled> + <mtu>1532</mtu> + <mac-learn>HW</mac-learn> + <mode>MODE_L2</mode> + <load-interval>299</load-interval> + <duplex>auto</duplex> + <speed>AUTO</speed> + <keepalive>true</keepalive> + <lldp-med-cfg> + <med-enable>true</med-enable> + <notif-enable>false</notif-enable> + </lldp-med-cfg> + <lldp> + <tx-enable>true</tx-enable> + <rx-enable>true</rx-enable> + </lldp> + </interface> + </interfaces> + <ip-config> + <ipv4> + <arp> + <timeout>60</timeout> + </arp> + </ipv4> + </ip-config> + <ports> + <ports-state> + <port> + <name>phy-eth1/1/1</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>131137546</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/2</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>131137546</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/3</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>131137546</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/4</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/5</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/6</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/7</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/8</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/9</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/10</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/11</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/12</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/13</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/14</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/15</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/16</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/17</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/18</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/19</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/20</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/21</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/22</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/23</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/24</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/25</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/26</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/27</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/28</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/29</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/30</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/31</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/32</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + </ports-state> + </ports> + <system-state> + <system-status> + <uptime>162762</uptime> + </system-status> + </system-state> + </data> + <bulk> + <data> + <interface> + <name>ethernet1/1/7</name> + <type>ianaift:ethernetCsmacd</type> + <admin-status>up</admin-status> + <oper-status>down</oper-status> + <if-index>17305224</if-index> + <phys-address>14:18:77:09:ae:19</phys-address> + <speed>0</speed> + <statistics> + <in-octets>0</in-octets> + <in-unicast-pkts>0</in-unicast-pkts> + <in-broadcast-pkts>0</in-broadcast-pkts> + <in-multicast-pkts>0</in-multicast-pkts> + <in-discards>0</in-discards> + <in-errors>0</in-errors> + <in-unknown-protos>0</in-unknown-protos> + <out-octets>0</out-octets> + <out-unicast-pkts>0</out-unicast-pkts> + <out-broadcast-pkts>0</out-broadcast-pkts> + <out-multicast-pkts>0</out-multicast-pkts> + <out-discards>0</out-discards> + <out-errors>0</out-errors> + <if-out-qlen>0</if-out-qlen> + <ether-drop-events>0</ether-drop-events> + <ether-multicast-pkts>0</ether-multicast-pkts> + <ether-broadcast-pkts>0</ether-broadcast-pkts> + <ether-undersize-pkts>0</ether-undersize-pkts> + <ether-fragments>0</ether-fragments> + <ether-oversize-pkts>0</ether-oversize-pkts> + <ether-rx-oversize-pkts>0</ether-rx-oversize-pkts> + <ether-tx-oversize-pkts>0</ether-tx-oversize-pkts> + <ether-jabbers>0</ether-jabbers> + <ether-octets>0</ether-octets> + <ether-pkts>0</ether-pkts> + <ether-collisions>0</ether-collisions> + <ether-crc-align-errors>0</ether-crc-align-errors> + <ether-tx-no-errors>0</ether-tx-no-errors> + <ether-rx-no-errors>0</ether-rx-no-errors> + <green-discard-dropped-packets>0</green-discard-dropped-packets> + <green-discard-dropped-bytes>0</green-discard-dropped-bytes> + <yellow-discard-dropped-packets>0</yellow-discard-dropped-packets> + <yellow-discard-dropped-bytes>0</yellow-discard-dropped-bytes> + <red-discard-dropped-packets>0</red-discard-dropped-packets> + <red-discard-dropped-bytes>0</red-discard-dropped-bytes> + <discard-dropped-packets>0</discard-dropped-packets> + <discard-dropped-bytes>0</discard-dropped-bytes> + <ether-in-pkts-64-octets>0</ether-in-pkts-64-octets> + <ether-in-pkts-65-to-127-octets>0</ether-in-pkts-65-to-127-octets> + <ether-in-pkts-128-to-255-octets>0</ether-in-pkts-128-to-255-octets> + <ether-in-pkts-256-to-511-octets>0</ether-in-pkts-256-to-511-octets> + <ether-in-pkts-512-to-1023-octets>0</ether-in-pkts-512-to-1023-octets> + <ether-in-pkts-1024-to-1518-octets>0</ether-in-pkts-1024-to-1518-octets> + <ether-in-pkts-1519-to-2047-octets>0</ether-in-pkts-1519-to-2047-octets> + <ether-in-pkts-2048-to-4095-octets>0</ether-in-pkts-2048-to-4095-octets> + <ether-in-pkts-4096-to-9216-octets>0</ether-in-pkts-4096-to-9216-octets> + <ether-in-pkts-9217-to-16383-octets>0</ether-in-pkts-9217-to-16383-octets> + <ether-out-pkts-64-octets>0</ether-out-pkts-64-octets> + <ether-out-pkts-65-to-127-octets>0</ether-out-pkts-65-to-127-octets> + <ether-out-pkts-128-to-255-octets>0</ether-out-pkts-128-to-255-octets> + <ether-out-pkts-256-to-511-octets>0</ether-out-pkts-256-to-511-octets> + <ether-out-pkts-512-to-1023-octets>0</ether-out-pkts-512-to-1023-octets> + <ether-out-pkts-1024-to-1518-octets>0</ether-out-pkts-1024-to-1518-octets> + <ether-out-pkts-1519-to-2047-octets>0</ether-out-pkts-1519-to-2047-octets> + <ether-out-pkts-2048-to-4095-octets>0</ether-out-pkts-2048-to-4095-octets> + <ether-out-pkts-4096-to-9216-octets>0</ether-out-pkts-4096-to-9216-octets> + <ether-out-pkts-9217-to-16383-octets>0</ether-out-pkts-9217-to-16383-octets> + <pause-rx-pkts>0</pause-rx-pkts> + <pause-tx-pkts>0</pause-tx-pkts> + <in-pkts>0</in-pkts> + <out-pkts>0</out-pkts> + <utilization-percentage>0</utilization-percentage> + <in-bit-rate>0</in-bit-rate> + <in-pkt-rate>0</in-pkt-rate> + <in-line-rate>0</in-line-rate> + <out-bit-rate>0</out-bit-rate> + <out-pkt-rate>0</out-pkt-rate> + <out-line-rate>0</out-line-rate> + <lacp-statistics> + <lacpdus-rx>0</lacpdus-rx> + <lacpdus-tx>0</lacpdus-tx> + <unknown-rx>0</unknown-rx> + <illegal-rx>0</illegal-rx> + <marker-pdus-tx>0</marker-pdus-tx> + <marker-response-pdus-tx>0</marker-response-pdus-tx> + <marker-pdus-rx>0</marker-pdus-rx> + <marker-response-pdus-rx>0</marker-response-pdus-rx> + </lacp-statistics> + <dcbx-stats> + <ets-conf-tx-tlv-count>0</ets-conf-tx-tlv-count> + <ets-conf-rx-tlv-count>0</ets-conf-rx-tlv-count> + <ets-conf-rx-tlv-errors>0</ets-conf-rx-tlv-errors> + <ets-reco-tx-tlv-count>0</ets-reco-tx-tlv-count> + <ets-reco-rx-tlv-count>0</ets-reco-rx-tlv-count> + <ets-reco-rx-tlv-errors>0</ets-reco-rx-tlv-errors> + <pfc-tx-tlv-count>0</pfc-tx-tlv-count> + <pfc-rx-tlv-count>0</pfc-rx-tlv-count> + <pfc-rx-tlv-errors>0</pfc-rx-tlv-errors> + <app-prio-tx-tlv-count>0</app-prio-tx-tlv-count> + <app-prio-rx-tlv-count>0</app-prio-rx-tlv-count> + <app-prio-rx-tlv-errors>0</app-prio-rx-tlv-errors> + <dcbx-frames-tx-total>0</dcbx-frames-tx-total> + <dcbx-frames-rx-total>0</dcbx-frames-rx-total> + <dcbx-frames-error-total>0</dcbx-frames-error-total> + <dcbx-frames-unrecognized>0</dcbx-frames-unrecognized> + </dcbx-stats> + </statistics> + <auto-negotiation>false</auto-negotiation> + <supported-speed>40GIGE</supported-speed> + <supported-autoneg>BOTH_SUPPORTED</supported-autoneg> + <fec>not-supported</fec> + <npu-speed>0MBPS</npu-speed> + <current-phys-address>14:18:77:09:ae:19</current-phys-address> + <last-change-time>36</last-change-time> + <last-counter-clear>16995200</last-counter-clear> + <load-interval>30</load-interval> + <mtu>1532</mtu> + <eee-state>n/a</eee-state> + <qos-if-params> + <flow-control-rx>false</flow-control-rx> + <flow-control-tx>false</flow-control-tx> + <pfc-mode>false</pfc-mode> + <ets-mode>false</ets-mode> + <unknown-unicast-rate-pps>0</unknown-unicast-rate-pps> + <weight-info> + <queue-id>0</queue-id> + <weight>1</weight> + </weight-info> + <weight-info> + <queue-id>1</queue-id> + <weight>2</weight> + </weight-info> + <weight-info> + <queue-id>2</queue-id> + <weight>3</weight> + </weight-info> + <weight-info> + <queue-id>3</queue-id> + <weight>4</weight> + </weight-info> + <weight-info> + <queue-id>4</queue-id> + <weight>5</weight> + </weight-info> + <weight-info> + <queue-id>5</queue-id> + <weight>10</weight> + </weight-info> + <weight-info> + <queue-id>6</queue-id> + <weight>25</weight> + </weight-info> + <weight-info> + <queue-id>7</queue-id> + <weight>50</weight> + </weight-info> + </qos-if-params> + <ipv4-info/> + <ipv6> + <enable-status>false</enable-status> + </ipv6> + <fc-intf-params> + <port-type>Disabled</port-type> + <pwwn>00:00:00:00:00:00:00:00</pwwn> + <fc-id>00:00:00</fc-id> + <bb-credit>0</bb-credit> + </fc-intf-params> + </interface> + </data> + <last-keys> + <name>ethernet1/1/7</name> + </last-keys> + </bulk> +</rpc-reply> +<?xml version="1.0"?> +<rpc-reply> + <data> + <cms-interface-backptr> + <interface-in-running> + <name>ethernet1/1/8</name> + </interface-in-running> + </cms-interface-backptr> + <interfaces> + <interface> + <name>ethernet1/1/8</name> + <type>ianaift:ethernetCsmacd</type> + <enabled>true</enabled> + <mtu>1532</mtu> + <mac-learn>HW</mac-learn> + <mode>MODE_L2DISABLED</mode> + <load-interval>299</load-interval> + <duplex>auto</duplex> + <speed>AUTO</speed> + <keepalive>true</keepalive> + <lldp-med-cfg> + <med-enable>true</med-enable> + <notif-enable>false</notif-enable> + </lldp-med-cfg> + <lldp> + <tx-enable>true</tx-enable> + <rx-enable>true</rx-enable> + </lldp> + </interface> + </interfaces> + <ip-config> + <ipv4> + <arp> + <timeout>60</timeout> + </arp> + </ipv4> + </ip-config> + <ports> + <ports-state> + <port> + <name>phy-eth1/1/1</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>131137546</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/2</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>131137546</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/3</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>131137546</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/4</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/5</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/6</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/7</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/8</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/9</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/10</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/11</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/12</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/13</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/14</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/15</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/16</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/17</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/18</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/19</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/20</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/21</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/22</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/23</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/24</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/25</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/26</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/27</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/28</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/29</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/30</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/31</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/32</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + </ports-state> + </ports> + <system-state> + <system-status> + <uptime>162762</uptime> + </system-status> + </system-state> + </data> + <bulk> + <data> + <interface> + <name>ethernet1/1/8</name> + <type>ianaift:ethernetCsmacd</type> + <admin-status>up</admin-status> + <oper-status>down</oper-status> + <if-index>17305250</if-index> + <phys-address>14:18:77:09:ae:1d</phys-address> + <speed>0</speed> + <statistics> + <in-octets>0</in-octets> + <in-unicast-pkts>0</in-unicast-pkts> + <in-broadcast-pkts>0</in-broadcast-pkts> + <in-multicast-pkts>0</in-multicast-pkts> + <in-discards>0</in-discards> + <in-errors>0</in-errors> + <in-unknown-protos>0</in-unknown-protos> + <out-octets>0</out-octets> + <out-unicast-pkts>0</out-unicast-pkts> + <out-broadcast-pkts>0</out-broadcast-pkts> + <out-multicast-pkts>0</out-multicast-pkts> + <out-discards>0</out-discards> + <out-errors>0</out-errors> + <if-out-qlen>0</if-out-qlen> + <ether-drop-events>0</ether-drop-events> + <ether-multicast-pkts>0</ether-multicast-pkts> + <ether-broadcast-pkts>0</ether-broadcast-pkts> + <ether-undersize-pkts>0</ether-undersize-pkts> + <ether-fragments>0</ether-fragments> + <ether-oversize-pkts>0</ether-oversize-pkts> + <ether-rx-oversize-pkts>0</ether-rx-oversize-pkts> + <ether-tx-oversize-pkts>0</ether-tx-oversize-pkts> + <ether-jabbers>0</ether-jabbers> + <ether-octets>0</ether-octets> + <ether-pkts>0</ether-pkts> + <ether-collisions>0</ether-collisions> + <ether-crc-align-errors>0</ether-crc-align-errors> + <ether-tx-no-errors>0</ether-tx-no-errors> + <ether-rx-no-errors>0</ether-rx-no-errors> + <green-discard-dropped-packets>0</green-discard-dropped-packets> + <green-discard-dropped-bytes>0</green-discard-dropped-bytes> + <yellow-discard-dropped-packets>0</yellow-discard-dropped-packets> + <yellow-discard-dropped-bytes>0</yellow-discard-dropped-bytes> + <red-discard-dropped-packets>0</red-discard-dropped-packets> + <red-discard-dropped-bytes>0</red-discard-dropped-bytes> + <discard-dropped-packets>0</discard-dropped-packets> + <discard-dropped-bytes>0</discard-dropped-bytes> + <ether-in-pkts-64-octets>0</ether-in-pkts-64-octets> + <ether-in-pkts-65-to-127-octets>0</ether-in-pkts-65-to-127-octets> + <ether-in-pkts-128-to-255-octets>0</ether-in-pkts-128-to-255-octets> + <ether-in-pkts-256-to-511-octets>0</ether-in-pkts-256-to-511-octets> + <ether-in-pkts-512-to-1023-octets>0</ether-in-pkts-512-to-1023-octets> + <ether-in-pkts-1024-to-1518-octets>0</ether-in-pkts-1024-to-1518-octets> + <ether-in-pkts-1519-to-2047-octets>0</ether-in-pkts-1519-to-2047-octets> + <ether-in-pkts-2048-to-4095-octets>0</ether-in-pkts-2048-to-4095-octets> + <ether-in-pkts-4096-to-9216-octets>0</ether-in-pkts-4096-to-9216-octets> + <ether-in-pkts-9217-to-16383-octets>0</ether-in-pkts-9217-to-16383-octets> + <ether-out-pkts-64-octets>0</ether-out-pkts-64-octets> + <ether-out-pkts-65-to-127-octets>0</ether-out-pkts-65-to-127-octets> + <ether-out-pkts-128-to-255-octets>0</ether-out-pkts-128-to-255-octets> + <ether-out-pkts-256-to-511-octets>0</ether-out-pkts-256-to-511-octets> + <ether-out-pkts-512-to-1023-octets>0</ether-out-pkts-512-to-1023-octets> + <ether-out-pkts-1024-to-1518-octets>0</ether-out-pkts-1024-to-1518-octets> + <ether-out-pkts-1519-to-2047-octets>0</ether-out-pkts-1519-to-2047-octets> + <ether-out-pkts-2048-to-4095-octets>0</ether-out-pkts-2048-to-4095-octets> + <ether-out-pkts-4096-to-9216-octets>0</ether-out-pkts-4096-to-9216-octets> + <ether-out-pkts-9217-to-16383-octets>0</ether-out-pkts-9217-to-16383-octets> + <pause-rx-pkts>0</pause-rx-pkts> + <pause-tx-pkts>0</pause-tx-pkts> + <in-pkts>0</in-pkts> + <out-pkts>0</out-pkts> + <utilization-percentage>0</utilization-percentage> + <in-bit-rate>0</in-bit-rate> + <in-pkt-rate>0</in-pkt-rate> + <in-line-rate>0</in-line-rate> + <out-bit-rate>0</out-bit-rate> + <out-pkt-rate>0</out-pkt-rate> + <out-line-rate>0</out-line-rate> + <lacp-statistics> + <lacpdus-rx>0</lacpdus-rx> + <lacpdus-tx>0</lacpdus-tx> + <unknown-rx>0</unknown-rx> + <illegal-rx>0</illegal-rx> + <marker-pdus-tx>0</marker-pdus-tx> + <marker-response-pdus-tx>0</marker-response-pdus-tx> + <marker-pdus-rx>0</marker-pdus-rx> + <marker-response-pdus-rx>0</marker-response-pdus-rx> + </lacp-statistics> + <dcbx-stats> + <ets-conf-tx-tlv-count>0</ets-conf-tx-tlv-count> + <ets-conf-rx-tlv-count>0</ets-conf-rx-tlv-count> + <ets-conf-rx-tlv-errors>0</ets-conf-rx-tlv-errors> + <ets-reco-tx-tlv-count>0</ets-reco-tx-tlv-count> + <ets-reco-rx-tlv-count>0</ets-reco-rx-tlv-count> + <ets-reco-rx-tlv-errors>0</ets-reco-rx-tlv-errors> + <pfc-tx-tlv-count>0</pfc-tx-tlv-count> + <pfc-rx-tlv-count>0</pfc-rx-tlv-count> + <pfc-rx-tlv-errors>0</pfc-rx-tlv-errors> + <app-prio-tx-tlv-count>0</app-prio-tx-tlv-count> + <app-prio-rx-tlv-count>0</app-prio-rx-tlv-count> + <app-prio-rx-tlv-errors>0</app-prio-rx-tlv-errors> + <dcbx-frames-tx-total>0</dcbx-frames-tx-total> + <dcbx-frames-rx-total>0</dcbx-frames-rx-total> + <dcbx-frames-error-total>0</dcbx-frames-error-total> + <dcbx-frames-unrecognized>0</dcbx-frames-unrecognized> + </dcbx-stats> + </statistics> + <auto-negotiation>false</auto-negotiation> + <supported-speed>40GIGE</supported-speed> + <supported-autoneg>BOTH_SUPPORTED</supported-autoneg> + <fec>not-supported</fec> + <npu-speed>0MBPS</npu-speed> + <current-phys-address>14:18:77:09:ae:1d</current-phys-address> + <last-change-time>36</last-change-time> + <last-counter-clear>17021600</last-counter-clear> + <load-interval>30</load-interval> + <mtu>1532</mtu> + <eee-state>n/a</eee-state> + <qos-if-params> + <flow-control-rx>false</flow-control-rx> + <flow-control-tx>false</flow-control-tx> + <pfc-mode>false</pfc-mode> + <ets-mode>false</ets-mode> + <unknown-unicast-rate-pps>0</unknown-unicast-rate-pps> + <weight-info> + <queue-id>0</queue-id> + <weight>1</weight> + </weight-info> + <weight-info> + <queue-id>1</queue-id> + <weight>2</weight> + </weight-info> + <weight-info> + <queue-id>2</queue-id> + <weight>3</weight> + </weight-info> + <weight-info> + <queue-id>3</queue-id> + <weight>4</weight> + </weight-info> + <weight-info> + <queue-id>4</queue-id> + <weight>5</weight> + </weight-info> + <weight-info> + <queue-id>5</queue-id> + <weight>10</weight> + </weight-info> + <weight-info> + <queue-id>6</queue-id> + <weight>25</weight> + </weight-info> + <weight-info> + <queue-id>7</queue-id> + <weight>50</weight> + </weight-info> + </qos-if-params> + <ipv4-info/> + <ipv6> + <enable-status>true</enable-status> + </ipv6> + <fc-intf-params> + <port-type>Disabled</port-type> + <pwwn>00:00:00:00:00:00:00:00</pwwn> + <fc-id>00:00:00</fc-id> + <bb-credit>0</bb-credit> + </fc-intf-params> + </interface> + </data> + <last-keys> + <name>ethernet1/1/8</name> + </last-keys> + </bulk> +</rpc-reply> +<?xml version="1.0"?> +<rpc-reply> + <data> + <cms-interface-backptr> + <interface-in-running> + <name>ethernet1/1/9</name> + <untagged-vlan>vlan1</untagged-vlan> + </interface-in-running> + </cms-interface-backptr> + <interfaces> + <interface> + <name>ethernet1/1/9</name> + <type>ianaift:ethernetCsmacd</type> + <enabled>true</enabled> + <mtu>1532</mtu> + <mac-learn>HW</mac-learn> + <mode>MODE_L2</mode> + <load-interval>299</load-interval> + <duplex>auto</duplex> + <speed>AUTO</speed> + <keepalive>true</keepalive> + <lldp-med-cfg> + <med-enable>true</med-enable> + <notif-enable>false</notif-enable> + </lldp-med-cfg> + <lldp> + <tx-enable>true</tx-enable> + <rx-enable>true</rx-enable> + </lldp> + </interface> + </interfaces> + <ip-config> + <ipv4> + <arp> + <timeout>60</timeout> + </arp> + </ipv4> + </ip-config> + <ports> + <ports-state> + <port> + <name>phy-eth1/1/1</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>131137546</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/2</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>131137546</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/3</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>131137546</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/4</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/5</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/6</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/7</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/8</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/9</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/10</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/11</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/12</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/13</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/14</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/15</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/16</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/17</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/18</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/19</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/20</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/21</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/22</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/23</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/24</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/25</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/26</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/27</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/28</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/29</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/30</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/31</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/32</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + </ports-state> + </ports> + <system-state> + <system-status> + <uptime>162762</uptime> + </system-status> + </system-state> + </data> + <bulk> + <data> + <interface> + <name>ethernet1/1/9</name> + <type>ianaift:ethernetCsmacd</type> + <admin-status>up</admin-status> + <oper-status>down</oper-status> + <if-index>17305276</if-index> + <phys-address>14:18:77:09:ae:21</phys-address> + <speed>0</speed> + <statistics> + <in-octets>0</in-octets> + <in-unicast-pkts>0</in-unicast-pkts> + <in-broadcast-pkts>0</in-broadcast-pkts> + <in-multicast-pkts>0</in-multicast-pkts> + <in-discards>0</in-discards> + <in-errors>0</in-errors> + <in-unknown-protos>0</in-unknown-protos> + <out-octets>0</out-octets> + <out-unicast-pkts>0</out-unicast-pkts> + <out-broadcast-pkts>0</out-broadcast-pkts> + <out-multicast-pkts>0</out-multicast-pkts> + <out-discards>0</out-discards> + <out-errors>0</out-errors> + <if-out-qlen>0</if-out-qlen> + <ether-drop-events>0</ether-drop-events> + <ether-multicast-pkts>0</ether-multicast-pkts> + <ether-broadcast-pkts>0</ether-broadcast-pkts> + <ether-undersize-pkts>0</ether-undersize-pkts> + <ether-fragments>0</ether-fragments> + <ether-oversize-pkts>0</ether-oversize-pkts> + <ether-rx-oversize-pkts>0</ether-rx-oversize-pkts> + <ether-tx-oversize-pkts>0</ether-tx-oversize-pkts> + <ether-jabbers>0</ether-jabbers> + <ether-octets>0</ether-octets> + <ether-pkts>0</ether-pkts> + <ether-collisions>0</ether-collisions> + <ether-crc-align-errors>0</ether-crc-align-errors> + <ether-tx-no-errors>0</ether-tx-no-errors> + <ether-rx-no-errors>0</ether-rx-no-errors> + <green-discard-dropped-packets>0</green-discard-dropped-packets> + <green-discard-dropped-bytes>0</green-discard-dropped-bytes> + <yellow-discard-dropped-packets>0</yellow-discard-dropped-packets> + <yellow-discard-dropped-bytes>0</yellow-discard-dropped-bytes> + <red-discard-dropped-packets>0</red-discard-dropped-packets> + <red-discard-dropped-bytes>0</red-discard-dropped-bytes> + <discard-dropped-packets>0</discard-dropped-packets> + <discard-dropped-bytes>0</discard-dropped-bytes> + <ether-in-pkts-64-octets>0</ether-in-pkts-64-octets> + <ether-in-pkts-65-to-127-octets>0</ether-in-pkts-65-to-127-octets> + <ether-in-pkts-128-to-255-octets>0</ether-in-pkts-128-to-255-octets> + <ether-in-pkts-256-to-511-octets>0</ether-in-pkts-256-to-511-octets> + <ether-in-pkts-512-to-1023-octets>0</ether-in-pkts-512-to-1023-octets> + <ether-in-pkts-1024-to-1518-octets>0</ether-in-pkts-1024-to-1518-octets> + <ether-in-pkts-1519-to-2047-octets>0</ether-in-pkts-1519-to-2047-octets> + <ether-in-pkts-2048-to-4095-octets>0</ether-in-pkts-2048-to-4095-octets> + <ether-in-pkts-4096-to-9216-octets>0</ether-in-pkts-4096-to-9216-octets> + <ether-in-pkts-9217-to-16383-octets>0</ether-in-pkts-9217-to-16383-octets> + <ether-out-pkts-64-octets>0</ether-out-pkts-64-octets> + <ether-out-pkts-65-to-127-octets>0</ether-out-pkts-65-to-127-octets> + <ether-out-pkts-128-to-255-octets>0</ether-out-pkts-128-to-255-octets> + <ether-out-pkts-256-to-511-octets>0</ether-out-pkts-256-to-511-octets> + <ether-out-pkts-512-to-1023-octets>0</ether-out-pkts-512-to-1023-octets> + <ether-out-pkts-1024-to-1518-octets>0</ether-out-pkts-1024-to-1518-octets> + <ether-out-pkts-1519-to-2047-octets>0</ether-out-pkts-1519-to-2047-octets> + <ether-out-pkts-2048-to-4095-octets>0</ether-out-pkts-2048-to-4095-octets> + <ether-out-pkts-4096-to-9216-octets>0</ether-out-pkts-4096-to-9216-octets> + <ether-out-pkts-9217-to-16383-octets>0</ether-out-pkts-9217-to-16383-octets> + <pause-rx-pkts>0</pause-rx-pkts> + <pause-tx-pkts>0</pause-tx-pkts> + <in-pkts>0</in-pkts> + <out-pkts>0</out-pkts> + <utilization-percentage>0</utilization-percentage> + <in-bit-rate>0</in-bit-rate> + <in-pkt-rate>0</in-pkt-rate> + <in-line-rate>0</in-line-rate> + <out-bit-rate>0</out-bit-rate> + <out-pkt-rate>0</out-pkt-rate> + <out-line-rate>0</out-line-rate> + <lacp-statistics> + <lacpdus-rx>0</lacpdus-rx> + <lacpdus-tx>0</lacpdus-tx> + <unknown-rx>0</unknown-rx> + <illegal-rx>0</illegal-rx> + <marker-pdus-tx>0</marker-pdus-tx> + <marker-response-pdus-tx>0</marker-response-pdus-tx> + <marker-pdus-rx>0</marker-pdus-rx> + <marker-response-pdus-rx>0</marker-response-pdus-rx> + </lacp-statistics> + <dcbx-stats> + <ets-conf-tx-tlv-count>0</ets-conf-tx-tlv-count> + <ets-conf-rx-tlv-count>0</ets-conf-rx-tlv-count> + <ets-conf-rx-tlv-errors>0</ets-conf-rx-tlv-errors> + <ets-reco-tx-tlv-count>0</ets-reco-tx-tlv-count> + <ets-reco-rx-tlv-count>0</ets-reco-rx-tlv-count> + <ets-reco-rx-tlv-errors>0</ets-reco-rx-tlv-errors> + <pfc-tx-tlv-count>0</pfc-tx-tlv-count> + <pfc-rx-tlv-count>0</pfc-rx-tlv-count> + <pfc-rx-tlv-errors>0</pfc-rx-tlv-errors> + <app-prio-tx-tlv-count>0</app-prio-tx-tlv-count> + <app-prio-rx-tlv-count>0</app-prio-rx-tlv-count> + <app-prio-rx-tlv-errors>0</app-prio-rx-tlv-errors> + <dcbx-frames-tx-total>0</dcbx-frames-tx-total> + <dcbx-frames-rx-total>0</dcbx-frames-rx-total> + <dcbx-frames-error-total>0</dcbx-frames-error-total> + <dcbx-frames-unrecognized>0</dcbx-frames-unrecognized> + </dcbx-stats> + </statistics> + <auto-negotiation>false</auto-negotiation> + <supported-speed>40GIGE</supported-speed> + <supported-autoneg>BOTH_SUPPORTED</supported-autoneg> + <fec>not-supported</fec> + <npu-speed>0MBPS</npu-speed> + <current-phys-address>14:18:77:09:ae:21</current-phys-address> + <last-change-time>36</last-change-time> + <last-counter-clear>17027900</last-counter-clear> + <load-interval>30</load-interval> + <mtu>1532</mtu> + <eee-state>n/a</eee-state> + <qos-if-params> + <flow-control-rx>false</flow-control-rx> + <flow-control-tx>false</flow-control-tx> + <pfc-mode>false</pfc-mode> + <ets-mode>false</ets-mode> + <unknown-unicast-rate-pps>0</unknown-unicast-rate-pps> + <weight-info> + <queue-id>0</queue-id> + <weight>1</weight> + </weight-info> + <weight-info> + <queue-id>1</queue-id> + <weight>2</weight> + </weight-info> + <weight-info> + <queue-id>2</queue-id> + <weight>3</weight> + </weight-info> + <weight-info> + <queue-id>3</queue-id> + <weight>4</weight> + </weight-info> + <weight-info> + <queue-id>4</queue-id> + <weight>5</weight> + </weight-info> + <weight-info> + <queue-id>5</queue-id> + <weight>10</weight> + </weight-info> + <weight-info> + <queue-id>6</queue-id> + <weight>25</weight> + </weight-info> + <weight-info> + <queue-id>7</queue-id> + <weight>50</weight> + </weight-info> + </qos-if-params> + <ipv4-info/> + <ipv6> + <enable-status>false</enable-status> + </ipv6> + <fc-intf-params> + <port-type>Disabled</port-type> + <pwwn>00:00:00:00:00:00:00:00</pwwn> + <fc-id>00:00:00</fc-id> + <bb-credit>0</bb-credit> + </fc-intf-params> + </interface> + </data> + <last-keys> + <name>ethernet1/1/9</name> + </last-keys> + </bulk> +</rpc-reply> +<?xml version="1.0"?> +<rpc-reply> + <data> + <cms-interface-backptr> + <interface-in-running> + <name>ethernet1/1/10</name> + <untagged-vlan>vlan1</untagged-vlan> + </interface-in-running> + </cms-interface-backptr> + <interfaces> + <interface> + <name>ethernet1/1/10</name> + <type>ianaift:ethernetCsmacd</type> + <enabled>true</enabled> + <mtu>1532</mtu> + <mac-learn>HW</mac-learn> + <mode>MODE_L2</mode> + <load-interval>299</load-interval> + <duplex>auto</duplex> + <speed>AUTO</speed> + <keepalive>true</keepalive> + <lldp-med-cfg> + <med-enable>true</med-enable> + <notif-enable>false</notif-enable> + </lldp-med-cfg> + <lldp> + <tx-enable>true</tx-enable> + <rx-enable>true</rx-enable> + </lldp> + </interface> + </interfaces> + <ip-config> + <ipv4> + <arp> + <timeout>60</timeout> + </arp> + </ipv4> + </ip-config> + <ports> + <ports-state> + <port> + <name>phy-eth1/1/1</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>131137546</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/2</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>131137546</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/3</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>131137546</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/4</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/5</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/6</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/7</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/8</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/9</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/10</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/11</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/12</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/13</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/14</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/15</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/16</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/17</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/18</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/19</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/20</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/21</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/22</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/23</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/24</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/25</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/26</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/27</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/28</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/29</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/30</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/31</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/32</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + </ports-state> + </ports> + <system-state> + <system-status> + <uptime>162762</uptime> + </system-status> + </system-state> + </data> + <bulk> + <data> + <interface> + <name>ethernet1/1/10</name> + <type>ianaift:ethernetCsmacd</type> + <admin-status>up</admin-status> + <oper-status>down</oper-status> + <if-index>17305302</if-index> + <phys-address>14:18:77:09:ae:25</phys-address> + <speed>0</speed> + <statistics> + <in-octets>0</in-octets> + <in-unicast-pkts>0</in-unicast-pkts> + <in-broadcast-pkts>0</in-broadcast-pkts> + <in-multicast-pkts>0</in-multicast-pkts> + <in-discards>0</in-discards> + <in-errors>0</in-errors> + <in-unknown-protos>0</in-unknown-protos> + <out-octets>0</out-octets> + <out-unicast-pkts>0</out-unicast-pkts> + <out-broadcast-pkts>0</out-broadcast-pkts> + <out-multicast-pkts>0</out-multicast-pkts> + <out-discards>0</out-discards> + <out-errors>0</out-errors> + <if-out-qlen>0</if-out-qlen> + <ether-drop-events>0</ether-drop-events> + <ether-multicast-pkts>0</ether-multicast-pkts> + <ether-broadcast-pkts>0</ether-broadcast-pkts> + <ether-undersize-pkts>0</ether-undersize-pkts> + <ether-fragments>0</ether-fragments> + <ether-oversize-pkts>0</ether-oversize-pkts> + <ether-rx-oversize-pkts>0</ether-rx-oversize-pkts> + <ether-tx-oversize-pkts>0</ether-tx-oversize-pkts> + <ether-jabbers>0</ether-jabbers> + <ether-octets>0</ether-octets> + <ether-pkts>0</ether-pkts> + <ether-collisions>0</ether-collisions> + <ether-crc-align-errors>0</ether-crc-align-errors> + <ether-tx-no-errors>0</ether-tx-no-errors> + <ether-rx-no-errors>0</ether-rx-no-errors> + <green-discard-dropped-packets>0</green-discard-dropped-packets> + <green-discard-dropped-bytes>0</green-discard-dropped-bytes> + <yellow-discard-dropped-packets>0</yellow-discard-dropped-packets> + <yellow-discard-dropped-bytes>0</yellow-discard-dropped-bytes> + <red-discard-dropped-packets>0</red-discard-dropped-packets> + <red-discard-dropped-bytes>0</red-discard-dropped-bytes> + <discard-dropped-packets>0</discard-dropped-packets> + <discard-dropped-bytes>0</discard-dropped-bytes> + <ether-in-pkts-64-octets>0</ether-in-pkts-64-octets> + <ether-in-pkts-65-to-127-octets>0</ether-in-pkts-65-to-127-octets> + <ether-in-pkts-128-to-255-octets>0</ether-in-pkts-128-to-255-octets> + <ether-in-pkts-256-to-511-octets>0</ether-in-pkts-256-to-511-octets> + <ether-in-pkts-512-to-1023-octets>0</ether-in-pkts-512-to-1023-octets> + <ether-in-pkts-1024-to-1518-octets>0</ether-in-pkts-1024-to-1518-octets> + <ether-in-pkts-1519-to-2047-octets>0</ether-in-pkts-1519-to-2047-octets> + <ether-in-pkts-2048-to-4095-octets>0</ether-in-pkts-2048-to-4095-octets> + <ether-in-pkts-4096-to-9216-octets>0</ether-in-pkts-4096-to-9216-octets> + <ether-in-pkts-9217-to-16383-octets>0</ether-in-pkts-9217-to-16383-octets> + <ether-out-pkts-64-octets>0</ether-out-pkts-64-octets> + <ether-out-pkts-65-to-127-octets>0</ether-out-pkts-65-to-127-octets> + <ether-out-pkts-128-to-255-octets>0</ether-out-pkts-128-to-255-octets> + <ether-out-pkts-256-to-511-octets>0</ether-out-pkts-256-to-511-octets> + <ether-out-pkts-512-to-1023-octets>0</ether-out-pkts-512-to-1023-octets> + <ether-out-pkts-1024-to-1518-octets>0</ether-out-pkts-1024-to-1518-octets> + <ether-out-pkts-1519-to-2047-octets>0</ether-out-pkts-1519-to-2047-octets> + <ether-out-pkts-2048-to-4095-octets>0</ether-out-pkts-2048-to-4095-octets> + <ether-out-pkts-4096-to-9216-octets>0</ether-out-pkts-4096-to-9216-octets> + <ether-out-pkts-9217-to-16383-octets>0</ether-out-pkts-9217-to-16383-octets> + <pause-rx-pkts>0</pause-rx-pkts> + <pause-tx-pkts>0</pause-tx-pkts> + <in-pkts>0</in-pkts> + <out-pkts>0</out-pkts> + <utilization-percentage>0</utilization-percentage> + <in-bit-rate>0</in-bit-rate> + <in-pkt-rate>0</in-pkt-rate> + <in-line-rate>0</in-line-rate> + <out-bit-rate>0</out-bit-rate> + <out-pkt-rate>0</out-pkt-rate> + <out-line-rate>0</out-line-rate> + <lacp-statistics> + <lacpdus-rx>0</lacpdus-rx> + <lacpdus-tx>0</lacpdus-tx> + <unknown-rx>0</unknown-rx> + <illegal-rx>0</illegal-rx> + <marker-pdus-tx>0</marker-pdus-tx> + <marker-response-pdus-tx>0</marker-response-pdus-tx> + <marker-pdus-rx>0</marker-pdus-rx> + <marker-response-pdus-rx>0</marker-response-pdus-rx> + </lacp-statistics> + <dcbx-stats> + <ets-conf-tx-tlv-count>0</ets-conf-tx-tlv-count> + <ets-conf-rx-tlv-count>0</ets-conf-rx-tlv-count> + <ets-conf-rx-tlv-errors>0</ets-conf-rx-tlv-errors> + <ets-reco-tx-tlv-count>0</ets-reco-tx-tlv-count> + <ets-reco-rx-tlv-count>0</ets-reco-rx-tlv-count> + <ets-reco-rx-tlv-errors>0</ets-reco-rx-tlv-errors> + <pfc-tx-tlv-count>0</pfc-tx-tlv-count> + <pfc-rx-tlv-count>0</pfc-rx-tlv-count> + <pfc-rx-tlv-errors>0</pfc-rx-tlv-errors> + <app-prio-tx-tlv-count>0</app-prio-tx-tlv-count> + <app-prio-rx-tlv-count>0</app-prio-rx-tlv-count> + <app-prio-rx-tlv-errors>0</app-prio-rx-tlv-errors> + <dcbx-frames-tx-total>0</dcbx-frames-tx-total> + <dcbx-frames-rx-total>0</dcbx-frames-rx-total> + <dcbx-frames-error-total>0</dcbx-frames-error-total> + <dcbx-frames-unrecognized>0</dcbx-frames-unrecognized> + </dcbx-stats> + </statistics> + <auto-negotiation>false</auto-negotiation> + <supported-speed>40GIGE</supported-speed> + <supported-autoneg>BOTH_SUPPORTED</supported-autoneg> + <fec>not-supported</fec> + <npu-speed>0MBPS</npu-speed> + <current-phys-address>14:18:77:09:ae:25</current-phys-address> + <last-change-time>36</last-change-time> + <last-counter-clear>17039500</last-counter-clear> + <load-interval>30</load-interval> + <mtu>1532</mtu> + <eee-state>n/a</eee-state> + <qos-if-params> + <flow-control-rx>false</flow-control-rx> + <flow-control-tx>false</flow-control-tx> + <pfc-mode>false</pfc-mode> + <ets-mode>false</ets-mode> + <unknown-unicast-rate-pps>0</unknown-unicast-rate-pps> + <weight-info> + <queue-id>0</queue-id> + <weight>1</weight> + </weight-info> + <weight-info> + <queue-id>1</queue-id> + <weight>2</weight> + </weight-info> + <weight-info> + <queue-id>2</queue-id> + <weight>3</weight> + </weight-info> + <weight-info> + <queue-id>3</queue-id> + <weight>4</weight> + </weight-info> + <weight-info> + <queue-id>4</queue-id> + <weight>5</weight> + </weight-info> + <weight-info> + <queue-id>5</queue-id> + <weight>10</weight> + </weight-info> + <weight-info> + <queue-id>6</queue-id> + <weight>25</weight> + </weight-info> + <weight-info> + <queue-id>7</queue-id> + <weight>50</weight> + </weight-info> + </qos-if-params> + <ipv4-info/> + <ipv6> + <enable-status>false</enable-status> + </ipv6> + <fc-intf-params> + <port-type>Disabled</port-type> + <pwwn>00:00:00:00:00:00:00:00</pwwn> + <fc-id>00:00:00</fc-id> + <bb-credit>0</bb-credit> + </fc-intf-params> + </interface> + </data> + <last-keys> + <name>ethernet1/1/10</name> + </last-keys> + </bulk> +</rpc-reply> +<?xml version="1.0"?> +<rpc-reply> + <data> + <cms-interface-backptr> + <interface-in-running> + <name>ethernet1/1/11</name> + <untagged-vlan>vlan1</untagged-vlan> + </interface-in-running> + </cms-interface-backptr> + <interfaces> + <interface> + <name>ethernet1/1/11</name> + <type>ianaift:ethernetCsmacd</type> + <enabled>true</enabled> + <mtu>1532</mtu> + <mac-learn>HW</mac-learn> + <mode>MODE_L2</mode> + <load-interval>299</load-interval> + <duplex>auto</duplex> + <speed>AUTO</speed> + <keepalive>true</keepalive> + <lldp-med-cfg> + <med-enable>true</med-enable> + <notif-enable>false</notif-enable> + </lldp-med-cfg> + <lldp> + <tx-enable>true</tx-enable> + <rx-enable>true</rx-enable> + </lldp> + </interface> + </interfaces> + <ip-config> + <ipv4> + <arp> + <timeout>60</timeout> + </arp> + </ipv4> + </ip-config> + <ports> + <ports-state> + <port> + <name>phy-eth1/1/1</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>131137546</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/2</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>131137546</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/3</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>131137546</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/4</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/5</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/6</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/7</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/8</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/9</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/10</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/11</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/12</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/13</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/14</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/15</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/16</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/17</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/18</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/19</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/20</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/21</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/22</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/23</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/24</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/25</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/26</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/27</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/28</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/29</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/30</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/31</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/32</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + </ports-state> + </ports> + <system-state> + <system-status> + <uptime>162762</uptime> + </system-status> + </system-state> + </data> + <bulk> + <data> + <interface> + <name>ethernet1/1/11</name> + <type>ianaift:ethernetCsmacd</type> + <admin-status>up</admin-status> + <oper-status>down</oper-status> + <if-index>17305328</if-index> + <phys-address>14:18:77:09:ae:29</phys-address> + <speed>0</speed> + <statistics> + <in-octets>0</in-octets> + <in-unicast-pkts>0</in-unicast-pkts> + <in-broadcast-pkts>0</in-broadcast-pkts> + <in-multicast-pkts>0</in-multicast-pkts> + <in-discards>0</in-discards> + <in-errors>0</in-errors> + <in-unknown-protos>0</in-unknown-protos> + <out-octets>0</out-octets> + <out-unicast-pkts>0</out-unicast-pkts> + <out-broadcast-pkts>0</out-broadcast-pkts> + <out-multicast-pkts>0</out-multicast-pkts> + <out-discards>0</out-discards> + <out-errors>0</out-errors> + <if-out-qlen>0</if-out-qlen> + <ether-drop-events>0</ether-drop-events> + <ether-multicast-pkts>0</ether-multicast-pkts> + <ether-broadcast-pkts>0</ether-broadcast-pkts> + <ether-undersize-pkts>0</ether-undersize-pkts> + <ether-fragments>0</ether-fragments> + <ether-oversize-pkts>0</ether-oversize-pkts> + <ether-rx-oversize-pkts>0</ether-rx-oversize-pkts> + <ether-tx-oversize-pkts>0</ether-tx-oversize-pkts> + <ether-jabbers>0</ether-jabbers> + <ether-octets>0</ether-octets> + <ether-pkts>0</ether-pkts> + <ether-collisions>0</ether-collisions> + <ether-crc-align-errors>0</ether-crc-align-errors> + <ether-tx-no-errors>0</ether-tx-no-errors> + <ether-rx-no-errors>0</ether-rx-no-errors> + <green-discard-dropped-packets>0</green-discard-dropped-packets> + <green-discard-dropped-bytes>0</green-discard-dropped-bytes> + <yellow-discard-dropped-packets>0</yellow-discard-dropped-packets> + <yellow-discard-dropped-bytes>0</yellow-discard-dropped-bytes> + <red-discard-dropped-packets>0</red-discard-dropped-packets> + <red-discard-dropped-bytes>0</red-discard-dropped-bytes> + <discard-dropped-packets>0</discard-dropped-packets> + <discard-dropped-bytes>0</discard-dropped-bytes> + <ether-in-pkts-64-octets>0</ether-in-pkts-64-octets> + <ether-in-pkts-65-to-127-octets>0</ether-in-pkts-65-to-127-octets> + <ether-in-pkts-128-to-255-octets>0</ether-in-pkts-128-to-255-octets> + <ether-in-pkts-256-to-511-octets>0</ether-in-pkts-256-to-511-octets> + <ether-in-pkts-512-to-1023-octets>0</ether-in-pkts-512-to-1023-octets> + <ether-in-pkts-1024-to-1518-octets>0</ether-in-pkts-1024-to-1518-octets> + <ether-in-pkts-1519-to-2047-octets>0</ether-in-pkts-1519-to-2047-octets> + <ether-in-pkts-2048-to-4095-octets>0</ether-in-pkts-2048-to-4095-octets> + <ether-in-pkts-4096-to-9216-octets>0</ether-in-pkts-4096-to-9216-octets> + <ether-in-pkts-9217-to-16383-octets>0</ether-in-pkts-9217-to-16383-octets> + <ether-out-pkts-64-octets>0</ether-out-pkts-64-octets> + <ether-out-pkts-65-to-127-octets>0</ether-out-pkts-65-to-127-octets> + <ether-out-pkts-128-to-255-octets>0</ether-out-pkts-128-to-255-octets> + <ether-out-pkts-256-to-511-octets>0</ether-out-pkts-256-to-511-octets> + <ether-out-pkts-512-to-1023-octets>0</ether-out-pkts-512-to-1023-octets> + <ether-out-pkts-1024-to-1518-octets>0</ether-out-pkts-1024-to-1518-octets> + <ether-out-pkts-1519-to-2047-octets>0</ether-out-pkts-1519-to-2047-octets> + <ether-out-pkts-2048-to-4095-octets>0</ether-out-pkts-2048-to-4095-octets> + <ether-out-pkts-4096-to-9216-octets>0</ether-out-pkts-4096-to-9216-octets> + <ether-out-pkts-9217-to-16383-octets>0</ether-out-pkts-9217-to-16383-octets> + <pause-rx-pkts>0</pause-rx-pkts> + <pause-tx-pkts>0</pause-tx-pkts> + <in-pkts>0</in-pkts> + <out-pkts>0</out-pkts> + <utilization-percentage>0</utilization-percentage> + <in-bit-rate>0</in-bit-rate> + <in-pkt-rate>0</in-pkt-rate> + <in-line-rate>0</in-line-rate> + <out-bit-rate>0</out-bit-rate> + <out-pkt-rate>0</out-pkt-rate> + <out-line-rate>0</out-line-rate> + <lacp-statistics> + <lacpdus-rx>0</lacpdus-rx> + <lacpdus-tx>0</lacpdus-tx> + <unknown-rx>0</unknown-rx> + <illegal-rx>0</illegal-rx> + <marker-pdus-tx>0</marker-pdus-tx> + <marker-response-pdus-tx>0</marker-response-pdus-tx> + <marker-pdus-rx>0</marker-pdus-rx> + <marker-response-pdus-rx>0</marker-response-pdus-rx> + </lacp-statistics> + <dcbx-stats> + <ets-conf-tx-tlv-count>0</ets-conf-tx-tlv-count> + <ets-conf-rx-tlv-count>0</ets-conf-rx-tlv-count> + <ets-conf-rx-tlv-errors>0</ets-conf-rx-tlv-errors> + <ets-reco-tx-tlv-count>0</ets-reco-tx-tlv-count> + <ets-reco-rx-tlv-count>0</ets-reco-rx-tlv-count> + <ets-reco-rx-tlv-errors>0</ets-reco-rx-tlv-errors> + <pfc-tx-tlv-count>0</pfc-tx-tlv-count> + <pfc-rx-tlv-count>0</pfc-rx-tlv-count> + <pfc-rx-tlv-errors>0</pfc-rx-tlv-errors> + <app-prio-tx-tlv-count>0</app-prio-tx-tlv-count> + <app-prio-rx-tlv-count>0</app-prio-rx-tlv-count> + <app-prio-rx-tlv-errors>0</app-prio-rx-tlv-errors> + <dcbx-frames-tx-total>0</dcbx-frames-tx-total> + <dcbx-frames-rx-total>0</dcbx-frames-rx-total> + <dcbx-frames-error-total>0</dcbx-frames-error-total> + <dcbx-frames-unrecognized>0</dcbx-frames-unrecognized> + </dcbx-stats> + </statistics> + <auto-negotiation>false</auto-negotiation> + <supported-speed>40GIGE</supported-speed> + <supported-autoneg>BOTH_SUPPORTED</supported-autoneg> + <fec>not-supported</fec> + <npu-speed>0MBPS</npu-speed> + <current-phys-address>14:18:77:09:ae:29</current-phys-address> + <last-change-time>37</last-change-time> + <last-counter-clear>17048300</last-counter-clear> + <load-interval>30</load-interval> + <mtu>1532</mtu> + <eee-state>n/a</eee-state> + <qos-if-params> + <flow-control-rx>false</flow-control-rx> + <flow-control-tx>false</flow-control-tx> + <pfc-mode>false</pfc-mode> + <ets-mode>false</ets-mode> + <unknown-unicast-rate-pps>0</unknown-unicast-rate-pps> + <weight-info> + <queue-id>0</queue-id> + <weight>1</weight> + </weight-info> + <weight-info> + <queue-id>1</queue-id> + <weight>2</weight> + </weight-info> + <weight-info> + <queue-id>2</queue-id> + <weight>3</weight> + </weight-info> + <weight-info> + <queue-id>3</queue-id> + <weight>4</weight> + </weight-info> + <weight-info> + <queue-id>4</queue-id> + <weight>5</weight> + </weight-info> + <weight-info> + <queue-id>5</queue-id> + <weight>10</weight> + </weight-info> + <weight-info> + <queue-id>6</queue-id> + <weight>25</weight> + </weight-info> + <weight-info> + <queue-id>7</queue-id> + <weight>50</weight> + </weight-info> + </qos-if-params> + <ipv4-info/> + <ipv6> + <enable-status>false</enable-status> + </ipv6> + <fc-intf-params> + <port-type>Disabled</port-type> + <pwwn>00:00:00:00:00:00:00:00</pwwn> + <fc-id>00:00:00</fc-id> + <bb-credit>0</bb-credit> + </fc-intf-params> + </interface> + </data> + <last-keys> + <name>ethernet1/1/11</name> + </last-keys> + </bulk> +</rpc-reply> +<?xml version="1.0"?> +<rpc-reply> + <data> + <cms-interface-backptr> + <interface-in-running> + <name>ethernet1/1/13</name> + </interface-in-running> + </cms-interface-backptr> + <interfaces> + <interface> + <name>ethernet1/1/13</name> + <type>ianaift:ethernetCsmacd</type> + <enabled>true</enabled> + <mtu>1532</mtu> + <mac-learn>HW</mac-learn> + <mode>MODE_L2DISABLED</mode> + <load-interval>299</load-interval> + <duplex>auto</duplex> + <speed>AUTO</speed> + <keepalive>true</keepalive> + <lldp-med-cfg> + <med-enable>true</med-enable> + <notif-enable>false</notif-enable> + </lldp-med-cfg> + <vrrp-ipv4> + <vrrp-instance> + <vrid>4</vrid> + <log-state-change>false</log-state-change> + <preempt> + <enable>false</enable> + <hold-time>0</hold-time> + </preempt> + <priority>120</priority> + <advertise-interval> + <advertise-interval-sec>1</advertise-interval-sec> + <advertise-interval-centi-sec>200</advertise-interval-centi-sec> + </advertise-interval> + <virtual-ip-address>4.1.1.1</virtual-ip-address> + <virtual-ip-address>4.1.1.2</virtual-ip-address> + <accept-mode>false</accept-mode> + <auth-type>no-authentication</auth-type> + <protocol>ip</protocol> + <track-list> + <track-id>3</track-id> + <priority-decrement>25</priority-decrement> + </track-list> + </vrrp-instance> + </vrrp-ipv4> + <vrrp-ipv6> + <vrrp-instance> + <vrid>2</vrid> + <log-state-change>false</log-state-change> + <preempt> + <enable>false</enable> + <hold-time>0</hold-time> + </preempt> + <priority>120</priority> + <advertise-interval> + <advertise-interval-sec>1</advertise-interval-sec> + <advertise-interval-centi-sec>200</advertise-interval-centi-sec> + </advertise-interval> + <virtual-ip-address>fe80::10</virtual-ip-address> + <virtual-ip-address>3001:4828:5808:ffa3::9</virtual-ip-address> + <accept-mode>false</accept-mode> + <auth-type>no-authentication</auth-type> + <protocol>ip</protocol> + <track-list> + <track-id>3</track-id> + <priority-decrement>25</priority-decrement> + </track-list> + </vrrp-instance> + </vrrp-ipv6> + <lldp> + <tx-enable>true</tx-enable> + <rx-enable>true</rx-enable> + </lldp> + </interface> + </interfaces> + <ip-config> + <ipv4> + <arp> + <timeout>60</timeout> + </arp> + </ipv4> + </ip-config> + <ports> + <ports-state> + <port> + <name>phy-eth1/1/1</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>131137546</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/2</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>131137546</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/3</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>131137546</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/4</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/5</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/6</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/7</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/8</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/9</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/10</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/11</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/12</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/13</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/14</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/15</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/16</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/17</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/18</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/19</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/20</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/21</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/22</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/23</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/24</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/25</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/26</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/27</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/28</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/29</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/30</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/31</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/32</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + </ports-state> + </ports> + <system-state> + <system-status> + <uptime>162762</uptime> + </system-status> + </system-state> + </data> + <bulk> + <data> + <interface> + <name>ethernet1/1/13</name> + <type>ianaift:ethernetCsmacd</type> + <admin-status>up</admin-status> + <oper-status>down</oper-status> + <if-index>17305380</if-index> + <phys-address>14:18:77:09:ae:31</phys-address> + <speed>0</speed> + <statistics> + <in-octets>0</in-octets> + <in-unicast-pkts>0</in-unicast-pkts> + <in-broadcast-pkts>0</in-broadcast-pkts> + <in-multicast-pkts>0</in-multicast-pkts> + <in-discards>0</in-discards> + <in-errors>0</in-errors> + <in-unknown-protos>0</in-unknown-protos> + <out-octets>0</out-octets> + <out-unicast-pkts>0</out-unicast-pkts> + <out-broadcast-pkts>0</out-broadcast-pkts> + <out-multicast-pkts>0</out-multicast-pkts> + <out-discards>0</out-discards> + <out-errors>0</out-errors> + <if-out-qlen>0</if-out-qlen> + <ether-drop-events>0</ether-drop-events> + <ether-multicast-pkts>0</ether-multicast-pkts> + <ether-broadcast-pkts>0</ether-broadcast-pkts> + <ether-undersize-pkts>0</ether-undersize-pkts> + <ether-fragments>0</ether-fragments> + <ether-oversize-pkts>0</ether-oversize-pkts> + <ether-rx-oversize-pkts>0</ether-rx-oversize-pkts> + <ether-tx-oversize-pkts>0</ether-tx-oversize-pkts> + <ether-jabbers>0</ether-jabbers> + <ether-octets>0</ether-octets> + <ether-pkts>0</ether-pkts> + <ether-collisions>0</ether-collisions> + <ether-crc-align-errors>0</ether-crc-align-errors> + <ether-tx-no-errors>0</ether-tx-no-errors> + <ether-rx-no-errors>0</ether-rx-no-errors> + <green-discard-dropped-packets>0</green-discard-dropped-packets> + <green-discard-dropped-bytes>0</green-discard-dropped-bytes> + <yellow-discard-dropped-packets>0</yellow-discard-dropped-packets> + <yellow-discard-dropped-bytes>0</yellow-discard-dropped-bytes> + <red-discard-dropped-packets>0</red-discard-dropped-packets> + <red-discard-dropped-bytes>0</red-discard-dropped-bytes> + <discard-dropped-packets>0</discard-dropped-packets> + <discard-dropped-bytes>0</discard-dropped-bytes> + <ether-in-pkts-64-octets>0</ether-in-pkts-64-octets> + <ether-in-pkts-65-to-127-octets>0</ether-in-pkts-65-to-127-octets> + <ether-in-pkts-128-to-255-octets>0</ether-in-pkts-128-to-255-octets> + <ether-in-pkts-256-to-511-octets>0</ether-in-pkts-256-to-511-octets> + <ether-in-pkts-512-to-1023-octets>0</ether-in-pkts-512-to-1023-octets> + <ether-in-pkts-1024-to-1518-octets>0</ether-in-pkts-1024-to-1518-octets> + <ether-in-pkts-1519-to-2047-octets>0</ether-in-pkts-1519-to-2047-octets> + <ether-in-pkts-2048-to-4095-octets>0</ether-in-pkts-2048-to-4095-octets> + <ether-in-pkts-4096-to-9216-octets>0</ether-in-pkts-4096-to-9216-octets> + <ether-in-pkts-9217-to-16383-octets>0</ether-in-pkts-9217-to-16383-octets> + <ether-out-pkts-64-octets>0</ether-out-pkts-64-octets> + <ether-out-pkts-65-to-127-octets>0</ether-out-pkts-65-to-127-octets> + <ether-out-pkts-128-to-255-octets>0</ether-out-pkts-128-to-255-octets> + <ether-out-pkts-256-to-511-octets>0</ether-out-pkts-256-to-511-octets> + <ether-out-pkts-512-to-1023-octets>0</ether-out-pkts-512-to-1023-octets> + <ether-out-pkts-1024-to-1518-octets>0</ether-out-pkts-1024-to-1518-octets> + <ether-out-pkts-1519-to-2047-octets>0</ether-out-pkts-1519-to-2047-octets> + <ether-out-pkts-2048-to-4095-octets>0</ether-out-pkts-2048-to-4095-octets> + <ether-out-pkts-4096-to-9216-octets>0</ether-out-pkts-4096-to-9216-octets> + <ether-out-pkts-9217-to-16383-octets>0</ether-out-pkts-9217-to-16383-octets> + <pause-rx-pkts>0</pause-rx-pkts> + <pause-tx-pkts>0</pause-tx-pkts> + <in-pkts>0</in-pkts> + <out-pkts>0</out-pkts> + <utilization-percentage>0</utilization-percentage> + <in-bit-rate>0</in-bit-rate> + <in-pkt-rate>0</in-pkt-rate> + <in-line-rate>0</in-line-rate> + <out-bit-rate>0</out-bit-rate> + <out-pkt-rate>0</out-pkt-rate> + <out-line-rate>0</out-line-rate> + <lacp-statistics> + <lacpdus-rx>0</lacpdus-rx> + <lacpdus-tx>0</lacpdus-tx> + <unknown-rx>0</unknown-rx> + <illegal-rx>0</illegal-rx> + <marker-pdus-tx>0</marker-pdus-tx> + <marker-response-pdus-tx>0</marker-response-pdus-tx> + <marker-pdus-rx>0</marker-pdus-rx> + <marker-response-pdus-rx>0</marker-response-pdus-rx> + </lacp-statistics> + <dcbx-stats> + <ets-conf-tx-tlv-count>0</ets-conf-tx-tlv-count> + <ets-conf-rx-tlv-count>0</ets-conf-rx-tlv-count> + <ets-conf-rx-tlv-errors>0</ets-conf-rx-tlv-errors> + <ets-reco-tx-tlv-count>0</ets-reco-tx-tlv-count> + <ets-reco-rx-tlv-count>0</ets-reco-rx-tlv-count> + <ets-reco-rx-tlv-errors>0</ets-reco-rx-tlv-errors> + <pfc-tx-tlv-count>0</pfc-tx-tlv-count> + <pfc-rx-tlv-count>0</pfc-rx-tlv-count> + <pfc-rx-tlv-errors>0</pfc-rx-tlv-errors> + <app-prio-tx-tlv-count>0</app-prio-tx-tlv-count> + <app-prio-rx-tlv-count>0</app-prio-rx-tlv-count> + <app-prio-rx-tlv-errors>0</app-prio-rx-tlv-errors> + <dcbx-frames-tx-total>0</dcbx-frames-tx-total> + <dcbx-frames-rx-total>0</dcbx-frames-rx-total> + <dcbx-frames-error-total>0</dcbx-frames-error-total> + <dcbx-frames-unrecognized>0</dcbx-frames-unrecognized> + </dcbx-stats> + </statistics> + <auto-negotiation>false</auto-negotiation> + <supported-speed>40GIGE</supported-speed> + <supported-autoneg>BOTH_SUPPORTED</supported-autoneg> + <fec>not-supported</fec> + <npu-speed>0MBPS</npu-speed> + <current-phys-address>14:18:77:09:ae:31</current-phys-address> + <last-change-time>37</last-change-time> + <last-counter-clear>17074100</last-counter-clear> + <load-interval>30</load-interval> + <mtu>1532</mtu> + <eee-state>n/a</eee-state> + <qos-if-params> + <flow-control-rx>false</flow-control-rx> + <flow-control-tx>false</flow-control-tx> + <pfc-mode>false</pfc-mode> + <ets-mode>false</ets-mode> + <unknown-unicast-rate-pps>0</unknown-unicast-rate-pps> + <weight-info> + <queue-id>0</queue-id> + <weight>1</weight> + </weight-info> + <weight-info> + <queue-id>1</queue-id> + <weight>2</weight> + </weight-info> + <weight-info> + <queue-id>2</queue-id> + <weight>3</weight> + </weight-info> + <weight-info> + <queue-id>3</queue-id> + <weight>4</weight> + </weight-info> + <weight-info> + <queue-id>4</queue-id> + <weight>5</weight> + </weight-info> + <weight-info> + <queue-id>5</queue-id> + <weight>10</weight> + </weight-info> + <weight-info> + <queue-id>6</queue-id> + <weight>25</weight> + </weight-info> + <weight-info> + <queue-id>7</queue-id> + <weight>50</weight> + </weight-info> + </qos-if-params> + <ipv4-info/> + <ipv6> + <enable-status>true</enable-status> + </ipv6> + <fc-intf-params> + <port-type>Disabled</port-type> + <pwwn>00:00:00:00:00:00:00:00</pwwn> + <fc-id>00:00:00</fc-id> + <bb-credit>0</bb-credit> + </fc-intf-params> + </interface> + </data> + <last-keys> + <name>ethernet1/1/13</name> + </last-keys> + </bulk> +</rpc-reply> +<?xml version="1.0"?> +<rpc-reply> + <data> + <cms-interface-backptr> + <interface-in-running> + <name>ethernet1/1/16</name> + </interface-in-running> + </cms-interface-backptr> + <interfaces> + <interface> + <name>ethernet1/1/16</name> + <type>ianaift:ethernetCsmacd</type> + <enabled>true</enabled> + <mtu>1532</mtu> + <mac-learn>HW</mac-learn> + <mode>MODE_L2DISABLED</mode> + <load-interval>299</load-interval> + <duplex>auto</duplex> + <speed>AUTO</speed> + <keepalive>true</keepalive> + <lldp-med-cfg> + <med-enable>true</med-enable> + <notif-enable>false</notif-enable> + </lldp-med-cfg> + <lldp> + <tx-enable>true</tx-enable> + <rx-enable>true</rx-enable> + </lldp> + </interface> + </interfaces> + <ip-config> + <ipv4> + <arp> + <timeout>60</timeout> + </arp> + </ipv4> + </ip-config> + <ports> + <ports-state> + <port> + <name>phy-eth1/1/1</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>131137546</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/2</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>131137546</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/3</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>131137546</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/4</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/5</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/6</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/7</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/8</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/9</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/10</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/11</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/12</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/13</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/14</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/15</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/16</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/17</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/18</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/19</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/20</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/21</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/22</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/23</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/24</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/25</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/26</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/27</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/28</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/29</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/30</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/31</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/32</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + </ports-state> + </ports> + <system-state> + <system-status> + <uptime>162762</uptime> + </system-status> + </system-state> + </data> + <bulk> + <data> + <interface> + <name>ethernet1/1/16</name> + <type>ianaift:ethernetCsmacd</type> + <admin-status>up</admin-status> + <oper-status>down</oper-status> + <if-index>17305458</if-index> + <phys-address>14:18:77:09:ae:34</phys-address> + <speed>0</speed> + <statistics> + <in-octets>0</in-octets> + <in-unicast-pkts>0</in-unicast-pkts> + <in-broadcast-pkts>0</in-broadcast-pkts> + <in-multicast-pkts>0</in-multicast-pkts> + <in-discards>0</in-discards> + <in-errors>0</in-errors> + <in-unknown-protos>0</in-unknown-protos> + <out-octets>0</out-octets> + <out-unicast-pkts>0</out-unicast-pkts> + <out-broadcast-pkts>0</out-broadcast-pkts> + <out-multicast-pkts>0</out-multicast-pkts> + <out-discards>0</out-discards> + <out-errors>0</out-errors> + <if-out-qlen>0</if-out-qlen> + <ether-drop-events>0</ether-drop-events> + <ether-multicast-pkts>0</ether-multicast-pkts> + <ether-broadcast-pkts>0</ether-broadcast-pkts> + <ether-undersize-pkts>0</ether-undersize-pkts> + <ether-fragments>0</ether-fragments> + <ether-oversize-pkts>0</ether-oversize-pkts> + <ether-rx-oversize-pkts>0</ether-rx-oversize-pkts> + <ether-tx-oversize-pkts>0</ether-tx-oversize-pkts> + <ether-jabbers>0</ether-jabbers> + <ether-octets>0</ether-octets> + <ether-pkts>0</ether-pkts> + <ether-collisions>0</ether-collisions> + <ether-crc-align-errors>0</ether-crc-align-errors> + <ether-tx-no-errors>0</ether-tx-no-errors> + <ether-rx-no-errors>0</ether-rx-no-errors> + <green-discard-dropped-packets>0</green-discard-dropped-packets> + <green-discard-dropped-bytes>0</green-discard-dropped-bytes> + <yellow-discard-dropped-packets>0</yellow-discard-dropped-packets> + <yellow-discard-dropped-bytes>0</yellow-discard-dropped-bytes> + <red-discard-dropped-packets>0</red-discard-dropped-packets> + <red-discard-dropped-bytes>0</red-discard-dropped-bytes> + <discard-dropped-packets>0</discard-dropped-packets> + <discard-dropped-bytes>0</discard-dropped-bytes> + <ether-in-pkts-64-octets>0</ether-in-pkts-64-octets> + <ether-in-pkts-65-to-127-octets>0</ether-in-pkts-65-to-127-octets> + <ether-in-pkts-128-to-255-octets>0</ether-in-pkts-128-to-255-octets> + <ether-in-pkts-256-to-511-octets>0</ether-in-pkts-256-to-511-octets> + <ether-in-pkts-512-to-1023-octets>0</ether-in-pkts-512-to-1023-octets> + <ether-in-pkts-1024-to-1518-octets>0</ether-in-pkts-1024-to-1518-octets> + <ether-in-pkts-1519-to-2047-octets>0</ether-in-pkts-1519-to-2047-octets> + <ether-in-pkts-2048-to-4095-octets>0</ether-in-pkts-2048-to-4095-octets> + <ether-in-pkts-4096-to-9216-octets>0</ether-in-pkts-4096-to-9216-octets> + <ether-in-pkts-9217-to-16383-octets>0</ether-in-pkts-9217-to-16383-octets> + <ether-out-pkts-64-octets>0</ether-out-pkts-64-octets> + <ether-out-pkts-65-to-127-octets>0</ether-out-pkts-65-to-127-octets> + <ether-out-pkts-128-to-255-octets>0</ether-out-pkts-128-to-255-octets> + <ether-out-pkts-256-to-511-octets>0</ether-out-pkts-256-to-511-octets> + <ether-out-pkts-512-to-1023-octets>0</ether-out-pkts-512-to-1023-octets> + <ether-out-pkts-1024-to-1518-octets>0</ether-out-pkts-1024-to-1518-octets> + <ether-out-pkts-1519-to-2047-octets>0</ether-out-pkts-1519-to-2047-octets> + <ether-out-pkts-2048-to-4095-octets>0</ether-out-pkts-2048-to-4095-octets> + <ether-out-pkts-4096-to-9216-octets>0</ether-out-pkts-4096-to-9216-octets> + <ether-out-pkts-9217-to-16383-octets>0</ether-out-pkts-9217-to-16383-octets> + <pause-rx-pkts>0</pause-rx-pkts> + <pause-tx-pkts>0</pause-tx-pkts> + <in-pkts>0</in-pkts> + <out-pkts>0</out-pkts> + <utilization-percentage>0</utilization-percentage> + <in-bit-rate>0</in-bit-rate> + <in-pkt-rate>0</in-pkt-rate> + <in-line-rate>0</in-line-rate> + <out-bit-rate>0</out-bit-rate> + <out-pkt-rate>0</out-pkt-rate> + <out-line-rate>0</out-line-rate> + <lacp-statistics> + <lacpdus-rx>0</lacpdus-rx> + <lacpdus-tx>0</lacpdus-tx> + <unknown-rx>0</unknown-rx> + <illegal-rx>0</illegal-rx> + <marker-pdus-tx>0</marker-pdus-tx> + <marker-response-pdus-tx>0</marker-response-pdus-tx> + <marker-pdus-rx>0</marker-pdus-rx> + <marker-response-pdus-rx>0</marker-response-pdus-rx> + </lacp-statistics> + <dcbx-stats> + <ets-conf-tx-tlv-count>0</ets-conf-tx-tlv-count> + <ets-conf-rx-tlv-count>0</ets-conf-rx-tlv-count> + <ets-conf-rx-tlv-errors>0</ets-conf-rx-tlv-errors> + <ets-reco-tx-tlv-count>0</ets-reco-tx-tlv-count> + <ets-reco-rx-tlv-count>0</ets-reco-rx-tlv-count> + <ets-reco-rx-tlv-errors>0</ets-reco-rx-tlv-errors> + <pfc-tx-tlv-count>0</pfc-tx-tlv-count> + <pfc-rx-tlv-count>0</pfc-rx-tlv-count> + <pfc-rx-tlv-errors>0</pfc-rx-tlv-errors> + <app-prio-tx-tlv-count>0</app-prio-tx-tlv-count> + <app-prio-rx-tlv-count>0</app-prio-rx-tlv-count> + <app-prio-rx-tlv-errors>0</app-prio-rx-tlv-errors> + <dcbx-frames-tx-total>0</dcbx-frames-tx-total> + <dcbx-frames-rx-total>0</dcbx-frames-rx-total> + <dcbx-frames-error-total>0</dcbx-frames-error-total> + <dcbx-frames-unrecognized>0</dcbx-frames-unrecognized> + </dcbx-stats> + </statistics> + <auto-negotiation>false</auto-negotiation> + <supported-speed>40GIGE</supported-speed> + <supported-autoneg>BOTH_SUPPORTED</supported-autoneg> + <fec>not-supported</fec> + <npu-speed>0MBPS</npu-speed> + <current-phys-address>14:18:77:09:ae:34</current-phys-address> + <last-change-time>37</last-change-time> + <last-counter-clear>17087400</last-counter-clear> + <load-interval>30</load-interval> + <mtu>1532</mtu> + <eee-state>n/a</eee-state> + <qos-if-params> + <flow-control-rx>false</flow-control-rx> + <flow-control-tx>false</flow-control-tx> + <pfc-mode>false</pfc-mode> + <ets-mode>false</ets-mode> + <unknown-unicast-rate-pps>0</unknown-unicast-rate-pps> + <weight-info> + <queue-id>0</queue-id> + <weight>1</weight> + </weight-info> + <weight-info> + <queue-id>1</queue-id> + <weight>2</weight> + </weight-info> + <weight-info> + <queue-id>2</queue-id> + <weight>3</weight> + </weight-info> + <weight-info> + <queue-id>3</queue-id> + <weight>4</weight> + </weight-info> + <weight-info> + <queue-id>4</queue-id> + <weight>5</weight> + </weight-info> + <weight-info> + <queue-id>5</queue-id> + <weight>10</weight> + </weight-info> + <weight-info> + <queue-id>6</queue-id> + <weight>25</weight> + </weight-info> + <weight-info> + <queue-id>7</queue-id> + <weight>50</weight> + </weight-info> + </qos-if-params> + <ipv4-info/> + <ipv6> + <enable-status>true</enable-status> + </ipv6> + <fc-intf-params> + <port-type>Disabled</port-type> + <pwwn>00:00:00:00:00:00:00:00</pwwn> + <fc-id>00:00:00</fc-id> + <bb-credit>0</bb-credit> + </fc-intf-params> + </interface> + </data> + <last-keys> + <name>ethernet1/1/16</name> + </last-keys> + </bulk> +</rpc-reply> +<?xml version="1.0"?> +<rpc-reply> + <data> + <cms-interface-backptr> + <interface-in-running> + <name>ethernet1/1/17</name> + </interface-in-running> + </cms-interface-backptr> + <interfaces> + <interface> + <name>ethernet1/1/17</name> + <type>ianaift:ethernetCsmacd</type> + <enabled>true</enabled> + <mtu>1532</mtu> + <mac-learn>HW</mac-learn> + <mode>MODE_L2DISABLED</mode> + <load-interval>299</load-interval> + <duplex>auto</duplex> + <speed>AUTO</speed> + <keepalive>true</keepalive> + <lldp-med-cfg> + <med-enable>true</med-enable> + <notif-enable>false</notif-enable> + </lldp-med-cfg> + <lldp> + <tx-enable>true</tx-enable> + <rx-enable>true</rx-enable> + </lldp> + </interface> + </interfaces> + <ip-config> + <ipv4> + <arp> + <timeout>60</timeout> + </arp> + </ipv4> + </ip-config> + <ports> + <ports-state> + <port> + <name>phy-eth1/1/1</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>131137546</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/2</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>131137546</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/3</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>131137546</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/4</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/5</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/6</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/7</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/8</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/9</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/10</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/11</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/12</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/13</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/14</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/15</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/16</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/17</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/18</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/19</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/20</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/21</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/22</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/23</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/24</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/25</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/26</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/27</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/28</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/29</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/30</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/31</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/32</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + </ports-state> + </ports> + <system-state> + <system-status> + <uptime>162762</uptime> + </system-status> + </system-state> + </data> + <bulk> + <data> + <interface> + <name>ethernet1/1/17</name> + <type>ianaift:ethernetCsmacd</type> + <admin-status>up</admin-status> + <oper-status>down</oper-status> + <if-index>17305484</if-index> + <phys-address>14:18:77:09:ae:35</phys-address> + <speed>0</speed> + <statistics> + <in-octets>0</in-octets> + <in-unicast-pkts>0</in-unicast-pkts> + <in-broadcast-pkts>0</in-broadcast-pkts> + <in-multicast-pkts>0</in-multicast-pkts> + <in-discards>0</in-discards> + <in-errors>0</in-errors> + <in-unknown-protos>0</in-unknown-protos> + <out-octets>0</out-octets> + <out-unicast-pkts>0</out-unicast-pkts> + <out-broadcast-pkts>0</out-broadcast-pkts> + <out-multicast-pkts>0</out-multicast-pkts> + <out-discards>0</out-discards> + <out-errors>0</out-errors> + <if-out-qlen>0</if-out-qlen> + <ether-drop-events>0</ether-drop-events> + <ether-multicast-pkts>0</ether-multicast-pkts> + <ether-broadcast-pkts>0</ether-broadcast-pkts> + <ether-undersize-pkts>0</ether-undersize-pkts> + <ether-fragments>0</ether-fragments> + <ether-oversize-pkts>0</ether-oversize-pkts> + <ether-rx-oversize-pkts>0</ether-rx-oversize-pkts> + <ether-tx-oversize-pkts>0</ether-tx-oversize-pkts> + <ether-jabbers>0</ether-jabbers> + <ether-octets>0</ether-octets> + <ether-pkts>0</ether-pkts> + <ether-collisions>0</ether-collisions> + <ether-crc-align-errors>0</ether-crc-align-errors> + <ether-tx-no-errors>0</ether-tx-no-errors> + <ether-rx-no-errors>0</ether-rx-no-errors> + <green-discard-dropped-packets>0</green-discard-dropped-packets> + <green-discard-dropped-bytes>0</green-discard-dropped-bytes> + <yellow-discard-dropped-packets>0</yellow-discard-dropped-packets> + <yellow-discard-dropped-bytes>0</yellow-discard-dropped-bytes> + <red-discard-dropped-packets>0</red-discard-dropped-packets> + <red-discard-dropped-bytes>0</red-discard-dropped-bytes> + <discard-dropped-packets>0</discard-dropped-packets> + <discard-dropped-bytes>0</discard-dropped-bytes> + <ether-in-pkts-64-octets>0</ether-in-pkts-64-octets> + <ether-in-pkts-65-to-127-octets>0</ether-in-pkts-65-to-127-octets> + <ether-in-pkts-128-to-255-octets>0</ether-in-pkts-128-to-255-octets> + <ether-in-pkts-256-to-511-octets>0</ether-in-pkts-256-to-511-octets> + <ether-in-pkts-512-to-1023-octets>0</ether-in-pkts-512-to-1023-octets> + <ether-in-pkts-1024-to-1518-octets>0</ether-in-pkts-1024-to-1518-octets> + <ether-in-pkts-1519-to-2047-octets>0</ether-in-pkts-1519-to-2047-octets> + <ether-in-pkts-2048-to-4095-octets>0</ether-in-pkts-2048-to-4095-octets> + <ether-in-pkts-4096-to-9216-octets>0</ether-in-pkts-4096-to-9216-octets> + <ether-in-pkts-9217-to-16383-octets>0</ether-in-pkts-9217-to-16383-octets> + <ether-out-pkts-64-octets>0</ether-out-pkts-64-octets> + <ether-out-pkts-65-to-127-octets>0</ether-out-pkts-65-to-127-octets> + <ether-out-pkts-128-to-255-octets>0</ether-out-pkts-128-to-255-octets> + <ether-out-pkts-256-to-511-octets>0</ether-out-pkts-256-to-511-octets> + <ether-out-pkts-512-to-1023-octets>0</ether-out-pkts-512-to-1023-octets> + <ether-out-pkts-1024-to-1518-octets>0</ether-out-pkts-1024-to-1518-octets> + <ether-out-pkts-1519-to-2047-octets>0</ether-out-pkts-1519-to-2047-octets> + <ether-out-pkts-2048-to-4095-octets>0</ether-out-pkts-2048-to-4095-octets> + <ether-out-pkts-4096-to-9216-octets>0</ether-out-pkts-4096-to-9216-octets> + <ether-out-pkts-9217-to-16383-octets>0</ether-out-pkts-9217-to-16383-octets> + <pause-rx-pkts>0</pause-rx-pkts> + <pause-tx-pkts>0</pause-tx-pkts> + <in-pkts>0</in-pkts> + <out-pkts>0</out-pkts> + <utilization-percentage>0</utilization-percentage> + <in-bit-rate>0</in-bit-rate> + <in-pkt-rate>0</in-pkt-rate> + <in-line-rate>0</in-line-rate> + <out-bit-rate>0</out-bit-rate> + <out-pkt-rate>0</out-pkt-rate> + <out-line-rate>0</out-line-rate> + <lacp-statistics> + <lacpdus-rx>0</lacpdus-rx> + <lacpdus-tx>0</lacpdus-tx> + <unknown-rx>0</unknown-rx> + <illegal-rx>0</illegal-rx> + <marker-pdus-tx>0</marker-pdus-tx> + <marker-response-pdus-tx>0</marker-response-pdus-tx> + <marker-pdus-rx>0</marker-pdus-rx> + <marker-response-pdus-rx>0</marker-response-pdus-rx> + </lacp-statistics> + <dcbx-stats> + <ets-conf-tx-tlv-count>0</ets-conf-tx-tlv-count> + <ets-conf-rx-tlv-count>0</ets-conf-rx-tlv-count> + <ets-conf-rx-tlv-errors>0</ets-conf-rx-tlv-errors> + <ets-reco-tx-tlv-count>0</ets-reco-tx-tlv-count> + <ets-reco-rx-tlv-count>0</ets-reco-rx-tlv-count> + <ets-reco-rx-tlv-errors>0</ets-reco-rx-tlv-errors> + <pfc-tx-tlv-count>0</pfc-tx-tlv-count> + <pfc-rx-tlv-count>0</pfc-rx-tlv-count> + <pfc-rx-tlv-errors>0</pfc-rx-tlv-errors> + <app-prio-tx-tlv-count>0</app-prio-tx-tlv-count> + <app-prio-rx-tlv-count>0</app-prio-rx-tlv-count> + <app-prio-rx-tlv-errors>0</app-prio-rx-tlv-errors> + <dcbx-frames-tx-total>0</dcbx-frames-tx-total> + <dcbx-frames-rx-total>0</dcbx-frames-rx-total> + <dcbx-frames-error-total>0</dcbx-frames-error-total> + <dcbx-frames-unrecognized>0</dcbx-frames-unrecognized> + </dcbx-stats> + </statistics> + <auto-negotiation>false</auto-negotiation> + <supported-speed>40GIGE</supported-speed> + <supported-autoneg>BOTH_SUPPORTED</supported-autoneg> + <fec>not-supported</fec> + <npu-speed>0MBPS</npu-speed> + <current-phys-address>14:18:77:09:ae:35</current-phys-address> + <last-change-time>37</last-change-time> + <last-counter-clear>17090400</last-counter-clear> + <load-interval>30</load-interval> + <mtu>1532</mtu> + <eee-state>n/a</eee-state> + <qos-if-params> + <flow-control-rx>false</flow-control-rx> + <flow-control-tx>false</flow-control-tx> + <pfc-mode>false</pfc-mode> + <ets-mode>false</ets-mode> + <unknown-unicast-rate-pps>0</unknown-unicast-rate-pps> + <weight-info> + <queue-id>0</queue-id> + <weight>1</weight> + </weight-info> + <weight-info> + <queue-id>1</queue-id> + <weight>2</weight> + </weight-info> + <weight-info> + <queue-id>2</queue-id> + <weight>3</weight> + </weight-info> + <weight-info> + <queue-id>3</queue-id> + <weight>4</weight> + </weight-info> + <weight-info> + <queue-id>4</queue-id> + <weight>5</weight> + </weight-info> + <weight-info> + <queue-id>5</queue-id> + <weight>10</weight> + </weight-info> + <weight-info> + <queue-id>6</queue-id> + <weight>25</weight> + </weight-info> + <weight-info> + <queue-id>7</queue-id> + <weight>50</weight> + </weight-info> + </qos-if-params> + <ipv4-info/> + <ipv6> + <enable-status>true</enable-status> + </ipv6> + <fc-intf-params> + <port-type>Disabled</port-type> + <pwwn>00:00:00:00:00:00:00:00</pwwn> + <fc-id>00:00:00</fc-id> + <bb-credit>0</bb-credit> + </fc-intf-params> + </interface> + </data> + <last-keys> + <name>ethernet1/1/17</name> + </last-keys> + </bulk> +</rpc-reply> +<?xml version="1.0"?> +<rpc-reply> + <data> + <cms-interface-backptr> + <interface-in-running> + <name>ethernet1/1/18</name> + </interface-in-running> + </cms-interface-backptr> + <interfaces> + <interface> + <name>ethernet1/1/18</name> + <type>ianaift:ethernetCsmacd</type> + <enabled>true</enabled> + <mtu>1532</mtu> + <mac-learn>HW</mac-learn> + <mode>MODE_L2DISABLED</mode> + <load-interval>299</load-interval> + <duplex>auto</duplex> + <speed>AUTO</speed> + <keepalive>true</keepalive> + <lldp-med-cfg> + <med-enable>true</med-enable> + <notif-enable>false</notif-enable> + </lldp-med-cfg> + <lldp> + <tx-enable>true</tx-enable> + <rx-enable>true</rx-enable> + </lldp> + </interface> + </interfaces> + <ip-config> + <ipv4> + <arp> + <timeout>60</timeout> + </arp> + </ipv4> + </ip-config> + <ports> + <ports-state> + <port> + <name>phy-eth1/1/1</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>131137546</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/2</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>131137546</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/3</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>131137546</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/4</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/5</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/6</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/7</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/8</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/9</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/10</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/11</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/12</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/13</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/14</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/15</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/16</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/17</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/18</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/19</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/20</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/21</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/22</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/23</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/24</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/25</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/26</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/27</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/28</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/29</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/30</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/31</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/32</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + </ports-state> + </ports> + <system-state> + <system-status> + <uptime>162762</uptime> + </system-status> + </system-state> + </data> + <bulk> + <data> + <interface> + <name>ethernet1/1/18</name> + <type>ianaift:ethernetCsmacd</type> + <admin-status>up</admin-status> + <oper-status>down</oper-status> + <if-index>17305510</if-index> + <phys-address>14:18:77:09:ae:39</phys-address> + <speed>0</speed> + <statistics> + <in-octets>0</in-octets> + <in-unicast-pkts>0</in-unicast-pkts> + <in-broadcast-pkts>0</in-broadcast-pkts> + <in-multicast-pkts>0</in-multicast-pkts> + <in-discards>0</in-discards> + <in-errors>0</in-errors> + <in-unknown-protos>0</in-unknown-protos> + <out-octets>0</out-octets> + <out-unicast-pkts>0</out-unicast-pkts> + <out-broadcast-pkts>0</out-broadcast-pkts> + <out-multicast-pkts>0</out-multicast-pkts> + <out-discards>0</out-discards> + <out-errors>0</out-errors> + <if-out-qlen>0</if-out-qlen> + <ether-drop-events>0</ether-drop-events> + <ether-multicast-pkts>0</ether-multicast-pkts> + <ether-broadcast-pkts>0</ether-broadcast-pkts> + <ether-undersize-pkts>0</ether-undersize-pkts> + <ether-fragments>0</ether-fragments> + <ether-oversize-pkts>0</ether-oversize-pkts> + <ether-rx-oversize-pkts>0</ether-rx-oversize-pkts> + <ether-tx-oversize-pkts>0</ether-tx-oversize-pkts> + <ether-jabbers>0</ether-jabbers> + <ether-octets>0</ether-octets> + <ether-pkts>0</ether-pkts> + <ether-collisions>0</ether-collisions> + <ether-crc-align-errors>0</ether-crc-align-errors> + <ether-tx-no-errors>0</ether-tx-no-errors> + <ether-rx-no-errors>0</ether-rx-no-errors> + <green-discard-dropped-packets>0</green-discard-dropped-packets> + <green-discard-dropped-bytes>0</green-discard-dropped-bytes> + <yellow-discard-dropped-packets>0</yellow-discard-dropped-packets> + <yellow-discard-dropped-bytes>0</yellow-discard-dropped-bytes> + <red-discard-dropped-packets>0</red-discard-dropped-packets> + <red-discard-dropped-bytes>0</red-discard-dropped-bytes> + <discard-dropped-packets>0</discard-dropped-packets> + <discard-dropped-bytes>0</discard-dropped-bytes> + <ether-in-pkts-64-octets>0</ether-in-pkts-64-octets> + <ether-in-pkts-65-to-127-octets>0</ether-in-pkts-65-to-127-octets> + <ether-in-pkts-128-to-255-octets>0</ether-in-pkts-128-to-255-octets> + <ether-in-pkts-256-to-511-octets>0</ether-in-pkts-256-to-511-octets> + <ether-in-pkts-512-to-1023-octets>0</ether-in-pkts-512-to-1023-octets> + <ether-in-pkts-1024-to-1518-octets>0</ether-in-pkts-1024-to-1518-octets> + <ether-in-pkts-1519-to-2047-octets>0</ether-in-pkts-1519-to-2047-octets> + <ether-in-pkts-2048-to-4095-octets>0</ether-in-pkts-2048-to-4095-octets> + <ether-in-pkts-4096-to-9216-octets>0</ether-in-pkts-4096-to-9216-octets> + <ether-in-pkts-9217-to-16383-octets>0</ether-in-pkts-9217-to-16383-octets> + <ether-out-pkts-64-octets>0</ether-out-pkts-64-octets> + <ether-out-pkts-65-to-127-octets>0</ether-out-pkts-65-to-127-octets> + <ether-out-pkts-128-to-255-octets>0</ether-out-pkts-128-to-255-octets> + <ether-out-pkts-256-to-511-octets>0</ether-out-pkts-256-to-511-octets> + <ether-out-pkts-512-to-1023-octets>0</ether-out-pkts-512-to-1023-octets> + <ether-out-pkts-1024-to-1518-octets>0</ether-out-pkts-1024-to-1518-octets> + <ether-out-pkts-1519-to-2047-octets>0</ether-out-pkts-1519-to-2047-octets> + <ether-out-pkts-2048-to-4095-octets>0</ether-out-pkts-2048-to-4095-octets> + <ether-out-pkts-4096-to-9216-octets>0</ether-out-pkts-4096-to-9216-octets> + <ether-out-pkts-9217-to-16383-octets>0</ether-out-pkts-9217-to-16383-octets> + <pause-rx-pkts>0</pause-rx-pkts> + <pause-tx-pkts>0</pause-tx-pkts> + <in-pkts>0</in-pkts> + <out-pkts>0</out-pkts> + <utilization-percentage>0</utilization-percentage> + <in-bit-rate>0</in-bit-rate> + <in-pkt-rate>0</in-pkt-rate> + <in-line-rate>0</in-line-rate> + <out-bit-rate>0</out-bit-rate> + <out-pkt-rate>0</out-pkt-rate> + <out-line-rate>0</out-line-rate> + <lacp-statistics> + <lacpdus-rx>0</lacpdus-rx> + <lacpdus-tx>0</lacpdus-tx> + <unknown-rx>0</unknown-rx> + <illegal-rx>0</illegal-rx> + <marker-pdus-tx>0</marker-pdus-tx> + <marker-response-pdus-tx>0</marker-response-pdus-tx> + <marker-pdus-rx>0</marker-pdus-rx> + <marker-response-pdus-rx>0</marker-response-pdus-rx> + </lacp-statistics> + <dcbx-stats> + <ets-conf-tx-tlv-count>0</ets-conf-tx-tlv-count> + <ets-conf-rx-tlv-count>0</ets-conf-rx-tlv-count> + <ets-conf-rx-tlv-errors>0</ets-conf-rx-tlv-errors> + <ets-reco-tx-tlv-count>0</ets-reco-tx-tlv-count> + <ets-reco-rx-tlv-count>0</ets-reco-rx-tlv-count> + <ets-reco-rx-tlv-errors>0</ets-reco-rx-tlv-errors> + <pfc-tx-tlv-count>0</pfc-tx-tlv-count> + <pfc-rx-tlv-count>0</pfc-rx-tlv-count> + <pfc-rx-tlv-errors>0</pfc-rx-tlv-errors> + <app-prio-tx-tlv-count>0</app-prio-tx-tlv-count> + <app-prio-rx-tlv-count>0</app-prio-rx-tlv-count> + <app-prio-rx-tlv-errors>0</app-prio-rx-tlv-errors> + <dcbx-frames-tx-total>0</dcbx-frames-tx-total> + <dcbx-frames-rx-total>0</dcbx-frames-rx-total> + <dcbx-frames-error-total>0</dcbx-frames-error-total> + <dcbx-frames-unrecognized>0</dcbx-frames-unrecognized> + </dcbx-stats> + </statistics> + <auto-negotiation>false</auto-negotiation> + <supported-speed>40GIGE</supported-speed> + <supported-autoneg>BOTH_SUPPORTED</supported-autoneg> + <fec>not-supported</fec> + <npu-speed>0MBPS</npu-speed> + <current-phys-address>14:18:77:09:ae:39</current-phys-address> + <last-change-time>37</last-change-time> + <last-counter-clear>17116100</last-counter-clear> + <load-interval>30</load-interval> + <mtu>1532</mtu> + <eee-state>n/a</eee-state> + <qos-if-params> + <flow-control-rx>false</flow-control-rx> + <flow-control-tx>false</flow-control-tx> + <pfc-mode>false</pfc-mode> + <ets-mode>false</ets-mode> + <unknown-unicast-rate-pps>0</unknown-unicast-rate-pps> + <weight-info> + <queue-id>0</queue-id> + <weight>1</weight> + </weight-info> + <weight-info> + <queue-id>1</queue-id> + <weight>2</weight> + </weight-info> + <weight-info> + <queue-id>2</queue-id> + <weight>3</weight> + </weight-info> + <weight-info> + <queue-id>3</queue-id> + <weight>4</weight> + </weight-info> + <weight-info> + <queue-id>4</queue-id> + <weight>5</weight> + </weight-info> + <weight-info> + <queue-id>5</queue-id> + <weight>10</weight> + </weight-info> + <weight-info> + <queue-id>6</queue-id> + <weight>25</weight> + </weight-info> + <weight-info> + <queue-id>7</queue-id> + <weight>50</weight> + </weight-info> + </qos-if-params> + <ipv4-info/> + <ipv6> + <enable-status>true</enable-status> + </ipv6> + <fc-intf-params> + <port-type>Disabled</port-type> + <pwwn>00:00:00:00:00:00:00:00</pwwn> + <fc-id>00:00:00</fc-id> + <bb-credit>0</bb-credit> + </fc-intf-params> + </interface> + </data> + <last-keys> + <name>ethernet1/1/18</name> + </last-keys> + </bulk> +</rpc-reply> +<?xml version="1.0"?> +<rpc-reply> + <data> + <cms-interface-backptr> + <interface-in-running> + <name>ethernet1/1/19</name> + </interface-in-running> + </cms-interface-backptr> + <interfaces> + <interface> + <name>ethernet1/1/19</name> + <type>ianaift:ethernetCsmacd</type> + <enabled>true</enabled> + <mtu>1532</mtu> + <mac-learn>HW</mac-learn> + <mode>MODE_L2DISABLED</mode> + <load-interval>299</load-interval> + <duplex>auto</duplex> + <speed>AUTO</speed> + <keepalive>true</keepalive> + <lldp-med-cfg> + <med-enable>true</med-enable> + <notif-enable>false</notif-enable> + </lldp-med-cfg> + <lldp> + <tx-enable>true</tx-enable> + <rx-enable>true</rx-enable> + </lldp> + </interface> + </interfaces> + <ip-config> + <ipv4> + <arp> + <timeout>60</timeout> + </arp> + </ipv4> + </ip-config> + <ports> + <ports-state> + <port> + <name>phy-eth1/1/1</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>131137546</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/2</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>131137546</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/3</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>131137546</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/4</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/5</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/6</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/7</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/8</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/9</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/10</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/11</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/12</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/13</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/14</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/15</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/16</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/17</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/18</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/19</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/20</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/21</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/22</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/23</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/24</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/25</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/26</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/27</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/28</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/29</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/30</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/31</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/32</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + </ports-state> + </ports> + <system-state> + <system-status> + <uptime>162762</uptime> + </system-status> + </system-state> + </data> + <bulk> + <data> + <interface> + <name>ethernet1/1/19</name> + <type>ianaift:ethernetCsmacd</type> + <admin-status>up</admin-status> + <oper-status>down</oper-status> + <if-index>17305536</if-index> + <phys-address>14:18:77:09:ae:3d</phys-address> + <speed>0</speed> + <statistics> + <in-octets>0</in-octets> + <in-unicast-pkts>0</in-unicast-pkts> + <in-broadcast-pkts>0</in-broadcast-pkts> + <in-multicast-pkts>0</in-multicast-pkts> + <in-discards>0</in-discards> + <in-errors>0</in-errors> + <in-unknown-protos>0</in-unknown-protos> + <out-octets>0</out-octets> + <out-unicast-pkts>0</out-unicast-pkts> + <out-broadcast-pkts>0</out-broadcast-pkts> + <out-multicast-pkts>0</out-multicast-pkts> + <out-discards>0</out-discards> + <out-errors>0</out-errors> + <if-out-qlen>0</if-out-qlen> + <ether-drop-events>0</ether-drop-events> + <ether-multicast-pkts>0</ether-multicast-pkts> + <ether-broadcast-pkts>0</ether-broadcast-pkts> + <ether-undersize-pkts>0</ether-undersize-pkts> + <ether-fragments>0</ether-fragments> + <ether-oversize-pkts>0</ether-oversize-pkts> + <ether-rx-oversize-pkts>0</ether-rx-oversize-pkts> + <ether-tx-oversize-pkts>0</ether-tx-oversize-pkts> + <ether-jabbers>0</ether-jabbers> + <ether-octets>0</ether-octets> + <ether-pkts>0</ether-pkts> + <ether-collisions>0</ether-collisions> + <ether-crc-align-errors>0</ether-crc-align-errors> + <ether-tx-no-errors>0</ether-tx-no-errors> + <ether-rx-no-errors>0</ether-rx-no-errors> + <green-discard-dropped-packets>0</green-discard-dropped-packets> + <green-discard-dropped-bytes>0</green-discard-dropped-bytes> + <yellow-discard-dropped-packets>0</yellow-discard-dropped-packets> + <yellow-discard-dropped-bytes>0</yellow-discard-dropped-bytes> + <red-discard-dropped-packets>0</red-discard-dropped-packets> + <red-discard-dropped-bytes>0</red-discard-dropped-bytes> + <discard-dropped-packets>0</discard-dropped-packets> + <discard-dropped-bytes>0</discard-dropped-bytes> + <ether-in-pkts-64-octets>0</ether-in-pkts-64-octets> + <ether-in-pkts-65-to-127-octets>0</ether-in-pkts-65-to-127-octets> + <ether-in-pkts-128-to-255-octets>0</ether-in-pkts-128-to-255-octets> + <ether-in-pkts-256-to-511-octets>0</ether-in-pkts-256-to-511-octets> + <ether-in-pkts-512-to-1023-octets>0</ether-in-pkts-512-to-1023-octets> + <ether-in-pkts-1024-to-1518-octets>0</ether-in-pkts-1024-to-1518-octets> + <ether-in-pkts-1519-to-2047-octets>0</ether-in-pkts-1519-to-2047-octets> + <ether-in-pkts-2048-to-4095-octets>0</ether-in-pkts-2048-to-4095-octets> + <ether-in-pkts-4096-to-9216-octets>0</ether-in-pkts-4096-to-9216-octets> + <ether-in-pkts-9217-to-16383-octets>0</ether-in-pkts-9217-to-16383-octets> + <ether-out-pkts-64-octets>0</ether-out-pkts-64-octets> + <ether-out-pkts-65-to-127-octets>0</ether-out-pkts-65-to-127-octets> + <ether-out-pkts-128-to-255-octets>0</ether-out-pkts-128-to-255-octets> + <ether-out-pkts-256-to-511-octets>0</ether-out-pkts-256-to-511-octets> + <ether-out-pkts-512-to-1023-octets>0</ether-out-pkts-512-to-1023-octets> + <ether-out-pkts-1024-to-1518-octets>0</ether-out-pkts-1024-to-1518-octets> + <ether-out-pkts-1519-to-2047-octets>0</ether-out-pkts-1519-to-2047-octets> + <ether-out-pkts-2048-to-4095-octets>0</ether-out-pkts-2048-to-4095-octets> + <ether-out-pkts-4096-to-9216-octets>0</ether-out-pkts-4096-to-9216-octets> + <ether-out-pkts-9217-to-16383-octets>0</ether-out-pkts-9217-to-16383-octets> + <pause-rx-pkts>0</pause-rx-pkts> + <pause-tx-pkts>0</pause-tx-pkts> + <in-pkts>0</in-pkts> + <out-pkts>0</out-pkts> + <utilization-percentage>0</utilization-percentage> + <in-bit-rate>0</in-bit-rate> + <in-pkt-rate>0</in-pkt-rate> + <in-line-rate>0</in-line-rate> + <out-bit-rate>0</out-bit-rate> + <out-pkt-rate>0</out-pkt-rate> + <out-line-rate>0</out-line-rate> + <lacp-statistics> + <lacpdus-rx>0</lacpdus-rx> + <lacpdus-tx>0</lacpdus-tx> + <unknown-rx>0</unknown-rx> + <illegal-rx>0</illegal-rx> + <marker-pdus-tx>0</marker-pdus-tx> + <marker-response-pdus-tx>0</marker-response-pdus-tx> + <marker-pdus-rx>0</marker-pdus-rx> + <marker-response-pdus-rx>0</marker-response-pdus-rx> + </lacp-statistics> + <dcbx-stats> + <ets-conf-tx-tlv-count>0</ets-conf-tx-tlv-count> + <ets-conf-rx-tlv-count>0</ets-conf-rx-tlv-count> + <ets-conf-rx-tlv-errors>0</ets-conf-rx-tlv-errors> + <ets-reco-tx-tlv-count>0</ets-reco-tx-tlv-count> + <ets-reco-rx-tlv-count>0</ets-reco-rx-tlv-count> + <ets-reco-rx-tlv-errors>0</ets-reco-rx-tlv-errors> + <pfc-tx-tlv-count>0</pfc-tx-tlv-count> + <pfc-rx-tlv-count>0</pfc-rx-tlv-count> + <pfc-rx-tlv-errors>0</pfc-rx-tlv-errors> + <app-prio-tx-tlv-count>0</app-prio-tx-tlv-count> + <app-prio-rx-tlv-count>0</app-prio-rx-tlv-count> + <app-prio-rx-tlv-errors>0</app-prio-rx-tlv-errors> + <dcbx-frames-tx-total>0</dcbx-frames-tx-total> + <dcbx-frames-rx-total>0</dcbx-frames-rx-total> + <dcbx-frames-error-total>0</dcbx-frames-error-total> + <dcbx-frames-unrecognized>0</dcbx-frames-unrecognized> + </dcbx-stats> + </statistics> + <auto-negotiation>false</auto-negotiation> + <supported-speed>40GIGE</supported-speed> + <supported-autoneg>BOTH_SUPPORTED</supported-autoneg> + <fec>not-supported</fec> + <npu-speed>0MBPS</npu-speed> + <current-phys-address>14:18:77:09:ae:3d</current-phys-address> + <last-change-time>37</last-change-time> + <last-counter-clear>17128600</last-counter-clear> + <load-interval>30</load-interval> + <mtu>1532</mtu> + <eee-state>n/a</eee-state> + <qos-if-params> + <flow-control-rx>false</flow-control-rx> + <flow-control-tx>false</flow-control-tx> + <pfc-mode>false</pfc-mode> + <ets-mode>false</ets-mode> + <unknown-unicast-rate-pps>0</unknown-unicast-rate-pps> + <weight-info> + <queue-id>0</queue-id> + <weight>1</weight> + </weight-info> + <weight-info> + <queue-id>1</queue-id> + <weight>2</weight> + </weight-info> + <weight-info> + <queue-id>2</queue-id> + <weight>3</weight> + </weight-info> + <weight-info> + <queue-id>3</queue-id> + <weight>4</weight> + </weight-info> + <weight-info> + <queue-id>4</queue-id> + <weight>5</weight> + </weight-info> + <weight-info> + <queue-id>5</queue-id> + <weight>10</weight> + </weight-info> + <weight-info> + <queue-id>6</queue-id> + <weight>25</weight> + </weight-info> + <weight-info> + <queue-id>7</queue-id> + <weight>50</weight> + </weight-info> + </qos-if-params> + <ipv4-info/> + <ipv6> + <enable-status>true</enable-status> + </ipv6> + <fc-intf-params> + <port-type>Disabled</port-type> + <pwwn>00:00:00:00:00:00:00:00</pwwn> + <fc-id>00:00:00</fc-id> + <bb-credit>0</bb-credit> + </fc-intf-params> + </interface> + </data> + <last-keys> + <name>ethernet1/1/19</name> + </last-keys> + </bulk> +</rpc-reply> +<?xml version="1.0"?> +<rpc-reply> + <data> + <cms-interface-backptr> + <interface-in-running> + <name>ethernet1/1/20</name> + <untagged-vlan>vlan1</untagged-vlan> + </interface-in-running> + </cms-interface-backptr> + <interfaces> + <interface> + <name>ethernet1/1/20</name> + <type>ianaift:ethernetCsmacd</type> + <enabled>true</enabled> + <mtu>1532</mtu> + <mac-learn>HW</mac-learn> + <mode>MODE_L2</mode> + <load-interval>299</load-interval> + <duplex>auto</duplex> + <speed>AUTO</speed> + <keepalive>true</keepalive> + <lldp-med-cfg> + <med-enable>true</med-enable> + <notif-enable>false</notif-enable> + </lldp-med-cfg> + <lldp> + <tx-enable>true</tx-enable> + <rx-enable>true</rx-enable> + </lldp> + </interface> + </interfaces> + <ip-config> + <ipv4> + <arp> + <timeout>60</timeout> + </arp> + </ipv4> + </ip-config> + <ports> + <ports-state> + <port> + <name>phy-eth1/1/1</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>131137546</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/2</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>131137546</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/3</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>131137546</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/4</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/5</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/6</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/7</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/8</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/9</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/10</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/11</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/12</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/13</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/14</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/15</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/16</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/17</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/18</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/19</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/20</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/21</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/22</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/23</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/24</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/25</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/26</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/27</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/28</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/29</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/30</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/31</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/32</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + </ports-state> + </ports> + <system-state> + <system-status> + <uptime>162762</uptime> + </system-status> + </system-state> + </data> + <bulk> + <data> + <interface> + <name>ethernet1/1/20</name> + <type>ianaift:ethernetCsmacd</type> + <admin-status>up</admin-status> + <oper-status>down</oper-status> + <if-index>17305562</if-index> + <phys-address>14:18:77:09:ae:41</phys-address> + <speed>0</speed> + <statistics> + <in-octets>0</in-octets> + <in-unicast-pkts>0</in-unicast-pkts> + <in-broadcast-pkts>0</in-broadcast-pkts> + <in-multicast-pkts>0</in-multicast-pkts> + <in-discards>0</in-discards> + <in-errors>0</in-errors> + <in-unknown-protos>0</in-unknown-protos> + <out-octets>0</out-octets> + <out-unicast-pkts>0</out-unicast-pkts> + <out-broadcast-pkts>0</out-broadcast-pkts> + <out-multicast-pkts>0</out-multicast-pkts> + <out-discards>0</out-discards> + <out-errors>0</out-errors> + <if-out-qlen>0</if-out-qlen> + <ether-drop-events>0</ether-drop-events> + <ether-multicast-pkts>0</ether-multicast-pkts> + <ether-broadcast-pkts>0</ether-broadcast-pkts> + <ether-undersize-pkts>0</ether-undersize-pkts> + <ether-fragments>0</ether-fragments> + <ether-oversize-pkts>0</ether-oversize-pkts> + <ether-rx-oversize-pkts>0</ether-rx-oversize-pkts> + <ether-tx-oversize-pkts>0</ether-tx-oversize-pkts> + <ether-jabbers>0</ether-jabbers> + <ether-octets>0</ether-octets> + <ether-pkts>0</ether-pkts> + <ether-collisions>0</ether-collisions> + <ether-crc-align-errors>0</ether-crc-align-errors> + <ether-tx-no-errors>0</ether-tx-no-errors> + <ether-rx-no-errors>0</ether-rx-no-errors> + <green-discard-dropped-packets>0</green-discard-dropped-packets> + <green-discard-dropped-bytes>0</green-discard-dropped-bytes> + <yellow-discard-dropped-packets>0</yellow-discard-dropped-packets> + <yellow-discard-dropped-bytes>0</yellow-discard-dropped-bytes> + <red-discard-dropped-packets>0</red-discard-dropped-packets> + <red-discard-dropped-bytes>0</red-discard-dropped-bytes> + <discard-dropped-packets>0</discard-dropped-packets> + <discard-dropped-bytes>0</discard-dropped-bytes> + <ether-in-pkts-64-octets>0</ether-in-pkts-64-octets> + <ether-in-pkts-65-to-127-octets>0</ether-in-pkts-65-to-127-octets> + <ether-in-pkts-128-to-255-octets>0</ether-in-pkts-128-to-255-octets> + <ether-in-pkts-256-to-511-octets>0</ether-in-pkts-256-to-511-octets> + <ether-in-pkts-512-to-1023-octets>0</ether-in-pkts-512-to-1023-octets> + <ether-in-pkts-1024-to-1518-octets>0</ether-in-pkts-1024-to-1518-octets> + <ether-in-pkts-1519-to-2047-octets>0</ether-in-pkts-1519-to-2047-octets> + <ether-in-pkts-2048-to-4095-octets>0</ether-in-pkts-2048-to-4095-octets> + <ether-in-pkts-4096-to-9216-octets>0</ether-in-pkts-4096-to-9216-octets> + <ether-in-pkts-9217-to-16383-octets>0</ether-in-pkts-9217-to-16383-octets> + <ether-out-pkts-64-octets>0</ether-out-pkts-64-octets> + <ether-out-pkts-65-to-127-octets>0</ether-out-pkts-65-to-127-octets> + <ether-out-pkts-128-to-255-octets>0</ether-out-pkts-128-to-255-octets> + <ether-out-pkts-256-to-511-octets>0</ether-out-pkts-256-to-511-octets> + <ether-out-pkts-512-to-1023-octets>0</ether-out-pkts-512-to-1023-octets> + <ether-out-pkts-1024-to-1518-octets>0</ether-out-pkts-1024-to-1518-octets> + <ether-out-pkts-1519-to-2047-octets>0</ether-out-pkts-1519-to-2047-octets> + <ether-out-pkts-2048-to-4095-octets>0</ether-out-pkts-2048-to-4095-octets> + <ether-out-pkts-4096-to-9216-octets>0</ether-out-pkts-4096-to-9216-octets> + <ether-out-pkts-9217-to-16383-octets>0</ether-out-pkts-9217-to-16383-octets> + <pause-rx-pkts>0</pause-rx-pkts> + <pause-tx-pkts>0</pause-tx-pkts> + <in-pkts>0</in-pkts> + <out-pkts>0</out-pkts> + <utilization-percentage>0</utilization-percentage> + <in-bit-rate>0</in-bit-rate> + <in-pkt-rate>0</in-pkt-rate> + <in-line-rate>0</in-line-rate> + <out-bit-rate>0</out-bit-rate> + <out-pkt-rate>0</out-pkt-rate> + <out-line-rate>0</out-line-rate> + <lacp-statistics> + <lacpdus-rx>0</lacpdus-rx> + <lacpdus-tx>0</lacpdus-tx> + <unknown-rx>0</unknown-rx> + <illegal-rx>0</illegal-rx> + <marker-pdus-tx>0</marker-pdus-tx> + <marker-response-pdus-tx>0</marker-response-pdus-tx> + <marker-pdus-rx>0</marker-pdus-rx> + <marker-response-pdus-rx>0</marker-response-pdus-rx> + </lacp-statistics> + <dcbx-stats> + <ets-conf-tx-tlv-count>0</ets-conf-tx-tlv-count> + <ets-conf-rx-tlv-count>0</ets-conf-rx-tlv-count> + <ets-conf-rx-tlv-errors>0</ets-conf-rx-tlv-errors> + <ets-reco-tx-tlv-count>0</ets-reco-tx-tlv-count> + <ets-reco-rx-tlv-count>0</ets-reco-rx-tlv-count> + <ets-reco-rx-tlv-errors>0</ets-reco-rx-tlv-errors> + <pfc-tx-tlv-count>0</pfc-tx-tlv-count> + <pfc-rx-tlv-count>0</pfc-rx-tlv-count> + <pfc-rx-tlv-errors>0</pfc-rx-tlv-errors> + <app-prio-tx-tlv-count>0</app-prio-tx-tlv-count> + <app-prio-rx-tlv-count>0</app-prio-rx-tlv-count> + <app-prio-rx-tlv-errors>0</app-prio-rx-tlv-errors> + <dcbx-frames-tx-total>0</dcbx-frames-tx-total> + <dcbx-frames-rx-total>0</dcbx-frames-rx-total> + <dcbx-frames-error-total>0</dcbx-frames-error-total> + <dcbx-frames-unrecognized>0</dcbx-frames-unrecognized> + </dcbx-stats> + </statistics> + <auto-negotiation>false</auto-negotiation> + <supported-speed>40GIGE</supported-speed> + <supported-autoneg>BOTH_SUPPORTED</supported-autoneg> + <fec>not-supported</fec> + <npu-speed>0MBPS</npu-speed> + <current-phys-address>14:18:77:09:ae:41</current-phys-address> + <last-change-time>37</last-change-time> + <last-counter-clear>17135100</last-counter-clear> + <load-interval>30</load-interval> + <mtu>1532</mtu> + <eee-state>n/a</eee-state> + <qos-if-params> + <flow-control-rx>false</flow-control-rx> + <flow-control-tx>false</flow-control-tx> + <pfc-mode>false</pfc-mode> + <ets-mode>false</ets-mode> + <unknown-unicast-rate-pps>0</unknown-unicast-rate-pps> + <weight-info> + <queue-id>0</queue-id> + <weight>1</weight> + </weight-info> + <weight-info> + <queue-id>1</queue-id> + <weight>2</weight> + </weight-info> + <weight-info> + <queue-id>2</queue-id> + <weight>3</weight> + </weight-info> + <weight-info> + <queue-id>3</queue-id> + <weight>4</weight> + </weight-info> + <weight-info> + <queue-id>4</queue-id> + <weight>5</weight> + </weight-info> + <weight-info> + <queue-id>5</queue-id> + <weight>10</weight> + </weight-info> + <weight-info> + <queue-id>6</queue-id> + <weight>25</weight> + </weight-info> + <weight-info> + <queue-id>7</queue-id> + <weight>50</weight> + </weight-info> + </qos-if-params> + <ipv4-info/> + <ipv6> + <enable-status>false</enable-status> + </ipv6> + <fc-intf-params> + <port-type>Disabled</port-type> + <pwwn>00:00:00:00:00:00:00:00</pwwn> + <fc-id>00:00:00</fc-id> + <bb-credit>0</bb-credit> + </fc-intf-params> + </interface> + </data> + <last-keys> + <name>ethernet1/1/20</name> + </last-keys> + </bulk> +</rpc-reply> +<?xml version="1.0"?> +<rpc-reply> + <data> + <cms-interface-backptr> + <interface-in-running> + <name>ethernet1/1/21</name> + <untagged-vlan>vlan1</untagged-vlan> + </interface-in-running> + </cms-interface-backptr> + <interfaces> + <interface> + <name>ethernet1/1/21</name> + <type>ianaift:ethernetCsmacd</type> + <enabled>true</enabled> + <mtu>1532</mtu> + <mac-learn>HW</mac-learn> + <mode>MODE_L2</mode> + <load-interval>299</load-interval> + <duplex>auto</duplex> + <speed>AUTO</speed> + <keepalive>true</keepalive> + <lldp-med-cfg> + <med-enable>true</med-enable> + <notif-enable>false</notif-enable> + </lldp-med-cfg> + <lldp> + <tx-enable>true</tx-enable> + <rx-enable>true</rx-enable> + </lldp> + </interface> + </interfaces> + <ip-config> + <ipv4> + <arp> + <timeout>60</timeout> + </arp> + </ipv4> + </ip-config> + <ports> + <ports-state> + <port> + <name>phy-eth1/1/1</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>131137546</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/2</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>131137546</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/3</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>131137546</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/4</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/5</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/6</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/7</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/8</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/9</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/10</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/11</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/12</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/13</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/14</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/15</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/16</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/17</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/18</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/19</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/20</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/21</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/22</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/23</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/24</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/25</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/26</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/27</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/28</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/29</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/30</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/31</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/32</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + </ports-state> + </ports> + <system-state> + <system-status> + <uptime>162762</uptime> + </system-status> + </system-state> + </data> + <bulk> + <data> + <interface> + <name>ethernet1/1/21</name> + <type>ianaift:ethernetCsmacd</type> + <admin-status>up</admin-status> + <oper-status>down</oper-status> + <if-index>17305588</if-index> + <phys-address>14:18:77:09:ae:45</phys-address> + <speed>0</speed> + <statistics> + <in-octets>0</in-octets> + <in-unicast-pkts>0</in-unicast-pkts> + <in-broadcast-pkts>0</in-broadcast-pkts> + <in-multicast-pkts>0</in-multicast-pkts> + <in-discards>0</in-discards> + <in-errors>0</in-errors> + <in-unknown-protos>0</in-unknown-protos> + <out-octets>0</out-octets> + <out-unicast-pkts>0</out-unicast-pkts> + <out-broadcast-pkts>0</out-broadcast-pkts> + <out-multicast-pkts>0</out-multicast-pkts> + <out-discards>0</out-discards> + <out-errors>0</out-errors> + <if-out-qlen>0</if-out-qlen> + <ether-drop-events>0</ether-drop-events> + <ether-multicast-pkts>0</ether-multicast-pkts> + <ether-broadcast-pkts>0</ether-broadcast-pkts> + <ether-undersize-pkts>0</ether-undersize-pkts> + <ether-fragments>0</ether-fragments> + <ether-oversize-pkts>0</ether-oversize-pkts> + <ether-rx-oversize-pkts>0</ether-rx-oversize-pkts> + <ether-tx-oversize-pkts>0</ether-tx-oversize-pkts> + <ether-jabbers>0</ether-jabbers> + <ether-octets>0</ether-octets> + <ether-pkts>0</ether-pkts> + <ether-collisions>0</ether-collisions> + <ether-crc-align-errors>0</ether-crc-align-errors> + <ether-tx-no-errors>0</ether-tx-no-errors> + <ether-rx-no-errors>0</ether-rx-no-errors> + <green-discard-dropped-packets>0</green-discard-dropped-packets> + <green-discard-dropped-bytes>0</green-discard-dropped-bytes> + <yellow-discard-dropped-packets>0</yellow-discard-dropped-packets> + <yellow-discard-dropped-bytes>0</yellow-discard-dropped-bytes> + <red-discard-dropped-packets>0</red-discard-dropped-packets> + <red-discard-dropped-bytes>0</red-discard-dropped-bytes> + <discard-dropped-packets>0</discard-dropped-packets> + <discard-dropped-bytes>0</discard-dropped-bytes> + <ether-in-pkts-64-octets>0</ether-in-pkts-64-octets> + <ether-in-pkts-65-to-127-octets>0</ether-in-pkts-65-to-127-octets> + <ether-in-pkts-128-to-255-octets>0</ether-in-pkts-128-to-255-octets> + <ether-in-pkts-256-to-511-octets>0</ether-in-pkts-256-to-511-octets> + <ether-in-pkts-512-to-1023-octets>0</ether-in-pkts-512-to-1023-octets> + <ether-in-pkts-1024-to-1518-octets>0</ether-in-pkts-1024-to-1518-octets> + <ether-in-pkts-1519-to-2047-octets>0</ether-in-pkts-1519-to-2047-octets> + <ether-in-pkts-2048-to-4095-octets>0</ether-in-pkts-2048-to-4095-octets> + <ether-in-pkts-4096-to-9216-octets>0</ether-in-pkts-4096-to-9216-octets> + <ether-in-pkts-9217-to-16383-octets>0</ether-in-pkts-9217-to-16383-octets> + <ether-out-pkts-64-octets>0</ether-out-pkts-64-octets> + <ether-out-pkts-65-to-127-octets>0</ether-out-pkts-65-to-127-octets> + <ether-out-pkts-128-to-255-octets>0</ether-out-pkts-128-to-255-octets> + <ether-out-pkts-256-to-511-octets>0</ether-out-pkts-256-to-511-octets> + <ether-out-pkts-512-to-1023-octets>0</ether-out-pkts-512-to-1023-octets> + <ether-out-pkts-1024-to-1518-octets>0</ether-out-pkts-1024-to-1518-octets> + <ether-out-pkts-1519-to-2047-octets>0</ether-out-pkts-1519-to-2047-octets> + <ether-out-pkts-2048-to-4095-octets>0</ether-out-pkts-2048-to-4095-octets> + <ether-out-pkts-4096-to-9216-octets>0</ether-out-pkts-4096-to-9216-octets> + <ether-out-pkts-9217-to-16383-octets>0</ether-out-pkts-9217-to-16383-octets> + <pause-rx-pkts>0</pause-rx-pkts> + <pause-tx-pkts>0</pause-tx-pkts> + <in-pkts>0</in-pkts> + <out-pkts>0</out-pkts> + <utilization-percentage>0</utilization-percentage> + <in-bit-rate>0</in-bit-rate> + <in-pkt-rate>0</in-pkt-rate> + <in-line-rate>0</in-line-rate> + <out-bit-rate>0</out-bit-rate> + <out-pkt-rate>0</out-pkt-rate> + <out-line-rate>0</out-line-rate> + <lacp-statistics> + <lacpdus-rx>0</lacpdus-rx> + <lacpdus-tx>0</lacpdus-tx> + <unknown-rx>0</unknown-rx> + <illegal-rx>0</illegal-rx> + <marker-pdus-tx>0</marker-pdus-tx> + <marker-response-pdus-tx>0</marker-response-pdus-tx> + <marker-pdus-rx>0</marker-pdus-rx> + <marker-response-pdus-rx>0</marker-response-pdus-rx> + </lacp-statistics> + <dcbx-stats> + <ets-conf-tx-tlv-count>0</ets-conf-tx-tlv-count> + <ets-conf-rx-tlv-count>0</ets-conf-rx-tlv-count> + <ets-conf-rx-tlv-errors>0</ets-conf-rx-tlv-errors> + <ets-reco-tx-tlv-count>0</ets-reco-tx-tlv-count> + <ets-reco-rx-tlv-count>0</ets-reco-rx-tlv-count> + <ets-reco-rx-tlv-errors>0</ets-reco-rx-tlv-errors> + <pfc-tx-tlv-count>0</pfc-tx-tlv-count> + <pfc-rx-tlv-count>0</pfc-rx-tlv-count> + <pfc-rx-tlv-errors>0</pfc-rx-tlv-errors> + <app-prio-tx-tlv-count>0</app-prio-tx-tlv-count> + <app-prio-rx-tlv-count>0</app-prio-rx-tlv-count> + <app-prio-rx-tlv-errors>0</app-prio-rx-tlv-errors> + <dcbx-frames-tx-total>0</dcbx-frames-tx-total> + <dcbx-frames-rx-total>0</dcbx-frames-rx-total> + <dcbx-frames-error-total>0</dcbx-frames-error-total> + <dcbx-frames-unrecognized>0</dcbx-frames-unrecognized> + </dcbx-stats> + </statistics> + <auto-negotiation>false</auto-negotiation> + <supported-speed>40GIGE</supported-speed> + <supported-autoneg>BOTH_SUPPORTED</supported-autoneg> + <fec>not-supported</fec> + <npu-speed>0MBPS</npu-speed> + <current-phys-address>14:18:77:09:ae:45</current-phys-address> + <last-change-time>37</last-change-time> + <last-counter-clear>17145300</last-counter-clear> + <load-interval>30</load-interval> + <mtu>1532</mtu> + <eee-state>n/a</eee-state> + <qos-if-params> + <flow-control-rx>false</flow-control-rx> + <flow-control-tx>false</flow-control-tx> + <pfc-mode>false</pfc-mode> + <ets-mode>false</ets-mode> + <unknown-unicast-rate-pps>0</unknown-unicast-rate-pps> + <weight-info> + <queue-id>0</queue-id> + <weight>1</weight> + </weight-info> + <weight-info> + <queue-id>1</queue-id> + <weight>2</weight> + </weight-info> + <weight-info> + <queue-id>2</queue-id> + <weight>3</weight> + </weight-info> + <weight-info> + <queue-id>3</queue-id> + <weight>4</weight> + </weight-info> + <weight-info> + <queue-id>4</queue-id> + <weight>5</weight> + </weight-info> + <weight-info> + <queue-id>5</queue-id> + <weight>10</weight> + </weight-info> + <weight-info> + <queue-id>6</queue-id> + <weight>25</weight> + </weight-info> + <weight-info> + <queue-id>7</queue-id> + <weight>50</weight> + </weight-info> + </qos-if-params> + <ipv4-info/> + <ipv6> + <enable-status>false</enable-status> + </ipv6> + <fc-intf-params> + <port-type>Disabled</port-type> + <pwwn>00:00:00:00:00:00:00:00</pwwn> + <fc-id>00:00:00</fc-id> + <bb-credit>0</bb-credit> + </fc-intf-params> + </interface> + </data> + <last-keys> + <name>ethernet1/1/21</name> + </last-keys> + </bulk> +</rpc-reply> +<?xml version="1.0"?> +<rpc-reply> + <data> + <cms-interface-backptr> + <interface-in-running> + <name>ethernet1/1/23</name> + <untagged-vlan>vlan1</untagged-vlan> + </interface-in-running> + </cms-interface-backptr> + <interfaces> + <interface> + <name>ethernet1/1/23</name> + <type>ianaift:ethernetCsmacd</type> + <enabled>true</enabled> + <mtu>1532</mtu> + <mac-learn>HW</mac-learn> + <mode>MODE_L2</mode> + <load-interval>299</load-interval> + <duplex>auto</duplex> + <speed>AUTO</speed> + <keepalive>true</keepalive> + <lldp-med-cfg> + <med-enable>true</med-enable> + <notif-enable>false</notif-enable> + </lldp-med-cfg> + <lldp> + <tx-enable>true</tx-enable> + <rx-enable>true</rx-enable> + </lldp> + </interface> + </interfaces> + <ip-config> + <ipv4> + <arp> + <timeout>60</timeout> + </arp> + </ipv4> + </ip-config> + <ports> + <ports-state> + <port> + <name>phy-eth1/1/1</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>131137546</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/2</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>131137546</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/3</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>131137546</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/4</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/5</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/6</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/7</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/8</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/9</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/10</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/11</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/12</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/13</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/14</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/15</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/16</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/17</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/18</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/19</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/20</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/21</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/22</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/23</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/24</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/25</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/26</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/27</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/28</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/29</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/30</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/31</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/32</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + </ports-state> + </ports> + <system-state> + <system-status> + <uptime>162762</uptime> + </system-status> + </system-state> + </data> + <bulk> + <data> + <interface> + <name>ethernet1/1/23</name> + <type>ianaift:ethernetCsmacd</type> + <admin-status>up</admin-status> + <oper-status>down</oper-status> + <if-index>17305640</if-index> + <phys-address>14:18:77:09:ae:4d</phys-address> + <speed>0</speed> + <statistics> + <in-octets>0</in-octets> + <in-unicast-pkts>0</in-unicast-pkts> + <in-broadcast-pkts>0</in-broadcast-pkts> + <in-multicast-pkts>0</in-multicast-pkts> + <in-discards>0</in-discards> + <in-errors>0</in-errors> + <in-unknown-protos>0</in-unknown-protos> + <out-octets>0</out-octets> + <out-unicast-pkts>0</out-unicast-pkts> + <out-broadcast-pkts>0</out-broadcast-pkts> + <out-multicast-pkts>0</out-multicast-pkts> + <out-discards>0</out-discards> + <out-errors>0</out-errors> + <if-out-qlen>0</if-out-qlen> + <ether-drop-events>0</ether-drop-events> + <ether-multicast-pkts>0</ether-multicast-pkts> + <ether-broadcast-pkts>0</ether-broadcast-pkts> + <ether-undersize-pkts>0</ether-undersize-pkts> + <ether-fragments>0</ether-fragments> + <ether-oversize-pkts>0</ether-oversize-pkts> + <ether-rx-oversize-pkts>0</ether-rx-oversize-pkts> + <ether-tx-oversize-pkts>0</ether-tx-oversize-pkts> + <ether-jabbers>0</ether-jabbers> + <ether-octets>0</ether-octets> + <ether-pkts>0</ether-pkts> + <ether-collisions>0</ether-collisions> + <ether-crc-align-errors>0</ether-crc-align-errors> + <ether-tx-no-errors>0</ether-tx-no-errors> + <ether-rx-no-errors>0</ether-rx-no-errors> + <green-discard-dropped-packets>0</green-discard-dropped-packets> + <green-discard-dropped-bytes>0</green-discard-dropped-bytes> + <yellow-discard-dropped-packets>0</yellow-discard-dropped-packets> + <yellow-discard-dropped-bytes>0</yellow-discard-dropped-bytes> + <red-discard-dropped-packets>0</red-discard-dropped-packets> + <red-discard-dropped-bytes>0</red-discard-dropped-bytes> + <discard-dropped-packets>0</discard-dropped-packets> + <discard-dropped-bytes>0</discard-dropped-bytes> + <ether-in-pkts-64-octets>0</ether-in-pkts-64-octets> + <ether-in-pkts-65-to-127-octets>0</ether-in-pkts-65-to-127-octets> + <ether-in-pkts-128-to-255-octets>0</ether-in-pkts-128-to-255-octets> + <ether-in-pkts-256-to-511-octets>0</ether-in-pkts-256-to-511-octets> + <ether-in-pkts-512-to-1023-octets>0</ether-in-pkts-512-to-1023-octets> + <ether-in-pkts-1024-to-1518-octets>0</ether-in-pkts-1024-to-1518-octets> + <ether-in-pkts-1519-to-2047-octets>0</ether-in-pkts-1519-to-2047-octets> + <ether-in-pkts-2048-to-4095-octets>0</ether-in-pkts-2048-to-4095-octets> + <ether-in-pkts-4096-to-9216-octets>0</ether-in-pkts-4096-to-9216-octets> + <ether-in-pkts-9217-to-16383-octets>0</ether-in-pkts-9217-to-16383-octets> + <ether-out-pkts-64-octets>0</ether-out-pkts-64-octets> + <ether-out-pkts-65-to-127-octets>0</ether-out-pkts-65-to-127-octets> + <ether-out-pkts-128-to-255-octets>0</ether-out-pkts-128-to-255-octets> + <ether-out-pkts-256-to-511-octets>0</ether-out-pkts-256-to-511-octets> + <ether-out-pkts-512-to-1023-octets>0</ether-out-pkts-512-to-1023-octets> + <ether-out-pkts-1024-to-1518-octets>0</ether-out-pkts-1024-to-1518-octets> + <ether-out-pkts-1519-to-2047-octets>0</ether-out-pkts-1519-to-2047-octets> + <ether-out-pkts-2048-to-4095-octets>0</ether-out-pkts-2048-to-4095-octets> + <ether-out-pkts-4096-to-9216-octets>0</ether-out-pkts-4096-to-9216-octets> + <ether-out-pkts-9217-to-16383-octets>0</ether-out-pkts-9217-to-16383-octets> + <pause-rx-pkts>0</pause-rx-pkts> + <pause-tx-pkts>0</pause-tx-pkts> + <in-pkts>0</in-pkts> + <out-pkts>0</out-pkts> + <utilization-percentage>0</utilization-percentage> + <in-bit-rate>0</in-bit-rate> + <in-pkt-rate>0</in-pkt-rate> + <in-line-rate>0</in-line-rate> + <out-bit-rate>0</out-bit-rate> + <out-pkt-rate>0</out-pkt-rate> + <out-line-rate>0</out-line-rate> + <lacp-statistics> + <lacpdus-rx>0</lacpdus-rx> + <lacpdus-tx>0</lacpdus-tx> + <unknown-rx>0</unknown-rx> + <illegal-rx>0</illegal-rx> + <marker-pdus-tx>0</marker-pdus-tx> + <marker-response-pdus-tx>0</marker-response-pdus-tx> + <marker-pdus-rx>0</marker-pdus-rx> + <marker-response-pdus-rx>0</marker-response-pdus-rx> + </lacp-statistics> + <dcbx-stats> + <ets-conf-tx-tlv-count>0</ets-conf-tx-tlv-count> + <ets-conf-rx-tlv-count>0</ets-conf-rx-tlv-count> + <ets-conf-rx-tlv-errors>0</ets-conf-rx-tlv-errors> + <ets-reco-tx-tlv-count>0</ets-reco-tx-tlv-count> + <ets-reco-rx-tlv-count>0</ets-reco-rx-tlv-count> + <ets-reco-rx-tlv-errors>0</ets-reco-rx-tlv-errors> + <pfc-tx-tlv-count>0</pfc-tx-tlv-count> + <pfc-rx-tlv-count>0</pfc-rx-tlv-count> + <pfc-rx-tlv-errors>0</pfc-rx-tlv-errors> + <app-prio-tx-tlv-count>0</app-prio-tx-tlv-count> + <app-prio-rx-tlv-count>0</app-prio-rx-tlv-count> + <app-prio-rx-tlv-errors>0</app-prio-rx-tlv-errors> + <dcbx-frames-tx-total>0</dcbx-frames-tx-total> + <dcbx-frames-rx-total>0</dcbx-frames-rx-total> + <dcbx-frames-error-total>0</dcbx-frames-error-total> + <dcbx-frames-unrecognized>0</dcbx-frames-unrecognized> + </dcbx-stats> + </statistics> + <auto-negotiation>false</auto-negotiation> + <supported-speed>40GIGE</supported-speed> + <supported-autoneg>BOTH_SUPPORTED</supported-autoneg> + <fec>not-supported</fec> + <npu-speed>0MBPS</npu-speed> + <current-phys-address>14:18:77:09:ae:4d</current-phys-address> + <last-change-time>37</last-change-time> + <last-counter-clear>17164100</last-counter-clear> + <load-interval>30</load-interval> + <mtu>1532</mtu> + <eee-state>n/a</eee-state> + <qos-if-params> + <flow-control-rx>false</flow-control-rx> + <flow-control-tx>false</flow-control-tx> + <pfc-mode>false</pfc-mode> + <ets-mode>false</ets-mode> + <unknown-unicast-rate-pps>0</unknown-unicast-rate-pps> + <weight-info> + <queue-id>0</queue-id> + <weight>1</weight> + </weight-info> + <weight-info> + <queue-id>1</queue-id> + <weight>2</weight> + </weight-info> + <weight-info> + <queue-id>2</queue-id> + <weight>3</weight> + </weight-info> + <weight-info> + <queue-id>3</queue-id> + <weight>4</weight> + </weight-info> + <weight-info> + <queue-id>4</queue-id> + <weight>5</weight> + </weight-info> + <weight-info> + <queue-id>5</queue-id> + <weight>10</weight> + </weight-info> + <weight-info> + <queue-id>6</queue-id> + <weight>25</weight> + </weight-info> + <weight-info> + <queue-id>7</queue-id> + <weight>50</weight> + </weight-info> + </qos-if-params> + <ipv4-info/> + <ipv6> + <enable-status>false</enable-status> + </ipv6> + <fc-intf-params> + <port-type>Disabled</port-type> + <pwwn>00:00:00:00:00:00:00:00</pwwn> + <fc-id>00:00:00</fc-id> + <bb-credit>0</bb-credit> + </fc-intf-params> + </interface> + </data> + <last-keys> + <name>ethernet1/1/23</name> + </last-keys> + </bulk> +</rpc-reply> +<?xml version="1.0"?> +<rpc-reply> + <data> + <cms-interface-backptr> + <interface-in-running> + <name>ethernet1/1/24</name> + <untagged-vlan>vlan1</untagged-vlan> + </interface-in-running> + </cms-interface-backptr> + <interfaces> + <interface> + <name>ethernet1/1/24</name> + <type>ianaift:ethernetCsmacd</type> + <enabled>true</enabled> + <mtu>1532</mtu> + <mac-learn>HW</mac-learn> + <mode>MODE_L2</mode> + <load-interval>299</load-interval> + <duplex>auto</duplex> + <speed>AUTO</speed> + <keepalive>true</keepalive> + <lldp-med-cfg> + <med-enable>true</med-enable> + <notif-enable>false</notif-enable> + </lldp-med-cfg> + <lldp> + <tx-enable>true</tx-enable> + <rx-enable>true</rx-enable> + </lldp> + </interface> + </interfaces> + <ip-config> + <ipv4> + <arp> + <timeout>60</timeout> + </arp> + </ipv4> + </ip-config> + <ports> + <ports-state> + <port> + <name>phy-eth1/1/1</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>131137546</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/2</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>131137546</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/3</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>131137546</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/4</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/5</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/6</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/7</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/8</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/9</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/10</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/11</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/12</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/13</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/14</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/15</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/16</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/17</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/18</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/19</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/20</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/21</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/22</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/23</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/24</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/25</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/26</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/27</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/28</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/29</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/30</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/31</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/32</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + </ports-state> + </ports> + <system-state> + <system-status> + <uptime>162762</uptime> + </system-status> + </system-state> + </data> + <bulk> + <data> + <interface> + <name>ethernet1/1/24</name> + <type>ianaift:ethernetCsmacd</type> + <admin-status>up</admin-status> + <oper-status>down</oper-status> + <if-index>17305666</if-index> + <phys-address>14:18:77:09:ae:51</phys-address> + <speed>0</speed> + <statistics> + <in-octets>0</in-octets> + <in-unicast-pkts>0</in-unicast-pkts> + <in-broadcast-pkts>0</in-broadcast-pkts> + <in-multicast-pkts>0</in-multicast-pkts> + <in-discards>0</in-discards> + <in-errors>0</in-errors> + <in-unknown-protos>0</in-unknown-protos> + <out-octets>0</out-octets> + <out-unicast-pkts>0</out-unicast-pkts> + <out-broadcast-pkts>0</out-broadcast-pkts> + <out-multicast-pkts>0</out-multicast-pkts> + <out-discards>0</out-discards> + <out-errors>0</out-errors> + <if-out-qlen>0</if-out-qlen> + <ether-drop-events>0</ether-drop-events> + <ether-multicast-pkts>0</ether-multicast-pkts> + <ether-broadcast-pkts>0</ether-broadcast-pkts> + <ether-undersize-pkts>0</ether-undersize-pkts> + <ether-fragments>0</ether-fragments> + <ether-oversize-pkts>0</ether-oversize-pkts> + <ether-rx-oversize-pkts>0</ether-rx-oversize-pkts> + <ether-tx-oversize-pkts>0</ether-tx-oversize-pkts> + <ether-jabbers>0</ether-jabbers> + <ether-octets>0</ether-octets> + <ether-pkts>0</ether-pkts> + <ether-collisions>0</ether-collisions> + <ether-crc-align-errors>0</ether-crc-align-errors> + <ether-tx-no-errors>0</ether-tx-no-errors> + <ether-rx-no-errors>0</ether-rx-no-errors> + <green-discard-dropped-packets>0</green-discard-dropped-packets> + <green-discard-dropped-bytes>0</green-discard-dropped-bytes> + <yellow-discard-dropped-packets>0</yellow-discard-dropped-packets> + <yellow-discard-dropped-bytes>0</yellow-discard-dropped-bytes> + <red-discard-dropped-packets>0</red-discard-dropped-packets> + <red-discard-dropped-bytes>0</red-discard-dropped-bytes> + <discard-dropped-packets>0</discard-dropped-packets> + <discard-dropped-bytes>0</discard-dropped-bytes> + <ether-in-pkts-64-octets>0</ether-in-pkts-64-octets> + <ether-in-pkts-65-to-127-octets>0</ether-in-pkts-65-to-127-octets> + <ether-in-pkts-128-to-255-octets>0</ether-in-pkts-128-to-255-octets> + <ether-in-pkts-256-to-511-octets>0</ether-in-pkts-256-to-511-octets> + <ether-in-pkts-512-to-1023-octets>0</ether-in-pkts-512-to-1023-octets> + <ether-in-pkts-1024-to-1518-octets>0</ether-in-pkts-1024-to-1518-octets> + <ether-in-pkts-1519-to-2047-octets>0</ether-in-pkts-1519-to-2047-octets> + <ether-in-pkts-2048-to-4095-octets>0</ether-in-pkts-2048-to-4095-octets> + <ether-in-pkts-4096-to-9216-octets>0</ether-in-pkts-4096-to-9216-octets> + <ether-in-pkts-9217-to-16383-octets>0</ether-in-pkts-9217-to-16383-octets> + <ether-out-pkts-64-octets>0</ether-out-pkts-64-octets> + <ether-out-pkts-65-to-127-octets>0</ether-out-pkts-65-to-127-octets> + <ether-out-pkts-128-to-255-octets>0</ether-out-pkts-128-to-255-octets> + <ether-out-pkts-256-to-511-octets>0</ether-out-pkts-256-to-511-octets> + <ether-out-pkts-512-to-1023-octets>0</ether-out-pkts-512-to-1023-octets> + <ether-out-pkts-1024-to-1518-octets>0</ether-out-pkts-1024-to-1518-octets> + <ether-out-pkts-1519-to-2047-octets>0</ether-out-pkts-1519-to-2047-octets> + <ether-out-pkts-2048-to-4095-octets>0</ether-out-pkts-2048-to-4095-octets> + <ether-out-pkts-4096-to-9216-octets>0</ether-out-pkts-4096-to-9216-octets> + <ether-out-pkts-9217-to-16383-octets>0</ether-out-pkts-9217-to-16383-octets> + <pause-rx-pkts>0</pause-rx-pkts> + <pause-tx-pkts>0</pause-tx-pkts> + <in-pkts>0</in-pkts> + <out-pkts>0</out-pkts> + <utilization-percentage>0</utilization-percentage> + <in-bit-rate>0</in-bit-rate> + <in-pkt-rate>0</in-pkt-rate> + <in-line-rate>0</in-line-rate> + <out-bit-rate>0</out-bit-rate> + <out-pkt-rate>0</out-pkt-rate> + <out-line-rate>0</out-line-rate> + <lacp-statistics> + <lacpdus-rx>0</lacpdus-rx> + <lacpdus-tx>0</lacpdus-tx> + <unknown-rx>0</unknown-rx> + <illegal-rx>0</illegal-rx> + <marker-pdus-tx>0</marker-pdus-tx> + <marker-response-pdus-tx>0</marker-response-pdus-tx> + <marker-pdus-rx>0</marker-pdus-rx> + <marker-response-pdus-rx>0</marker-response-pdus-rx> + </lacp-statistics> + <dcbx-stats> + <ets-conf-tx-tlv-count>0</ets-conf-tx-tlv-count> + <ets-conf-rx-tlv-count>0</ets-conf-rx-tlv-count> + <ets-conf-rx-tlv-errors>0</ets-conf-rx-tlv-errors> + <ets-reco-tx-tlv-count>0</ets-reco-tx-tlv-count> + <ets-reco-rx-tlv-count>0</ets-reco-rx-tlv-count> + <ets-reco-rx-tlv-errors>0</ets-reco-rx-tlv-errors> + <pfc-tx-tlv-count>0</pfc-tx-tlv-count> + <pfc-rx-tlv-count>0</pfc-rx-tlv-count> + <pfc-rx-tlv-errors>0</pfc-rx-tlv-errors> + <app-prio-tx-tlv-count>0</app-prio-tx-tlv-count> + <app-prio-rx-tlv-count>0</app-prio-rx-tlv-count> + <app-prio-rx-tlv-errors>0</app-prio-rx-tlv-errors> + <dcbx-frames-tx-total>0</dcbx-frames-tx-total> + <dcbx-frames-rx-total>0</dcbx-frames-rx-total> + <dcbx-frames-error-total>0</dcbx-frames-error-total> + <dcbx-frames-unrecognized>0</dcbx-frames-unrecognized> + </dcbx-stats> + </statistics> + <auto-negotiation>false</auto-negotiation> + <supported-speed>40GIGE</supported-speed> + <supported-autoneg>BOTH_SUPPORTED</supported-autoneg> + <fec>not-supported</fec> + <npu-speed>0MBPS</npu-speed> + <current-phys-address>14:18:77:09:ae:51</current-phys-address> + <last-change-time>38</last-change-time> + <last-counter-clear>17164900</last-counter-clear> + <load-interval>30</load-interval> + <mtu>1532</mtu> + <eee-state>n/a</eee-state> + <qos-if-params> + <flow-control-rx>false</flow-control-rx> + <flow-control-tx>false</flow-control-tx> + <pfc-mode>false</pfc-mode> + <ets-mode>false</ets-mode> + <unknown-unicast-rate-pps>0</unknown-unicast-rate-pps> + <weight-info> + <queue-id>0</queue-id> + <weight>1</weight> + </weight-info> + <weight-info> + <queue-id>1</queue-id> + <weight>2</weight> + </weight-info> + <weight-info> + <queue-id>2</queue-id> + <weight>3</weight> + </weight-info> + <weight-info> + <queue-id>3</queue-id> + <weight>4</weight> + </weight-info> + <weight-info> + <queue-id>4</queue-id> + <weight>5</weight> + </weight-info> + <weight-info> + <queue-id>5</queue-id> + <weight>10</weight> + </weight-info> + <weight-info> + <queue-id>6</queue-id> + <weight>25</weight> + </weight-info> + <weight-info> + <queue-id>7</queue-id> + <weight>50</weight> + </weight-info> + </qos-if-params> + <ipv4-info/> + <ipv6> + <enable-status>false</enable-status> + </ipv6> + <fc-intf-params> + <port-type>Disabled</port-type> + <pwwn>00:00:00:00:00:00:00:00</pwwn> + <fc-id>00:00:00</fc-id> + <bb-credit>0</bb-credit> + </fc-intf-params> + </interface> + </data> + <last-keys> + <name>ethernet1/1/24</name> + </last-keys> + </bulk> +</rpc-reply> +<?xml version="1.0"?> +<rpc-reply> + <data> + <cms-interface-backptr> + <interface-in-running> + <name>ethernet1/1/25</name> + <untagged-vlan>vlan1</untagged-vlan> + </interface-in-running> + </cms-interface-backptr> + <interfaces> + <interface> + <name>ethernet1/1/25</name> + <type>ianaift:ethernetCsmacd</type> + <enabled>true</enabled> + <mtu>1532</mtu> + <mac-learn>HW</mac-learn> + <mode>MODE_L2</mode> + <load-interval>299</load-interval> + <duplex>auto</duplex> + <speed>AUTO</speed> + <keepalive>true</keepalive> + <lldp-med-cfg> + <med-enable>true</med-enable> + <notif-enable>false</notif-enable> + </lldp-med-cfg> + <lldp> + <tx-enable>true</tx-enable> + <rx-enable>true</rx-enable> + </lldp> + </interface> + </interfaces> + <ip-config> + <ipv4> + <arp> + <timeout>60</timeout> + </arp> + </ipv4> + </ip-config> + <ports> + <ports-state> + <port> + <name>phy-eth1/1/1</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>131137546</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/2</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>131137546</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/3</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>131137546</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/4</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/5</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/6</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/7</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/8</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/9</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/10</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/11</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/12</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/13</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/14</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/15</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/16</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/17</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/18</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/19</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/20</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/21</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/22</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/23</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/24</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/25</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/26</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/27</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/28</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/29</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/30</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/31</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/32</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + </ports-state> + </ports> + <system-state> + <system-status> + <uptime>162762</uptime> + </system-status> + </system-state> + </data> + <bulk> + <data> + <interface> + <name>ethernet1/1/25</name> + <type>ianaift:ethernetCsmacd</type> + <admin-status>up</admin-status> + <oper-status>down</oper-status> + <if-index>17305692</if-index> + <phys-address>14:18:77:09:ae:55</phys-address> + <speed>0</speed> + <statistics> + <in-octets>0</in-octets> + <in-unicast-pkts>0</in-unicast-pkts> + <in-broadcast-pkts>0</in-broadcast-pkts> + <in-multicast-pkts>0</in-multicast-pkts> + <in-discards>0</in-discards> + <in-errors>0</in-errors> + <in-unknown-protos>0</in-unknown-protos> + <out-octets>0</out-octets> + <out-unicast-pkts>0</out-unicast-pkts> + <out-broadcast-pkts>0</out-broadcast-pkts> + <out-multicast-pkts>0</out-multicast-pkts> + <out-discards>0</out-discards> + <out-errors>0</out-errors> + <if-out-qlen>0</if-out-qlen> + <ether-drop-events>0</ether-drop-events> + <ether-multicast-pkts>0</ether-multicast-pkts> + <ether-broadcast-pkts>0</ether-broadcast-pkts> + <ether-undersize-pkts>0</ether-undersize-pkts> + <ether-fragments>0</ether-fragments> + <ether-oversize-pkts>0</ether-oversize-pkts> + <ether-rx-oversize-pkts>0</ether-rx-oversize-pkts> + <ether-tx-oversize-pkts>0</ether-tx-oversize-pkts> + <ether-jabbers>0</ether-jabbers> + <ether-octets>0</ether-octets> + <ether-pkts>0</ether-pkts> + <ether-collisions>0</ether-collisions> + <ether-crc-align-errors>0</ether-crc-align-errors> + <ether-tx-no-errors>0</ether-tx-no-errors> + <ether-rx-no-errors>0</ether-rx-no-errors> + <green-discard-dropped-packets>0</green-discard-dropped-packets> + <green-discard-dropped-bytes>0</green-discard-dropped-bytes> + <yellow-discard-dropped-packets>0</yellow-discard-dropped-packets> + <yellow-discard-dropped-bytes>0</yellow-discard-dropped-bytes> + <red-discard-dropped-packets>0</red-discard-dropped-packets> + <red-discard-dropped-bytes>0</red-discard-dropped-bytes> + <discard-dropped-packets>0</discard-dropped-packets> + <discard-dropped-bytes>0</discard-dropped-bytes> + <ether-in-pkts-64-octets>0</ether-in-pkts-64-octets> + <ether-in-pkts-65-to-127-octets>0</ether-in-pkts-65-to-127-octets> + <ether-in-pkts-128-to-255-octets>0</ether-in-pkts-128-to-255-octets> + <ether-in-pkts-256-to-511-octets>0</ether-in-pkts-256-to-511-octets> + <ether-in-pkts-512-to-1023-octets>0</ether-in-pkts-512-to-1023-octets> + <ether-in-pkts-1024-to-1518-octets>0</ether-in-pkts-1024-to-1518-octets> + <ether-in-pkts-1519-to-2047-octets>0</ether-in-pkts-1519-to-2047-octets> + <ether-in-pkts-2048-to-4095-octets>0</ether-in-pkts-2048-to-4095-octets> + <ether-in-pkts-4096-to-9216-octets>0</ether-in-pkts-4096-to-9216-octets> + <ether-in-pkts-9217-to-16383-octets>0</ether-in-pkts-9217-to-16383-octets> + <ether-out-pkts-64-octets>0</ether-out-pkts-64-octets> + <ether-out-pkts-65-to-127-octets>0</ether-out-pkts-65-to-127-octets> + <ether-out-pkts-128-to-255-octets>0</ether-out-pkts-128-to-255-octets> + <ether-out-pkts-256-to-511-octets>0</ether-out-pkts-256-to-511-octets> + <ether-out-pkts-512-to-1023-octets>0</ether-out-pkts-512-to-1023-octets> + <ether-out-pkts-1024-to-1518-octets>0</ether-out-pkts-1024-to-1518-octets> + <ether-out-pkts-1519-to-2047-octets>0</ether-out-pkts-1519-to-2047-octets> + <ether-out-pkts-2048-to-4095-octets>0</ether-out-pkts-2048-to-4095-octets> + <ether-out-pkts-4096-to-9216-octets>0</ether-out-pkts-4096-to-9216-octets> + <ether-out-pkts-9217-to-16383-octets>0</ether-out-pkts-9217-to-16383-octets> + <pause-rx-pkts>0</pause-rx-pkts> + <pause-tx-pkts>0</pause-tx-pkts> + <in-pkts>0</in-pkts> + <out-pkts>0</out-pkts> + <utilization-percentage>0</utilization-percentage> + <in-bit-rate>0</in-bit-rate> + <in-pkt-rate>0</in-pkt-rate> + <in-line-rate>0</in-line-rate> + <out-bit-rate>0</out-bit-rate> + <out-pkt-rate>0</out-pkt-rate> + <out-line-rate>0</out-line-rate> + <lacp-statistics> + <lacpdus-rx>0</lacpdus-rx> + <lacpdus-tx>0</lacpdus-tx> + <unknown-rx>0</unknown-rx> + <illegal-rx>0</illegal-rx> + <marker-pdus-tx>0</marker-pdus-tx> + <marker-response-pdus-tx>0</marker-response-pdus-tx> + <marker-pdus-rx>0</marker-pdus-rx> + <marker-response-pdus-rx>0</marker-response-pdus-rx> + </lacp-statistics> + <dcbx-stats> + <ets-conf-tx-tlv-count>0</ets-conf-tx-tlv-count> + <ets-conf-rx-tlv-count>0</ets-conf-rx-tlv-count> + <ets-conf-rx-tlv-errors>0</ets-conf-rx-tlv-errors> + <ets-reco-tx-tlv-count>0</ets-reco-tx-tlv-count> + <ets-reco-rx-tlv-count>0</ets-reco-rx-tlv-count> + <ets-reco-rx-tlv-errors>0</ets-reco-rx-tlv-errors> + <pfc-tx-tlv-count>0</pfc-tx-tlv-count> + <pfc-rx-tlv-count>0</pfc-rx-tlv-count> + <pfc-rx-tlv-errors>0</pfc-rx-tlv-errors> + <app-prio-tx-tlv-count>0</app-prio-tx-tlv-count> + <app-prio-rx-tlv-count>0</app-prio-rx-tlv-count> + <app-prio-rx-tlv-errors>0</app-prio-rx-tlv-errors> + <dcbx-frames-tx-total>0</dcbx-frames-tx-total> + <dcbx-frames-rx-total>0</dcbx-frames-rx-total> + <dcbx-frames-error-total>0</dcbx-frames-error-total> + <dcbx-frames-unrecognized>0</dcbx-frames-unrecognized> + </dcbx-stats> + </statistics> + <auto-negotiation>false</auto-negotiation> + <supported-speed>40GIGE</supported-speed> + <supported-autoneg>BOTH_SUPPORTED</supported-autoneg> + <fec>not-supported</fec> + <npu-speed>0MBPS</npu-speed> + <current-phys-address>14:18:77:09:ae:55</current-phys-address> + <last-change-time>38</last-change-time> + <last-counter-clear>17424700</last-counter-clear> + <load-interval>30</load-interval> + <mtu>1532</mtu> + <eee-state>n/a</eee-state> + <qos-if-params> + <flow-control-rx>false</flow-control-rx> + <flow-control-tx>false</flow-control-tx> + <pfc-mode>false</pfc-mode> + <ets-mode>false</ets-mode> + <unknown-unicast-rate-pps>0</unknown-unicast-rate-pps> + <weight-info> + <queue-id>0</queue-id> + <weight>1</weight> + </weight-info> + <weight-info> + <queue-id>1</queue-id> + <weight>2</weight> + </weight-info> + <weight-info> + <queue-id>2</queue-id> + <weight>3</weight> + </weight-info> + <weight-info> + <queue-id>3</queue-id> + <weight>4</weight> + </weight-info> + <weight-info> + <queue-id>4</queue-id> + <weight>5</weight> + </weight-info> + <weight-info> + <queue-id>5</queue-id> + <weight>10</weight> + </weight-info> + <weight-info> + <queue-id>6</queue-id> + <weight>25</weight> + </weight-info> + <weight-info> + <queue-id>7</queue-id> + <weight>50</weight> + </weight-info> + </qos-if-params> + <ipv4-info/> + <ipv6> + <enable-status>false</enable-status> + </ipv6> + <fc-intf-params> + <port-type>Disabled</port-type> + <pwwn>00:00:00:00:00:00:00:00</pwwn> + <fc-id>00:00:00</fc-id> + <bb-credit>0</bb-credit> + </fc-intf-params> + </interface> + </data> + <last-keys> + <name>ethernet1/1/25</name> + </last-keys> + </bulk> +</rpc-reply> +<?xml version="1.0"?> +<rpc-reply> + <data> + <cms-interface-backptr> + <interface-in-running> + <name>ethernet1/1/26</name> + <untagged-vlan>vlan1</untagged-vlan> + </interface-in-running> + </cms-interface-backptr> + <interfaces> + <interface> + <name>ethernet1/1/26</name> + <type>ianaift:ethernetCsmacd</type> + <enabled>true</enabled> + <mtu>1532</mtu> + <mac-learn>HW</mac-learn> + <mode>MODE_L2</mode> + <load-interval>299</load-interval> + <duplex>auto</duplex> + <speed>AUTO</speed> + <keepalive>true</keepalive> + <lldp-med-cfg> + <med-enable>true</med-enable> + <notif-enable>false</notif-enable> + </lldp-med-cfg> + <lldp> + <tx-enable>true</tx-enable> + <rx-enable>true</rx-enable> + </lldp> + </interface> + </interfaces> + <ip-config> + <ipv4> + <arp> + <timeout>60</timeout> + </arp> + </ipv4> + </ip-config> + <ports> + <ports-state> + <port> + <name>phy-eth1/1/1</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>131137546</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/2</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>131137546</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/3</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>131137546</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/4</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/5</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/6</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/7</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/8</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/9</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/10</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/11</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/12</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/13</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/14</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/15</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/16</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/17</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/18</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/19</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/20</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/21</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/22</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/23</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/24</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/25</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/26</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/27</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/28</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/29</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/30</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/31</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/32</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + </ports-state> + </ports> + <system-state> + <system-status> + <uptime>162762</uptime> + </system-status> + </system-state> + </data> + <bulk> + <data> + <interface> + <name>ethernet1/1/26</name> + <type>ianaift:ethernetCsmacd</type> + <admin-status>up</admin-status> + <oper-status>down</oper-status> + <if-index>17305718</if-index> + <phys-address>14:18:77:09:ae:59</phys-address> + <speed>0</speed> + <statistics> + <in-octets>0</in-octets> + <in-unicast-pkts>0</in-unicast-pkts> + <in-broadcast-pkts>0</in-broadcast-pkts> + <in-multicast-pkts>0</in-multicast-pkts> + <in-discards>0</in-discards> + <in-errors>0</in-errors> + <in-unknown-protos>0</in-unknown-protos> + <out-octets>0</out-octets> + <out-unicast-pkts>0</out-unicast-pkts> + <out-broadcast-pkts>0</out-broadcast-pkts> + <out-multicast-pkts>0</out-multicast-pkts> + <out-discards>0</out-discards> + <out-errors>0</out-errors> + <if-out-qlen>0</if-out-qlen> + <ether-drop-events>0</ether-drop-events> + <ether-multicast-pkts>0</ether-multicast-pkts> + <ether-broadcast-pkts>0</ether-broadcast-pkts> + <ether-undersize-pkts>0</ether-undersize-pkts> + <ether-fragments>0</ether-fragments> + <ether-oversize-pkts>0</ether-oversize-pkts> + <ether-rx-oversize-pkts>0</ether-rx-oversize-pkts> + <ether-tx-oversize-pkts>0</ether-tx-oversize-pkts> + <ether-jabbers>0</ether-jabbers> + <ether-octets>0</ether-octets> + <ether-pkts>0</ether-pkts> + <ether-collisions>0</ether-collisions> + <ether-crc-align-errors>0</ether-crc-align-errors> + <ether-tx-no-errors>0</ether-tx-no-errors> + <ether-rx-no-errors>0</ether-rx-no-errors> + <green-discard-dropped-packets>0</green-discard-dropped-packets> + <green-discard-dropped-bytes>0</green-discard-dropped-bytes> + <yellow-discard-dropped-packets>0</yellow-discard-dropped-packets> + <yellow-discard-dropped-bytes>0</yellow-discard-dropped-bytes> + <red-discard-dropped-packets>0</red-discard-dropped-packets> + <red-discard-dropped-bytes>0</red-discard-dropped-bytes> + <discard-dropped-packets>0</discard-dropped-packets> + <discard-dropped-bytes>0</discard-dropped-bytes> + <ether-in-pkts-64-octets>0</ether-in-pkts-64-octets> + <ether-in-pkts-65-to-127-octets>0</ether-in-pkts-65-to-127-octets> + <ether-in-pkts-128-to-255-octets>0</ether-in-pkts-128-to-255-octets> + <ether-in-pkts-256-to-511-octets>0</ether-in-pkts-256-to-511-octets> + <ether-in-pkts-512-to-1023-octets>0</ether-in-pkts-512-to-1023-octets> + <ether-in-pkts-1024-to-1518-octets>0</ether-in-pkts-1024-to-1518-octets> + <ether-in-pkts-1519-to-2047-octets>0</ether-in-pkts-1519-to-2047-octets> + <ether-in-pkts-2048-to-4095-octets>0</ether-in-pkts-2048-to-4095-octets> + <ether-in-pkts-4096-to-9216-octets>0</ether-in-pkts-4096-to-9216-octets> + <ether-in-pkts-9217-to-16383-octets>0</ether-in-pkts-9217-to-16383-octets> + <ether-out-pkts-64-octets>0</ether-out-pkts-64-octets> + <ether-out-pkts-65-to-127-octets>0</ether-out-pkts-65-to-127-octets> + <ether-out-pkts-128-to-255-octets>0</ether-out-pkts-128-to-255-octets> + <ether-out-pkts-256-to-511-octets>0</ether-out-pkts-256-to-511-octets> + <ether-out-pkts-512-to-1023-octets>0</ether-out-pkts-512-to-1023-octets> + <ether-out-pkts-1024-to-1518-octets>0</ether-out-pkts-1024-to-1518-octets> + <ether-out-pkts-1519-to-2047-octets>0</ether-out-pkts-1519-to-2047-octets> + <ether-out-pkts-2048-to-4095-octets>0</ether-out-pkts-2048-to-4095-octets> + <ether-out-pkts-4096-to-9216-octets>0</ether-out-pkts-4096-to-9216-octets> + <ether-out-pkts-9217-to-16383-octets>0</ether-out-pkts-9217-to-16383-octets> + <pause-rx-pkts>0</pause-rx-pkts> + <pause-tx-pkts>0</pause-tx-pkts> + <in-pkts>0</in-pkts> + <out-pkts>0</out-pkts> + <utilization-percentage>0</utilization-percentage> + <in-bit-rate>0</in-bit-rate> + <in-pkt-rate>0</in-pkt-rate> + <in-line-rate>0</in-line-rate> + <out-bit-rate>0</out-bit-rate> + <out-pkt-rate>0</out-pkt-rate> + <out-line-rate>0</out-line-rate> + <lacp-statistics> + <lacpdus-rx>0</lacpdus-rx> + <lacpdus-tx>0</lacpdus-tx> + <unknown-rx>0</unknown-rx> + <illegal-rx>0</illegal-rx> + <marker-pdus-tx>0</marker-pdus-tx> + <marker-response-pdus-tx>0</marker-response-pdus-tx> + <marker-pdus-rx>0</marker-pdus-rx> + <marker-response-pdus-rx>0</marker-response-pdus-rx> + </lacp-statistics> + <dcbx-stats> + <ets-conf-tx-tlv-count>0</ets-conf-tx-tlv-count> + <ets-conf-rx-tlv-count>0</ets-conf-rx-tlv-count> + <ets-conf-rx-tlv-errors>0</ets-conf-rx-tlv-errors> + <ets-reco-tx-tlv-count>0</ets-reco-tx-tlv-count> + <ets-reco-rx-tlv-count>0</ets-reco-rx-tlv-count> + <ets-reco-rx-tlv-errors>0</ets-reco-rx-tlv-errors> + <pfc-tx-tlv-count>0</pfc-tx-tlv-count> + <pfc-rx-tlv-count>0</pfc-rx-tlv-count> + <pfc-rx-tlv-errors>0</pfc-rx-tlv-errors> + <app-prio-tx-tlv-count>0</app-prio-tx-tlv-count> + <app-prio-rx-tlv-count>0</app-prio-rx-tlv-count> + <app-prio-rx-tlv-errors>0</app-prio-rx-tlv-errors> + <dcbx-frames-tx-total>0</dcbx-frames-tx-total> + <dcbx-frames-rx-total>0</dcbx-frames-rx-total> + <dcbx-frames-error-total>0</dcbx-frames-error-total> + <dcbx-frames-unrecognized>0</dcbx-frames-unrecognized> + </dcbx-stats> + </statistics> + <auto-negotiation>false</auto-negotiation> + <supported-speed>40GIGE</supported-speed> + <supported-autoneg>BOTH_SUPPORTED</supported-autoneg> + <fec>not-supported</fec> + <npu-speed>0MBPS</npu-speed> + <current-phys-address>14:18:77:09:ae:59</current-phys-address> + <last-change-time>38</last-change-time> + <last-counter-clear>17431600</last-counter-clear> + <load-interval>30</load-interval> + <mtu>1532</mtu> + <eee-state>n/a</eee-state> + <qos-if-params> + <flow-control-rx>false</flow-control-rx> + <flow-control-tx>false</flow-control-tx> + <pfc-mode>false</pfc-mode> + <ets-mode>false</ets-mode> + <unknown-unicast-rate-pps>0</unknown-unicast-rate-pps> + <weight-info> + <queue-id>0</queue-id> + <weight>1</weight> + </weight-info> + <weight-info> + <queue-id>1</queue-id> + <weight>2</weight> + </weight-info> + <weight-info> + <queue-id>2</queue-id> + <weight>3</weight> + </weight-info> + <weight-info> + <queue-id>3</queue-id> + <weight>4</weight> + </weight-info> + <weight-info> + <queue-id>4</queue-id> + <weight>5</weight> + </weight-info> + <weight-info> + <queue-id>5</queue-id> + <weight>10</weight> + </weight-info> + <weight-info> + <queue-id>6</queue-id> + <weight>25</weight> + </weight-info> + <weight-info> + <queue-id>7</queue-id> + <weight>50</weight> + </weight-info> + </qos-if-params> + <ipv4-info/> + <ipv6> + <enable-status>false</enable-status> + </ipv6> + <fc-intf-params> + <port-type>Disabled</port-type> + <pwwn>00:00:00:00:00:00:00:00</pwwn> + <fc-id>00:00:00</fc-id> + <bb-credit>0</bb-credit> + </fc-intf-params> + </interface> + </data> + <last-keys> + <name>ethernet1/1/26</name> + </last-keys> + </bulk> +</rpc-reply> +<?xml version="1.0"?> +<rpc-reply> + <data> + <cms-interface-backptr> + <interface-in-running> + <name>ethernet1/1/27</name> + <untagged-vlan>vlan1</untagged-vlan> + </interface-in-running> + </cms-interface-backptr> + <interfaces> + <interface> + <name>ethernet1/1/27</name> + <type>ianaift:ethernetCsmacd</type> + <enabled>true</enabled> + <mtu>1532</mtu> + <mac-learn>HW</mac-learn> + <mode>MODE_L2</mode> + <load-interval>299</load-interval> + <duplex>auto</duplex> + <speed>AUTO</speed> + <keepalive>true</keepalive> + <lldp-med-cfg> + <med-enable>true</med-enable> + <notif-enable>false</notif-enable> + </lldp-med-cfg> + <lldp> + <tx-enable>true</tx-enable> + <rx-enable>true</rx-enable> + </lldp> + </interface> + </interfaces> + <ip-config> + <ipv4> + <arp> + <timeout>60</timeout> + </arp> + </ipv4> + </ip-config> + <ports> + <ports-state> + <port> + <name>phy-eth1/1/1</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>131137546</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/2</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>131137546</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/3</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>131137546</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/4</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/5</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/6</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/7</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/8</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/9</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/10</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/11</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/12</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/13</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/14</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/15</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/16</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/17</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/18</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/19</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/20</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/21</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/22</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/23</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/24</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/25</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/26</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/27</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/28</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/29</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/30</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/31</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/32</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + </ports-state> + </ports> + <system-state> + <system-status> + <uptime>162762</uptime> + </system-status> + </system-state> + </data> + <bulk> + <data> + <interface> + <name>ethernet1/1/27</name> + <type>ianaift:ethernetCsmacd</type> + <admin-status>up</admin-status> + <oper-status>down</oper-status> + <if-index>17305744</if-index> + <phys-address>14:18:77:09:ae:5d</phys-address> + <speed>0</speed> + <statistics> + <in-octets>0</in-octets> + <in-unicast-pkts>0</in-unicast-pkts> + <in-broadcast-pkts>0</in-broadcast-pkts> + <in-multicast-pkts>0</in-multicast-pkts> + <in-discards>0</in-discards> + <in-errors>0</in-errors> + <in-unknown-protos>0</in-unknown-protos> + <out-octets>0</out-octets> + <out-unicast-pkts>0</out-unicast-pkts> + <out-broadcast-pkts>0</out-broadcast-pkts> + <out-multicast-pkts>0</out-multicast-pkts> + <out-discards>0</out-discards> + <out-errors>0</out-errors> + <if-out-qlen>0</if-out-qlen> + <ether-drop-events>0</ether-drop-events> + <ether-multicast-pkts>0</ether-multicast-pkts> + <ether-broadcast-pkts>0</ether-broadcast-pkts> + <ether-undersize-pkts>0</ether-undersize-pkts> + <ether-fragments>0</ether-fragments> + <ether-oversize-pkts>0</ether-oversize-pkts> + <ether-rx-oversize-pkts>0</ether-rx-oversize-pkts> + <ether-tx-oversize-pkts>0</ether-tx-oversize-pkts> + <ether-jabbers>0</ether-jabbers> + <ether-octets>0</ether-octets> + <ether-pkts>0</ether-pkts> + <ether-collisions>0</ether-collisions> + <ether-crc-align-errors>0</ether-crc-align-errors> + <ether-tx-no-errors>0</ether-tx-no-errors> + <ether-rx-no-errors>0</ether-rx-no-errors> + <green-discard-dropped-packets>0</green-discard-dropped-packets> + <green-discard-dropped-bytes>0</green-discard-dropped-bytes> + <yellow-discard-dropped-packets>0</yellow-discard-dropped-packets> + <yellow-discard-dropped-bytes>0</yellow-discard-dropped-bytes> + <red-discard-dropped-packets>0</red-discard-dropped-packets> + <red-discard-dropped-bytes>0</red-discard-dropped-bytes> + <discard-dropped-packets>0</discard-dropped-packets> + <discard-dropped-bytes>0</discard-dropped-bytes> + <ether-in-pkts-64-octets>0</ether-in-pkts-64-octets> + <ether-in-pkts-65-to-127-octets>0</ether-in-pkts-65-to-127-octets> + <ether-in-pkts-128-to-255-octets>0</ether-in-pkts-128-to-255-octets> + <ether-in-pkts-256-to-511-octets>0</ether-in-pkts-256-to-511-octets> + <ether-in-pkts-512-to-1023-octets>0</ether-in-pkts-512-to-1023-octets> + <ether-in-pkts-1024-to-1518-octets>0</ether-in-pkts-1024-to-1518-octets> + <ether-in-pkts-1519-to-2047-octets>0</ether-in-pkts-1519-to-2047-octets> + <ether-in-pkts-2048-to-4095-octets>0</ether-in-pkts-2048-to-4095-octets> + <ether-in-pkts-4096-to-9216-octets>0</ether-in-pkts-4096-to-9216-octets> + <ether-in-pkts-9217-to-16383-octets>0</ether-in-pkts-9217-to-16383-octets> + <ether-out-pkts-64-octets>0</ether-out-pkts-64-octets> + <ether-out-pkts-65-to-127-octets>0</ether-out-pkts-65-to-127-octets> + <ether-out-pkts-128-to-255-octets>0</ether-out-pkts-128-to-255-octets> + <ether-out-pkts-256-to-511-octets>0</ether-out-pkts-256-to-511-octets> + <ether-out-pkts-512-to-1023-octets>0</ether-out-pkts-512-to-1023-octets> + <ether-out-pkts-1024-to-1518-octets>0</ether-out-pkts-1024-to-1518-octets> + <ether-out-pkts-1519-to-2047-octets>0</ether-out-pkts-1519-to-2047-octets> + <ether-out-pkts-2048-to-4095-octets>0</ether-out-pkts-2048-to-4095-octets> + <ether-out-pkts-4096-to-9216-octets>0</ether-out-pkts-4096-to-9216-octets> + <ether-out-pkts-9217-to-16383-octets>0</ether-out-pkts-9217-to-16383-octets> + <pause-rx-pkts>0</pause-rx-pkts> + <pause-tx-pkts>0</pause-tx-pkts> + <in-pkts>0</in-pkts> + <out-pkts>0</out-pkts> + <utilization-percentage>0</utilization-percentage> + <in-bit-rate>0</in-bit-rate> + <in-pkt-rate>0</in-pkt-rate> + <in-line-rate>0</in-line-rate> + <out-bit-rate>0</out-bit-rate> + <out-pkt-rate>0</out-pkt-rate> + <out-line-rate>0</out-line-rate> + <lacp-statistics> + <lacpdus-rx>0</lacpdus-rx> + <lacpdus-tx>0</lacpdus-tx> + <unknown-rx>0</unknown-rx> + <illegal-rx>0</illegal-rx> + <marker-pdus-tx>0</marker-pdus-tx> + <marker-response-pdus-tx>0</marker-response-pdus-tx> + <marker-pdus-rx>0</marker-pdus-rx> + <marker-response-pdus-rx>0</marker-response-pdus-rx> + </lacp-statistics> + <dcbx-stats> + <ets-conf-tx-tlv-count>0</ets-conf-tx-tlv-count> + <ets-conf-rx-tlv-count>0</ets-conf-rx-tlv-count> + <ets-conf-rx-tlv-errors>0</ets-conf-rx-tlv-errors> + <ets-reco-tx-tlv-count>0</ets-reco-tx-tlv-count> + <ets-reco-rx-tlv-count>0</ets-reco-rx-tlv-count> + <ets-reco-rx-tlv-errors>0</ets-reco-rx-tlv-errors> + <pfc-tx-tlv-count>0</pfc-tx-tlv-count> + <pfc-rx-tlv-count>0</pfc-rx-tlv-count> + <pfc-rx-tlv-errors>0</pfc-rx-tlv-errors> + <app-prio-tx-tlv-count>0</app-prio-tx-tlv-count> + <app-prio-rx-tlv-count>0</app-prio-rx-tlv-count> + <app-prio-rx-tlv-errors>0</app-prio-rx-tlv-errors> + <dcbx-frames-tx-total>0</dcbx-frames-tx-total> + <dcbx-frames-rx-total>0</dcbx-frames-rx-total> + <dcbx-frames-error-total>0</dcbx-frames-error-total> + <dcbx-frames-unrecognized>0</dcbx-frames-unrecognized> + </dcbx-stats> + </statistics> + <auto-negotiation>false</auto-negotiation> + <supported-speed>40GIGE</supported-speed> + <supported-autoneg>BOTH_SUPPORTED</supported-autoneg> + <fec>not-supported</fec> + <npu-speed>0MBPS</npu-speed> + <current-phys-address>14:18:77:09:ae:5d</current-phys-address> + <last-change-time>38</last-change-time> + <last-counter-clear>17470200</last-counter-clear> + <load-interval>30</load-interval> + <mtu>1532</mtu> + <eee-state>n/a</eee-state> + <qos-if-params> + <flow-control-rx>false</flow-control-rx> + <flow-control-tx>false</flow-control-tx> + <pfc-mode>false</pfc-mode> + <ets-mode>false</ets-mode> + <unknown-unicast-rate-pps>0</unknown-unicast-rate-pps> + <weight-info> + <queue-id>0</queue-id> + <weight>1</weight> + </weight-info> + <weight-info> + <queue-id>1</queue-id> + <weight>2</weight> + </weight-info> + <weight-info> + <queue-id>2</queue-id> + <weight>3</weight> + </weight-info> + <weight-info> + <queue-id>3</queue-id> + <weight>4</weight> + </weight-info> + <weight-info> + <queue-id>4</queue-id> + <weight>5</weight> + </weight-info> + <weight-info> + <queue-id>5</queue-id> + <weight>10</weight> + </weight-info> + <weight-info> + <queue-id>6</queue-id> + <weight>25</weight> + </weight-info> + <weight-info> + <queue-id>7</queue-id> + <weight>50</weight> + </weight-info> + </qos-if-params> + <ipv4-info/> + <ipv6> + <enable-status>false</enable-status> + </ipv6> + <fc-intf-params> + <port-type>Disabled</port-type> + <pwwn>00:00:00:00:00:00:00:00</pwwn> + <fc-id>00:00:00</fc-id> + <bb-credit>0</bb-credit> + </fc-intf-params> + </interface> + </data> + <last-keys> + <name>ethernet1/1/27</name> + </last-keys> + </bulk> +</rpc-reply> +<?xml version="1.0"?> +<rpc-reply> + <data> + <cms-interface-backptr> + <interface-in-running> + <name>ethernet1/1/28</name> + <untagged-vlan>vlan1</untagged-vlan> + </interface-in-running> + </cms-interface-backptr> + <interfaces> + <interface> + <name>ethernet1/1/28</name> + <type>ianaift:ethernetCsmacd</type> + <enabled>true</enabled> + <mtu>1532</mtu> + <mac-learn>HW</mac-learn> + <mode>MODE_L2</mode> + <load-interval>299</load-interval> + <duplex>auto</duplex> + <speed>AUTO</speed> + <keepalive>true</keepalive> + <lldp-med-cfg> + <med-enable>true</med-enable> + <notif-enable>false</notif-enable> + </lldp-med-cfg> + <lldp> + <tx-enable>true</tx-enable> + <rx-enable>true</rx-enable> + </lldp> + </interface> + </interfaces> + <ip-config> + <ipv4> + <arp> + <timeout>60</timeout> + </arp> + </ipv4> + </ip-config> + <ports> + <ports-state> + <port> + <name>phy-eth1/1/1</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>131137546</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/2</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>131137546</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/3</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>131137546</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/4</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/5</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/6</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/7</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/8</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/9</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/10</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/11</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/12</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/13</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/14</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/15</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/16</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/17</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/18</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/19</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/20</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/21</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/22</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/23</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/24</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/25</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/26</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/27</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/28</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/29</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/30</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/31</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/32</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + </ports-state> + </ports> + <system-state> + <system-status> + <uptime>162762</uptime> + </system-status> + </system-state> + </data> + <bulk> + <data> + <interface> + <name>ethernet1/1/28</name> + <type>ianaift:ethernetCsmacd</type> + <admin-status>up</admin-status> + <oper-status>down</oper-status> + <if-index>17305770</if-index> + <phys-address>14:18:77:09:ae:61</phys-address> + <speed>0</speed> + <statistics> + <in-octets>0</in-octets> + <in-unicast-pkts>0</in-unicast-pkts> + <in-broadcast-pkts>0</in-broadcast-pkts> + <in-multicast-pkts>0</in-multicast-pkts> + <in-discards>0</in-discards> + <in-errors>0</in-errors> + <in-unknown-protos>0</in-unknown-protos> + <out-octets>0</out-octets> + <out-unicast-pkts>0</out-unicast-pkts> + <out-broadcast-pkts>0</out-broadcast-pkts> + <out-multicast-pkts>0</out-multicast-pkts> + <out-discards>0</out-discards> + <out-errors>0</out-errors> + <if-out-qlen>0</if-out-qlen> + <ether-drop-events>0</ether-drop-events> + <ether-multicast-pkts>0</ether-multicast-pkts> + <ether-broadcast-pkts>0</ether-broadcast-pkts> + <ether-undersize-pkts>0</ether-undersize-pkts> + <ether-fragments>0</ether-fragments> + <ether-oversize-pkts>0</ether-oversize-pkts> + <ether-rx-oversize-pkts>0</ether-rx-oversize-pkts> + <ether-tx-oversize-pkts>0</ether-tx-oversize-pkts> + <ether-jabbers>0</ether-jabbers> + <ether-octets>0</ether-octets> + <ether-pkts>0</ether-pkts> + <ether-collisions>0</ether-collisions> + <ether-crc-align-errors>0</ether-crc-align-errors> + <ether-tx-no-errors>0</ether-tx-no-errors> + <ether-rx-no-errors>0</ether-rx-no-errors> + <green-discard-dropped-packets>0</green-discard-dropped-packets> + <green-discard-dropped-bytes>0</green-discard-dropped-bytes> + <yellow-discard-dropped-packets>0</yellow-discard-dropped-packets> + <yellow-discard-dropped-bytes>0</yellow-discard-dropped-bytes> + <red-discard-dropped-packets>0</red-discard-dropped-packets> + <red-discard-dropped-bytes>0</red-discard-dropped-bytes> + <discard-dropped-packets>0</discard-dropped-packets> + <discard-dropped-bytes>0</discard-dropped-bytes> + <ether-in-pkts-64-octets>0</ether-in-pkts-64-octets> + <ether-in-pkts-65-to-127-octets>0</ether-in-pkts-65-to-127-octets> + <ether-in-pkts-128-to-255-octets>0</ether-in-pkts-128-to-255-octets> + <ether-in-pkts-256-to-511-octets>0</ether-in-pkts-256-to-511-octets> + <ether-in-pkts-512-to-1023-octets>0</ether-in-pkts-512-to-1023-octets> + <ether-in-pkts-1024-to-1518-octets>0</ether-in-pkts-1024-to-1518-octets> + <ether-in-pkts-1519-to-2047-octets>0</ether-in-pkts-1519-to-2047-octets> + <ether-in-pkts-2048-to-4095-octets>0</ether-in-pkts-2048-to-4095-octets> + <ether-in-pkts-4096-to-9216-octets>0</ether-in-pkts-4096-to-9216-octets> + <ether-in-pkts-9217-to-16383-octets>0</ether-in-pkts-9217-to-16383-octets> + <ether-out-pkts-64-octets>0</ether-out-pkts-64-octets> + <ether-out-pkts-65-to-127-octets>0</ether-out-pkts-65-to-127-octets> + <ether-out-pkts-128-to-255-octets>0</ether-out-pkts-128-to-255-octets> + <ether-out-pkts-256-to-511-octets>0</ether-out-pkts-256-to-511-octets> + <ether-out-pkts-512-to-1023-octets>0</ether-out-pkts-512-to-1023-octets> + <ether-out-pkts-1024-to-1518-octets>0</ether-out-pkts-1024-to-1518-octets> + <ether-out-pkts-1519-to-2047-octets>0</ether-out-pkts-1519-to-2047-octets> + <ether-out-pkts-2048-to-4095-octets>0</ether-out-pkts-2048-to-4095-octets> + <ether-out-pkts-4096-to-9216-octets>0</ether-out-pkts-4096-to-9216-octets> + <ether-out-pkts-9217-to-16383-octets>0</ether-out-pkts-9217-to-16383-octets> + <pause-rx-pkts>0</pause-rx-pkts> + <pause-tx-pkts>0</pause-tx-pkts> + <in-pkts>0</in-pkts> + <out-pkts>0</out-pkts> + <utilization-percentage>0</utilization-percentage> + <in-bit-rate>0</in-bit-rate> + <in-pkt-rate>0</in-pkt-rate> + <in-line-rate>0</in-line-rate> + <out-bit-rate>0</out-bit-rate> + <out-pkt-rate>0</out-pkt-rate> + <out-line-rate>0</out-line-rate> + <lacp-statistics> + <lacpdus-rx>0</lacpdus-rx> + <lacpdus-tx>0</lacpdus-tx> + <unknown-rx>0</unknown-rx> + <illegal-rx>0</illegal-rx> + <marker-pdus-tx>0</marker-pdus-tx> + <marker-response-pdus-tx>0</marker-response-pdus-tx> + <marker-pdus-rx>0</marker-pdus-rx> + <marker-response-pdus-rx>0</marker-response-pdus-rx> + </lacp-statistics> + <dcbx-stats> + <ets-conf-tx-tlv-count>0</ets-conf-tx-tlv-count> + <ets-conf-rx-tlv-count>0</ets-conf-rx-tlv-count> + <ets-conf-rx-tlv-errors>0</ets-conf-rx-tlv-errors> + <ets-reco-tx-tlv-count>0</ets-reco-tx-tlv-count> + <ets-reco-rx-tlv-count>0</ets-reco-rx-tlv-count> + <ets-reco-rx-tlv-errors>0</ets-reco-rx-tlv-errors> + <pfc-tx-tlv-count>0</pfc-tx-tlv-count> + <pfc-rx-tlv-count>0</pfc-rx-tlv-count> + <pfc-rx-tlv-errors>0</pfc-rx-tlv-errors> + <app-prio-tx-tlv-count>0</app-prio-tx-tlv-count> + <app-prio-rx-tlv-count>0</app-prio-rx-tlv-count> + <app-prio-rx-tlv-errors>0</app-prio-rx-tlv-errors> + <dcbx-frames-tx-total>0</dcbx-frames-tx-total> + <dcbx-frames-rx-total>0</dcbx-frames-rx-total> + <dcbx-frames-error-total>0</dcbx-frames-error-total> + <dcbx-frames-unrecognized>0</dcbx-frames-unrecognized> + </dcbx-stats> + </statistics> + <auto-negotiation>false</auto-negotiation> + <supported-speed>40GIGE</supported-speed> + <supported-autoneg>BOTH_SUPPORTED</supported-autoneg> + <fec>not-supported</fec> + <npu-speed>0MBPS</npu-speed> + <current-phys-address>14:18:77:09:ae:61</current-phys-address> + <last-change-time>38</last-change-time> + <last-counter-clear>17477600</last-counter-clear> + <load-interval>30</load-interval> + <mtu>1532</mtu> + <eee-state>n/a</eee-state> + <qos-if-params> + <flow-control-rx>false</flow-control-rx> + <flow-control-tx>false</flow-control-tx> + <pfc-mode>false</pfc-mode> + <ets-mode>false</ets-mode> + <unknown-unicast-rate-pps>0</unknown-unicast-rate-pps> + <weight-info> + <queue-id>0</queue-id> + <weight>1</weight> + </weight-info> + <weight-info> + <queue-id>1</queue-id> + <weight>2</weight> + </weight-info> + <weight-info> + <queue-id>2</queue-id> + <weight>3</weight> + </weight-info> + <weight-info> + <queue-id>3</queue-id> + <weight>4</weight> + </weight-info> + <weight-info> + <queue-id>4</queue-id> + <weight>5</weight> + </weight-info> + <weight-info> + <queue-id>5</queue-id> + <weight>10</weight> + </weight-info> + <weight-info> + <queue-id>6</queue-id> + <weight>25</weight> + </weight-info> + <weight-info> + <queue-id>7</queue-id> + <weight>50</weight> + </weight-info> + </qos-if-params> + <ipv4-info/> + <ipv6> + <enable-status>false</enable-status> + </ipv6> + <fc-intf-params> + <port-type>Disabled</port-type> + <pwwn>00:00:00:00:00:00:00:00</pwwn> + <fc-id>00:00:00</fc-id> + <bb-credit>0</bb-credit> + </fc-intf-params> + </interface> + </data> + <last-keys> + <name>ethernet1/1/28</name> + </last-keys> + </bulk> +</rpc-reply> +<?xml version="1.0"?> +<rpc-reply> + <data> + <cms-interface-backptr> + <interface-in-running> + <name>ethernet1/1/30</name> + <untagged-vlan>vlan1</untagged-vlan> + </interface-in-running> + </cms-interface-backptr> + <interfaces> + <interface> + <name>ethernet1/1/30</name> + <type>ianaift:ethernetCsmacd</type> + <enabled>true</enabled> + <mtu>1532</mtu> + <mac-learn>HW</mac-learn> + <mode>MODE_L2</mode> + <load-interval>299</load-interval> + <duplex>auto</duplex> + <speed>AUTO</speed> + <keepalive>true</keepalive> + <lldp-med-cfg> + <med-enable>true</med-enable> + <notif-enable>false</notif-enable> + </lldp-med-cfg> + <lldp> + <tx-enable>true</tx-enable> + <rx-enable>true</rx-enable> + </lldp> + </interface> + </interfaces> + <ip-config> + <ipv4> + <arp> + <timeout>60</timeout> + </arp> + </ipv4> + </ip-config> + <ports> + <ports-state> + <port> + <name>phy-eth1/1/1</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>131137546</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/2</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>131137546</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/3</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>131137546</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/4</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/5</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/6</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/7</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/8</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/9</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/10</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/11</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/12</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/13</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/14</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/15</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/16</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/17</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/18</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/19</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/20</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/21</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/22</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/23</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/24</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/25</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/26</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/27</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/28</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/29</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/30</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/31</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/32</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + </ports-state> + </ports> + <system-state> + <system-status> + <uptime>162762</uptime> + </system-status> + </system-state> + </data> + <bulk> + <data> + <interface> + <name>ethernet1/1/30</name> + <type>ianaift:ethernetCsmacd</type> + <admin-status>up</admin-status> + <oper-status>down</oper-status> + <if-index>17305822</if-index> + <phys-address>14:18:77:09:ae:66</phys-address> + <speed>0</speed> + <statistics> + <in-octets>0</in-octets> + <in-unicast-pkts>0</in-unicast-pkts> + <in-broadcast-pkts>0</in-broadcast-pkts> + <in-multicast-pkts>0</in-multicast-pkts> + <in-discards>0</in-discards> + <in-errors>0</in-errors> + <in-unknown-protos>0</in-unknown-protos> + <out-octets>0</out-octets> + <out-unicast-pkts>0</out-unicast-pkts> + <out-broadcast-pkts>0</out-broadcast-pkts> + <out-multicast-pkts>0</out-multicast-pkts> + <out-discards>0</out-discards> + <out-errors>0</out-errors> + <if-out-qlen>0</if-out-qlen> + <ether-drop-events>0</ether-drop-events> + <ether-multicast-pkts>0</ether-multicast-pkts> + <ether-broadcast-pkts>0</ether-broadcast-pkts> + <ether-undersize-pkts>0</ether-undersize-pkts> + <ether-fragments>0</ether-fragments> + <ether-oversize-pkts>0</ether-oversize-pkts> + <ether-rx-oversize-pkts>0</ether-rx-oversize-pkts> + <ether-tx-oversize-pkts>0</ether-tx-oversize-pkts> + <ether-jabbers>0</ether-jabbers> + <ether-octets>0</ether-octets> + <ether-pkts>0</ether-pkts> + <ether-collisions>0</ether-collisions> + <ether-crc-align-errors>0</ether-crc-align-errors> + <ether-tx-no-errors>0</ether-tx-no-errors> + <ether-rx-no-errors>0</ether-rx-no-errors> + <green-discard-dropped-packets>0</green-discard-dropped-packets> + <green-discard-dropped-bytes>0</green-discard-dropped-bytes> + <yellow-discard-dropped-packets>0</yellow-discard-dropped-packets> + <yellow-discard-dropped-bytes>0</yellow-discard-dropped-bytes> + <red-discard-dropped-packets>0</red-discard-dropped-packets> + <red-discard-dropped-bytes>0</red-discard-dropped-bytes> + <discard-dropped-packets>0</discard-dropped-packets> + <discard-dropped-bytes>0</discard-dropped-bytes> + <ether-in-pkts-64-octets>0</ether-in-pkts-64-octets> + <ether-in-pkts-65-to-127-octets>0</ether-in-pkts-65-to-127-octets> + <ether-in-pkts-128-to-255-octets>0</ether-in-pkts-128-to-255-octets> + <ether-in-pkts-256-to-511-octets>0</ether-in-pkts-256-to-511-octets> + <ether-in-pkts-512-to-1023-octets>0</ether-in-pkts-512-to-1023-octets> + <ether-in-pkts-1024-to-1518-octets>0</ether-in-pkts-1024-to-1518-octets> + <ether-in-pkts-1519-to-2047-octets>0</ether-in-pkts-1519-to-2047-octets> + <ether-in-pkts-2048-to-4095-octets>0</ether-in-pkts-2048-to-4095-octets> + <ether-in-pkts-4096-to-9216-octets>0</ether-in-pkts-4096-to-9216-octets> + <ether-in-pkts-9217-to-16383-octets>0</ether-in-pkts-9217-to-16383-octets> + <ether-out-pkts-64-octets>0</ether-out-pkts-64-octets> + <ether-out-pkts-65-to-127-octets>0</ether-out-pkts-65-to-127-octets> + <ether-out-pkts-128-to-255-octets>0</ether-out-pkts-128-to-255-octets> + <ether-out-pkts-256-to-511-octets>0</ether-out-pkts-256-to-511-octets> + <ether-out-pkts-512-to-1023-octets>0</ether-out-pkts-512-to-1023-octets> + <ether-out-pkts-1024-to-1518-octets>0</ether-out-pkts-1024-to-1518-octets> + <ether-out-pkts-1519-to-2047-octets>0</ether-out-pkts-1519-to-2047-octets> + <ether-out-pkts-2048-to-4095-octets>0</ether-out-pkts-2048-to-4095-octets> + <ether-out-pkts-4096-to-9216-octets>0</ether-out-pkts-4096-to-9216-octets> + <ether-out-pkts-9217-to-16383-octets>0</ether-out-pkts-9217-to-16383-octets> + <pause-rx-pkts>0</pause-rx-pkts> + <pause-tx-pkts>0</pause-tx-pkts> + <in-pkts>0</in-pkts> + <out-pkts>0</out-pkts> + <utilization-percentage>0</utilization-percentage> + <in-bit-rate>0</in-bit-rate> + <in-pkt-rate>0</in-pkt-rate> + <in-line-rate>0</in-line-rate> + <out-bit-rate>0</out-bit-rate> + <out-pkt-rate>0</out-pkt-rate> + <out-line-rate>0</out-line-rate> + <lacp-statistics> + <lacpdus-rx>0</lacpdus-rx> + <lacpdus-tx>0</lacpdus-tx> + <unknown-rx>0</unknown-rx> + <illegal-rx>0</illegal-rx> + <marker-pdus-tx>0</marker-pdus-tx> + <marker-response-pdus-tx>0</marker-response-pdus-tx> + <marker-pdus-rx>0</marker-pdus-rx> + <marker-response-pdus-rx>0</marker-response-pdus-rx> + </lacp-statistics> + <dcbx-stats> + <ets-conf-tx-tlv-count>0</ets-conf-tx-tlv-count> + <ets-conf-rx-tlv-count>0</ets-conf-rx-tlv-count> + <ets-conf-rx-tlv-errors>0</ets-conf-rx-tlv-errors> + <ets-reco-tx-tlv-count>0</ets-reco-tx-tlv-count> + <ets-reco-rx-tlv-count>0</ets-reco-rx-tlv-count> + <ets-reco-rx-tlv-errors>0</ets-reco-rx-tlv-errors> + <pfc-tx-tlv-count>0</pfc-tx-tlv-count> + <pfc-rx-tlv-count>0</pfc-rx-tlv-count> + <pfc-rx-tlv-errors>0</pfc-rx-tlv-errors> + <app-prio-tx-tlv-count>0</app-prio-tx-tlv-count> + <app-prio-rx-tlv-count>0</app-prio-rx-tlv-count> + <app-prio-rx-tlv-errors>0</app-prio-rx-tlv-errors> + <dcbx-frames-tx-total>0</dcbx-frames-tx-total> + <dcbx-frames-rx-total>0</dcbx-frames-rx-total> + <dcbx-frames-error-total>0</dcbx-frames-error-total> + <dcbx-frames-unrecognized>0</dcbx-frames-unrecognized> + </dcbx-stats> + </statistics> + <auto-negotiation>false</auto-negotiation> + <supported-speed>40GIGE</supported-speed> + <supported-autoneg>BOTH_SUPPORTED</supported-autoneg> + <fec>not-supported</fec> + <npu-speed>0MBPS</npu-speed> + <current-phys-address>14:18:77:09:ae:66</current-phys-address> + <last-change-time>38</last-change-time> + <last-counter-clear>17491400</last-counter-clear> + <load-interval>30</load-interval> + <mtu>1532</mtu> + <eee-state>n/a</eee-state> + <qos-if-params> + <flow-control-rx>false</flow-control-rx> + <flow-control-tx>false</flow-control-tx> + <pfc-mode>false</pfc-mode> + <ets-mode>false</ets-mode> + <unknown-unicast-rate-pps>0</unknown-unicast-rate-pps> + <weight-info> + <queue-id>0</queue-id> + <weight>1</weight> + </weight-info> + <weight-info> + <queue-id>1</queue-id> + <weight>2</weight> + </weight-info> + <weight-info> + <queue-id>2</queue-id> + <weight>3</weight> + </weight-info> + <weight-info> + <queue-id>3</queue-id> + <weight>4</weight> + </weight-info> + <weight-info> + <queue-id>4</queue-id> + <weight>5</weight> + </weight-info> + <weight-info> + <queue-id>5</queue-id> + <weight>10</weight> + </weight-info> + <weight-info> + <queue-id>6</queue-id> + <weight>25</weight> + </weight-info> + <weight-info> + <queue-id>7</queue-id> + <weight>50</weight> + </weight-info> + </qos-if-params> + <ipv4-info/> + <ipv6> + <enable-status>false</enable-status> + </ipv6> + <fc-intf-params> + <port-type>Disabled</port-type> + <pwwn>00:00:00:00:00:00:00:00</pwwn> + <fc-id>00:00:00</fc-id> + <bb-credit>0</bb-credit> + </fc-intf-params> + </interface> + </data> + <last-keys> + <name>ethernet1/1/30</name> + </last-keys> + </bulk> +</rpc-reply> +<?xml version="1.0"?> +<rpc-reply> + <data> + <cms-interface-backptr> + <interface-in-running> + <name>ethernet1/1/31</name> + <untagged-vlan>vlan1</untagged-vlan> + </interface-in-running> + </cms-interface-backptr> + <interfaces> + <interface> + <name>ethernet1/1/31</name> + <type>ianaift:ethernetCsmacd</type> + <enabled>true</enabled> + <mtu>1532</mtu> + <mac-learn>HW</mac-learn> + <mode>MODE_L2</mode> + <load-interval>299</load-interval> + <duplex>auto</duplex> + <speed>AUTO</speed> + <keepalive>true</keepalive> + <lldp-med-cfg> + <med-enable>true</med-enable> + <notif-enable>false</notif-enable> + </lldp-med-cfg> + <lldp> + <tx-enable>true</tx-enable> + <rx-enable>true</rx-enable> + </lldp> + </interface> + </interfaces> + <ip-config> + <ipv4> + <arp> + <timeout>60</timeout> + </arp> + </ipv4> + </ip-config> + <ports> + <ports-state> + <port> + <name>phy-eth1/1/1</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>131137546</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/2</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>131137546</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/3</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>131137546</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/4</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/5</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/6</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/7</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/8</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/9</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/10</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/11</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/12</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/13</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/14</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/15</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/16</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/17</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/18</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/19</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/20</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/21</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/22</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/23</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/24</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/25</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/26</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/27</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/28</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/29</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/30</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/31</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/32</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + </ports-state> + </ports> + <system-state> + <system-status> + <uptime>162762</uptime> + </system-status> + </system-state> + </data> + <bulk> + <data> + <interface> + <name>ethernet1/1/31</name> + <type>ianaift:ethernetCsmacd</type> + <admin-status>up</admin-status> + <oper-status>down</oper-status> + <if-index>17305848</if-index> + <phys-address>14:18:77:09:ae:67</phys-address> + <speed>0</speed> + <statistics> + <in-octets>0</in-octets> + <in-unicast-pkts>0</in-unicast-pkts> + <in-broadcast-pkts>0</in-broadcast-pkts> + <in-multicast-pkts>0</in-multicast-pkts> + <in-discards>0</in-discards> + <in-errors>0</in-errors> + <in-unknown-protos>0</in-unknown-protos> + <out-octets>0</out-octets> + <out-unicast-pkts>0</out-unicast-pkts> + <out-broadcast-pkts>0</out-broadcast-pkts> + <out-multicast-pkts>0</out-multicast-pkts> + <out-discards>0</out-discards> + <out-errors>0</out-errors> + <if-out-qlen>0</if-out-qlen> + <ether-drop-events>0</ether-drop-events> + <ether-multicast-pkts>0</ether-multicast-pkts> + <ether-broadcast-pkts>0</ether-broadcast-pkts> + <ether-undersize-pkts>0</ether-undersize-pkts> + <ether-fragments>0</ether-fragments> + <ether-oversize-pkts>0</ether-oversize-pkts> + <ether-rx-oversize-pkts>0</ether-rx-oversize-pkts> + <ether-tx-oversize-pkts>0</ether-tx-oversize-pkts> + <ether-jabbers>0</ether-jabbers> + <ether-octets>0</ether-octets> + <ether-pkts>0</ether-pkts> + <ether-collisions>0</ether-collisions> + <ether-crc-align-errors>0</ether-crc-align-errors> + <ether-tx-no-errors>0</ether-tx-no-errors> + <ether-rx-no-errors>0</ether-rx-no-errors> + <green-discard-dropped-packets>0</green-discard-dropped-packets> + <green-discard-dropped-bytes>0</green-discard-dropped-bytes> + <yellow-discard-dropped-packets>0</yellow-discard-dropped-packets> + <yellow-discard-dropped-bytes>0</yellow-discard-dropped-bytes> + <red-discard-dropped-packets>0</red-discard-dropped-packets> + <red-discard-dropped-bytes>0</red-discard-dropped-bytes> + <discard-dropped-packets>0</discard-dropped-packets> + <discard-dropped-bytes>0</discard-dropped-bytes> + <ether-in-pkts-64-octets>0</ether-in-pkts-64-octets> + <ether-in-pkts-65-to-127-octets>0</ether-in-pkts-65-to-127-octets> + <ether-in-pkts-128-to-255-octets>0</ether-in-pkts-128-to-255-octets> + <ether-in-pkts-256-to-511-octets>0</ether-in-pkts-256-to-511-octets> + <ether-in-pkts-512-to-1023-octets>0</ether-in-pkts-512-to-1023-octets> + <ether-in-pkts-1024-to-1518-octets>0</ether-in-pkts-1024-to-1518-octets> + <ether-in-pkts-1519-to-2047-octets>0</ether-in-pkts-1519-to-2047-octets> + <ether-in-pkts-2048-to-4095-octets>0</ether-in-pkts-2048-to-4095-octets> + <ether-in-pkts-4096-to-9216-octets>0</ether-in-pkts-4096-to-9216-octets> + <ether-in-pkts-9217-to-16383-octets>0</ether-in-pkts-9217-to-16383-octets> + <ether-out-pkts-64-octets>0</ether-out-pkts-64-octets> + <ether-out-pkts-65-to-127-octets>0</ether-out-pkts-65-to-127-octets> + <ether-out-pkts-128-to-255-octets>0</ether-out-pkts-128-to-255-octets> + <ether-out-pkts-256-to-511-octets>0</ether-out-pkts-256-to-511-octets> + <ether-out-pkts-512-to-1023-octets>0</ether-out-pkts-512-to-1023-octets> + <ether-out-pkts-1024-to-1518-octets>0</ether-out-pkts-1024-to-1518-octets> + <ether-out-pkts-1519-to-2047-octets>0</ether-out-pkts-1519-to-2047-octets> + <ether-out-pkts-2048-to-4095-octets>0</ether-out-pkts-2048-to-4095-octets> + <ether-out-pkts-4096-to-9216-octets>0</ether-out-pkts-4096-to-9216-octets> + <ether-out-pkts-9217-to-16383-octets>0</ether-out-pkts-9217-to-16383-octets> + <pause-rx-pkts>0</pause-rx-pkts> + <pause-tx-pkts>0</pause-tx-pkts> + <in-pkts>0</in-pkts> + <out-pkts>0</out-pkts> + <utilization-percentage>0</utilization-percentage> + <in-bit-rate>0</in-bit-rate> + <in-pkt-rate>0</in-pkt-rate> + <in-line-rate>0</in-line-rate> + <out-bit-rate>0</out-bit-rate> + <out-pkt-rate>0</out-pkt-rate> + <out-line-rate>0</out-line-rate> + <lacp-statistics> + <lacpdus-rx>0</lacpdus-rx> + <lacpdus-tx>0</lacpdus-tx> + <unknown-rx>0</unknown-rx> + <illegal-rx>0</illegal-rx> + <marker-pdus-tx>0</marker-pdus-tx> + <marker-response-pdus-tx>0</marker-response-pdus-tx> + <marker-pdus-rx>0</marker-pdus-rx> + <marker-response-pdus-rx>0</marker-response-pdus-rx> + </lacp-statistics> + <dcbx-stats> + <ets-conf-tx-tlv-count>0</ets-conf-tx-tlv-count> + <ets-conf-rx-tlv-count>0</ets-conf-rx-tlv-count> + <ets-conf-rx-tlv-errors>0</ets-conf-rx-tlv-errors> + <ets-reco-tx-tlv-count>0</ets-reco-tx-tlv-count> + <ets-reco-rx-tlv-count>0</ets-reco-rx-tlv-count> + <ets-reco-rx-tlv-errors>0</ets-reco-rx-tlv-errors> + <pfc-tx-tlv-count>0</pfc-tx-tlv-count> + <pfc-rx-tlv-count>0</pfc-rx-tlv-count> + <pfc-rx-tlv-errors>0</pfc-rx-tlv-errors> + <app-prio-tx-tlv-count>0</app-prio-tx-tlv-count> + <app-prio-rx-tlv-count>0</app-prio-rx-tlv-count> + <app-prio-rx-tlv-errors>0</app-prio-rx-tlv-errors> + <dcbx-frames-tx-total>0</dcbx-frames-tx-total> + <dcbx-frames-rx-total>0</dcbx-frames-rx-total> + <dcbx-frames-error-total>0</dcbx-frames-error-total> + <dcbx-frames-unrecognized>0</dcbx-frames-unrecognized> + </dcbx-stats> + </statistics> + <auto-negotiation>false</auto-negotiation> + <supported-speed>40GIGE</supported-speed> + <supported-autoneg>BOTH_SUPPORTED</supported-autoneg> + <fec>not-supported</fec> + <npu-speed>0MBPS</npu-speed> + <current-phys-address>14:18:77:09:ae:67</current-phys-address> + <last-change-time>38</last-change-time> + <last-counter-clear>17493000</last-counter-clear> + <load-interval>30</load-interval> + <mtu>1532</mtu> + <eee-state>n/a</eee-state> + <qos-if-params> + <flow-control-rx>false</flow-control-rx> + <flow-control-tx>false</flow-control-tx> + <pfc-mode>false</pfc-mode> + <ets-mode>false</ets-mode> + <unknown-unicast-rate-pps>0</unknown-unicast-rate-pps> + <weight-info> + <queue-id>0</queue-id> + <weight>1</weight> + </weight-info> + <weight-info> + <queue-id>1</queue-id> + <weight>2</weight> + </weight-info> + <weight-info> + <queue-id>2</queue-id> + <weight>3</weight> + </weight-info> + <weight-info> + <queue-id>3</queue-id> + <weight>4</weight> + </weight-info> + <weight-info> + <queue-id>4</queue-id> + <weight>5</weight> + </weight-info> + <weight-info> + <queue-id>5</queue-id> + <weight>10</weight> + </weight-info> + <weight-info> + <queue-id>6</queue-id> + <weight>25</weight> + </weight-info> + <weight-info> + <queue-id>7</queue-id> + <weight>50</weight> + </weight-info> + </qos-if-params> + <ipv4-info/> + <ipv6> + <enable-status>false</enable-status> + </ipv6> + <fc-intf-params> + <port-type>Disabled</port-type> + <pwwn>00:00:00:00:00:00:00:00</pwwn> + <fc-id>00:00:00</fc-id> + <bb-credit>0</bb-credit> + </fc-intf-params> + </interface> + </data> + <last-keys> + <name>ethernet1/1/31</name> + </last-keys> + </bulk> +</rpc-reply> +<?xml version="1.0"?> +<rpc-reply> + <data> + <cms-interface-backptr> + <interface-in-running> + <name>ethernet1/1/32</name> + <untagged-vlan>vlan1</untagged-vlan> + </interface-in-running> + </cms-interface-backptr> + <interfaces> + <interface> + <name>ethernet1/1/32</name> + <type>ianaift:ethernetCsmacd</type> + <enabled>true</enabled> + <mtu>1532</mtu> + <mac-learn>HW</mac-learn> + <mode>MODE_L2</mode> + <load-interval>299</load-interval> + <duplex>auto</duplex> + <speed>AUTO</speed> + <keepalive>true</keepalive> + <lldp-med-cfg> + <med-enable>true</med-enable> + <notif-enable>false</notif-enable> + </lldp-med-cfg> + <lldp> + <tx-enable>true</tx-enable> + <rx-enable>true</rx-enable> + </lldp> + </interface> + </interfaces> + <ip-config> + <ipv4> + <arp> + <timeout>60</timeout> + </arp> + </ipv4> + </ip-config> + <ports> + <ports-state> + <port> + <name>phy-eth1/1/1</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>131137546</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/2</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>131137546</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/3</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>131137546</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/4</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/5</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/6</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/7</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/8</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/9</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/10</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/11</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/12</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/13</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/14</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/15</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/16</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/17</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/18</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/19</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/20</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/21</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/22</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/23</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/24</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/25</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/26</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/27</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/28</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/29</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/30</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/31</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/32</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + </ports-state> + </ports> + <system-state> + <system-status> + <uptime>162762</uptime> + </system-status> + </system-state> + </data> + <bulk> + <data> + <interface> + <name>ethernet1/1/32</name> + <type>ianaift:ethernetCsmacd</type> + <admin-status>up</admin-status> + <oper-status>down</oper-status> + <if-index>17305874</if-index> + <phys-address>14:18:77:09:ae:68</phys-address> + <speed>0</speed> + <statistics> + <in-octets>0</in-octets> + <in-unicast-pkts>0</in-unicast-pkts> + <in-broadcast-pkts>0</in-broadcast-pkts> + <in-multicast-pkts>0</in-multicast-pkts> + <in-discards>0</in-discards> + <in-errors>0</in-errors> + <in-unknown-protos>0</in-unknown-protos> + <out-octets>0</out-octets> + <out-unicast-pkts>0</out-unicast-pkts> + <out-broadcast-pkts>0</out-broadcast-pkts> + <out-multicast-pkts>0</out-multicast-pkts> + <out-discards>0</out-discards> + <out-errors>0</out-errors> + <if-out-qlen>0</if-out-qlen> + <ether-drop-events>0</ether-drop-events> + <ether-multicast-pkts>0</ether-multicast-pkts> + <ether-broadcast-pkts>0</ether-broadcast-pkts> + <ether-undersize-pkts>0</ether-undersize-pkts> + <ether-fragments>0</ether-fragments> + <ether-oversize-pkts>0</ether-oversize-pkts> + <ether-rx-oversize-pkts>0</ether-rx-oversize-pkts> + <ether-tx-oversize-pkts>0</ether-tx-oversize-pkts> + <ether-jabbers>0</ether-jabbers> + <ether-octets>0</ether-octets> + <ether-pkts>0</ether-pkts> + <ether-collisions>0</ether-collisions> + <ether-crc-align-errors>0</ether-crc-align-errors> + <ether-tx-no-errors>0</ether-tx-no-errors> + <ether-rx-no-errors>0</ether-rx-no-errors> + <green-discard-dropped-packets>0</green-discard-dropped-packets> + <green-discard-dropped-bytes>0</green-discard-dropped-bytes> + <yellow-discard-dropped-packets>0</yellow-discard-dropped-packets> + <yellow-discard-dropped-bytes>0</yellow-discard-dropped-bytes> + <red-discard-dropped-packets>0</red-discard-dropped-packets> + <red-discard-dropped-bytes>0</red-discard-dropped-bytes> + <discard-dropped-packets>0</discard-dropped-packets> + <discard-dropped-bytes>0</discard-dropped-bytes> + <ether-in-pkts-64-octets>0</ether-in-pkts-64-octets> + <ether-in-pkts-65-to-127-octets>0</ether-in-pkts-65-to-127-octets> + <ether-in-pkts-128-to-255-octets>0</ether-in-pkts-128-to-255-octets> + <ether-in-pkts-256-to-511-octets>0</ether-in-pkts-256-to-511-octets> + <ether-in-pkts-512-to-1023-octets>0</ether-in-pkts-512-to-1023-octets> + <ether-in-pkts-1024-to-1518-octets>0</ether-in-pkts-1024-to-1518-octets> + <ether-in-pkts-1519-to-2047-octets>0</ether-in-pkts-1519-to-2047-octets> + <ether-in-pkts-2048-to-4095-octets>0</ether-in-pkts-2048-to-4095-octets> + <ether-in-pkts-4096-to-9216-octets>0</ether-in-pkts-4096-to-9216-octets> + <ether-in-pkts-9217-to-16383-octets>0</ether-in-pkts-9217-to-16383-octets> + <ether-out-pkts-64-octets>0</ether-out-pkts-64-octets> + <ether-out-pkts-65-to-127-octets>0</ether-out-pkts-65-to-127-octets> + <ether-out-pkts-128-to-255-octets>0</ether-out-pkts-128-to-255-octets> + <ether-out-pkts-256-to-511-octets>0</ether-out-pkts-256-to-511-octets> + <ether-out-pkts-512-to-1023-octets>0</ether-out-pkts-512-to-1023-octets> + <ether-out-pkts-1024-to-1518-octets>0</ether-out-pkts-1024-to-1518-octets> + <ether-out-pkts-1519-to-2047-octets>0</ether-out-pkts-1519-to-2047-octets> + <ether-out-pkts-2048-to-4095-octets>0</ether-out-pkts-2048-to-4095-octets> + <ether-out-pkts-4096-to-9216-octets>0</ether-out-pkts-4096-to-9216-octets> + <ether-out-pkts-9217-to-16383-octets>0</ether-out-pkts-9217-to-16383-octets> + <pause-rx-pkts>0</pause-rx-pkts> + <pause-tx-pkts>0</pause-tx-pkts> + <in-pkts>0</in-pkts> + <out-pkts>0</out-pkts> + <utilization-percentage>0</utilization-percentage> + <in-bit-rate>0</in-bit-rate> + <in-pkt-rate>0</in-pkt-rate> + <in-line-rate>0</in-line-rate> + <out-bit-rate>0</out-bit-rate> + <out-pkt-rate>0</out-pkt-rate> + <out-line-rate>0</out-line-rate> + <lacp-statistics> + <lacpdus-rx>0</lacpdus-rx> + <lacpdus-tx>0</lacpdus-tx> + <unknown-rx>0</unknown-rx> + <illegal-rx>0</illegal-rx> + <marker-pdus-tx>0</marker-pdus-tx> + <marker-response-pdus-tx>0</marker-response-pdus-tx> + <marker-pdus-rx>0</marker-pdus-rx> + <marker-response-pdus-rx>0</marker-response-pdus-rx> + </lacp-statistics> + <dcbx-stats> + <ets-conf-tx-tlv-count>0</ets-conf-tx-tlv-count> + <ets-conf-rx-tlv-count>0</ets-conf-rx-tlv-count> + <ets-conf-rx-tlv-errors>0</ets-conf-rx-tlv-errors> + <ets-reco-tx-tlv-count>0</ets-reco-tx-tlv-count> + <ets-reco-rx-tlv-count>0</ets-reco-rx-tlv-count> + <ets-reco-rx-tlv-errors>0</ets-reco-rx-tlv-errors> + <pfc-tx-tlv-count>0</pfc-tx-tlv-count> + <pfc-rx-tlv-count>0</pfc-rx-tlv-count> + <pfc-rx-tlv-errors>0</pfc-rx-tlv-errors> + <app-prio-tx-tlv-count>0</app-prio-tx-tlv-count> + <app-prio-rx-tlv-count>0</app-prio-rx-tlv-count> + <app-prio-rx-tlv-errors>0</app-prio-rx-tlv-errors> + <dcbx-frames-tx-total>0</dcbx-frames-tx-total> + <dcbx-frames-rx-total>0</dcbx-frames-rx-total> + <dcbx-frames-error-total>0</dcbx-frames-error-total> + <dcbx-frames-unrecognized>0</dcbx-frames-unrecognized> + </dcbx-stats> + </statistics> + <auto-negotiation>false</auto-negotiation> + <supported-speed>40GIGE</supported-speed> + <supported-autoneg>BOTH_SUPPORTED</supported-autoneg> + <fec>not-supported</fec> + <npu-speed>0MBPS</npu-speed> + <current-phys-address>14:18:77:09:ae:68</current-phys-address> + <last-change-time>38</last-change-time> + <last-counter-clear>17498900</last-counter-clear> + <load-interval>30</load-interval> + <mtu>1532</mtu> + <eee-state>n/a</eee-state> + <qos-if-params> + <flow-control-rx>false</flow-control-rx> + <flow-control-tx>false</flow-control-tx> + <pfc-mode>false</pfc-mode> + <ets-mode>false</ets-mode> + <unknown-unicast-rate-pps>0</unknown-unicast-rate-pps> + <weight-info> + <queue-id>0</queue-id> + <weight>1</weight> + </weight-info> + <weight-info> + <queue-id>1</queue-id> + <weight>2</weight> + </weight-info> + <weight-info> + <queue-id>2</queue-id> + <weight>3</weight> + </weight-info> + <weight-info> + <queue-id>3</queue-id> + <weight>4</weight> + </weight-info> + <weight-info> + <queue-id>4</queue-id> + <weight>5</weight> + </weight-info> + <weight-info> + <queue-id>5</queue-id> + <weight>10</weight> + </weight-info> + <weight-info> + <queue-id>6</queue-id> + <weight>25</weight> + </weight-info> + <weight-info> + <queue-id>7</queue-id> + <weight>50</weight> + </weight-info> + </qos-if-params> + <ipv4-info/> + <ipv6> + <enable-status>false</enable-status> + </ipv6> + <fc-intf-params> + <port-type>Disabled</port-type> + <pwwn>00:00:00:00:00:00:00:00</pwwn> + <fc-id>00:00:00</fc-id> + <bb-credit>0</bb-credit> + </fc-intf-params> + </interface> + </data> + <last-keys> + <name>ethernet1/1/32</name> + </last-keys> + </bulk> +</rpc-reply> +<?xml version="1.0"?> +<rpc-reply> + <data> + <cms-interface-backptr/> + <interfaces> + <interface> + <name>mgmt1/1/1</name> + <type>base-if:management</type> + <enabled>true</enabled> + <mtu>1500</mtu> + <mac-learn>HW</mac-learn> + <duplex>auto</duplex> + <speed>AUTO</speed> + <keepalive>true</keepalive> + <ipv4> + <address> + <primary-addr>10.16.148.144/16</primary-addr> + </address> + </ipv4> + <ipv6> + <autoconfig>true</autoconfig> + <intf-v6-enabled>true</intf-v6-enabled> + </ipv6> + <lldp> + <tx-enable>true</tx-enable> + <rx-enable>true</rx-enable> + </lldp> + </interface> + </interfaces> + <ip-config> + <ipv4> + <arp> + <timeout>60</timeout> + </arp> + </ipv4> + </ip-config> + <ports> + <ports-state> + <port> + <name>phy-eth1/1/1</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>131137546</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/2</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>131137546</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/3</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>131137546</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/4</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/5</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/6</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/7</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/8</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/9</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/10</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/11</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/12</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/13</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/14</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/15</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/16</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/17</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/18</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/19</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/20</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/21</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/22</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/23</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/24</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/25</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/26</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/27</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/28</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/29</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/30</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/31</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/32</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + </ports-state> + </ports> + <system-state> + <system-status> + <uptime>162762</uptime> + </system-status> + </system-state> + </data> + <bulk> + <data> + <interface> + <name>mgmt1/1/1</name> + <type>base-if:management</type> + <admin-status>up</admin-status> + <oper-status>up</oper-status> + <if-index>35454736</if-index> + <phys-address>00:a0:c9:00:00:00</phys-address> + <speed>1000000000</speed> + <statistics> + <in-octets>74473686</in-octets> + <in-unicast-pkts>0</in-unicast-pkts> + <in-broadcast-pkts>0</in-broadcast-pkts> + <in-multicast-pkts>0</in-multicast-pkts> + <in-discards>66</in-discards> + <in-errors>0</in-errors> + <in-unknown-protos>0</in-unknown-protos> + <out-octets>17129927</out-octets> + <out-unicast-pkts>0</out-unicast-pkts> + <out-broadcast-pkts>0</out-broadcast-pkts> + <out-multicast-pkts>0</out-multicast-pkts> + <out-discards>0</out-discards> + <out-errors>0</out-errors> + <if-out-qlen>0</if-out-qlen> + <ether-drop-events>0</ether-drop-events> + <ether-multicast-pkts>0</ether-multicast-pkts> + <ether-broadcast-pkts>0</ether-broadcast-pkts> + <ether-undersize-pkts>0</ether-undersize-pkts> + <ether-fragments>0</ether-fragments> + <ether-oversize-pkts>0</ether-oversize-pkts> + <ether-rx-oversize-pkts>0</ether-rx-oversize-pkts> + <ether-tx-oversize-pkts>0</ether-tx-oversize-pkts> + <ether-jabbers>0</ether-jabbers> + <ether-octets>0</ether-octets> + <ether-pkts>0</ether-pkts> + <ether-collisions>0</ether-collisions> + <ether-crc-align-errors>0</ether-crc-align-errors> + <ether-tx-no-errors>0</ether-tx-no-errors> + <ether-rx-no-errors>0</ether-rx-no-errors> + <green-discard-dropped-packets>0</green-discard-dropped-packets> + <green-discard-dropped-bytes>0</green-discard-dropped-bytes> + <yellow-discard-dropped-packets>0</yellow-discard-dropped-packets> + <yellow-discard-dropped-bytes>0</yellow-discard-dropped-bytes> + <red-discard-dropped-packets>0</red-discard-dropped-packets> + <red-discard-dropped-bytes>0</red-discard-dropped-bytes> + <discard-dropped-packets>0</discard-dropped-packets> + <discard-dropped-bytes>0</discard-dropped-bytes> + <ether-in-pkts-64-octets>0</ether-in-pkts-64-octets> + <ether-in-pkts-65-to-127-octets>0</ether-in-pkts-65-to-127-octets> + <ether-in-pkts-128-to-255-octets>0</ether-in-pkts-128-to-255-octets> + <ether-in-pkts-256-to-511-octets>0</ether-in-pkts-256-to-511-octets> + <ether-in-pkts-512-to-1023-octets>0</ether-in-pkts-512-to-1023-octets> + <ether-in-pkts-1024-to-1518-octets>0</ether-in-pkts-1024-to-1518-octets> + <ether-in-pkts-1519-to-2047-octets>0</ether-in-pkts-1519-to-2047-octets> + <ether-in-pkts-2048-to-4095-octets>0</ether-in-pkts-2048-to-4095-octets> + <ether-in-pkts-4096-to-9216-octets>0</ether-in-pkts-4096-to-9216-octets> + <ether-in-pkts-9217-to-16383-octets>0</ether-in-pkts-9217-to-16383-octets> + <ether-out-pkts-64-octets>0</ether-out-pkts-64-octets> + <ether-out-pkts-65-to-127-octets>0</ether-out-pkts-65-to-127-octets> + <ether-out-pkts-128-to-255-octets>0</ether-out-pkts-128-to-255-octets> + <ether-out-pkts-256-to-511-octets>0</ether-out-pkts-256-to-511-octets> + <ether-out-pkts-512-to-1023-octets>0</ether-out-pkts-512-to-1023-octets> + <ether-out-pkts-1024-to-1518-octets>0</ether-out-pkts-1024-to-1518-octets> + <ether-out-pkts-1519-to-2047-octets>0</ether-out-pkts-1519-to-2047-octets> + <ether-out-pkts-2048-to-4095-octets>0</ether-out-pkts-2048-to-4095-octets> + <ether-out-pkts-4096-to-9216-octets>0</ether-out-pkts-4096-to-9216-octets> + <ether-out-pkts-9217-to-16383-octets>0</ether-out-pkts-9217-to-16383-octets> + <pause-rx-pkts>0</pause-rx-pkts> + <pause-tx-pkts>0</pause-tx-pkts> + <in-pkts>889900</in-pkts> + <out-pkts>52776</out-pkts> + <lacp-statistics> + <lacpdus-rx>0</lacpdus-rx> + <lacpdus-tx>0</lacpdus-tx> + <unknown-rx>0</unknown-rx> + <illegal-rx>0</illegal-rx> + <marker-pdus-tx>0</marker-pdus-tx> + <marker-response-pdus-tx>0</marker-response-pdus-tx> + <marker-pdus-rx>0</marker-pdus-rx> + <marker-response-pdus-rx>0</marker-response-pdus-rx> + </lacp-statistics> + </statistics> + <auto-negotiation>false</auto-negotiation> + <supported-speed>10MBPS</supported-speed> + <supported-speed>100MBPS</supported-speed> + <supported-speed>1GIGE</supported-speed> + <supported-autoneg>NOT_SUPPORTED</supported-autoneg> + <fec>not-supported</fec> + <bind-ni-name>default</bind-ni-name> + <current-phys-address>00:a0:c9:00:00:00</current-phys-address> + <last-change-time>38</last-change-time> + <last-counter-clear>17509300</last-counter-clear> + <load-interval>30</load-interval> + <mtu>1532</mtu> + <ipv4-info> + <assignment-mode>manual-cfg</assignment-mode> + <addr>10.16.148.144/16</addr> + </ipv4-info> + <ipv6> + <enable-status>true</enable-status> + <link-local-addr>fe80::2a0:c9ff:fe00:0/64</link-local-addr> + </ipv6> + <fc-intf-params> + <port-type>Disabled</port-type> + <pwwn>00:00:00:00:00:00:00:00</pwwn> + <fc-id>00:00:00</fc-id> + <bb-credit>0</bb-credit> + </fc-intf-params> + </interface> + </data> + <last-keys> + <name>mgmt1/1/1</name> + </last-keys> + </bulk> +</rpc-reply> +<?xml version="1.0"?> +<rpc-reply> + <data> + <cms-interface-backptr/> + <interfaces> + <interface> + <name>vlan1</name> + <type>ianaift:l2vlan</type> + <enabled>true</enabled> + <mtu>1532</mtu> + <mac-learn>HW</mac-learn> + <vlan-type>DATA</vlan-type> + <untagged-ports>ethernet1/1/1</untagged-ports> + <untagged-ports>ethernet1/1/3</untagged-ports> + <untagged-ports>ethernet1/1/4</untagged-ports> + <untagged-ports>ethernet1/1/5</untagged-ports> + <untagged-ports>ethernet1/1/6</untagged-ports> + <untagged-ports>ethernet1/1/7</untagged-ports> + <untagged-ports>ethernet1/1/9</untagged-ports> + <untagged-ports>ethernet1/1/10</untagged-ports> + <untagged-ports>ethernet1/1/11</untagged-ports> + <untagged-ports>ethernet1/1/20</untagged-ports> + <untagged-ports>ethernet1/1/21</untagged-ports> + <untagged-ports>ethernet1/1/22</untagged-ports> + <untagged-ports>ethernet1/1/23</untagged-ports> + <untagged-ports>ethernet1/1/24</untagged-ports> + <untagged-ports>ethernet1/1/25</untagged-ports> + <untagged-ports>ethernet1/1/26</untagged-ports> + <untagged-ports>ethernet1/1/27</untagged-ports> + <untagged-ports>ethernet1/1/28</untagged-ports> + <untagged-ports>ethernet1/1/29</untagged-ports> + <untagged-ports>ethernet1/1/30</untagged-ports> + <untagged-ports>ethernet1/1/31</untagged-ports> + <untagged-ports>ethernet1/1/32</untagged-ports> + <untagged-ports>port-channel12</untagged-ports> + <vlt-control>false</vlt-control> + </interface> + </interfaces> + <ip-config> + <ipv4> + <arp> + <timeout>60</timeout> + </arp> + </ipv4> + </ip-config> + <ports> + <ports-state> + <port> + <name>phy-eth1/1/1</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>131137546</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/2</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>131137546</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/3</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>131137546</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/4</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/5</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/6</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/7</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/8</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/9</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/10</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/11</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/12</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/13</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/14</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/15</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/16</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/17</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/18</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/19</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/20</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/21</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/22</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/23</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/24</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/25</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/26</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/27</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/28</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/29</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/30</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/31</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/32</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + </ports-state> + </ports> + <system-state> + <system-status> + <uptime>162762</uptime> + </system-status> + </system-state> + </data> + <bulk> + <data> + <interface> + <name>vlan1</name> + <type>ianaift:l2vlan</type> + <admin-status>up</admin-status> + <oper-status>up</oper-status> + <if-index>69208865</if-index> + <phys-address>14:18:77:09:af:01</phys-address> + <speed>10000000000</speed> + <statistics> + <in-octets>8587506</in-octets> + <in-unicast-pkts>0</in-unicast-pkts> + <in-errors>0</in-errors> + <in-unknown-protos>0</in-unknown-protos> + <out-octets>9015054</out-octets> + <out-unicast-pkts>0</out-unicast-pkts> + <out-discards>0</out-discards> + <out-errors>0</out-errors> + <if-in-vlan-discards>0</if-in-vlan-discards> + <if-out-qlen>0</if-out-qlen> + <in-pkts>107065</in-pkts> + <out-pkts>107059</out-pkts> + </statistics> + <current-phys-address>14:18:77:09:af:01</current-phys-address> + <last-change-time>44</last-change-time> + <last-counter-clear>17517200</last-counter-clear> + <mtu>1532</mtu> + <vlan-type>DATA</vlan-type> + <untagged-ports>ethernet1/1/1</untagged-ports> + <untagged-ports>ethernet1/1/3</untagged-ports> + <untagged-ports>ethernet1/1/4</untagged-ports> + <untagged-ports>ethernet1/1/5</untagged-ports> + <untagged-ports>ethernet1/1/6</untagged-ports> + <untagged-ports>ethernet1/1/7</untagged-ports> + <untagged-ports>ethernet1/1/9</untagged-ports> + <untagged-ports>ethernet1/1/10</untagged-ports> + <untagged-ports>ethernet1/1/11</untagged-ports> + <untagged-ports>ethernet1/1/20</untagged-ports> + <untagged-ports>ethernet1/1/21</untagged-ports> + <untagged-ports>ethernet1/1/22</untagged-ports> + <untagged-ports>ethernet1/1/23</untagged-ports> + <untagged-ports>ethernet1/1/24</untagged-ports> + <untagged-ports>ethernet1/1/25</untagged-ports> + <untagged-ports>ethernet1/1/26</untagged-ports> + <untagged-ports>ethernet1/1/27</untagged-ports> + <untagged-ports>ethernet1/1/28</untagged-ports> + <untagged-ports>ethernet1/1/29</untagged-ports> + <untagged-ports>ethernet1/1/30</untagged-ports> + <untagged-ports>ethernet1/1/31</untagged-ports> + <untagged-ports>ethernet1/1/32</untagged-ports> + <untagged-ports>port-channel12</untagged-ports> + <vlt-control>false</vlt-control> + <ipv4-info/> + <ipv6> + <enable-status>true</enable-status> + <link-local-addr>fe80::1618:77ff:fe09:af01/64</link-local-addr> + </ipv6> + <fc-intf-params> + <port-type>Disabled</port-type> + <pwwn>00:00:00:00:00:00:00:00</pwwn> + <fc-id>00:00:00</fc-id> + <bb-credit>0</bb-credit> + </fc-intf-params> + </interface> + </data> + <last-keys> + <name>vlan1</name> + </last-keys> + </bulk> +</rpc-reply> +<?xml version="1.0"?> +<rpc-reply> + <data> + <cms-interface-backptr/> + <ip-config> + <ipv4> + <arp> + <timeout>60</timeout> + </arp> + </ipv4> + </ip-config> + <ports> + <ports-state> + <port> + <name>phy-eth1/1/1</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>131137546</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/2</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>131137546</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/3</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>131137546</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/4</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/5</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/6</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/7</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/8</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/9</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/10</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/11</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/12</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/13</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/14</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/15</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/16</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/17</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/18</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/19</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/20</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/21</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/22</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/23</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/24</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/25</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/26</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/27</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/28</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/29</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/30</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/31</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/32</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + </ports-state> + </ports> + <system-state> + <system-status> + <uptime>162762</uptime> + </system-status> + </system-state> + </data> + <bulk> + <data> + <interface> + <name>vlan4094</name> + <type>ianaift:l2vlan</type> + <admin-status>up</admin-status> + <oper-status>down</oper-status> + <if-index>69212958</if-index> + <phys-address>14:18:77:09:af:01</phys-address> + <speed>0</speed> + <statistics> + <in-octets>0</in-octets> + <in-unicast-pkts>0</in-unicast-pkts> + <in-errors>0</in-errors> + <in-unknown-protos>0</in-unknown-protos> + <out-octets>0</out-octets> + <out-unicast-pkts>0</out-unicast-pkts> + <out-discards>0</out-discards> + <out-errors>0</out-errors> + <if-in-vlan-discards>0</if-in-vlan-discards> + <if-out-qlen>0</if-out-qlen> + <in-pkts>0</in-pkts> + <out-pkts>0</out-pkts> + </statistics> + <current-phys-address>14:18:77:09:af:01</current-phys-address> + <last-change-time>3992</last-change-time> + <last-counter-clear>17135400</last-counter-clear> + <mtu>1532</mtu> + <vlan-type>INTERNAL</vlan-type> + <vlt-control>true</vlt-control> + <ipv4-info/> + <ipv6> + <enable-status>true</enable-status> + </ipv6> + <fc-intf-params> + <port-type>Disabled</port-type> + <pwwn>00:00:00:00:00:00:00:00</pwwn> + <fc-id>00:00:00</fc-id> + <bb-credit>0</bb-credit> + </fc-intf-params> + </interface> + </data> + <last-keys> + <name>vlan4094</name> + </last-keys> + </bulk> +</rpc-reply> +<?xml version="1.0"?> +<rpc-reply> + <data> + <cms-interface-backptr> + <interface-in-running> + <name>port-channel12</name> + <untagged-vlan>vlan1</untagged-vlan> + </interface-in-running> + </cms-interface-backptr> + <interfaces> + <interface> + <name>port-channel12</name> + <type>ianaift:ieee8023adLag</type> + <enabled>true</enabled> + <mtu>1532</mtu> + <mac-learn>HW</mac-learn> + <mode>MODE_L2</mode> + <load-interval>299</load-interval> + <min-links>1</min-links> + <lag-mode>STATIC</lag-mode> + <vlti-lag>false</vlti-lag> + <vlt> + <vlt-id>13</vlt-id> + </vlt> + </interface> + </interfaces> + <ip-config> + <ipv4> + <arp> + <timeout>60</timeout> + </arp> + </ipv4> + </ip-config> + <ports> + <ports-state> + <port> + <name>phy-eth1/1/1</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>131137546</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/2</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>131137546</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/3</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>131137546</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/4</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/5</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/6</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/7</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/8</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/9</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/10</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/11</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/12</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/13</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/14</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/15</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/16</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/17</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/18</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/19</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/20</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/21</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/22</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/23</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/24</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/25</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/26</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/27</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/28</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/29</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/30</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/31</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/32</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + </ports-state> + </ports> + <system-state> + <system-status> + <uptime>162762</uptime> + </system-status> + </system-state> + </data> + <bulk> + <data> + <interface> + <name>port-channel12</name> + <type>ianaift:ieee8023adLag</type> + <admin-status>up</admin-status> + <oper-status>down</oper-status> + <if-index>85886092</if-index> + <phys-address>14:18:77:09:ae:8d</phys-address> + <speed>0</speed> + <statistics> + <in-octets>0</in-octets> + <in-unicast-pkts>0</in-unicast-pkts> + <in-broadcast-pkts>0</in-broadcast-pkts> + <in-multicast-pkts>0</in-multicast-pkts> + <in-discards>0</in-discards> + <in-errors>0</in-errors> + <in-unknown-protos>0</in-unknown-protos> + <out-octets>0</out-octets> + <out-unicast-pkts>0</out-unicast-pkts> + <out-broadcast-pkts>0</out-broadcast-pkts> + <out-multicast-pkts>0</out-multicast-pkts> + <out-discards>0</out-discards> + <out-errors>0</out-errors> + <if-out-qlen>0</if-out-qlen> + <ether-drop-events>0</ether-drop-events> + <ether-multicast-pkts>0</ether-multicast-pkts> + <ether-broadcast-pkts>0</ether-broadcast-pkts> + <ether-undersize-pkts>0</ether-undersize-pkts> + <ether-fragments>0</ether-fragments> + <ether-oversize-pkts>0</ether-oversize-pkts> + <ether-rx-oversize-pkts>0</ether-rx-oversize-pkts> + <ether-tx-oversize-pkts>0</ether-tx-oversize-pkts> + <ether-jabbers>0</ether-jabbers> + <ether-octets>0</ether-octets> + <ether-pkts>0</ether-pkts> + <ether-collisions>0</ether-collisions> + <ether-crc-align-errors>0</ether-crc-align-errors> + <ether-tx-no-errors>0</ether-tx-no-errors> + <ether-rx-no-errors>0</ether-rx-no-errors> + <green-discard-dropped-packets>0</green-discard-dropped-packets> + <green-discard-dropped-bytes>0</green-discard-dropped-bytes> + <yellow-discard-dropped-packets>0</yellow-discard-dropped-packets> + <yellow-discard-dropped-bytes>0</yellow-discard-dropped-bytes> + <red-discard-dropped-packets>0</red-discard-dropped-packets> + <red-discard-dropped-bytes>0</red-discard-dropped-bytes> + <discard-dropped-packets>0</discard-dropped-packets> + <discard-dropped-bytes>0</discard-dropped-bytes> + <ether-in-pkts-64-octets>0</ether-in-pkts-64-octets> + <ether-in-pkts-65-to-127-octets>0</ether-in-pkts-65-to-127-octets> + <ether-in-pkts-128-to-255-octets>0</ether-in-pkts-128-to-255-octets> + <ether-in-pkts-256-to-511-octets>0</ether-in-pkts-256-to-511-octets> + <ether-in-pkts-512-to-1023-octets>0</ether-in-pkts-512-to-1023-octets> + <ether-in-pkts-1024-to-1518-octets>0</ether-in-pkts-1024-to-1518-octets> + <ether-in-pkts-1519-to-2047-octets>0</ether-in-pkts-1519-to-2047-octets> + <ether-in-pkts-2048-to-4095-octets>0</ether-in-pkts-2048-to-4095-octets> + <ether-in-pkts-4096-to-9216-octets>0</ether-in-pkts-4096-to-9216-octets> + <ether-in-pkts-9217-to-16383-octets>0</ether-in-pkts-9217-to-16383-octets> + <ether-out-pkts-64-octets>0</ether-out-pkts-64-octets> + <ether-out-pkts-65-to-127-octets>0</ether-out-pkts-65-to-127-octets> + <ether-out-pkts-128-to-255-octets>0</ether-out-pkts-128-to-255-octets> + <ether-out-pkts-256-to-511-octets>0</ether-out-pkts-256-to-511-octets> + <ether-out-pkts-512-to-1023-octets>0</ether-out-pkts-512-to-1023-octets> + <ether-out-pkts-1024-to-1518-octets>0</ether-out-pkts-1024-to-1518-octets> + <ether-out-pkts-1519-to-2047-octets>0</ether-out-pkts-1519-to-2047-octets> + <ether-out-pkts-2048-to-4095-octets>0</ether-out-pkts-2048-to-4095-octets> + <ether-out-pkts-4096-to-9216-octets>0</ether-out-pkts-4096-to-9216-octets> + <ether-out-pkts-9217-to-16383-octets>0</ether-out-pkts-9217-to-16383-octets> + <pause-rx-pkts>0</pause-rx-pkts> + <pause-tx-pkts>0</pause-tx-pkts> + <in-pkts>0</in-pkts> + <out-pkts>0</out-pkts> + <utilization-percentage>0</utilization-percentage> + <in-bit-rate>0</in-bit-rate> + <in-pkt-rate>0</in-pkt-rate> + <in-line-rate>0</in-line-rate> + <out-bit-rate>0</out-bit-rate> + <out-pkt-rate>0</out-pkt-rate> + <out-line-rate>0</out-line-rate> + <link-bundle-monitoring-alarm>false</link-bundle-monitoring-alarm> + <lacp-statistics> + <lacpdus-rx>0</lacpdus-rx> + <lacpdus-tx>0</lacpdus-tx> + <unknown-rx>0</unknown-rx> + <illegal-rx>0</illegal-rx> + <marker-pdus-tx>0</marker-pdus-tx> + <marker-response-pdus-tx>0</marker-response-pdus-tx> + <marker-pdus-rx>0</marker-pdus-rx> + <marker-response-pdus-rx>0</marker-response-pdus-rx> + </lacp-statistics> + </statistics> + <auto-negotiation>false</auto-negotiation> + <supported-autoneg>NOT_SUPPORTED</supported-autoneg> + <fec>not-supported</fec> + <current-phys-address>14:18:77:09:ae:8d</current-phys-address> + <last-change-time>3750</last-change-time> + <last-counter-clear>17160800</last-counter-clear> + <load-interval>30</load-interval> + <mtu>1532</mtu> + <min-links>1</min-links> + <lag-mode>STATIC</lag-mode> + <num-ports-up>0</num-ports-up> + <ipv4-info/> + <ipv6> + <enable-status>false</enable-status> + </ipv6> + <fc-intf-params> + <port-type>Disabled</port-type> + <pwwn>00:00:00:00:00:00:00:00</pwwn> + <fc-id>00:00:00</fc-id> + <bb-credit>0</bb-credit> + </fc-intf-params> + </interface> + </data> + <last-keys> + <name>port-channel12</name> + </last-keys> + </bulk> +</rpc-reply> +<?xml version="1.0"?> +<rpc-reply> + <data> + <cms-interface-backptr/> + <interfaces> + <interface> + <name>null0</name> + <type>base-if:null</type> + <enabled>true</enabled> + <mtu>1532</mtu> + <mac-learn>HW</mac-learn> + </interface> + </interfaces> + <ip-config> + <ipv4> + <arp> + <timeout>60</timeout> + </arp> + </ipv4> + </ip-config> + <ports> + <ports-state> + <port> + <name>phy-eth1/1/1</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>131137546</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/2</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>131137546</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/3</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>131137546</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/4</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/5</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/6</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/7</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/8</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/9</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/10</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/11</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/12</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/13</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/14</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/15</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/16</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/17</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/18</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/19</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/20</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/21</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/22</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/23</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/24</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/25</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/26</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/27</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/28</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/29</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/30</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/31</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/32</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + </ports-state> + </ports> + <system-state> + <system-status> + <uptime>162762</uptime> + </system-status> + </system-state> + </data> + <bulk> + <data> + <interface> + <name>null0</name> + <type>base-if:null</type> + <admin-status>up</admin-status> + <oper-status>up</oper-status> + <if-index>119690512</if-index> + <last-change-time>39</last-change-time> + <last-counter-clear>17549600</last-counter-clear> + <ipv4-info/> + <ipv6> + <enable-status>false</enable-status> + </ipv6> + <fc-intf-params> + <port-type>Disabled</port-type> + <pwwn>00:00:00:00:00:00:00:00</pwwn> + <fc-id>00:00:00</fc-id> + <bb-credit>0</bb-credit> + </fc-intf-params> + </interface> + </data> + <last-keys> + <name>null0</name> + </last-keys> + </bulk> +</rpc-reply> +<?xml version="1.0"?> +<rpc-reply> + <data> + <ip-config> + <ipv4> + <arp> + <timeout>60</timeout> + </arp> + </ipv4> + </ip-config> + <ports> + <ports-state> + <port> + <name>phy-eth1/1/1</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>131137546</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/2</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>131137546</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/3</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>131137546</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/4</name> + <base-ID-fields> + <media-laser-wavelength>38</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-category>QSFP-PLUS</media-category> + <media-type>AR_QSFP_40GBASE_CR4_1M</media-type> + <present>true</present> + </port> + <port> + <name>phy-eth1/1/5</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/6</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/7</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/8</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/9</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/10</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/11</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/12</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/13</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/14</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/15</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/16</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/17</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/18</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/19</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/20</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/21</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/22</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/23</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/24</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/25</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/26</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3758089944</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/27</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3840747224</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/28</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/29</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/30</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3857532632</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/31</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3865925336</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + <port> + <name>phy-eth1/1/32</name> + <base-ID-fields> + <media-laser-wavelength>0</media-laser-wavelength> + </base-ID-fields> + <channel> + <sub-port>3849139928</sub-port> + <rx-power>0.0</rx-power> + </channel> + <media-type>AR_POPTICS_NOTPRESENT</media-type> + <present>false</present> + </port> + </ports-state> + </ports> + <system-state> + <system-status> + <uptime>162762</uptime> + </system-status> + </system-state> + </data> + <bulk> + <data/> + </bulk> +</rpc-reply> + diff --git a/ansible_collections/dellemc/os10/tests/unit/modules/network/os10/fixtures/show_lldp_neighbors__display-xml b/ansible_collections/dellemc/os10/tests/unit/modules/network/os10/fixtures/show_lldp_neighbors__display-xml new file mode 100644 index 00000000..de3ad4ed --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/unit/modules/network/os10/fixtures/show_lldp_neighbors__display-xml @@ -0,0 +1,855 @@ +<?xml version="1.0" encoding="UTF-8"?> +<rpc-reply> + <bulk> + <data> + <interface> + <name>ethernet1/1/1</name> + <type>ianaift:ethernetCsmacd</type> + <admin-status>up</admin-status> + <oper-status>up</oper-status> + <if-index>17305068</if-index> + <phys-address>14:18:77:09:ae:01</phys-address> + <speed>40000000000</speed> + <auto-negotiation>true</auto-negotiation> + <supported-speed>40GIGE</supported-speed> + <supported-autoneg>BOTH_SUPPORTED</supported-autoneg> + <fec>not-supported</fec> + <npu-speed>0MBPS</npu-speed> + <current-phys-address>14:18:77:09:ae:01</current-phys-address> + <last-change-time>44</last-change-time> + <last-counter-clear>17570800</last-counter-clear> + <load-interval>30</load-interval> + <mtu>1532</mtu> + <eee-state>n/a</eee-state> + <lldp-rem-neighbor-info> + <info> + <rem-lldp-time-mark>330300</rem-lldp-time-mark> + <rem-lldp-index>4</rem-lldp-index> + <dest-mac-addr-index>1</dest-mac-addr-index> + <rem-if-index>17305068</rem-if-index> + <rem-local-port-num>260</rem-local-port-num> + <rem-lldp-chassis-id>FBh3Ca4A +</rem-lldp-chassis-id> + <rem-lldp-port-id>ZXRoZXJuZXQxLzEvMw== +</rem-lldp-port-id> + <rem-lldp-chassis-id-subtype>mac-address</rem-lldp-chassis-id-subtype> + <rem-lldp-port-subtype>interface-alias</rem-lldp-port-subtype> + <rem-ttl>120</rem-ttl> + <rem-last-update-time>172395</rem-last-update-time> + <rem-info-valid-time>107</rem-info-valid-time> + <rem-system-desc>OS10</rem-system-desc> + <rem-port-desc>ethernet1/1/3</rem-port-desc> + <rem-system-name>os10</rem-system-name> + <rem-port-vlan-id>1</rem-port-vlan-id> + <rem-max-frame-size>1532</rem-max-frame-size> + <rem-agg-link-status>false</rem-agg-link-status> + <rem-sys-cap-supported>router bridge repeater</rem-sys-cap-supported> + <rem-sys-cap-enabled>router bridge repeater</rem-sys-cap-enabled> + <rem-remote-changes>true</rem-remote-changes> + <rem-too-many-neighbors>false</rem-too-many-neighbors> + <rem-dot3-auto-neg-supported>true</rem-dot3-auto-neg-supported> + <rem-dot3-auto-neg-enabled>true</rem-dot3-auto-neg-enabled> + <rem-dot3-auto-neg-adv-cap>b-1000base-t</rem-dot3-auto-neg-adv-cap> + </info> + </lldp-rem-neighbor-info> + </interface> + <interface> + <name>ethernet1/1/2</name> + <type>ianaift:ethernetCsmacd</type> + <admin-status>up</admin-status> + <oper-status>up</oper-status> + <if-index>17305094</if-index> + <phys-address>14:18:77:09:ae:05</phys-address> + <speed>40000000000</speed> + <auto-negotiation>true</auto-negotiation> + <supported-speed>40GIGE</supported-speed> + <supported-autoneg>BOTH_SUPPORTED</supported-autoneg> + <fec>not-supported</fec> + <npu-speed>0MBPS</npu-speed> + <current-phys-address>14:18:77:09:ae:05</current-phys-address> + <last-change-time>44</last-change-time> + <last-counter-clear>17570700</last-counter-clear> + <load-interval>30</load-interval> + <mtu>1532</mtu> + <eee-state>n/a</eee-state> + <lldp-rem-neighbor-info> + <info> + <rem-lldp-time-mark>330300</rem-lldp-time-mark> + <rem-lldp-index>5</rem-lldp-index> + <dest-mac-addr-index>1</dest-mac-addr-index> + <rem-if-index>17305094</rem-if-index> + <rem-local-port-num>264</rem-local-port-num> + <rem-lldp-chassis-id>FBh3Ca4A +</rem-lldp-chassis-id> + <rem-lldp-port-id>ZXRoZXJuZXQxLzEvNA== +</rem-lldp-port-id> + <rem-lldp-chassis-id-subtype>mac-address</rem-lldp-chassis-id-subtype> + <rem-lldp-port-subtype>interface-alias</rem-lldp-port-subtype> + <rem-ttl>120</rem-ttl> + <rem-last-update-time>172395</rem-last-update-time> + <rem-info-valid-time>107</rem-info-valid-time> + <rem-system-desc>OS10</rem-system-desc> + <rem-port-desc>ethernet1/1/4</rem-port-desc> + <rem-system-name>os10</rem-system-name> + <rem-port-vlan-id>1</rem-port-vlan-id> + <rem-max-frame-size>1532</rem-max-frame-size> + <rem-agg-link-status>false</rem-agg-link-status> + <rem-sys-cap-supported>router bridge repeater</rem-sys-cap-supported> + <rem-sys-cap-enabled>router bridge repeater</rem-sys-cap-enabled> + <rem-remote-changes>true</rem-remote-changes> + <rem-too-many-neighbors>false</rem-too-many-neighbors> + <rem-dot3-auto-neg-supported>true</rem-dot3-auto-neg-supported> + <rem-dot3-auto-neg-enabled>true</rem-dot3-auto-neg-enabled> + <rem-dot3-auto-neg-adv-cap>b-1000base-t</rem-dot3-auto-neg-adv-cap> + </info> + </lldp-rem-neighbor-info> + </interface> + <interface> + <name>ethernet1/1/3</name> + <type>ianaift:ethernetCsmacd</type> + <admin-status>up</admin-status> + <oper-status>up</oper-status> + <if-index>17305120</if-index> + <phys-address>14:18:77:09:ae:09</phys-address> + <speed>40000000000</speed> + <auto-negotiation>true</auto-negotiation> + <supported-speed>40GIGE</supported-speed> + <supported-autoneg>BOTH_SUPPORTED</supported-autoneg> + <fec>not-supported</fec> + <npu-speed>0MBPS</npu-speed> + <current-phys-address>14:18:77:09:ae:09</current-phys-address> + <last-change-time>44</last-change-time> + <last-counter-clear>17570700</last-counter-clear> + <load-interval>30</load-interval> + <mtu>1532</mtu> + <eee-state>n/a</eee-state> + <lldp-rem-neighbor-info> + <info> + <rem-lldp-time-mark>330300</rem-lldp-time-mark> + <rem-lldp-index>2</rem-lldp-index> + <dest-mac-addr-index>1</dest-mac-addr-index> + <rem-if-index>17305120</rem-if-index> + <rem-local-port-num>268</rem-local-port-num> + <rem-lldp-chassis-id>FBh3Ca4A +</rem-lldp-chassis-id> + <rem-lldp-port-id>ZXRoZXJuZXQxLzEvMQ== +</rem-lldp-port-id> + <rem-lldp-chassis-id-subtype>mac-address</rem-lldp-chassis-id-subtype> + <rem-lldp-port-subtype>interface-alias</rem-lldp-port-subtype> + <rem-ttl>120</rem-ttl> + <rem-last-update-time>172395</rem-last-update-time> + <rem-info-valid-time>107</rem-info-valid-time> + <rem-system-desc>OS10</rem-system-desc> + <rem-port-desc>ethernet1/1/1</rem-port-desc> + <rem-system-name>os10</rem-system-name> + <rem-port-vlan-id>1</rem-port-vlan-id> + <rem-max-frame-size>1532</rem-max-frame-size> + <rem-agg-link-status>false</rem-agg-link-status> + <rem-sys-cap-supported>router bridge repeater</rem-sys-cap-supported> + <rem-sys-cap-enabled>router bridge repeater</rem-sys-cap-enabled> + <rem-remote-changes>true</rem-remote-changes> + <rem-too-many-neighbors>false</rem-too-many-neighbors> + <rem-dot3-auto-neg-supported>true</rem-dot3-auto-neg-supported> + <rem-dot3-auto-neg-enabled>true</rem-dot3-auto-neg-enabled> + <rem-dot3-auto-neg-adv-cap>b-1000base-t</rem-dot3-auto-neg-adv-cap> + </info> + </lldp-rem-neighbor-info> + </interface> + <interface> + <name>ethernet1/1/4</name> + <type>ianaift:ethernetCsmacd</type> + <admin-status>up</admin-status> + <oper-status>up</oper-status> + <if-index>17305146</if-index> + <phys-address>14:18:77:09:ae:0d</phys-address> + <speed>40000000000</speed> + <auto-negotiation>true</auto-negotiation> + <supported-speed>40GIGE</supported-speed> + <supported-autoneg>BOTH_SUPPORTED</supported-autoneg> + <fec>not-supported</fec> + <npu-speed>0MBPS</npu-speed> + <current-phys-address>14:18:77:09:ae:0d</current-phys-address> + <last-change-time>44</last-change-time> + <last-counter-clear>17570700</last-counter-clear> + <load-interval>30</load-interval> + <mtu>1532</mtu> + <eee-state>n/a</eee-state> + <lldp-rem-neighbor-info> + <info> + <rem-lldp-time-mark>330300</rem-lldp-time-mark> + <rem-lldp-index>3</rem-lldp-index> + <dest-mac-addr-index>1</dest-mac-addr-index> + <rem-if-index>17305146</rem-if-index> + <rem-local-port-num>272</rem-local-port-num> + <rem-lldp-chassis-id>FBh3Ca4A +</rem-lldp-chassis-id> + <rem-lldp-port-id>ZXRoZXJuZXQxLzEvMg== +</rem-lldp-port-id> + <rem-lldp-chassis-id-subtype>mac-address</rem-lldp-chassis-id-subtype> + <rem-lldp-port-subtype>interface-alias</rem-lldp-port-subtype> + <rem-ttl>120</rem-ttl> + <rem-last-update-time>172395</rem-last-update-time> + <rem-info-valid-time>107</rem-info-valid-time> + <rem-system-desc>OS10</rem-system-desc> + <rem-port-desc>ethernet1/1/2</rem-port-desc> + <rem-system-name>os10</rem-system-name> + <rem-port-vlan-id>1</rem-port-vlan-id> + <rem-max-frame-size>1532</rem-max-frame-size> + <rem-agg-link-status>false</rem-agg-link-status> + <rem-sys-cap-supported>router bridge repeater</rem-sys-cap-supported> + <rem-sys-cap-enabled>router bridge repeater</rem-sys-cap-enabled> + <rem-remote-changes>true</rem-remote-changes> + <rem-too-many-neighbors>false</rem-too-many-neighbors> + <rem-dot3-auto-neg-supported>true</rem-dot3-auto-neg-supported> + <rem-dot3-auto-neg-enabled>true</rem-dot3-auto-neg-enabled> + <rem-dot3-auto-neg-adv-cap>b-1000base-t</rem-dot3-auto-neg-adv-cap> + </info> + </lldp-rem-neighbor-info> + </interface> + <interface> + <name>ethernet1/1/5</name> + <type>ianaift:ethernetCsmacd</type> + <admin-status>up</admin-status> + <oper-status>down</oper-status> + <if-index>17305172</if-index> + <phys-address>14:18:77:09:ae:11</phys-address> + <speed>0</speed> + <auto-negotiation>false</auto-negotiation> + <supported-speed>40GIGE</supported-speed> + <supported-autoneg>BOTH_SUPPORTED</supported-autoneg> + <fec>not-supported</fec> + <npu-speed>0MBPS</npu-speed> + <current-phys-address>14:18:77:09:ae:11</current-phys-address> + <last-change-time>36</last-change-time> + <last-counter-clear>17570700</last-counter-clear> + <load-interval>30</load-interval> + <mtu>1532</mtu> + <eee-state>n/a</eee-state> + <lldp-rem-neighbor-info/> + </interface> + <interface> + <name>ethernet1/1/6</name> + <type>ianaift:ethernetCsmacd</type> + <admin-status>up</admin-status> + <oper-status>down</oper-status> + <if-index>17305198</if-index> + <phys-address>14:18:77:09:ae:15</phys-address> + <speed>0</speed> + <auto-negotiation>false</auto-negotiation> + <supported-speed>40GIGE</supported-speed> + <supported-autoneg>BOTH_SUPPORTED</supported-autoneg> + <fec>not-supported</fec> + <npu-speed>0MBPS</npu-speed> + <current-phys-address>14:18:77:09:ae:15</current-phys-address> + <last-change-time>36</last-change-time> + <last-counter-clear>17570700</last-counter-clear> + <load-interval>30</load-interval> + <mtu>1532</mtu> + <eee-state>n/a</eee-state> + <lldp-rem-neighbor-info/> + </interface> + <interface> + <name>ethernet1/1/7</name> + <type>ianaift:ethernetCsmacd</type> + <admin-status>up</admin-status> + <oper-status>down</oper-status> + <if-index>17305224</if-index> + <phys-address>14:18:77:09:ae:19</phys-address> + <speed>0</speed> + <auto-negotiation>false</auto-negotiation> + <supported-speed>40GIGE</supported-speed> + <supported-autoneg>BOTH_SUPPORTED</supported-autoneg> + <fec>not-supported</fec> + <npu-speed>0MBPS</npu-speed> + <current-phys-address>14:18:77:09:ae:19</current-phys-address> + <last-change-time>36</last-change-time> + <last-counter-clear>17570700</last-counter-clear> + <load-interval>30</load-interval> + <mtu>1532</mtu> + <eee-state>n/a</eee-state> + <lldp-rem-neighbor-info/> + </interface> + <interface> + <name>ethernet1/1/8</name> + <type>ianaift:ethernetCsmacd</type> + <admin-status>up</admin-status> + <oper-status>down</oper-status> + <if-index>17305250</if-index> + <phys-address>14:18:77:09:ae:1d</phys-address> + <speed>0</speed> + <auto-negotiation>false</auto-negotiation> + <supported-speed>40GIGE</supported-speed> + <supported-autoneg>BOTH_SUPPORTED</supported-autoneg> + <fec>not-supported</fec> + <npu-speed>0MBPS</npu-speed> + <current-phys-address>14:18:77:09:ae:1d</current-phys-address> + <last-change-time>36</last-change-time> + <last-counter-clear>17570700</last-counter-clear> + <load-interval>30</load-interval> + <mtu>1532</mtu> + <eee-state>n/a</eee-state> + <lldp-rem-neighbor-info/> + </interface> + <interface> + <name>ethernet1/1/9</name> + <type>ianaift:ethernetCsmacd</type> + <admin-status>up</admin-status> + <oper-status>down</oper-status> + <if-index>17305276</if-index> + <phys-address>14:18:77:09:ae:21</phys-address> + <speed>0</speed> + <auto-negotiation>false</auto-negotiation> + <supported-speed>40GIGE</supported-speed> + <supported-autoneg>BOTH_SUPPORTED</supported-autoneg> + <fec>not-supported</fec> + <npu-speed>0MBPS</npu-speed> + <current-phys-address>14:18:77:09:ae:21</current-phys-address> + <last-change-time>36</last-change-time> + <last-counter-clear>17570700</last-counter-clear> + <load-interval>30</load-interval> + <mtu>1532</mtu> + <eee-state>n/a</eee-state> + <lldp-rem-neighbor-info/> + </interface> + <interface> + <name>ethernet1/1/10</name> + <type>ianaift:ethernetCsmacd</type> + <admin-status>up</admin-status> + <oper-status>down</oper-status> + <if-index>17305302</if-index> + <phys-address>14:18:77:09:ae:25</phys-address> + <speed>0</speed> + <auto-negotiation>false</auto-negotiation> + <supported-speed>40GIGE</supported-speed> + <supported-autoneg>BOTH_SUPPORTED</supported-autoneg> + <fec>not-supported</fec> + <npu-speed>0MBPS</npu-speed> + <current-phys-address>14:18:77:09:ae:25</current-phys-address> + <last-change-time>36</last-change-time> + <last-counter-clear>17570700</last-counter-clear> + <load-interval>30</load-interval> + <mtu>1532</mtu> + <eee-state>n/a</eee-state> + <lldp-rem-neighbor-info/> + </interface> + <interface> + <name>ethernet1/1/11</name> + <type>ianaift:ethernetCsmacd</type> + <admin-status>up</admin-status> + <oper-status>down</oper-status> + <if-index>17305328</if-index> + <phys-address>14:18:77:09:ae:29</phys-address> + <speed>0</speed> + <auto-negotiation>false</auto-negotiation> + <supported-speed>40GIGE</supported-speed> + <supported-autoneg>BOTH_SUPPORTED</supported-autoneg> + <fec>not-supported</fec> + <npu-speed>0MBPS</npu-speed> + <current-phys-address>14:18:77:09:ae:29</current-phys-address> + <last-change-time>37</last-change-time> + <last-counter-clear>17570600</last-counter-clear> + <load-interval>30</load-interval> + <mtu>1532</mtu> + <eee-state>n/a</eee-state> + <lldp-rem-neighbor-info/> + </interface> + <interface> + <name>ethernet1/1/12</name> + <type>ianaift:ethernetCsmacd</type> + <admin-status>up</admin-status> + <oper-status>down</oper-status> + <if-index>17305354</if-index> + <phys-address>14:18:77:09:ae:2d</phys-address> + <speed>0</speed> + <auto-negotiation>false</auto-negotiation> + <supported-speed>40GIGE</supported-speed> + <supported-autoneg>BOTH_SUPPORTED</supported-autoneg> + <fec>not-supported</fec> + <npu-speed>0MBPS</npu-speed> + <current-phys-address>14:18:77:09:ae:2d</current-phys-address> + <last-change-time>37</last-change-time> + <last-counter-clear>17570600</last-counter-clear> + <load-interval>30</load-interval> + <mtu>1532</mtu> + <eee-state>n/a</eee-state> + <lldp-rem-neighbor-info/> + </interface> + <interface> + <name>ethernet1/1/13</name> + <type>ianaift:ethernetCsmacd</type> + <admin-status>up</admin-status> + <oper-status>down</oper-status> + <if-index>17305380</if-index> + <phys-address>14:18:77:09:ae:31</phys-address> + <speed>0</speed> + <auto-negotiation>false</auto-negotiation> + <supported-speed>40GIGE</supported-speed> + <supported-autoneg>BOTH_SUPPORTED</supported-autoneg> + <fec>not-supported</fec> + <npu-speed>0MBPS</npu-speed> + <current-phys-address>14:18:77:09:ae:31</current-phys-address> + <last-change-time>37</last-change-time> + <last-counter-clear>17570600</last-counter-clear> + <load-interval>30</load-interval> + <mtu>1532</mtu> + <eee-state>n/a</eee-state> + <lldp-rem-neighbor-info/> + </interface> + <interface> + <name>ethernet1/1/14</name> + <type>ianaift:ethernetCsmacd</type> + <admin-status>up</admin-status> + <oper-status>down</oper-status> + <if-index>17305406</if-index> + <phys-address>14:18:77:09:ae:32</phys-address> + <speed>0</speed> + <auto-negotiation>false</auto-negotiation> + <supported-speed>40GIGE</supported-speed> + <supported-autoneg>BOTH_SUPPORTED</supported-autoneg> + <fec>not-supported</fec> + <npu-speed>0MBPS</npu-speed> + <current-phys-address>14:18:77:09:ae:32</current-phys-address> + <last-change-time>37</last-change-time> + <last-counter-clear>17570600</last-counter-clear> + <load-interval>30</load-interval> + <mtu>1532</mtu> + <eee-state>n/a</eee-state> + <lldp-rem-neighbor-info/> + </interface> + <interface> + <name>ethernet1/1/15</name> + <type>ianaift:ethernetCsmacd</type> + <admin-status>up</admin-status> + <oper-status>down</oper-status> + <if-index>17305432</if-index> + <phys-address>14:18:77:09:ae:33</phys-address> + <speed>0</speed> + <auto-negotiation>false</auto-negotiation> + <supported-speed>40GIGE</supported-speed> + <supported-autoneg>BOTH_SUPPORTED</supported-autoneg> + <fec>not-supported</fec> + <npu-speed>0MBPS</npu-speed> + <current-phys-address>14:18:77:09:ae:33</current-phys-address> + <last-change-time>37</last-change-time> + <last-counter-clear>17570600</last-counter-clear> + <load-interval>30</load-interval> + <mtu>1532</mtu> + <eee-state>n/a</eee-state> + <lldp-rem-neighbor-info/> + </interface> + <interface> + <name>ethernet1/1/16</name> + <type>ianaift:ethernetCsmacd</type> + <admin-status>up</admin-status> + <oper-status>down</oper-status> + <if-index>17305458</if-index> + <phys-address>14:18:77:09:ae:34</phys-address> + <speed>0</speed> + <auto-negotiation>false</auto-negotiation> + <supported-speed>40GIGE</supported-speed> + <supported-autoneg>BOTH_SUPPORTED</supported-autoneg> + <fec>not-supported</fec> + <npu-speed>0MBPS</npu-speed> + <current-phys-address>14:18:77:09:ae:34</current-phys-address> + <last-change-time>37</last-change-time> + <last-counter-clear>17570600</last-counter-clear> + <load-interval>30</load-interval> + <mtu>1532</mtu> + <eee-state>n/a</eee-state> + <lldp-rem-neighbor-info/> + </interface> + <interface> + <name>ethernet1/1/17</name> + <type>ianaift:ethernetCsmacd</type> + <admin-status>up</admin-status> + <oper-status>down</oper-status> + <if-index>17305484</if-index> + <phys-address>14:18:77:09:ae:35</phys-address> + <speed>0</speed> + <auto-negotiation>false</auto-negotiation> + <supported-speed>40GIGE</supported-speed> + <supported-autoneg>BOTH_SUPPORTED</supported-autoneg> + <fec>not-supported</fec> + <npu-speed>0MBPS</npu-speed> + <current-phys-address>14:18:77:09:ae:35</current-phys-address> + <last-change-time>37</last-change-time> + <last-counter-clear>17570600</last-counter-clear> + <load-interval>30</load-interval> + <mtu>1532</mtu> + <eee-state>n/a</eee-state> + <lldp-rem-neighbor-info/> + </interface> + <interface> + <name>ethernet1/1/18</name> + <type>ianaift:ethernetCsmacd</type> + <admin-status>up</admin-status> + <oper-status>down</oper-status> + <if-index>17305510</if-index> + <phys-address>14:18:77:09:ae:39</phys-address> + <speed>0</speed> + <auto-negotiation>false</auto-negotiation> + <supported-speed>40GIGE</supported-speed> + <supported-autoneg>BOTH_SUPPORTED</supported-autoneg> + <fec>not-supported</fec> + <npu-speed>0MBPS</npu-speed> + <current-phys-address>14:18:77:09:ae:39</current-phys-address> + <last-change-time>37</last-change-time> + <last-counter-clear>17570600</last-counter-clear> + <load-interval>30</load-interval> + <mtu>1532</mtu> + <eee-state>n/a</eee-state> + <lldp-rem-neighbor-info/> + </interface> + <interface> + <name>ethernet1/1/19</name> + <type>ianaift:ethernetCsmacd</type> + <admin-status>up</admin-status> + <oper-status>down</oper-status> + <if-index>17305536</if-index> + <phys-address>14:18:77:09:ae:3d</phys-address> + <speed>0</speed> + <auto-negotiation>false</auto-negotiation> + <supported-speed>40GIGE</supported-speed> + <supported-autoneg>BOTH_SUPPORTED</supported-autoneg> + <fec>not-supported</fec> + <npu-speed>0MBPS</npu-speed> + <current-phys-address>14:18:77:09:ae:3d</current-phys-address> + <last-change-time>37</last-change-time> + <last-counter-clear>17570600</last-counter-clear> + <load-interval>30</load-interval> + <mtu>1532</mtu> + <eee-state>n/a</eee-state> + <lldp-rem-neighbor-info/> + </interface> + <interface> + <name>ethernet1/1/20</name> + <type>ianaift:ethernetCsmacd</type> + <admin-status>up</admin-status> + <oper-status>down</oper-status> + <if-index>17305562</if-index> + <phys-address>14:18:77:09:ae:41</phys-address> + <speed>0</speed> + <auto-negotiation>false</auto-negotiation> + <supported-speed>40GIGE</supported-speed> + <supported-autoneg>BOTH_SUPPORTED</supported-autoneg> + <fec>not-supported</fec> + <npu-speed>0MBPS</npu-speed> + <current-phys-address>14:18:77:09:ae:41</current-phys-address> + <last-change-time>37</last-change-time> + <last-counter-clear>17570600</last-counter-clear> + <load-interval>30</load-interval> + <mtu>1532</mtu> + <eee-state>n/a</eee-state> + <lldp-rem-neighbor-info/> + </interface> + <interface> + <name>ethernet1/1/21</name> + <type>ianaift:ethernetCsmacd</type> + <admin-status>up</admin-status> + <oper-status>down</oper-status> + <if-index>17305588</if-index> + <phys-address>14:18:77:09:ae:45</phys-address> + <speed>0</speed> + <auto-negotiation>false</auto-negotiation> + <supported-speed>40GIGE</supported-speed> + <supported-autoneg>BOTH_SUPPORTED</supported-autoneg> + <fec>not-supported</fec> + <npu-speed>0MBPS</npu-speed> + <current-phys-address>14:18:77:09:ae:45</current-phys-address> + <last-change-time>37</last-change-time> + <last-counter-clear>17570600</last-counter-clear> + <load-interval>30</load-interval> + <mtu>1532</mtu> + <eee-state>n/a</eee-state> + <lldp-rem-neighbor-info/> + </interface> + <interface> + <name>ethernet1/1/22</name> + <type>ianaift:ethernetCsmacd</type> + <admin-status>up</admin-status> + <oper-status>down</oper-status> + <if-index>17305614</if-index> + <phys-address>14:18:77:09:ae:49</phys-address> + <speed>0</speed> + <auto-negotiation>false</auto-negotiation> + <supported-speed>40GIGE</supported-speed> + <supported-autoneg>BOTH_SUPPORTED</supported-autoneg> + <fec>not-supported</fec> + <npu-speed>0MBPS</npu-speed> + <current-phys-address>14:18:77:09:ae:49</current-phys-address> + <last-change-time>37</last-change-time> + <last-counter-clear>17570600</last-counter-clear> + <load-interval>30</load-interval> + <mtu>1532</mtu> + <eee-state>n/a</eee-state> + <lldp-rem-neighbor-info/> + </interface> + <interface> + <name>ethernet1/1/23</name> + <type>ianaift:ethernetCsmacd</type> + <admin-status>up</admin-status> + <oper-status>down</oper-status> + <if-index>17305640</if-index> + <phys-address>14:18:77:09:ae:4d</phys-address> + <speed>0</speed> + <auto-negotiation>false</auto-negotiation> + <supported-speed>40GIGE</supported-speed> + <supported-autoneg>BOTH_SUPPORTED</supported-autoneg> + <fec>not-supported</fec> + <npu-speed>0MBPS</npu-speed> + <current-phys-address>14:18:77:09:ae:4d</current-phys-address> + <last-change-time>37</last-change-time> + <last-counter-clear>17570500</last-counter-clear> + <load-interval>30</load-interval> + <mtu>1532</mtu> + <eee-state>n/a</eee-state> + <lldp-rem-neighbor-info/> + </interface> + <interface> + <name>ethernet1/1/24</name> + <type>ianaift:ethernetCsmacd</type> + <admin-status>up</admin-status> + <oper-status>down</oper-status> + <if-index>17305666</if-index> + <phys-address>14:18:77:09:ae:51</phys-address> + <speed>0</speed> + <auto-negotiation>false</auto-negotiation> + <supported-speed>40GIGE</supported-speed> + <supported-autoneg>BOTH_SUPPORTED</supported-autoneg> + <fec>not-supported</fec> + <npu-speed>0MBPS</npu-speed> + <current-phys-address>14:18:77:09:ae:51</current-phys-address> + <last-change-time>38</last-change-time> + <last-counter-clear>17570500</last-counter-clear> + <load-interval>30</load-interval> + <mtu>1532</mtu> + <eee-state>n/a</eee-state> + <lldp-rem-neighbor-info/> + </interface> + <interface> + <name>ethernet1/1/25</name> + <type>ianaift:ethernetCsmacd</type> + <admin-status>up</admin-status> + <oper-status>down</oper-status> + <if-index>17305692</if-index> + <phys-address>14:18:77:09:ae:55</phys-address> + <speed>0</speed> + <auto-negotiation>false</auto-negotiation> + <supported-speed>40GIGE</supported-speed> + <supported-autoneg>BOTH_SUPPORTED</supported-autoneg> + <fec>not-supported</fec> + <npu-speed>0MBPS</npu-speed> + <current-phys-address>14:18:77:09:ae:55</current-phys-address> + <last-change-time>38</last-change-time> + <last-counter-clear>17570500</last-counter-clear> + <load-interval>30</load-interval> + <mtu>1532</mtu> + <eee-state>n/a</eee-state> + <lldp-rem-neighbor-info/> + </interface> + <interface> + <name>ethernet1/1/26</name> + <type>ianaift:ethernetCsmacd</type> + <admin-status>up</admin-status> + <oper-status>down</oper-status> + <if-index>17305718</if-index> + <phys-address>14:18:77:09:ae:59</phys-address> + <speed>0</speed> + <auto-negotiation>false</auto-negotiation> + <supported-speed>40GIGE</supported-speed> + <supported-autoneg>BOTH_SUPPORTED</supported-autoneg> + <fec>not-supported</fec> + <npu-speed>0MBPS</npu-speed> + <current-phys-address>14:18:77:09:ae:59</current-phys-address> + <last-change-time>38</last-change-time> + <last-counter-clear>17570500</last-counter-clear> + <load-interval>30</load-interval> + <mtu>1532</mtu> + <eee-state>n/a</eee-state> + <lldp-rem-neighbor-info/> + </interface> + <interface> + <name>ethernet1/1/27</name> + <type>ianaift:ethernetCsmacd</type> + <admin-status>up</admin-status> + <oper-status>down</oper-status> + <if-index>17305744</if-index> + <phys-address>14:18:77:09:ae:5d</phys-address> + <speed>0</speed> + <auto-negotiation>false</auto-negotiation> + <supported-speed>40GIGE</supported-speed> + <supported-autoneg>BOTH_SUPPORTED</supported-autoneg> + <fec>not-supported</fec> + <npu-speed>0MBPS</npu-speed> + <current-phys-address>14:18:77:09:ae:5d</current-phys-address> + <last-change-time>38</last-change-time> + <last-counter-clear>17570500</last-counter-clear> + <load-interval>30</load-interval> + <mtu>1532</mtu> + <eee-state>n/a</eee-state> + <lldp-rem-neighbor-info/> + </interface> + <interface> + <name>ethernet1/1/28</name> + <type>ianaift:ethernetCsmacd</type> + <admin-status>up</admin-status> + <oper-status>down</oper-status> + <if-index>17305770</if-index> + <phys-address>14:18:77:09:ae:61</phys-address> + <speed>0</speed> + <auto-negotiation>false</auto-negotiation> + <supported-speed>40GIGE</supported-speed> + <supported-autoneg>BOTH_SUPPORTED</supported-autoneg> + <fec>not-supported</fec> + <npu-speed>0MBPS</npu-speed> + <current-phys-address>14:18:77:09:ae:61</current-phys-address> + <last-change-time>38</last-change-time> + <last-counter-clear>17570500</last-counter-clear> + <load-interval>30</load-interval> + <mtu>1532</mtu> + <eee-state>n/a</eee-state> + <lldp-rem-neighbor-info/> + </interface> + <interface> + <name>ethernet1/1/29</name> + <type>ianaift:ethernetCsmacd</type> + <admin-status>up</admin-status> + <oper-status>down</oper-status> + <if-index>17305796</if-index> + <phys-address>14:18:77:09:ae:65</phys-address> + <speed>0</speed> + <auto-negotiation>false</auto-negotiation> + <supported-speed>40GIGE</supported-speed> + <supported-autoneg>BOTH_SUPPORTED</supported-autoneg> + <fec>not-supported</fec> + <npu-speed>0MBPS</npu-speed> + <current-phys-address>14:18:77:09:ae:65</current-phys-address> + <last-change-time>38</last-change-time> + <last-counter-clear>17570500</last-counter-clear> + <load-interval>30</load-interval> + <mtu>1532</mtu> + <eee-state>n/a</eee-state> + <lldp-rem-neighbor-info/> + </interface> + <interface> + <name>ethernet1/1/30</name> + <type>ianaift:ethernetCsmacd</type> + <admin-status>up</admin-status> + <oper-status>down</oper-status> + <if-index>17305822</if-index> + <phys-address>14:18:77:09:ae:66</phys-address> + <speed>0</speed> + <auto-negotiation>false</auto-negotiation> + <supported-speed>40GIGE</supported-speed> + <supported-autoneg>BOTH_SUPPORTED</supported-autoneg> + <fec>not-supported</fec> + <npu-speed>0MBPS</npu-speed> + <current-phys-address>14:18:77:09:ae:66</current-phys-address> + <last-change-time>38</last-change-time> + <last-counter-clear>17570500</last-counter-clear> + <load-interval>30</load-interval> + <mtu>1532</mtu> + <eee-state>n/a</eee-state> + <lldp-rem-neighbor-info/> + </interface> + <interface> + <name>ethernet1/1/31</name> + <type>ianaift:ethernetCsmacd</type> + <admin-status>up</admin-status> + <oper-status>down</oper-status> + <if-index>17305848</if-index> + <phys-address>14:18:77:09:ae:67</phys-address> + <speed>0</speed> + <auto-negotiation>false</auto-negotiation> + <supported-speed>40GIGE</supported-speed> + <supported-autoneg>BOTH_SUPPORTED</supported-autoneg> + <fec>not-supported</fec> + <npu-speed>0MBPS</npu-speed> + <current-phys-address>14:18:77:09:ae:67</current-phys-address> + <last-change-time>38</last-change-time> + <last-counter-clear>17570500</last-counter-clear> + <load-interval>30</load-interval> + <mtu>1532</mtu> + <eee-state>n/a</eee-state> + <lldp-rem-neighbor-info/> + </interface> + <interface> + <name>ethernet1/1/32</name> + <type>ianaift:ethernetCsmacd</type> + <admin-status>up</admin-status> + <oper-status>down</oper-status> + <if-index>17305874</if-index> + <phys-address>14:18:77:09:ae:68</phys-address> + <speed>0</speed> + <auto-negotiation>false</auto-negotiation> + <supported-speed>40GIGE</supported-speed> + <supported-autoneg>BOTH_SUPPORTED</supported-autoneg> + <fec>not-supported</fec> + <npu-speed>0MBPS</npu-speed> + <current-phys-address>14:18:77:09:ae:68</current-phys-address> + <last-change-time>38</last-change-time> + <last-counter-clear>17570500</last-counter-clear> + <load-interval>30</load-interval> + <mtu>1532</mtu> + <eee-state>n/a</eee-state> + <lldp-rem-neighbor-info/> + </interface> + <interface> + <name>mgmt1/1/1</name> + <type>base-if:management</type> + <admin-status>up</admin-status> + <oper-status>up</oper-status> + <if-index>35454736</if-index> + <phys-address>00:a0:c9:00:00:00</phys-address> + <speed>1000000000</speed> + <auto-negotiation>false</auto-negotiation> + <supported-speed>10MBPS</supported-speed> + <supported-speed>100MBPS</supported-speed> + <supported-speed>1GIGE</supported-speed> + <supported-autoneg>NOT_SUPPORTED</supported-autoneg> + <fec>not-supported</fec> + <bind-ni-name>default</bind-ni-name> + <current-phys-address>00:a0:c9:00:00:00</current-phys-address> + <last-change-time>38</last-change-time> + <last-counter-clear>17570400</last-counter-clear> + <load-interval>30</load-interval> + <mtu>1532</mtu> + <lldp-rem-neighbor-info> + <info> + <rem-lldp-time-mark>3100</rem-lldp-time-mark> + <rem-lldp-index>1</rem-lldp-index> + <dest-mac-addr-index>1</dest-mac-addr-index> + <rem-if-index>35454736</rem-if-index> + <rem-local-port-num>4</rem-local-port-num> + <rem-lldp-chassis-id>kLEc9C9t +</rem-lldp-chassis-id> + <rem-lldp-port-id>VGVuR2lnYWJpdEV0aGVybmV0IDAvMA== +</rem-lldp-port-id> + <rem-lldp-chassis-id-subtype>mac-address</rem-lldp-chassis-id-subtype> + <rem-lldp-port-subtype>interface-name</rem-lldp-port-subtype> + <rem-ttl>20</rem-ttl> + <rem-last-update-time>175667</rem-last-update-time> + <rem-info-valid-time>15</rem-info-valid-time> + <rem-system-desc>Dell Real Time Operating System Software. Dell Operating System Version: 2.0. Dell Application Software Version: 9.11(2.0) Copyright (c) 1999-2017Dell Inc. All Rights Reserved.Build Time: Tue Apr 25 21:22:59 2017</rem-system-desc> + <rem-port-desc>TenGigabitEthernet 0/0</rem-port-desc> + <rem-system-name>swlab1-maa-tor-A2</rem-system-name> + <rem-port-vlan-id>148</rem-port-vlan-id> + <rem-max-frame-size>0</rem-max-frame-size> + <rem-agg-link-status>false</rem-agg-link-status> + <rem-sys-cap-supported>router bridge repeater</rem-sys-cap-supported> + <rem-sys-cap-enabled>router bridge repeater</rem-sys-cap-enabled> + <rem-remote-changes>false</rem-remote-changes> + <rem-too-many-neighbors>false</rem-too-many-neighbors> + <rem-dot3-auto-neg-supported>false</rem-dot3-auto-neg-supported> + <rem-dot3-auto-neg-enabled>false</rem-dot3-auto-neg-enabled> + <rem-dot3-auto-neg-adv-cap/> + </info> + </lldp-rem-neighbor-info> + </interface> + </data> + <last-keys> + <name>mgmt1/1/1</name> + </last-keys> + </bulk> +</rpc-reply> + diff --git a/ansible_collections/dellemc/os10/tests/unit/modules/network/os10/fixtures/show_processes_node-id_1__grep_Mem_colon_ b/ansible_collections/dellemc/os10/tests/unit/modules/network/os10/fixtures/show_processes_node-id_1__grep_Mem_colon_ new file mode 100644 index 00000000..78903b69 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/unit/modules/network/os10/fixtures/show_processes_node-id_1__grep_Mem_colon_ @@ -0,0 +1 @@ +KiB Mem: 8127144 total, 2297272 used, 5829872 free, 137360 buffers diff --git a/ansible_collections/dellemc/os10/tests/unit/modules/network/os10/fixtures/show_running-config b/ansible_collections/dellemc/os10/tests/unit/modules/network/os10/fixtures/show_running-config new file mode 100644 index 00000000..ff7ff279 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/unit/modules/network/os10/fixtures/show_running-config @@ -0,0 +1,252 @@ +! Version 10.4.0E(R1) +! Last configuration change at Jan 11 12:26:08 2018 +! +snmp-server contact http://www.dell.com/support +snmp-server host 192.0.2.1 traps version 1 c4 udp-port 5 +snmp-server host 192.0.2.1 traps version 2c c1 udp-port 4 +snmp-server host 192.0.2.2 traps version 1 c3 udp-port 162 +ip community-list expanded commex deny aaa +ip community-list standard commstd deny internet +ip community-list standard commstd permit no-advertise +ip as-path access-list accesslist deny abc +ip as-path access-list accesslist deny www +ip extcommunity-list expanded extcommex deny aaa +ip extcommunity-list standard extcommstd deny rt 22:33 +ip extcommunity-list standard extcommstd permit soo 22:33 +hostname os10 +interface breakout 1/1/1 map 40g-1x +interface breakout 1/1/2 map 40g-1x +interface breakout 1/1/3 map 40g-1x +interface breakout 1/1/4 map 40g-1x +interface breakout 1/1/5 map 40g-1x +interface breakout 1/1/6 map 40g-1x +interface breakout 1/1/7 map 40g-1x +interface breakout 1/1/8 map 40g-1x +interface breakout 1/1/9 map 40g-1x +interface breakout 1/1/10 map 40g-1x +interface breakout 1/1/11 map 40g-1x +interface breakout 1/1/12 map 40g-1x +interface breakout 1/1/13 map 40g-1x +interface breakout 1/1/14 map 40g-1x +interface breakout 1/1/15 map 40g-1x +interface breakout 1/1/16 map 40g-1x +interface breakout 1/1/17 map 40g-1x +interface breakout 1/1/18 map 40g-1x +interface breakout 1/1/19 map 40g-1x +interface breakout 1/1/20 map 40g-1x +interface breakout 1/1/21 map 40g-1x +interface breakout 1/1/22 map 40g-1x +interface breakout 1/1/23 map 40g-1x +interface breakout 1/1/24 map 40g-1x +interface breakout 1/1/25 map 40g-1x +interface breakout 1/1/26 map 40g-1x +interface breakout 1/1/27 map 40g-1x +interface breakout 1/1/28 map 40g-1x +interface breakout 1/1/29 map 40g-1x +interface breakout 1/1/30 map 40g-1x +interface breakout 1/1/31 map 40g-1x +interface breakout 1/1/32 map 40g-1x +username admin password $6$q9QBeYjZ$jfxzVqGhkxX3smxJSH9DDz7/3OJc6m5wjF8nnLD7/VKx8SloIhp4NoGZs0I/UNwh8WVuxwfd9q4pWIgNs5BKH. role sysadmin +aaa authentication local +iscsi target port 860 +iscsi target port 3260 +hash-algorithm ecmp xor +logging console disable +vrrp delay reload 5 +vrrp version 3 +spanning-tree mode rstp +! +interface vlan1 + no shutdown +! +interface vlan100 + no shutdown +! +interface port-channel12 + no shutdown + switchport access vlan 1 + vlt-port-channel 13 +! +interface ethernet1/1/1 + no shutdown + switchport access vlan 1 +! +interface ethernet1/1/2 + no shutdown + no switchport +! +interface ethernet1/1/3 + no shutdown + switchport access vlan 1 +! +interface ethernet1/1/4 + no shutdown + switchport access vlan 1 +! +interface ethernet1/1/5 + no shutdown + switchport access vlan 1 +! +interface ethernet1/1/6 + no shutdown + switchport access vlan 1 +! +interface ethernet1/1/7 + no shutdown + switchport access vlan 1 +! +interface ethernet1/1/8 + no shutdown + no switchport +! +interface ethernet1/1/9 + no shutdown + switchport access vlan 1 +! +interface ethernet1/1/10 + no shutdown + switchport access vlan 1 +! +interface ethernet1/1/11 + no shutdown + switchport access vlan 1 +! +interface ethernet1/1/12 + no shutdown + no switchport +! +interface ethernet1/1/13 + no shutdown + no switchport + ! + vrrp-group 4 + priority 120 + track 3 priority-cost 25 + virtual-address 4.1.1.1 + virtual-address 4.1.1.2 + advertise-interval centisecs 200 + no preempt + ! + vrrp-ipv6-group 2 + priority 120 + track 3 priority-cost 25 + virtual-address 3001:4828:5808:ffa3::9 + virtual-address fe80::10 + advertise-interval centisecs 200 + no preempt +! +interface ethernet1/1/14 + no shutdown + no switchport +! +interface ethernet1/1/15 + no shutdown + no switchport +! +interface ethernet1/1/16 + no shutdown + no switchport +! +interface ethernet1/1/17 + no shutdown + no switchport +! +interface ethernet1/1/18 + no shutdown + no switchport +! +interface ethernet1/1/19 + no shutdown + no switchport +! +interface ethernet1/1/20 + no shutdown + switchport access vlan 1 +! +interface ethernet1/1/21 + no shutdown + switchport access vlan 1 +! +interface ethernet1/1/22 + no shutdown + switchport access vlan 1 +! +interface ethernet1/1/23 + no shutdown + switchport access vlan 1 +! +interface ethernet1/1/24 + no shutdown + switchport access vlan 1 +! +interface ethernet1/1/25 + no shutdown + switchport access vlan 1 +! +interface ethernet1/1/26 + no shutdown + switchport access vlan 1 +! +interface ethernet1/1/27 + no shutdown + switchport access vlan 1 +! +interface ethernet1/1/28 + no shutdown + switchport access vlan 1 +! +interface ethernet1/1/29 + no shutdown + switchport access vlan 1 +! +interface ethernet1/1/30 + no shutdown + switchport access vlan 1 +! +interface ethernet1/1/31 + no shutdown + switchport access vlan 1 +! +interface ethernet1/1/32 + no shutdown + switchport access vlan 1 +! +interface mgmt1/1/1 + no shutdown + ip address 10.16.148.144/16 + ipv6 address autoconfig +! +route-map test permit 1 + match ip address prefix-list testprefix + match ip address testaccess + continue 20 + set comm-list commstd delete + set comm-list commex add + set community internet + set extcommunity rt 22:33 + set extcomm-list extcommstd delete + set extcomm-list extcommex add + set ip next-hop 10.1.1.1 track-id 3 + set local-preference 1200 + set metric + 30 + set metric-type internal + set origin igp + set weight 50 +! +route-map test deny 10 + match ip address prefix-list testprefix + match ip address testaccess + set ip next-hop 10.1.1.1 track-id 3 +! +support-assist +! +policy-map type application policy-iscsi +! +class-map type application class-iscsi +! +class-map type qos class-trust +! +vlt-domain 1 + discovery-interface ethernet1/1/12 + vlt-mac aa:aa:aa:aa:aa:aa + diff --git a/ansible_collections/dellemc/os10/tests/unit/modules/network/os10/fixtures/show_system__display-xml b/ansible_collections/dellemc/os10/tests/unit/modules/network/os10/fixtures/show_system__display-xml new file mode 100644 index 00000000..bb496cc9 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/unit/modules/network/os10/fixtures/show_system__display-xml @@ -0,0 +1,194 @@ +<?xml version="1.0" encoding="UTF-8"?> +<rpc-reply> + <data> + <system> + <node> + <node-id>1</node-id> + <node-mac>14:18:77:09:ae:00</node-mac> + <number-of-mac-addresses>384</number-of-mac-addresses> + <mfg-info> + <vendor-name>DELL</vendor-name> + <product-name>S6010-ON</product-name> + <hw-version>X01</hw-version> + <platform-name>x86_64-dell_s6010_c2538-r0</platform-name> + <ppid>0088</ppid> + <service-tag/> + <service-code/> + </mfg-info> + <unit> + <unit-id>1</unit-id> + <current-unit-model>S6010</current-unit-model> + <provisioned-unit-model>S6010</provisioned-unit-model> + <unit-state>up</unit-state> + <software-version>10.4.0E(R1)</software-version> + <port-info>32x40GbE</port-info> + <mfg-info> + <vendor-name>DELL</vendor-name> + <product-name>S6010-ON</product-name> + <hw-version>X01</hw-version> + <platform-name>x86_64-dell_s6010_c2538-r0</platform-name> + <ppid>0088</ppid> + <part-number>083R0P</part-number> + <service-tag/> + <service-code/> + </mfg-info> + <down-reason>user-triggered</down-reason> + <descr>S6010-ON 32x40GbE QSFP+ Interface Module</descr> + <beacon_led_state>false</beacon_led_state> + <system-identifier-id>1</system-identifier-id> + <firmware> + <firmware-name>BIOS</firmware-name> + <firmware-version>3.26.0.1</firmware-version> + </firmware> + <firmware> + <firmware-name>System CPLD</firmware-name> + <firmware-version>10</firmware-version> + </firmware> + <firmware> + <firmware-name>Master CPLD</firmware-name> + <firmware-version>9</firmware-version> + </firmware> + <firmware> + <firmware-name>Slave CPLD</firmware-name> + <firmware-version>4</firmware-version> + </firmware> + </unit> + <power-supply> + <psu-id>1</psu-id> + <status>fail</status> + <mfg-info/> + </power-supply> + <power-supply> + <psu-id>2</psu-id> + <status>up</status> + <power-type>UNKNOWN</power-type> + <fan-info> + <fan-id>1</fan-id> + <fan-status>fail</fan-status> + <fan-speed-rpm>1920</fan-speed-rpm> + </fan-info> + <air-flow>NORMAL</air-flow> + <mfg-info> + <vendor-name/> + <product-name/> + <hw-version/> + <platform-name/> + <ppid/> + <part-number/> + <service-tag/> + <service-code/> + </mfg-info> + </power-supply> + <fan-tray> + <fan-tray-id>1</fan-tray-id> + <status>up</status> + <fan-info> + <fan-id>1</fan-id> + <fan-status>up</fan-status> + <fan-speed-rpm>22090</fan-speed-rpm> + </fan-info> + <air-flow>NORMAL</air-flow> + <mfg-info> + <vendor-name/> + <product-name/> + <hw-version>F01</hw-version> + <platform-name/> + <ppid>CN123456FAN100589021</ppid> + <part-number>P1FAN1</part-number> + <service-tag/> + <service-code/> + </mfg-info> + </fan-tray> + <fan-tray> + <fan-tray-id>2</fan-tray-id> + <status>up</status> + <fan-info> + <fan-id>1</fan-id> + <fan-status>up</fan-status> + <fan-speed-rpm>22215</fan-speed-rpm> + </fan-info> + <air-flow>NORMAL</air-flow> + <mfg-info> + <vendor-name/> + <product-name/> + <hw-version>F02</hw-version> + <platform-name/> + <ppid>CN123456FAN200589031</ppid> + <part-number>P2FAN2</part-number> + <service-tag/> + <service-code/> + </mfg-info> + </fan-tray> + <fan-tray> + <fan-tray-id>3</fan-tray-id> + <status>up</status> + <fan-info> + <fan-id>1</fan-id> + <fan-status>up</fan-status> + <fan-speed-rpm>22215</fan-speed-rpm> + </fan-info> + <air-flow>NORMAL</air-flow> + <mfg-info> + <vendor-name/> + <product-name/> + <hw-version>F03</hw-version> + <platform-name/> + <ppid>CN123456FAN300589041</ppid> + <part-number>P3FAN3</part-number> + <service-tag/> + <service-code/> + </mfg-info> + </fan-tray> + <fan-tray> + <fan-tray-id>4</fan-tray-id> + <status>up</status> + <fan-info> + <fan-id>1</fan-id> + <fan-status>up</fan-status> + <fan-speed-rpm>22215</fan-speed-rpm> + </fan-info> + <air-flow>NORMAL</air-flow> + <mfg-info> + <vendor-name/> + <product-name/> + <hw-version>F04</hw-version> + <platform-name/> + <ppid>CN123456FAN400589051</ppid> + <part-number>P4FAN4</part-number> + <service-tag/> + <service-code/> + </mfg-info> + </fan-tray> + <fan-tray> + <fan-tray-id>5</fan-tray-id> + <status>up</status> + <fan-info> + <fan-id>1</fan-id> + <fan-status>up</fan-status> + <fan-speed-rpm>21724</fan-speed-rpm> + </fan-info> + <air-flow>NORMAL</air-flow> + <mfg-info> + <vendor-name/> + <product-name/> + <hw-version>F05</hw-version> + <platform-name/> + <ppid>CN123456FAN500589061</ppid> + <part-number>P5FAN5</part-number> + <service-tag/> + <service-code/> + </mfg-info> + </fan-tray> + </node> + </system> + <system-state> + <system-status> + <hostname>os10</hostname> + <uptime>161826</uptime> + <date-time>2018-01-12T13:42:36.20+00:00</date-time> + <boot-datetime>2018-01-10T16:45:30+00:00</boot-datetime> + </system-status> + </system-state> + </data> +</rpc-reply> + diff --git a/ansible_collections/dellemc/os10/tests/unit/modules/network/os10/fixtures/show_version b/ansible_collections/dellemc/os10/tests/unit/modules/network/os10/fixtures/show_version new file mode 100644 index 00000000..b9aa8fea --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/unit/modules/network/os10/fixtures/show_version @@ -0,0 +1,9 @@ +Dell EMC Networking OS10 Enterprise +Copyright (c) 1999-2017 by Dell Inc. All Rights Reserved. +OS Version: 10.4.0E(R1) +Build Version: 10.4.0E(R1.56) +Build Time: 2017-12-19T22:11:00-0800 +System Type: S6000-VM +Architecture: x86_64 +Up Time: 6 days 00:33:35 + diff --git a/ansible_collections/dellemc/os10/tests/unit/modules/network/os10/fixtures/show_version__display-xml b/ansible_collections/dellemc/os10/tests/unit/modules/network/os10/fixtures/show_version__display-xml new file mode 100644 index 00000000..50f84ab6 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/unit/modules/network/os10/fixtures/show_version__display-xml @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="UTF-8"?> +<rpc-reply> + <data> + <system-state> + <system-status> + <hostname>os10</hostname> + <uptime>162698</uptime> + <date-time>2018-01-12T13:57:08.58+00:00</date-time> + <boot-datetime>2018-01-10T16:45:30+00:00</boot-datetime> + </system-status> + </system-state> + <system-sw-state> + <sw-version> + <sw-version>10.4.0E(R1)</sw-version> + <sw-name>Enterprise</sw-name> + <sw-name-long>Dell EMC Networking OS10 Enterprise</sw-name-long> + <sw-platform>S6010-ON</sw-platform> + <sw-platform-long>Dell EMC OS10 Enterprise Edition Blueprint 1.0.0</sw-platform-long> + <cpu-arch>x86_64</cpu-arch> + <sw-build-date>2017-12-14T23:39:27-0800</sw-build-date> + <sw-build-version>10.4.0E(R1.55)</sw-build-version> + <copyright>Copyright (c) 1999-2017 by Dell Inc. All Rights Reserved.</copyright> + </sw-version> + </system-sw-state> + </data> +</rpc-reply> + diff --git a/ansible_collections/dellemc/os10/tests/unit/modules/network/os10/os10_module.py b/ansible_collections/dellemc/os10/tests/unit/modules/network/os10/os10_module.py new file mode 100644 index 00000000..8f990d73 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/unit/modules/network/os10/os10_module.py @@ -0,0 +1,90 @@ +# (c) 2020 Red Hat Inc. +# +# (c) 2020 Dell Inc. +# +# This file is part of Ansible +# +# Ansible is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Ansible is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Ansible. If not, see <http://www.gnu.org/licenses/>. + +# Make coding more python3-ish +from __future__ import (absolute_import, division, print_function) +__metaclass__ = type + +import os +import json + +from units.modules.utils import AnsibleExitJson, AnsibleFailJson, ModuleTestCase + + +fixture_path = os.path.join(os.path.dirname(__file__), 'fixtures') +fixture_data = {} + + +def load_fixture(name): + path = os.path.join(fixture_path, name) + + if path in fixture_data: + return fixture_data[path] + + with open(path) as f: + data = f.read() + + try: + data = json.loads(data) + except Exception: + pass + + fixture_data[path] = data + return data + + +class TestDellos10Module(ModuleTestCase): + + def execute_module(self, failed=False, changed=False, commands=None, sort=True, defaults=False): + + self.load_fixtures(commands) + + if failed: + result = self.failed() + self.assertTrue(result['failed'], result) + else: + result = self.changed(changed) + self.assertEqual(result['changed'], changed, result) + + if commands is not None: + if sort: + self.assertEqual(sorted(commands), sorted(result['updates']), result['updates']) + else: + self.assertEqual(commands, result['updates'], result['updates']) + + return result + + def failed(self): + with self.assertRaises(AnsibleFailJson) as exc: + self.module.main() + + result = exc.exception.args[0] + self.assertTrue(result['failed'], result) + return result + + def changed(self, changed=False): + with self.assertRaises(AnsibleExitJson) as exc: + self.module.main() + + result = exc.exception.args[0] + self.assertEqual(result['changed'], changed, result) + return result + + def load_fixtures(self, commands=None): + pass diff --git a/ansible_collections/dellemc/os10/tests/unit/modules/network/os10/test_os10_command.py b/ansible_collections/dellemc/os10/tests/unit/modules/network/os10/test_os10_command.py new file mode 100644 index 00000000..77f6f1a7 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/unit/modules/network/os10/test_os10_command.py @@ -0,0 +1,110 @@ +# (c) 2020 Red Hat Inc. +# +# (c) 2020 Dell Inc. +# +# This file is part of Ansible +# +# Ansible is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Ansible is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Ansible. If not, see <http://www.gnu.org/licenses/>. + +# Make coding more python3-ish +from __future__ import (absolute_import, division, print_function) +__metaclass__ = type + +import json + +from units.compat.mock import patch +from ansible_collections.dellemc.os10.plugins.modules import os10_command +from units.modules.utils import set_module_args +from .os10_module import TestDellos10Module, load_fixture + + +class TestDellos10CommandModule(TestDellos10Module): + + module = os10_command + + def setUp(self): + super(TestDellos10CommandModule, self).setUp() + + self.mock_run_commands = patch('ansible.modules.network.os10.os10_command.run_commands') + self.run_commands = self.mock_run_commands.start() + + def tearDown(self): + super(TestDellos10CommandModule, self).tearDown() + self.mock_run_commands.stop() + + def load_fixtures(self, commands=None): + + def load_from_file(*args, **kwargs): + module, commands = args + output = list() + + for item in commands: + try: + obj = json.loads(item['command']) + command = obj['command'] + except ValueError: + command = item['command'] + filename = str(command).replace(' ', '_') + output.append(load_fixture(filename)) + return output + + self.run_commands.side_effect = load_from_file + + def test_os10_command_simple(self): + set_module_args(dict(commands=['show version'])) + result = self.execute_module() + self.assertEqual(len(result['stdout']), 1) + self.assertTrue(result['stdout'][0].startswith('Dell EMC Networking')) + + def test_os10_command_multiple(self): + set_module_args(dict(commands=['show version', 'show version'])) + result = self.execute_module() + self.assertEqual(len(result['stdout']), 2) + self.assertTrue(result['stdout'][0].startswith('Dell EMC Networking')) + + def test_os10_command_wait_for(self): + wait_for = 'result[0] contains "Dell EMC"' + set_module_args(dict(commands=['show version'], wait_for=wait_for)) + self.execute_module() + + def test_os10_command_wait_for_fails(self): + wait_for = 'result[0] contains "test string"' + set_module_args(dict(commands=['show version'], wait_for=wait_for)) + self.execute_module(failed=True) + self.assertEqual(self.run_commands.call_count, 10) + + def test_os10_command_retries(self): + wait_for = 'result[0] contains "test string"' + set_module_args(dict(commands=['show version'], wait_for=wait_for, retries=2)) + self.execute_module(failed=True) + self.assertEqual(self.run_commands.call_count, 2) + + def test_os10_command_match_any(self): + wait_for = ['result[0] contains "Dell EMC"', + 'result[0] contains "test string"'] + set_module_args(dict(commands=['show version'], wait_for=wait_for, match='any')) + self.execute_module() + + def test_os10_command_match_all(self): + wait_for = ['result[0] contains "Dell EMC"', + 'result[0] contains "OS10 Enterprise"'] + set_module_args(dict(commands=['show version'], wait_for=wait_for, match='all')) + self.execute_module() + + def test_os10_command_match_all_failure(self): + wait_for = ['result[0] contains "Dell EMC"', + 'result[0] contains "test string"'] + commands = ['show version', 'show version'] + set_module_args(dict(commands=commands, wait_for=wait_for, match='all')) + self.execute_module(failed=True) diff --git a/ansible_collections/dellemc/os10/tests/unit/modules/network/os10/test_os10_config.py b/ansible_collections/dellemc/os10/tests/unit/modules/network/os10/test_os10_config.py new file mode 100644 index 00000000..e38d124a --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/unit/modules/network/os10/test_os10_config.py @@ -0,0 +1,150 @@ +# +# (c) 2020 Red Hat Inc. +# +# (c) 2020 Dell Inc. +# +# This file is part of Ansible +# +# Ansible is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Ansible is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Ansible. If not, see <http://www.gnu.org/licenses/>. + +# Make coding more python3-ish +from __future__ import (absolute_import, division, print_function) +__metaclass__ = type + +from units.compat.mock import patch +from ansible_collections.dellemc.os10.plugins.modules import os10_config +from units.modules.utils import set_module_args +from .os10_module import TestDellos10Module, load_fixture + + +class TestDellos10ConfigModule(TestDellos10Module): + + module = os10_config + + def setUp(self): + super(TestDellos10ConfigModule, self).setUp() + + self.mock_get_config = patch('ansible.modules.network.os10.os10_config.get_config') + self.get_config = self.mock_get_config.start() + + self.mock_load_config = patch('ansible.modules.network.os10.os10_config.load_config') + self.load_config = self.mock_load_config.start() + + self.mock_run_commands = patch('ansible.modules.network.os10.os10_config.run_commands') + self.run_commands = self.mock_run_commands.start() + + def tearDown(self): + super(TestDellos10ConfigModule, self).tearDown() + self.mock_get_config.stop() + self.mock_load_config.stop() + self.mock_run_commands.stop() + + def load_fixtures(self, commands=None): + config_file = 'os10_config_config.cfg' + self.get_config.return_value = load_fixture(config_file) + self.load_config.return_value = None + + def test_os10_config_unchanged(self): + src = load_fixture('os10_config_config.cfg') + set_module_args(dict(src=src)) + self.execute_module() + + def test_os10_config_src(self): + src = load_fixture('os10_config_src.cfg') + set_module_args(dict(src=src)) + commands = ['hostname foo', 'interface ethernet1/1/2', + 'no ip address'] + self.execute_module(changed=True, commands=commands) + + def test_os10_config_backup(self): + set_module_args(dict(backup=True)) + result = self.execute_module() + self.assertIn('__backup__', result) + + def test_os10_config_save(self): + set_module_args(dict(save=True)) + self.execute_module(changed=True) + self.assertEqual(self.run_commands.call_count, 1) + self.assertEqual(self.get_config.call_count, 0) + self.assertEqual(self.load_config.call_count, 0) + args = self.run_commands.call_args[0][1] + self.assertDictContainsSubset({'command': 'copy running-config startup-config'}, args[0]) +# self.assertIn('copy running-config startup-config\r', args) + + def test_os10_config_lines_wo_parents(self): + set_module_args(dict(lines=['hostname foo'])) + commands = ['hostname foo'] + self.execute_module(changed=True, commands=commands) + + def test_os10_config_lines_w_parents(self): + set_module_args(dict(lines=['shutdown'], parents=['interface ethernet1/1/2'])) + commands = ['interface ethernet1/1/2', 'shutdown'] + self.execute_module(changed=True, commands=commands) + + def test_os10_config_before(self): + set_module_args(dict(lines=['hostname foo'], before=['snmp-server contact bar'])) + commands = ['snmp-server contact bar', 'hostname foo'] + self.execute_module(changed=True, commands=commands, sort=False) + + def test_os10_config_after(self): + set_module_args(dict(lines=['hostname foo'], after=['snmp-server contact bar'])) + commands = ['hostname foo', 'snmp-server contact bar'] + self.execute_module(changed=True, commands=commands, sort=False) + + def test_os10_config_before_after_no_change(self): + set_module_args(dict(lines=['hostname router'], + before=['snmp-server contact bar'], + after=['snmp-server location chennai'])) + self.execute_module() + + def test_os10_config_config(self): + config = 'hostname localhost' + set_module_args(dict(lines=['hostname router'], config=config)) + commands = ['hostname router'] + self.execute_module(changed=True, commands=commands) + + def test_os10_config_replace_block(self): + lines = ['description test string', 'test string'] + parents = ['interface ethernet1/1/2'] + set_module_args(dict(lines=lines, replace='block', parents=parents)) + commands = parents + lines + self.execute_module(changed=True, commands=commands) + + def test_os10_config_match_none(self): + lines = ['hostname router'] + set_module_args(dict(lines=lines, match='none')) + self.execute_module(changed=True, commands=lines) + + def test_os10_config_match_none(self): + lines = ['ip address 1.2.3.4/24', 'description test string'] + parents = ['interface ethernet1/1/2'] + set_module_args(dict(lines=lines, parents=parents, match='none')) + commands = parents + lines + self.execute_module(changed=True, commands=commands, sort=False) + + def test_os10_config_match_strict(self): + lines = ['ip address 1.2.3.4/24', 'description test string', + 'shutdown'] + parents = ['interface ethernet1/1/2'] + set_module_args(dict(lines=lines, parents=parents, match='strict')) + commands = parents + ['shutdown'] + self.execute_module(changed=True, commands=commands, sort=False) + + def test_os10_config_match_exact(self): + lines = ['ip address 1.2.3.4/24', 'description test string', + 'shutdown'] + parents = ['interface ethernet1/1/2'] + set_module_args(dict(lines=lines, parents=parents, match='exact')) + commands = parents + lines + self.execute_module(changed=True, commands=commands, sort=False) diff --git a/ansible_collections/dellemc/os10/tests/unit/modules/network/os10/test_os10_facts.py b/ansible_collections/dellemc/os10/tests/unit/modules/network/os10/test_os10_facts.py new file mode 100644 index 00000000..7f03eab8 --- /dev/null +++ b/ansible_collections/dellemc/os10/tests/unit/modules/network/os10/test_os10_facts.py @@ -0,0 +1,110 @@ +# (c) 2020 Red Hat Inc. +# +# (c) 2020 Dell Inc. +# +# This file is part of Ansible +# +# Ansible is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Ansible is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Ansible. If not, see <http://www.gnu.org/licenses/>. + +# Make coding more python3-ish +from __future__ import (absolute_import, division, print_function) +__metaclass__ = type + +import json + +from units.compat.mock import patch +from units.modules.utils import set_module_args +from .os10_module import TestDellos10Module, load_fixture +from ansible_collections.dellemc.os10.plugins.modules import os10_facts + + +class TestDellos10Facts(TestDellos10Module): + + module = os10_facts + + def setUp(self): + super(TestDellos10Facts, self).setUp() + + self.mock_run_command = patch( + 'ansible.modules.network.os10.os10_facts.run_commands') + self.run_command = self.mock_run_command.start() + + def tearDown(self): + super(TestDellos10Facts, self).tearDown() + + self.mock_run_command.stop() + + def load_fixtures(self, commands=None): + + def load_from_file(*args, **kwargs): + module, commands = args + output = list() + + for item in commands: + try: + obj = json.loads(item) + command = obj['command'] + except ValueError: + command = item + if '|' in command: + command = str(command).replace('|', '') + filename = str(command).replace(' ', '_') + filename = filename.replace('/', '7') + filename = filename.replace(':', '_colon_') + output.append(load_fixture(filename)) + return output + + self.run_command.side_effect = load_from_file + + def test_os10_facts_gather_subset_default(self): + set_module_args(dict()) + result = self.execute_module() + ansible_facts = result['ansible_facts'] + self.assertIn('hardware', ansible_facts['ansible_net_gather_subset']) + self.assertIn('default', ansible_facts['ansible_net_gather_subset']) + self.assertIn('interfaces', ansible_facts['ansible_net_gather_subset']) + self.assertEquals('os10', ansible_facts['ansible_net_hostname']) + self.assertIn('ethernet1/1/8', ansible_facts['ansible_net_interfaces'].keys()) + self.assertEquals(7936, ansible_facts['ansible_net_memtotal_mb']) + self.assertEquals(5693, ansible_facts['ansible_net_memfree_mb']) + + def test_os10_facts_gather_subset_config(self): + set_module_args({'gather_subset': 'config'}) + result = self.execute_module() + ansible_facts = result['ansible_facts'] + self.assertIn('default', ansible_facts['ansible_net_gather_subset']) + self.assertIn('config', ansible_facts['ansible_net_gather_subset']) + self.assertEquals('os10', ansible_facts['ansible_net_hostname']) + self.assertIn('ansible_net_config', ansible_facts) + + def test_os10_facts_gather_subset_hardware(self): + set_module_args({'gather_subset': 'hardware'}) + result = self.execute_module() + ansible_facts = result['ansible_facts'] + self.assertIn('default', ansible_facts['ansible_net_gather_subset']) + self.assertIn('hardware', ansible_facts['ansible_net_gather_subset']) + self.assertEquals('x86_64', ansible_facts['ansible_net_cpu_arch']) + self.assertEquals(7936, ansible_facts['ansible_net_memtotal_mb']) + self.assertEquals(5693, ansible_facts['ansible_net_memfree_mb']) + + def test_os10_facts_gather_subset_interfaces(self): + set_module_args({'gather_subset': 'interfaces'}) + result = self.execute_module() + ansible_facts = result['ansible_facts'] + self.assertIn('default', ansible_facts['ansible_net_gather_subset']) + self.assertIn('interfaces', ansible_facts['ansible_net_gather_subset']) + self.assertIn('ethernet1/1/8', ansible_facts['ansible_net_interfaces'].keys()) + self.assertEquals(sorted(['mgmt1/1/1', 'ethernet1/1/4', 'ethernet1/1/2', 'ethernet1/1/3', 'ethernet1/1/1']), + sorted(list(ansible_facts['ansible_net_neighbors'].keys()))) + self.assertIn('ansible_net_interfaces', ansible_facts) |