Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[orchagent]: Add ARP update script to maintain VLAN neighbors #401

Merged
merged 1 commit into from
May 16, 2017
Merged

[orchagent]: Add ARP update script to maintain VLAN neighbors #401

merged 1 commit into from
May 16, 2017

Conversation

stcheng
Copy link
Contributor

@stcheng stcheng commented Mar 16, 2017

  • Extend ARP reachable time to 30min
  • Add arping to docker-swss
  • Add arp_update.sh script to routinely probe neighbors

Signed-off-by: Shuotian Cheng [email protected]

@stcheng stcheng self-assigned this Mar 16, 2017
@stcheng stcheng requested a review from lguohan March 16, 2017 07:13
@stcheng
Copy link
Contributor Author

stcheng commented Mar 17, 2017

@pavel-shirshov
Copy link
Contributor

So you implemented gratuitous ARP here? GARP?
https://en.wikipedia.org/wiki/Address_Resolution_Protocol#ARP_announcements

@stcheng
Copy link
Contributor Author

stcheng commented Mar 21, 2017

@pavel-shirshov Yes. Because after the neighbor is created, all the traffic goes through data plane and no packets will be received from the CPU. Thus after certain time the neighbor will be updated to stale state. This is one reference describing similar issue here.

@stcheng stcheng force-pushed the master branch 2 times, most recently from b9ca7e2 to 42ae02b Compare March 22, 2017 20:29
fi

arpingcmd="sed -e 's/ / -i /' -e 's/^/arping -w 0 -c 1 /' -e 's/$/;/'"
ipcmd="ip -4 neigh show | grep Vlan | cut -d ' ' -f 1,3 | ${arpingcmd}"
Copy link
Contributor Author

Choose a reason for hiding this comment

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

remove the hardcoded 'vlan' and use for loop

@@ -0,0 +1,14 @@
#!/bin/bash

Copy link
Contributor Author

@stcheng stcheng Mar 29, 2017

Choose a reason for hiding this comment

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

add options for timeout
add options for one-time shot
add options for debug

@stcheng
Copy link
Contributor Author

stcheng commented Mar 29, 2017

add comments in script

@stcheng
Copy link
Contributor Author

stcheng commented Mar 29, 2017

add todo: ipv6

Copy link
Collaborator

@lguohan lguohan left a comment

Choose a reason for hiding this comment

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

please add some description for the arp_update.sh. how it works.

@lguohan
Copy link
Collaborator

lguohan commented Apr 26, 2017

Can you add description to describe the problem this commit is trying to solve?

@stcheng
Copy link
Contributor Author

stcheng commented May 11, 2017

updated

@@ -26,6 +26,7 @@ debs/{{ deb }}{{' '}}
RUN apt-get clean -y; apt-get autoclean -y; apt-get autoremove -y
RUN rm -rf /debs

COPY ["arp_update", "/usr/bin/"]
COPY ["start.sh", "orchagent.sh", "swssconfig.sh", "/usr/bin/"]
Copy link
Collaborator

@qiluo-msft qiluo-msft May 12, 2017

Choose a reason for hiding this comment

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

Merge into one line. #Closed

Copy link
Contributor Author

Choose a reason for hiding this comment

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

fixed

esac
done

while ! $one_time_trigger; do
Copy link
Collaborator

@qiluo-msft qiluo-msft May 12, 2017

Choose a reason for hiding this comment

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

one_time_trigg [](start = 9, length = 14)

one_time_trigg [](start = 9, length = 14)

if one_time_trigger == false, nothing happens. Is it expected to act once? #Closed

Copy link
Contributor Author

Choose a reason for hiding this comment

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

fixed

@@ -59,3 +59,9 @@ autorestart=false
stdout_logfile=syslog
stderr_logfile=syslog

[program:arp_update]
command=/usr/bin/arp_update
autostart=true
Copy link
Collaborator

@qiluo-msft qiluo-msft May 12, 2017

Choose a reason for hiding this comment

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

true [](start = 10, length = 4)

true [](start = 10, length = 4)

suggest follow Joe's pattern:

  1. /usr/bin/start.sh is the only section autostart
  2. /usr/bin/start.sh will start all other sections, so the order is guaranteed
    #Closed

Copy link
Contributor Author

Choose a reason for hiding this comment

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

fixed

@stcheng
Copy link
Contributor Author

stcheng commented May 12, 2017

@qiluo-msft updated

- Extend ARP reachable time to 30min
- Add arping to docker-swss
- Add arp_update script to routinely probe neighbors

Signed-off-by: Shuotian Cheng <[email protected]>
@stcheng
Copy link
Contributor Author

stcheng commented May 13, 2017

@qiluo-msft updated the commit using supervisord to restart the process. right now no exit code is needed.

@stcheng
Copy link
Contributor Author

stcheng commented May 13, 2017

@lguohan please review again.

