Skip to content

[arp ping] add VLAN arp ping to warm/fast reboot test#824

Merged
yxieca merged 3 commits intosonic-net:masterfrom
yxieca:arp_ping
Mar 19, 2019
Merged

[arp ping] add VLAN arp ping to warm/fast reboot test#824
yxieca merged 3 commits intosonic-net:masterfrom
yxieca:arp_ping

Conversation

@yxieca
Copy link
Collaborator

@yxieca yxieca commented Mar 8, 2019

Summary:

The purpose of adding the VLAN APR ping, is to make sure that during warm/fast reboot, the servers on the VLAN can still resolve addresses of each other.

Because currently SONiC default behavior is to trap ARP packets to CPU, ARP requests within VLAN get dropped during warm/fast reboot. As result, the arp_ping is added but not used as success criteria.

This test enables testing the change of SONiC behavior from "trap to cpu" to "copy to cpu".

Type of change

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

Approach

How did you do it?

  • Enhance ARP responder to ignore ARP responses.
  • Randomly choose 2 ports to run arp_ping during fast/warm reboot.

How did you verify/test it?

  • Warm reboot and Fast reboot
  • Binary don't support VLAN ARP flooding and binary supports VLAN ARP flooding.

Following is log while testing with a binary with VLAN ARP flooding support. Note that before fast reboot, we received double ping responses, because one ping request went to cpu, one went to VLAN, they both eventually reached the arp_responder and got response. When reboot started, the control plane is down, then there is only 1 response from VLAN flooding.

2019-03-08 04:10:25 : Send 100 Received 100 servers->t1
2019-03-08 04:10:27 : Send 500 Received 500 t1->servers
2019-03-08 04:10:27 : Send 10 Received 10 ping DUT
2019-03-08 04:10:28 : Send 1 Received 2 arp ping
2019-03-08 04:10:29 : Send 100 Received 100 servers->t1
2019-03-08 04:10:31 : Send 500 Received 500 t1->servers
2019-03-08 04:10:31 : Send 10 Received 0 ping DUT
2019-03-08 04:10:31 : Control plane state transition from up to down
2019-03-08 04:10:32 : Dut reboots: reboot start 2019-03-08 04:10:32.439384
2019-03-08 04:10:32 : Check that device is still forwarding data plane traffic
2019-03-08 04:10:32 : Send 1 Received 1 arp ping
2019-03-08 04:10:33 : Send 100 Received 100 servers->t1
2019-03-08 04:10:35 : Send 500 Received 500 t1->servers
2019-03-08 04:10:35 : Send 10 Received 0 ping DUT
2019-03-08 04:10:36 : Send 1 Received 1 arp ping

yxieca added 2 commits March 8, 2019 07:37
- Check incoming packet type, if it is ARP response, don't reply again.

Signed-off-by: Ying Xie <[email protected]>
- Making sure that ARP within vlan continue working during warm reboot

Signed-off-by: Ying Xie <[email protected]>
Copy link
Contributor

@pavel-shirshov pavel-shirshov left a comment

Choose a reason for hiding this comment

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

as comments

@yxieca yxieca merged commit 6e10917 into sonic-net:master Mar 19, 2019
@yxieca yxieca deleted the arp_ping branch March 19, 2019 03:18
yxieca added a commit that referenced this pull request Mar 19, 2019
* [arp_responder] only respond to arp request, ignore arp response

- Check incoming packet type, if it is ARP response, don't reply again.

Signed-off-by: Ying Xie <[email protected]>

* [warm/fast reboot] add vlan arp ping check during warm reboot

- Making sure that ARP within vlan continue working during warm reboot

Signed-off-by: Ying Xie <[email protected]>

* Define and use ARP_OP_REQUEST
deerao02 pushed a commit to deerao02/sonic-mgmt that referenced this pull request Dec 18, 2025
…-net#824)

<!--
Please make sure you've read and understood our contributing guidelines;
https://github.com/sonic-net/SONiC/blob/gh-pages/CONTRIBUTING.md

Please provide following information to help code review process a bit easier:
-->
### Description of PR
<!--
- Please include a summary of the change and which issue is fixed.
- Please also include relevant motivation and context. Where should reviewer start? background context?
- List any dependencies that are required for this change.
-->

Summary:
Skip for test_orchagent_heartbeat as the restartcheck is a feature used only for warm/fast reboot, which is not supported on 202412 branch.

### Type of change

<!--
- Fill x for your type of change.
- e.g.
- [x] Bug fix
-->

- [ ] Bug fix
- [x] Testbed and Framework(new/improvement)
- [ ] New Test case
 - [ ] Skipped for non-supported platforms
- [ ] Test case improvement

### Back port request
- [ ] 202205
- [ ] 202305
- [ ] 202311
- [ ] 202405
- [ ] 202411
- [ ] 202505

### Approach
#### What is the motivation for this PR?
Skip unsupported test

#### How did you do it?
Set skip for 202412 release

#### How did you verify/test it?

#### Any platform specific information?

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

### Documentation
<!--
(If it's a new feature, new test case)
Did you update documentation/Wiki relevant to your implementation?
Link to the wiki page?
-->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants