-
Notifications
You must be signed in to change notification settings - Fork 1.9k
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
Plumb Peer DNS-SD advertisement for TCP support into SessionSetup context #30392 #33481
base: master
Are you sure you want to change the base?
Conversation
Update local master
Update local master
update local master
Update local-master
update local-master
Update local master
Update local-master
update local master
update local-master
update local master
PR #33481: Size comparison from 219e198 to 274c135 Increases (66 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, mbed, nxp, psoc6, qpg, stm32, telink)
Decreases (3 builds for bl702l, linux)
Full report (66 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, mbed, nxp, psoc6, qpg, stm32, telink)
|
PR #33481: Size comparison from 219e198 to 3617481 Increases (3 builds for cc32xx, stm32)
Full report (3 builds for cc32xx, stm32)
|
PR #33481: Size comparison from 219e198 to c61be5c Increases (69 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, mbed, nrfconnect, nxp, psoc6, qpg, stm32, telink)
Decreases (3 builds for bl702l, linux)
Full report (69 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, mbed, nrfconnect, nxp, psoc6, qpg, stm32, telink)
|
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.
Changes requested mainly for the stamping of the transport type on the address....
update local master
Local master
PR #33481: Size comparison from 4c6e8bc to 1373fb4 Increases (69 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, mbed, nrfconnect, nxp, psoc6, qpg, stm32, telink)
Decreases (3 builds for bl702l, linux)
Full report (69 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, mbed, nrfconnect, nxp, psoc6, qpg, stm32, telink)
|
PR #33481: Size comparison from 4c6e8bc to a76de01 Increases (83 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, mbed, nrfconnect, nxp, psoc6, qpg, stm32, telink)
Decreases (3 builds for bl702l, linux)
Full report (83 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, mbed, nrfconnect, nxp, psoc6, qpg, stm32, telink)
|
PR #33481: Size comparison from 4c6e8bc to bc9c12d Increases above 0.2%:
Increases (83 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, mbed, nrfconnect, nxp, psoc6, qpg, stm32, telink)
Decreases (4 builds for bl702l, linux)
Full report (83 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, mbed, nrfconnect, nxp, psoc6, qpg, stm32, telink)
|
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.
Approved with one minor comment.
@@ -195,8 +195,9 @@ void OperationalSessionSetup::Connect(Callback::Callback<OnDeviceConnected> * on | |||
Connect(onConnection, nullptr, onSetupFailure, transportPayloadCapability); | |||
} | |||
|
|||
void OperationalSessionSetup::UpdateDeviceData(const Transport::PeerAddress & addr, const ReliableMessageProtocolConfig & config) |
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.
Since the peerAddress is part of the ResolveResult, the latter can be the only argument to UpdateDeviceData() now.
{ | ||
auto config = result.mrpRemoteConfig; |
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.
auto config = result.mrpRemoteConfig; | |
auto & config = result.mrpRemoteConfig; |
unless we are trying to make a copy, which we are not.
// TODO: Combine LargePayload flag with DNS-SD advertisements from peer. | ||
// Issue #32348. |
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.
Should this TODO comment still be here?
{ | ||
auto config = result.mrpRemoteConfig; |
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.
auto config = result.mrpRemoteConfig; | |
auto & config = result.mrpRemoteConfig; |
#if INET_CONFIG_ENABLE_TCP_ENDPOINT | ||
// TODO: Combine LargePayload flag with DNS-SD advertisements from peer. | ||
// Issue #32348. | ||
if (mTransportPayloadCapability == TransportPayloadCapability::kLargePayload) | ||
if (mTransportPayloadCapability == TransportPayloadCapability::kLargePayload && result.supportsTcpServer && | ||
result.supportsTcpClient) |
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.
Why do we care whether it supports TCP client? We're going to be the client; as long as it supports server we are fine, no?
Currently, the TCP support advertisement from the peer is not correctly consumed and stored. This needs to be parsed properly during operational session setup and stored in the session context(given that the TCP support advertisement is a bit field in the 1.3 spec). This would be used to set the PeerAddress type to TCP or otherwise, when attempting to establish CASE with the peer.
Fixes #29539