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

build_debian: Disable IPv6 DAD #56

Merged
merged 1 commit into from
Nov 3, 2016
Merged

build_debian: Disable IPv6 DAD #56

merged 1 commit into from
Nov 3, 2016

Conversation

stcheng
Copy link
Contributor

@stcheng stcheng commented Nov 3, 2016

No description provided.

@@ -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
Copy link
Collaborator

Choose a reason for hiding this comment

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

Also in playbook?

Copy link
Collaborator

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.

@lguohan
Copy link
Collaborator

lguohan commented Nov 3, 2016

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.

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 more description for this commit.

@stcheng
Copy link
Contributor Author

stcheng commented Nov 3, 2016

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.

@stcheng
Copy link
Contributor Author

stcheng commented Nov 3, 2016

Please take a look at the description above and I will add this to the commit messages after review.

@stcheng stcheng merged this pull request into sonic-net:master Nov 3, 2016
stcheng pushed a commit that referenced this pull request Nov 3, 2016
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.
@stcheng stcheng deleted the dad branch November 3, 2016 19:17
stcheng pushed a commit that referenced this pull request Mar 22, 2017
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.
Kalimuthu-Velappan pushed a commit to Kalimuthu-Velappan/sonic-buildimage that referenced this pull request Sep 12, 2019
* return empty table when there is no port
* refactor the get_port_status function
samaity pushed a commit to samaity/sonic-buildimage that referenced this pull request Mar 6, 2020
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.
abdosi added a commit that referenced this pull request Jun 16, 2020
[syseepromd] Prevent the syseepromd from termination (#56)
 [thermalctld] Fix invalid warning status (#58)
mlok-nokia pushed a commit to mlok-nokia/sonic-buildimage that referenced this pull request Jan 24, 2022
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.
SuvarnaMeenakshi pushed a commit to SuvarnaMeenakshi/sonic-buildimage that referenced this pull request Mar 16, 2022
zjswhhh added a commit that referenced this pull request May 2, 2022
[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]
prgeor pushed a commit that referenced this pull request Jun 21, 2022
…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]>
Pterosaur added a commit to Pterosaur/sonic-buildimage that referenced this pull request Jun 27, 2022
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]>
Pterosaur added a commit that referenced this pull request Jun 28, 2022
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]>
yxieca pushed a commit that referenced this pull request Jun 28, 2022
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]>
yxieca pushed a commit that referenced this pull request Jul 28, 2022
…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]>
skbarista pushed a commit to skbarista/sonic-buildimage that referenced this pull request Aug 17, 2022
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]>
skbarista pushed a commit to skbarista/sonic-buildimage that referenced this pull request Aug 17, 2022
…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]>
dprital added a commit to dprital/sonic-buildimage that referenced this pull request Nov 28, 2022
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]>
vivekrnv referenced this pull request in vivekrnv/sonic-buildimage Apr 28, 2023
* Upgrade kernel to debian 4.9.110-3+deb9u2
* Upload Jenkins build artifacts to sonicstorage for downloading
mlok-nokia pushed a commit to mlok-nokia/sonic-buildimage that referenced this pull request Jun 5, 2024
[code sync] Merge code from sonic-net/sonic-buildimage:202205 to 202205
MuLinForest pushed a commit to MuLinForest/sonic-buildimage that referenced this pull request Aug 6, 2024
[Platform][AS9736-64D]: Fix syncd init failed during system boot-up phase for BRCM community SAI
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