-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
Conversation
⏳ |
So you implemented gratuitous ARP here? GARP? |
@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. |
b9ca7e2
to
42ae02b
Compare
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}" |
There was a problem hiding this comment.
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 | |||
|
There was a problem hiding this comment.
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
add comments in script |
add todo: ipv6 |
There was a problem hiding this 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.
Can you add description to describe the problem this commit is trying to solve? |
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/"] |
There was a problem hiding this comment.
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
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fixed
dockers/docker-orchagent/arp_update
Outdated
esac | ||
done | ||
|
||
while ! $one_time_trigger; do |
There was a problem hiding this comment.
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
There was a problem hiding this comment.
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 |
There was a problem hiding this comment.
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:
- /usr/bin/start.sh is the only section autostart
- /usr/bin/start.sh will start all other sections, so the order is guaranteed
#Closed
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fixed
@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]>
@qiluo-msft updated the commit using supervisord to restart the process. right now no exit code is needed. |
@lguohan please review again. |
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]>
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]>
…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.
* Move stop notifications trhead after remove switch * Remove stop notifications processing thread from pre shutdown
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]
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]
…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
…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
…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]
…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
Signed-off-by: Shuotian Cheng [email protected]