@stcheng stcheng merged commit 8af03fd into sonic-net:master May 16, 2017
@stcheng stcheng deleted the arp branch May 16, 2017 00:06
yxieca added a commit to yxieca/sonic-buildimage that referenced this pull request Dec 20, 2018
To include following changes:

- Allow saiplayer to ignore failed GET responses (sonic-net#406)
- Don't generate asic operations when attr value is same as default (sonic-net#404)
- [flex counter] lower the severity of log during stat support check (sonic-net#405)
- Move stop notifications thread after remove switch (sonic-net#401)
- [meta]: Add support for ip prefix (sonic-net#402)

Signed-off-by: Ying Xie <[email protected]>
yxieca added a commit that referenced this pull request Dec 20, 2018
To include following changes:

- Allow saiplayer to ignore failed GET responses (#406)
- Don't generate asic operations when attr value is same as default (#404)
- [flex counter] lower the severity of log during stat support check (#405)
- Move stop notifications thread after remove switch (#401)
- [meta]: Add support for ip prefix (#402)

Signed-off-by: Ying Xie <[email protected]>
madhanmellanox pushed a commit to madhanmellanox/sonic-buildimage that referenced this pull request Mar 23, 2020
…net#401)

echo will fail in virtual switch since /sys directory is read-only.
need to use ip command to setup the vlan_filtering which is not available in debian 8.
Once we move sonic to debian 9, we can use IP command by default.
dmytroxshevchuk pushed a commit to dmytroxshevchuk/sonic-buildimage that referenced this pull request Aug 31, 2020
* Move stop notifications trhead after remove switch

* Remove stop notifications processing thread from pre shutdown
lguohan pushed a commit that referenced this pull request Nov 3, 2020
9b0e955 2020-10-30 | [schema]: Add MACsec support (#403) [Ze Gan]
f24dc97 2020-10-28 | Implementation of System ports initialization, Interface & Neighbor Synchronization... (#380) [minionatwork]
91e0885 2020-10-27 | Mux cable schema definitions (#398) [Prince Sunny]
d0cedea 2020-10-27 | Change log level (#402) [Prince Sunny]
64b3cfe 2020-10-24 | SonicV2Connector supports host and decode_responses in constructor parameters (#401) [Qi Luo]
f8b0065 2020-10-23 | Implement FieldValueMap update method (#400) [Qi Luo]
santhosh-kt pushed a commit to santhosh-kt/sonic-buildimage that referenced this pull request Feb 25, 2021
9b0e955 2020-10-30 | [schema]: Add MACsec support (sonic-net#403) [Ze Gan]
f24dc97 2020-10-28 | Implementation of System ports initialization, Interface & Neighbor Synchronization... (sonic-net#380) [minionatwork]
91e0885 2020-10-27 | Mux cable schema definitions (sonic-net#398) [Prince Sunny]
d0cedea 2020-10-27 | Change log level (sonic-net#402) [Prince Sunny]
64b3cfe 2020-10-24 | SonicV2Connector supports host and decode_responses in constructor parameters (sonic-net#401) [Qi Luo]
f8b0065 2020-10-23 | Implement FieldValueMap update method (sonic-net#400) [Qi Luo]
mssonicbld added a commit that referenced this pull request Nov 30, 2023
…D automatically (#17333)

#### Why I did it
src/sonic-platform-daemons
```
* e2d9f87 - (HEAD -> master, origin/master, origin/HEAD) Add dynamic sensor logic for fixed and psu presence/state checking in thermalctld (#401) (27 hours ago) [Gregory Boudreau]
```
#### How I did it
#### How to verify it
#### Description for the changelog
mssonicbld added a commit that referenced this pull request Dec 7, 2023
…D automatically (#17420)

#### Why I did it
src/sonic-platform-daemons
```
* f23e342 - (HEAD -> 202305, origin/202305) Add dynamic sensor logic for fixed and psu presence/state checking in thermalctld (#401) (18 hours ago) [Gregory Boudreau]
```
#### How I did it
#### How to verify it
#### Description for the changelog
yxieca pushed a commit that referenced this pull request Dec 14, 2023
…D automatically (#17452)

src/sonic-platform-daemons

* 502c0b6 - (HEAD -> 202311, origin/202311) Add Port SI Configuration Per Speed  (#400) (12 days ago) [Tomer Shalvi]
* e2d9f87 - Add dynamic sensor logic for fixed and psu presence/state checking in thermalctld (#401) (2 weeks ago) [Gregory Boudreau]
mssonicbld added a commit that referenced this pull request Jun 15, 2024
…tomatically (#19318)

#### Why I did it
src/sonic-linux-kernel
```
* 152aa10 - (HEAD -> 202305, origin/202305) Fix optoe's write_max when using native i2c driver (#401) (14 hours ago) [Prince George]
* ac4a1db - [ci] Migrate to sonicbld1es agent pool. (#397) (#403) (19 hours ago) [mssonicbld]
```
#### How I did it
#### How to verify it
#### Description for the changelog
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.

4 participants