Skip to content

Commit faffa65

Browse files
committed
Fix MRP SessionIdleInterval per spec to 500ms
Spec has the default SESSION_IDLE_INTERVAL defined as 500ms https://github.com/CHIP-Specifications/connectedhomeip-spec/blob/1.2/src/secure_channel/Message_Reliability_MRP.adoc#8-parameters-and-constants Originally defined as 300ms, this change was introduced as part of spec PR CHIP-Specifications/connectedhomeip-spec#7186
1 parent 598356c commit faffa65

File tree

4 files changed

+5
-5
lines changed

4 files changed

+5
-5
lines changed

src/app/tests/suites/certification/Test_TC_SC_4_10.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ tests:
4242
verification: |
4343
avahi-browse -rt _matter._tcp
4444
On the TH(Chip-tool) Log: Verify the DUT is advertising for:
45-
-SII key is higher than the SLEEPY_IDLE_INTERVAL default value (> 300 milliseconds)
45+
- SII key is higher than the SLEEPY_IDLE_INTERVAL default value (> 500 milliseconds)
4646
- SII key and SAI key is less than 3600000 (1hour in milliseconds)
4747
4848
+ eth0 IPv6 3A235FF3FA2DAC10-0000000000000055 _matter._tcp local

src/messaging/ReliableMessageProtocolConfig.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -60,8 +60,8 @@ void ClearLocalMRPConfigOverride()
6060

6161
ReliableMessageProtocolConfig GetDefaultMRPConfig()
6262
{
63-
// Default MRP intervals are defined in spec <2.11.3. Parameters and Constants>
64-
static constexpr const System::Clock::Milliseconds32 idleRetransTimeout = 300_ms32;
63+
// Default MRP intervals are defined in spec <4.12.8. Parameters and Constants>
64+
static constexpr const System::Clock::Milliseconds32 idleRetransTimeout = 500_ms32;
6565
static constexpr const System::Clock::Milliseconds32 activeRetransTimeout = 300_ms32;
6666
static constexpr const System::Clock::Milliseconds16 activeThresholdTime = 4000_ms16;
6767
return ReliableMessageProtocolConfig(idleRetransTimeout, activeRetransTimeout, activeThresholdTime);

src/messaging/ReliableMessageProtocolConfig.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ namespace chip {
8484
#if CHIP_ENABLE_OPENTHREAD && !CHIP_DEVICE_LAYER_TARGET_LINUX
8585
#define CHIP_CONFIG_MRP_LOCAL_IDLE_RETRY_INTERVAL (800_ms32)
8686
#else
87-
#define CHIP_CONFIG_MRP_LOCAL_IDLE_RETRY_INTERVAL (300_ms32)
87+
#define CHIP_CONFIG_MRP_LOCAL_IDLE_RETRY_INTERVAL (500_ms32)
8888
#endif
8989
#endif // CHIP_CONFIG_MRP_LOCAL_IDLE_RETRY_INTERVAL && !CHIP_DEVICE_LAYER_TARGET_LINUX
9090

src/messaging/tests/MessagingContext.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ class MessagingContext : public PlatformMemoryUser
7878
enum MRPMode
7979
{
8080
kDefault = 1, // This adopts the default MRP values for idle/active as per the spec.
81-
// i.e IDLE = 4s, ACTIVE = 300ms
81+
// i.e IDLE = 500ms, ACTIVE = 300ms
8282

8383
kResponsive = 2, // This adopts values that are better suited for loopback tests that
8484
// don't actually go over a network interface, and are tuned much lower

0 commit comments

Comments
 (0)