Skip to content

adding ndp_clear and arp_clear test to the repo#1090

Open
joej164 wants to merge 11 commits intosonic-net:masterfrom
IGNW:lafe-77-final-review-of-arp-and-ndp-clear-tests
Open

adding ndp_clear and arp_clear test to the repo#1090
joej164 wants to merge 11 commits intosonic-net:masterfrom
IGNW:lafe-77-final-review-of-arp-and-ndp-clear-tests

Conversation

@joej164
Copy link
Copy Markdown
Contributor

@joej164 joej164 commented Sep 2, 2019

arp_clear_t1_eight_output.log
ndp_clear_t1_eight_output.log

ndp_clear_t0_eight_output.log

Description of PR

Summary:
Adds a test to verify the ARP and NDP tables can be cleared and repopulated.

Type of change

  • [] Bug fix
  • [] Testbed and Framework(new/improvement)
  • Test case(new/improvement)

Approach

How did you do it?

For the arp_clear command, use the PTF to send ARP packets and verify they are received.

for the ndp_clear due to ipv6, can only clear the table and verify it gets repopulated.

How did you verify/test it?

Ran the test on the t0-8 and the t1-8 topologies and they passed

Any platform specific information?

Requires a PTF for the arp_clear test

Supported testbed topology if it's a new test case?

t0 and t1 topologies with a PTF should work

Documentation

Updated the readme with instructions on how to run the command

Test Results

Pylint Results:
Pylint found no errors and the python file is python3 compatible. Ran pylint with `pylint -E --py3k'

Command: ansible-playbook -i lab test_sonic.yml -e testbed_name=t0-eight -e testcase_name=arp_clear

Results:
"PLAY RECAP *********************************************************************
lab-ignw-seastone-dut-li1 : ok=89 changed=17 unreachable=0 failed=0

Sunday 01 September 2019 00:50:22 +0000 (0:00:00.077) 0:05:18.527 ******

TASK: test : Wait for 2 minutes for prcesses and interfaces to be stable - 120.15s
TASK: test : Reload SONiC configuration using config_db ---------------- 90.12s
TASK: test : wait for interfaces to be up after removed from portchannel -- 40.13s
TASK: test : copy test files over --------------------------------------- 3.81s
TASK: test : Find non-trunk interfaces ---------------------------------- 3.29s
TASK: test : Verify port channel interfaces are up correctly ------------ 2.37s
TASK: test : Start PTF runner and send unicast arp packets using arp_test_data --- 2.31s
TASK: test : validate all interfaces are up after test ------------------ 1.98s
TASK: test : find if interface1 in portchannel -------------------------- 1.72s
TASK: test : Read the current interfaces status ------------------------- 1.71s
TASK: test : gather system version information -------------------------- 1.70s
TASK: test : Fetch result files from switch to ansible machine ---------- 1.49s
TASK: test : Fetch result files from switch to ansible machine ---------- 1.48s
TASK: test : Fetch result files from switch to ansible machine ---------- 1.48s
TASK: test : debug ------------------------------------------------------ 1.47s
TASK: test : debug ------------------------------------------------------ 1.46s
TASK: test : debug ------------------------------------------------------ 1.45s
TASK: test : command ---------------------------------------------------- 1.35s
TASK: test : command ---------------------------------------------------- 1.25s
TASK: setup ------------------------------------------------------------- 1.20s"

Command:
ansible-playbook -i lab test_sonic.yml -e testbed_name=t1-eight -e testcase_name=arp_clear

Results:
"PLAY RECAP *********************************************************************
lab-ignw-seastone-dut-li1 : ok=81 changed=16 unreachable=0 failed=0

Sunday 01 September 2019 02:29:13 +0000 (0:00:00.076) 0:04:31.469 ******

TASK: test : Wait for 2 minutes for prcesses and interfaces to be stable - 120.17s
TASK: test : Reload SONiC configuration using config_db ---------------- 89.29s
TASK: test : copy test files over --------------------------------------- 4.14s
TASK: test : Find non-trunk interfaces ---------------------------------- 3.52s
TASK: test : Start PTF runner and send unicast arp packets using arp_test_data --- 2.25s
TASK: test : validate all interfaces are up after test ------------------ 1.98s
TASK: test : gather system version information -------------------------- 1.72s
TASK: test : Read the current interfaces status ------------------------- 1.62s
TASK: test : Fetch result files from switch to ansible machine ---------- 1.51s
TASK: test : Fetch result files from switch to ansible machine ---------- 1.48s
TASK: test : debug ------------------------------------------------------ 1.48s
TASK: test : debug ------------------------------------------------------ 1.47s
TASK: test : Fetch result files from switch to ansible machine ---------- 1.47s
TASK: test : debug ------------------------------------------------------ 1.47s
TASK: setup ------------------------------------------------------------- 1.33s
TASK: test : command ---------------------------------------------------- 1.30s
TASK: test : command ---------------------------------------------------- 1.24s
TASK: test : command ---------------------------------------------------- 1.23s
TASK: test : Reload SONiC configuration using minigraph ----------------- 1.16s
TASK: test : check port status ------------------------------------------ 1.14s"

Command:
ansible-playbook -i lab test_sonic.yml -e testbed_name=t0-eight -e testcase_name=ndp_clear

Results:

"PLAY RECAP *********************************************************************
lab-ignw-seastone-dut-li1 : ok=49 changed=10 unreachable=0 failed=0

Sunday 01 September 2019 00:52:37 +0000 (0:00:00.079) 0:00:29.441 ******

TASK: test : Verify port channel interfaces are up correctly ------------ 1.93s
TASK: test : gather system version information -------------------------- 1.69s
TASK: test : Show NDP table and get the number of entries --------------- 1.59s
TASK: test : Show NDP table and get the number of entries --------------- 1.55s
TASK: test : validate all interfaces are up after test ------------------ 1.50s
TASK: setup ------------------------------------------------------------- 1.14s
TASK: test : Verify port channel interfaces are up correctly ------------ 1.13s
TASK: test : Get interface facts ---------------------------------------- 0.95s
TASK: test : Get interface facts ---------------------------------------- 0.94s
TASK: test : validate all interfaces are up ----------------------------- 0.86s
TASK: test : Get process information in syncd docker -------------------- 0.83s
TASK: test : Get process information in syncd docker -------------------- 0.76s
TASK: test : do basic sanity check after each test ---------------------- 0.68s
TASK: test : Gathering minigraph facts about the device ----------------- 0.65s
TASK: test : Gather minigraph facts about the device -------------------- 0.60s
TASK: test : Clear all NDP entries -------------------------------------- 0.60s
TASK: test : Gather minigraph facts about the device -------------------- 0.59s
TASK: test : Get syslog error information ------------------------------- 0.58s
TASK: test : Get syslog error information ------------------------------- 0.55s
TASK: test : Verify VLAN interfaces are up correctly -------------------- 0.54s"

Command:
ansible-playbook -i lab test_sonic.yml -e testbed_name=t1-eight -e testcase_name=ndp_clear

Results:
"PLAY RECAP *********************************************************************
lab-ignw-seastone-dut-li1 : ok=45 changed=10 unreachable=0 failed=0

Sunday 01 September 2019 02:07:58 +0000 (0:00:00.078) 0:00:26.136 ******

TASK: test : gather system version information -------------------------- 1.72s
TASK: test : Show NDP table and get the number of entries --------------- 1.59s
TASK: test : validate all interfaces are up after test ------------------ 1.59s
TASK: test : Show NDP table and get the number of entries --------------- 1.55s
TASK: setup ------------------------------------------------------------- 1.13s
TASK: test : Get interface facts ---------------------------------------- 0.96s
TASK: test : Get interface facts ---------------------------------------- 0.93s
TASK: test : validate all interfaces are up ----------------------------- 0.92s
TASK: test : Get process information in syncd docker -------------------- 0.91s
TASK: test : Get process information in syncd docker -------------------- 0.77s
TASK: test : do basic sanity check after each test ---------------------- 0.73s
TASK: test : Gather minigraph facts about the device -------------------- 0.62s
TASK: test : Gather minigraph facts about the device -------------------- 0.62s
TASK: test : Clear all NDP entries -------------------------------------- 0.62s
TASK: test : Gathering minigraph facts about the device ----------------- 0.58s
TASK: test : do basic sanity check before each test --------------------- 0.47s
TASK: test : Gathering testbed information ------------------------------ 0.44s
TASK: test : Get orchagent process information -------------------------- 0.44s
TASK: test : Get syslog error information ------------------------------- 0.43s
TASK: test : run test case {{ testcases[testcase_name]['filename'] }} file --- 0.38s"

Joe Lazaro and others added 5 commits July 25, 2019 15:52
Merge Azure Master into IGNW Master
Update master from Azure/Sonic - August 12th, 2019
Merge latest copy of azure master into ignw master
@joej164 joej164 changed the title Lafe 77 final review of arp and ndp clear tests adding ndp_clear and arp_clear test to the repo Sep 2, 2019
Copy link
Copy Markdown
Contributor

@prsunny prsunny left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

arpall test has coverage for neigh flush. What is the use-case covered here? Or do you want to add the missing case to arpall instead of adding a whole separate case?


##### NDP Clear test
```
ansible-playbook test_sonic.yml -i {INVENTORY} -e testcase_name=ndp_clearz -e testbed_name={TESTBED_NAME}
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

