-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
build_debian: Disable IPv6 DAD #56
Conversation
@@ -203,11 +203,13 @@ set /files/etc/sysctl.conf/net.ipv4.conf.default.arp_announce 0 | |||
set /files/etc/sysctl.conf/net.ipv4.conf.default.arp_filter 0 | |||
set /files/etc/sysctl.conf/net.ipv4.conf.default.arp_notify 0 | |||
set /files/etc/sysctl.conf/net.ipv4.conf.default.arp_ignore 0 | |||
set /files/etc/sysctl.conf/net.ipv6.conf.default.accept_dad 0 |
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.
Also in playbook?
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.
not neccessary since it is only for v6 and it is not deployed.
can you add more description for this change? like what problem are we facing. Then, we know better why this change was introduced in the future. |
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 more description for this commit.
This change disables DAD (IPv6's Duplicate Address Detection). DAD protects against IP address conflicts. The way it works is that after an address is added to an interface, the operating system uses the Neighbor Discovery Protocol to check if any other host on the network has the same address. If it finds a neighbor with the same address, the address is removed from the interface. |
Please take a look at the description above and I will add this to the commit messages after review. |
This change disables DAD (IPv6's Duplicate Address Detection). DAD protects against IP address conflicts. The way it works is that after an address is added to an interface, the operating system uses the Neighbor Discovery Protocol to check if any other host on the network has the same address. If it finds a neighbor with the same address, the address is removed from the interface. The problem here is that the time waiting for DAD to be done is fairly long and because that we set the host interface operating status to be down at first, the port cannot exchange the Neighbor Discovery Protocol and DAD will time out. The host interface is only brought up after we have received the port admin status up notification from the kernel, which happens only after the DAD is done or times out. This makes the whole host interfaces bringing up procedure very slow. This the DAD is disabled. When it is disabled, addresses are immediately usable. Without DAD, we need to make sure that the IPv6 addresses don't have conflicts. For now, we have two IPv6 addresses. One is assigned manually, which prevents conflicts at first. Another one is the IPv6 link-local address. It is derived from the MAC address and thus all the link-local addresses are the same on one box. Because link-local addresses are not used, it will not trigger issues even if they are the same.
This change disables DAD (IPv6's Duplicate Address Detection). DAD protects against IP address conflicts. The way it works is that after an address is added to an interface, the operating system uses the Neighbor Discovery Protocol to check if any other host on the network has the same address. If it finds a neighbor with the same address, the address is removed from the interface. The problem here is that the time waiting for DAD to be done is fairly long and because that we set the host interface operating status to be down at first, the port cannot exchange the Neighbor Discovery Protocol and DAD will time out. The host interface is only brought up after we have received the port admin status up notification from the kernel, which happens only after the DAD is done or times out. This makes the whole host interfaces bringing up procedure very slow. This the DAD is disabled. When it is disabled, addresses are immediately usable. Without DAD, we need to make sure that the IPv6 addresses don't have conflicts. For now, we have two IPv6 addresses. One is assigned manually, which prevents conflicts at first. Another one is the IPv6 link-local address. It is derived from the MAC address and thus all the link-local addresses are the same on one box. Because link-local addresses are not used, it will not trigger issues even if they are the same.
* return empty table when there is no port * refactor the get_port_status function
sonic-net#56) * [sonic-head.yang]: Libyang sweep host bits from inet:ip-prefix, fixing that problem. Changed inet:ip-prefix to custom ip-prefix. Changed test case accordingly. * [setup.py]: Build yang tree while package build. Changes done: 1.) Build yang tree while package build. 2.) Add sonic_yang_tree as part of package. 3.) Fix sonic-loopback-interface.yang for ip-prefix problem.
Since the termination of the syseepromd will lead to the termination of the pmon. Regularly try to update the eeprom data, instead of exiting the syseepromd directly when the update_eeprom_to_db return with failure.
) Signed-off-by: Qi Luo <[email protected]>
[sonic-linkmgrd][202012] submodule update 3523738 Jing Zhang Sun Apr 3 20:54:40 2022 -0700 Reset link prober state when default route is back #56 8282e78 Jing Zhang Fri Apr 15 15:59:34 2022 -0700 Keep incrementing sequence number when link prober is suspended and shutdown #55 (#65) 8246eb8 Jing Zhang Thu Apr 14 18:49:36 2022 -0700 Shutdown ICMP heartbeats when default route state is missing and ToR is in auto mode #44 (#59) sign-off: Jing Zhang [email protected]
…w components mgmt. (#10377) * Support new platform SN2201 and RJ45 port Signed-off-by: Kebo Liu <[email protected]> * remove unused import and redundant function Signed-off-by: Kebo Liu <[email protected]> * fix error introduced by rebase Signed-off-by: Kebo Liu <[email protected]> * Revert the special handling of RJ45 ports (#56) * Revert the special handling of RJ45 ports sfp.py sfp_event.py chassis.py Signed-off-by: Stephen Sun <[email protected]> * Remove deadcode Signed-off-by: Stephen Sun <[email protected]> * Support CPLD update for SN2201 A new class is introduced, deriving from ComponentCPLD and overloading _install_firmware Change _install_firmware from private (starting with __) to protected, making it overloadable Signed-off-by: Stephen Sun <[email protected]> * Initialize component BIOS/CPLD Signed-off-by: Stephen Sun <[email protected]> * Remove swb_amb which doesn't on DVT board any more Signed-off-by: Stephen Sun <[email protected]> * Remove the unexisted sensor - switch board ambient - from platform.json Signed-off-by: Stephen Sun <[email protected]> * Do not report error on receiving unknown status on RJ45 ports Translate it to disconnect for RJ45 ports Report error for xSFP ports Signed-off-by: Stephen Sun <[email protected]> * Add reinit for RJ45 to avoid exception Signed-off-by: Stephen Sun <[email protected]> Co-authored-by: Stephen Sun <[email protected]> Co-authored-by: Stephen Sun <[email protected]>
3f43852b8 [sonic_operators.cpp]: Increasing select timeout (sonic-net#55) a1142e251 [sonic_operators.cpp] Update sonic_db_manager::get_counter (sonic-net#56) 1069d2dd4 [sonic_operators.cpp]: Fixbug wait with false positive to return success (sonic-net#54) Signed-off-by: Ze Gan <[email protected]>
3f43852b8 [sonic_operators.cpp]: Increasing select timeout (#55) a1142e251 [sonic_operators.cpp] Update sonic_db_manager::get_counter (#56) 1069d2dd4 [sonic_operators.cpp]: Fixbug wait with false positive to return success (#54) Signed-off-by: Ze Gan <[email protected]>
3f43852b8 [sonic_operators.cpp]: Increasing select timeout (#55) a1142e251 [sonic_operators.cpp] Update sonic_db_manager::get_counter (#56) 1069d2dd4 [sonic_operators.cpp]: Fixbug wait with false positive to return success (#54) Signed-off-by: Ze Gan <[email protected]>
…w components mgmt. (#10377) * Support new platform SN2201 and RJ45 port Signed-off-by: Kebo Liu <[email protected]> * remove unused import and redundant function Signed-off-by: Kebo Liu <[email protected]> * fix error introduced by rebase Signed-off-by: Kebo Liu <[email protected]> * Revert the special handling of RJ45 ports (#56) * Revert the special handling of RJ45 ports sfp.py sfp_event.py chassis.py Signed-off-by: Stephen Sun <[email protected]> * Remove deadcode Signed-off-by: Stephen Sun <[email protected]> * Support CPLD update for SN2201 A new class is introduced, deriving from ComponentCPLD and overloading _install_firmware Change _install_firmware from private (starting with __) to protected, making it overloadable Signed-off-by: Stephen Sun <[email protected]> * Initialize component BIOS/CPLD Signed-off-by: Stephen Sun <[email protected]> * Remove swb_amb which doesn't on DVT board any more Signed-off-by: Stephen Sun <[email protected]> * Remove the unexisted sensor - switch board ambient - from platform.json Signed-off-by: Stephen Sun <[email protected]> * Do not report error on receiving unknown status on RJ45 ports Translate it to disconnect for RJ45 ports Report error for xSFP ports Signed-off-by: Stephen Sun <[email protected]> * Add reinit for RJ45 to avoid exception Signed-off-by: Stephen Sun <[email protected]> Co-authored-by: Stephen Sun <[email protected]> Co-authored-by: Stephen Sun <[email protected]>
3f43852b8 [sonic_operators.cpp]: Increasing select timeout (sonic-net#55) a1142e251 [sonic_operators.cpp] Update sonic_db_manager::get_counter (sonic-net#56) 1069d2dd4 [sonic_operators.cpp]: Fixbug wait with false positive to return success (sonic-net#54) Signed-off-by: Ze Gan <[email protected]>
…w components mgmt. (sonic-net#10377) * Support new platform SN2201 and RJ45 port Signed-off-by: Kebo Liu <[email protected]> * remove unused import and redundant function Signed-off-by: Kebo Liu <[email protected]> * fix error introduced by rebase Signed-off-by: Kebo Liu <[email protected]> * Revert the special handling of RJ45 ports (sonic-net#56) * Revert the special handling of RJ45 ports sfp.py sfp_event.py chassis.py Signed-off-by: Stephen Sun <[email protected]> * Remove deadcode Signed-off-by: Stephen Sun <[email protected]> * Support CPLD update for SN2201 A new class is introduced, deriving from ComponentCPLD and overloading _install_firmware Change _install_firmware from private (starting with __) to protected, making it overloadable Signed-off-by: Stephen Sun <[email protected]> * Initialize component BIOS/CPLD Signed-off-by: Stephen Sun <[email protected]> * Remove swb_amb which doesn't on DVT board any more Signed-off-by: Stephen Sun <[email protected]> * Remove the unexisted sensor - switch board ambient - from platform.json Signed-off-by: Stephen Sun <[email protected]> * Do not report error on receiving unknown status on RJ45 ports Translate it to disconnect for RJ45 ports Report error for xSFP ports Signed-off-by: Stephen Sun <[email protected]> * Add reinit for RJ45 to avoid exception Signed-off-by: Stephen Sun <[email protected]> Co-authored-by: Stephen Sun <[email protected]> Co-authored-by: Stephen Sun <[email protected]>
Update sonic-gnmi submodule pointer to include the following: * 99bfa8f Remove LOGLEVEL DB since is no longer used ([sonic-net#56](sonic-net/sonic-gnmi#56)) * 6b0253a Add conditional check for split ([sonic-net#55](sonic-net/sonic-gnmi#55)) * ae72767 Add gnmi_dump tool for debug and unit test ([sonic-net#60](sonic-net/sonic-gnmi#60)) * 8226e46 Upgrade pipeline to use bullseye. ([sonic-net#58](sonic-net/sonic-gnmi#58)) Signed-off-by: dprital <[email protected]>
* Upgrade kernel to debian 4.9.110-3+deb9u2 * Upload Jenkins build artifacts to sonicstorage for downloading
[code sync] Merge code from sonic-net/sonic-buildimage:202205 to 202205
[Platform][AS9736-64D]: Fix syncd init failed during system boot-up phase for BRCM community SAI
No description provided.