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

Change to prefer IPv6 link local address #27981

Merged
merged 1 commit into from
Jul 20, 2023

Conversation

yhoyoon
Copy link
Contributor

@yhoyoon yhoyoon commented Jul 17, 2023

The IPv6 LLA of the Commissioner is almost always valid. On the other hand, Commissioner's ULA updates sometimes don't work well, so it's very rare that there is no ULA.
At this time, the Commissioner mDNS resolves IPv6 addresses through Commissionable Node Discovery,

  • If it selects ULA address, "Network is unreachable" error occurs.
  • If it selects LLA address, it works well.

Through IPv6 source address selection,

  • If IPv6 destination address is LLA, source address is selected as LLA.
  • If IPv6 destination address is ULA, source address is selected as ULA.

The solution is simple. The Commissioner should prefer IPv6 LLA over ULA among mDNS resolved IPv6 addresses. The same problem occurred on android and darwin platforms, and it is possible that this problem is common to all platforms. So it's better to fix that for all platforms.

The IPv6 LLA of the Commissioner is almost always valid. On the other
hand, Commissioner's ULA updates sometimes don't work well, so it's very
rare that there is no ULA.
At this time, the Commissioner mDNS resolves IPv6 addresses through
Commissionable Node Discovery,
- If it selects ULA address, "Network is unreachable" error occurs.
- If it selects LLA address, it works well.
Through IPv6 source address selection,
- If IPv6 destination address is LLA, source address is selected as LLA.
- If IPv6 destination address is ULA, source address is selected as ULA.
The solution is simple. The Commissioner should prefer IPv6 LLA over ULA
among mDNS resolved IPv6 addresses. The same problem occurred on android
and darwin platforms, and it is possible that this problem is common to
all platforms. So it's better to fix that for all platforms.

Signed-off-by: Youngho Yoon <34558998+yhoyoon@users.noreply.github.com>
@woody-apple
Copy link
Contributor

@andy31415 to take a peek.

@mergify mergify bot merged commit 39ecece into project-chip:master Jul 20, 2023
@yhoyoon yhoyoon deleted the feature/contribution-inet branch July 20, 2023 23:33
erwinpan1 pushed a commit to erwinpan1/connectedhomeip that referenced this pull request Jul 21, 2023
The IPv6 LLA of the Commissioner is almost always valid. On the other
hand, Commissioner's ULA updates sometimes don't work well, so it's very
rare that there is no ULA.
At this time, the Commissioner mDNS resolves IPv6 addresses through
Commissionable Node Discovery,
- If it selects ULA address, "Network is unreachable" error occurs.
- If it selects LLA address, it works well.
Through IPv6 source address selection,
- If IPv6 destination address is LLA, source address is selected as LLA.
- If IPv6 destination address is ULA, source address is selected as ULA.
The solution is simple. The Commissioner should prefer IPv6 LLA over ULA
among mDNS resolved IPv6 addresses. The same problem occurred on android
and darwin platforms, and it is possible that this problem is common to
all platforms. So it's better to fix that for all platforms.

Signed-off-by: Youngho Yoon <34558998+yhoyoon@users.noreply.github.com>
jadhavrohit924 pushed a commit to jadhavrohit924/connectedhomeip that referenced this pull request Aug 14, 2023
The IPv6 LLA of the Commissioner is almost always valid. On the other
hand, Commissioner's ULA updates sometimes don't work well, so it's very
rare that there is no ULA.
At this time, the Commissioner mDNS resolves IPv6 addresses through
Commissionable Node Discovery,
- If it selects ULA address, "Network is unreachable" error occurs.
- If it selects LLA address, it works well.
Through IPv6 source address selection,
- If IPv6 destination address is LLA, source address is selected as LLA.
- If IPv6 destination address is ULA, source address is selected as ULA.
The solution is simple. The Commissioner should prefer IPv6 LLA over ULA
among mDNS resolved IPv6 addresses. The same problem occurred on android
and darwin platforms, and it is possible that this problem is common to
all platforms. So it's better to fix that for all platforms.

Signed-off-by: Youngho Yoon <34558998+yhoyoon@users.noreply.github.com>
andy31415 pushed a commit that referenced this pull request Aug 21, 2023
The IPv6 LLA of the Commissioner is almost always valid. On the other
hand, Commissioner's ULA updates sometimes don't work well, so it's very
rare that there is no ULA.
At this time, the Commissioner mDNS resolves IPv6 addresses through
Commissionable Node Discovery,
- If it selects ULA address, "Network is unreachable" error occurs.
- If it selects LLA address, it works well.
Through IPv6 source address selection,
- If IPv6 destination address is LLA, source address is selected as LLA.
- If IPv6 destination address is ULA, source address is selected as ULA.
The solution is simple. The Commissioner should prefer IPv6 LLA over ULA
among mDNS resolved IPv6 addresses. The same problem occurred on android
and darwin platforms, and it is possible that this problem is common to
all platforms. So it's better to fix that for all platforms.

Signed-off-by: Youngho Yoon <34558998+yhoyoon@users.noreply.github.com>
Co-authored-by: Youngho Yoon <34558998+yhoyoon@users.noreply.github.com>
yhoyoon added a commit to yhoyoon/connectedhomeip that referenced this pull request Aug 28, 2023
The project-chip#27981 PR was merged, but it didn't follow IpScore's comments.

// IP addess "suitability"
//   - Larger value means "more suitable"
//   - Enum ordered ascending for easier read. Note however that order of
//     checks MUST match in ScoreIpAddress below.
enum class IpScore : unsigned

This change matches the order of ScoreIpAddress with the order of
IpScore enum.

Signed-off-by: Youngho Yoon <34558998+yhoyoon@users.noreply.github.com>
yhoyoon added a commit to yhoyoon/connectedhomeip that referenced this pull request Aug 29, 2023
The project-chip#27981 PR was merged, but it didn't follow IpScore's comments.

// IP addess "suitability"
//   - Larger value means "more suitable"
//   - Enum ordered ascending for easier read. Note however that order of
//     checks MUST match in ScoreIpAddress below.
enum class IpScore : unsigned

This change matches the order of ScoreIpAddress with the order of
IpScore enum.

Signed-off-by: Youngho Yoon <34558998+yhoyoon@users.noreply.github.com>
mergify bot pushed a commit that referenced this pull request Aug 29, 2023
The #27981 PR was merged, but it didn't follow IpScore's comments.

// IP addess "suitability"
//   - Larger value means "more suitable"
//   - Enum ordered ascending for easier read. Note however that order of
//     checks MUST match in ScoreIpAddress below.
enum class IpScore : unsigned

This change matches the order of ScoreIpAddress with the order of
IpScore enum.

Signed-off-by: Youngho Yoon <34558998+yhoyoon@users.noreply.github.com>
HunsupJung pushed a commit to HunsupJung/connectedhomeip that referenced this pull request Oct 23, 2023
The project-chip#27981 PR was merged, but it didn't follow IpScore's comments.

// IP addess "suitability"
//   - Larger value means "more suitable"
//   - Enum ordered ascending for easier read. Note however that order of
//     checks MUST match in ScoreIpAddress below.
enum class IpScore : unsigned

This change matches the order of ScoreIpAddress with the order of
IpScore enum.

Signed-off-by: Youngho Yoon <34558998+yhoyoon@users.noreply.github.com>
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