clearz - typo?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes, fixed the typo, thanks

when: test_interface in item.value['members']
with_dict: minigraph_portchannels

- name: move interface {{ test_interface }} out of {{ po1 }}
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In test Log:

TASK [test : move interface {{ test_interface }} out of {{ po1 }}] *************<<<<<Not Sure why args are not replaced here, plz have a look once.
Saturday 07 September 2019 02:35:08 +0000 (0:00:00.069) 0:00:28.405 ****
skipping: [lab-ignw-seastone-dut-li1]

TASK [test : bring Ethernet8 up] ***********************************************
Saturday 07 September 2019 02:35:08 +0000 (0:00:00.083) 0:00:28.489 ****
skipping: [lab-ignw-seastone-dut-li1]

ptf_test_params:
- acs_mac='{{ ansible_interface_facts[test_interface]['macaddress'] }}'
- port='{{ test_interface_index }}'
- fake_mac='{{ item.fake_mac }}'
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I feel, no need to say fake. mac and ip are good.

@joej164 joej164 requested a review from a team as a code owner March 2, 2022 17:37
kazinator-arista pushed a commit to kazinator-arista/sonic-mgmt that referenced this pull request Mar 4, 2026
Fix error when running 'show lldp table' or 'show lldp neighbor'
through SSH command. (sonic-net#1067)
[201911]: Multi asic show interface support (sonic-net#1070)
[counterpoll] Add new FC group for port buffer drop counters
(sonic-net#1024)
[201911] show interface portchannel support for Multi ASIC
(sonic-net#1071)
Fix a typo in mellanox_buffer_migrator (sonic-net#1090)
Fix pfcwd stats crash with invalid queue name (sonic-net#1077)
[PFCWD] Fix issue with "pfcwd show stats" command during SONiC init
(sonic-net#1018)
enable watchdog before running platform specific reboot plugin
(sonic-net#1037)
Add namespace of the process in the coredump filename. (sonic-net#1091)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants