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

Remove or define CHIP_CONFIG_ENABLE_EPHEMERAL_UDP_PORT #2216

Closed
woody-apple opened this issue Aug 18, 2020 · 4 comments
Closed

Remove or define CHIP_CONFIG_ENABLE_EPHEMERAL_UDP_PORT #2216

woody-apple opened this issue Aug 18, 2020 · 4 comments
Assignees
Labels
p1 priority 1 work
Milestone

Comments

@woody-apple
Copy link
Contributor

Similar to above, what feature is this for?

Originally posted by @woody-apple in #2206

@issue-label-bot
Copy link

Issue-Label Bot is automatically applying the label feature_request to this issue, with a confidence of 0.81. Please mark this comment with 👍 or 👎 to give our bot feedback!

Links: app homepage, dashboard and code for this bot.

@yufengwangca
Copy link
Contributor

@woody-apple

This is for enabling the use of an ephemeral src port for the UDP endpoint instead of the fixed CHIP port, this would allow multiple exchanges to be made across processes using UDPEndPoints.

In Weave, we have both Nest App and the Google Home App, we need to allow them to run simultaneously. This feature allows multiple simultaneous Weave initiating exchanges over UDP can be made by client apps and all of them would have a different Weave src port.

I think we might need this feature for CHIP at some point, not not likely in CHIP v1.0. Let's me know if you prefer to clean this up at this moment.

@msandstedt
Copy link
Contributor

This is absolutely needed for CHIP.

CHIP clients that wish to talk to multiple server devices should be listening on ephemeral ports. Right now, if you try to instantiate multiple controllers within a client, they all bind to port 11095 which breaks a lot of things.

This workaround is, in part, allowing us to run multiple controller instances at the moment:

diff --git a/src/transport/UDP.h b/src/transport/UDP.h
index f2287588..6e7a923a 100644
--- a/src/transport/UDP.h
+++ b/src/transport/UDP.h
@@ -74,7 +74,7 @@ public:
 private:
     Inet::InetLayer * mLayer         = nullptr;               ///< Associated inet layer
     Inet::IPAddressType mAddressType = kIPAddressType_IPv6;   ///< type of listening socket
-    uint16_t mListenPort             = CHIP_PORT;             ///< UDP listen port
+    uint16_t mListenPort             = 0;             ///< UDP listen port
     InterfaceId mInterfaceId         = INET_NULL_INTERFACEID; ///< Interface to listen on
 };

@woody-apple woody-apple added the p1 priority 1 work label Oct 16, 2020
@yufengwangca yufengwangca self-assigned this Nov 20, 2020
@yufengwangca
Copy link
Contributor

This cleanup work is not needed since whole WML based messaging stack has been removed.

manjunath-grl added a commit to manjunath-grl/connectedhomeip that referenced this issue Sep 9, 2022
woody-apple pushed a commit that referenced this issue Sep 9, 2022
* Modified Manual and automation script
Test_TC_CC_4_5
Test_TC_CC_5_4
Test_TC_CC_7_5
Test_TC_DRLK_2_2
Test_TC_G_3_2
Test_TC_IDM_4_1
Test_TC_LTIME_1_1
Test_TC_LUNIT_1_1
Test_TC_LVL_2_3
Test_TC_LVL_8_1
Test_TC_OPCREDS_3_3
Test_TC_SC_4_7
Test_TC_ULABEL_3_1
Test_TC_OO_1_1
Test_TC_DGTHREAD_1_1
Test_TC_DGTHREAD_2_1

* Auto generated files

* Restyled by whitespace

* Modified DGTHREAD.S.F.00 PICS

* Auto generated files

* Modified CC scripts

* Auto generated files

* Modified scripts Sep 7
Test_TC_BIND_2_3.yaml
Test_TC_CADMIN_1_1.yaml
Test_TC_CADMIN_1_2.yaml
Test_TC_CADMIN_1_7.yaml
Test_TC_CADMIN_1_8.yaml
Test_TC_CADMIN_1_9.yaml
Test_TC_CADMIN_1_10.yaml
Test_TC_CADMIN_1_11.yaml
Test_TC_CADMIN_1_12.yaml
Test_TC_CADMIN_1_13.yaml
Test_TC_CADMIN_1_14.yaml
Test_TC_CADMIN_1_15.yaml
Test_TC_CADMIN_1_16.yaml
Test_TC_CADMIN_1_17.yaml
Test_TC_CADMIN_1_18.yaml
Test_TC_CNET_1_3.yaml
Test_TC_CNET_4_1.yaml
Test_TC_CNET_4_2.yaml
Test_TC_CNET_4_3.yaml
Test_TC_CNET_4_10.yaml
Test_TC_CNET_4_11.yaml
Test_TC_CNET_4_12.yaml
Test_TC_CNET_4_15.yaml
Test_TC_CNET_4_16.yaml
Test_TC_CNET_4_17.yaml
Test_TC_CNET_4_18.yaml
Test_TC_CNET_4_19.yaml
Test_TC_CNET_4_20.yaml
Test_TC_CNET_4_21.yaml
Test_TC_DA_1_1.yaml
Test_TC_DA_1_4.yaml
Test_TC_DA_1_6.yaml
Test_TC_DA_1_7.yaml
Test_TC_DD_1_5.yaml
Test_TC_DD_1_8.yaml
Test_TC_DD_1_9.yaml
Test_TC_DD_1_13.yaml
Test_TC_DD_2_1.yaml
Test_TC_DD_3_1.yaml
Test_TC_DD_3_5.yaml
Test_TC_DD_3_8.yaml
Test_TC_DD_3_9.yaml
Test_TC_DD_3_17.yaml
Test_TC_DD_3_19.yaml
Test_TC_DGGEN_3_1.yaml
Test_TC_DGTHREAD_3_1.yaml
Test_TC_DGTHREAD_3_2.yaml
Test_TC_DGTHREAD_3_3.yaml
Test_TC_DGTHREAD_3_4.yaml
Test_TC_DGWIFI_3_1.yaml
Test_TC_DGWIFI_3_2.yaml
Test_TC_IDM_6_1.yaml
Test_TC_IDM_6_2.yaml
Test_TC_IDM_8_1.yaml
Test_TC_OCC_2_4.yaml
Test_TC_OPCREDS_3_1.yaml
Test_TC_OPCREDS_3_4.yaml
Test_TC_OPCREDS_3_5.yaml
Test_TC_PS_2_2.yaml
Test_TC_PSCFG_2_2.yaml
Test_TC_ULABEL_3_1.yaml
Test_TC_WNCV_5_1.yaml
Test_TC_WNCV_7_1.yaml

* Auto generated files

* Restyled by whitespace

* Modified DGGEN-2.2 Manual script

* Modified CC and DRLK-2.9 script

* Auto generated files

* Fixed issue #2216 and #2219

* Auto generated files

Co-authored-by: Restyled.io <[email protected]>
github-actions bot pushed a commit that referenced this issue Sep 9, 2022
* Modified Manual and automation script
Test_TC_CC_4_5
Test_TC_CC_5_4
Test_TC_CC_7_5
Test_TC_DRLK_2_2
Test_TC_G_3_2
Test_TC_IDM_4_1
Test_TC_LTIME_1_1
Test_TC_LUNIT_1_1
Test_TC_LVL_2_3
Test_TC_LVL_8_1
Test_TC_OPCREDS_3_3
Test_TC_SC_4_7
Test_TC_ULABEL_3_1
Test_TC_OO_1_1
Test_TC_DGTHREAD_1_1
Test_TC_DGTHREAD_2_1

* Auto generated files

* Restyled by whitespace

* Modified DGTHREAD.S.F.00 PICS

* Auto generated files

* Modified CC scripts

* Auto generated files

* Modified scripts Sep 7
Test_TC_BIND_2_3.yaml
Test_TC_CADMIN_1_1.yaml
Test_TC_CADMIN_1_2.yaml
Test_TC_CADMIN_1_7.yaml
Test_TC_CADMIN_1_8.yaml
Test_TC_CADMIN_1_9.yaml
Test_TC_CADMIN_1_10.yaml
Test_TC_CADMIN_1_11.yaml
Test_TC_CADMIN_1_12.yaml
Test_TC_CADMIN_1_13.yaml
Test_TC_CADMIN_1_14.yaml
Test_TC_CADMIN_1_15.yaml
Test_TC_CADMIN_1_16.yaml
Test_TC_CADMIN_1_17.yaml
Test_TC_CADMIN_1_18.yaml
Test_TC_CNET_1_3.yaml
Test_TC_CNET_4_1.yaml
Test_TC_CNET_4_2.yaml
Test_TC_CNET_4_3.yaml
Test_TC_CNET_4_10.yaml
Test_TC_CNET_4_11.yaml
Test_TC_CNET_4_12.yaml
Test_TC_CNET_4_15.yaml
Test_TC_CNET_4_16.yaml
Test_TC_CNET_4_17.yaml
Test_TC_CNET_4_18.yaml
Test_TC_CNET_4_19.yaml
Test_TC_CNET_4_20.yaml
Test_TC_CNET_4_21.yaml
Test_TC_DA_1_1.yaml
Test_TC_DA_1_4.yaml
Test_TC_DA_1_6.yaml
Test_TC_DA_1_7.yaml
Test_TC_DD_1_5.yaml
Test_TC_DD_1_8.yaml
Test_TC_DD_1_9.yaml
Test_TC_DD_1_13.yaml
Test_TC_DD_2_1.yaml
Test_TC_DD_3_1.yaml
Test_TC_DD_3_5.yaml
Test_TC_DD_3_8.yaml
Test_TC_DD_3_9.yaml
Test_TC_DD_3_17.yaml
Test_TC_DD_3_19.yaml
Test_TC_DGGEN_3_1.yaml
Test_TC_DGTHREAD_3_1.yaml
Test_TC_DGTHREAD_3_2.yaml
Test_TC_DGTHREAD_3_3.yaml
Test_TC_DGTHREAD_3_4.yaml
Test_TC_DGWIFI_3_1.yaml
Test_TC_DGWIFI_3_2.yaml
Test_TC_IDM_6_1.yaml
Test_TC_IDM_6_2.yaml
Test_TC_IDM_8_1.yaml
Test_TC_OCC_2_4.yaml
Test_TC_OPCREDS_3_1.yaml
Test_TC_OPCREDS_3_4.yaml
Test_TC_OPCREDS_3_5.yaml
Test_TC_PS_2_2.yaml
Test_TC_PSCFG_2_2.yaml
Test_TC_ULABEL_3_1.yaml
Test_TC_WNCV_5_1.yaml
Test_TC_WNCV_7_1.yaml

* Auto generated files

* Restyled by whitespace

* Modified DGGEN-2.2 Manual script

* Modified CC and DRLK-2.9 script

* Auto generated files

* Fixed issue #2216 and #2219

* Auto generated files

Co-authored-by: Restyled.io <[email protected]>
woody-apple added a commit that referenced this issue Sep 10, 2022
* Modified script Sep 06 (#22410)

* Modified Manual and automation script
Test_TC_CC_4_5
Test_TC_CC_5_4
Test_TC_CC_7_5
Test_TC_DRLK_2_2
Test_TC_G_3_2
Test_TC_IDM_4_1
Test_TC_LTIME_1_1
Test_TC_LUNIT_1_1
Test_TC_LVL_2_3
Test_TC_LVL_8_1
Test_TC_OPCREDS_3_3
Test_TC_SC_4_7
Test_TC_ULABEL_3_1
Test_TC_OO_1_1
Test_TC_DGTHREAD_1_1
Test_TC_DGTHREAD_2_1

* Auto generated files

* Restyled by whitespace

* Modified DGTHREAD.S.F.00 PICS

* Auto generated files

* Modified CC scripts

* Auto generated files

* Modified scripts Sep 7
Test_TC_BIND_2_3.yaml
Test_TC_CADMIN_1_1.yaml
Test_TC_CADMIN_1_2.yaml
Test_TC_CADMIN_1_7.yaml
Test_TC_CADMIN_1_8.yaml
Test_TC_CADMIN_1_9.yaml
Test_TC_CADMIN_1_10.yaml
Test_TC_CADMIN_1_11.yaml
Test_TC_CADMIN_1_12.yaml
Test_TC_CADMIN_1_13.yaml
Test_TC_CADMIN_1_14.yaml
Test_TC_CADMIN_1_15.yaml
Test_TC_CADMIN_1_16.yaml
Test_TC_CADMIN_1_17.yaml
Test_TC_CADMIN_1_18.yaml
Test_TC_CNET_1_3.yaml
Test_TC_CNET_4_1.yaml
Test_TC_CNET_4_2.yaml
Test_TC_CNET_4_3.yaml
Test_TC_CNET_4_10.yaml
Test_TC_CNET_4_11.yaml
Test_TC_CNET_4_12.yaml
Test_TC_CNET_4_15.yaml
Test_TC_CNET_4_16.yaml
Test_TC_CNET_4_17.yaml
Test_TC_CNET_4_18.yaml
Test_TC_CNET_4_19.yaml
Test_TC_CNET_4_20.yaml
Test_TC_CNET_4_21.yaml
Test_TC_DA_1_1.yaml
Test_TC_DA_1_4.yaml
Test_TC_DA_1_6.yaml
Test_TC_DA_1_7.yaml
Test_TC_DD_1_5.yaml
Test_TC_DD_1_8.yaml
Test_TC_DD_1_9.yaml
Test_TC_DD_1_13.yaml
Test_TC_DD_2_1.yaml
Test_TC_DD_3_1.yaml
Test_TC_DD_3_5.yaml
Test_TC_DD_3_8.yaml
Test_TC_DD_3_9.yaml
Test_TC_DD_3_17.yaml
Test_TC_DD_3_19.yaml
Test_TC_DGGEN_3_1.yaml
Test_TC_DGTHREAD_3_1.yaml
Test_TC_DGTHREAD_3_2.yaml
Test_TC_DGTHREAD_3_3.yaml
Test_TC_DGTHREAD_3_4.yaml
Test_TC_DGWIFI_3_1.yaml
Test_TC_DGWIFI_3_2.yaml
Test_TC_IDM_6_1.yaml
Test_TC_IDM_6_2.yaml
Test_TC_IDM_8_1.yaml
Test_TC_OCC_2_4.yaml
Test_TC_OPCREDS_3_1.yaml
Test_TC_OPCREDS_3_4.yaml
Test_TC_OPCREDS_3_5.yaml
Test_TC_PS_2_2.yaml
Test_TC_PSCFG_2_2.yaml
Test_TC_ULABEL_3_1.yaml
Test_TC_WNCV_5_1.yaml
Test_TC_WNCV_7_1.yaml

* Auto generated files

* Restyled by whitespace

* Modified DGGEN-2.2 Manual script

* Modified CC and DRLK-2.9 script

* Auto generated files

* Fixed issue #2216 and #2219

* Auto generated files

Co-authored-by: Restyled.io <[email protected]>

* ZAP restyle

Co-authored-by: manjunath-grl <[email protected]>
Co-authored-by: Restyled.io <[email protected]>
Co-authored-by: raju-apple <[email protected]>
isiu-apple pushed a commit to isiu-apple/connectedhomeip that referenced this issue Sep 16, 2022
* Modified Manual and automation script
Test_TC_CC_4_5
Test_TC_CC_5_4
Test_TC_CC_7_5
Test_TC_DRLK_2_2
Test_TC_G_3_2
Test_TC_IDM_4_1
Test_TC_LTIME_1_1
Test_TC_LUNIT_1_1
Test_TC_LVL_2_3
Test_TC_LVL_8_1
Test_TC_OPCREDS_3_3
Test_TC_SC_4_7
Test_TC_ULABEL_3_1
Test_TC_OO_1_1
Test_TC_DGTHREAD_1_1
Test_TC_DGTHREAD_2_1

* Auto generated files

* Restyled by whitespace

* Modified DGTHREAD.S.F.00 PICS

* Auto generated files

* Modified CC scripts

* Auto generated files

* Modified scripts Sep 7
Test_TC_BIND_2_3.yaml
Test_TC_CADMIN_1_1.yaml
Test_TC_CADMIN_1_2.yaml
Test_TC_CADMIN_1_7.yaml
Test_TC_CADMIN_1_8.yaml
Test_TC_CADMIN_1_9.yaml
Test_TC_CADMIN_1_10.yaml
Test_TC_CADMIN_1_11.yaml
Test_TC_CADMIN_1_12.yaml
Test_TC_CADMIN_1_13.yaml
Test_TC_CADMIN_1_14.yaml
Test_TC_CADMIN_1_15.yaml
Test_TC_CADMIN_1_16.yaml
Test_TC_CADMIN_1_17.yaml
Test_TC_CADMIN_1_18.yaml
Test_TC_CNET_1_3.yaml
Test_TC_CNET_4_1.yaml
Test_TC_CNET_4_2.yaml
Test_TC_CNET_4_3.yaml
Test_TC_CNET_4_10.yaml
Test_TC_CNET_4_11.yaml
Test_TC_CNET_4_12.yaml
Test_TC_CNET_4_15.yaml
Test_TC_CNET_4_16.yaml
Test_TC_CNET_4_17.yaml
Test_TC_CNET_4_18.yaml
Test_TC_CNET_4_19.yaml
Test_TC_CNET_4_20.yaml
Test_TC_CNET_4_21.yaml
Test_TC_DA_1_1.yaml
Test_TC_DA_1_4.yaml
Test_TC_DA_1_6.yaml
Test_TC_DA_1_7.yaml
Test_TC_DD_1_5.yaml
Test_TC_DD_1_8.yaml
Test_TC_DD_1_9.yaml
Test_TC_DD_1_13.yaml
Test_TC_DD_2_1.yaml
Test_TC_DD_3_1.yaml
Test_TC_DD_3_5.yaml
Test_TC_DD_3_8.yaml
Test_TC_DD_3_9.yaml
Test_TC_DD_3_17.yaml
Test_TC_DD_3_19.yaml
Test_TC_DGGEN_3_1.yaml
Test_TC_DGTHREAD_3_1.yaml
Test_TC_DGTHREAD_3_2.yaml
Test_TC_DGTHREAD_3_3.yaml
Test_TC_DGTHREAD_3_4.yaml
Test_TC_DGWIFI_3_1.yaml
Test_TC_DGWIFI_3_2.yaml
Test_TC_IDM_6_1.yaml
Test_TC_IDM_6_2.yaml
Test_TC_IDM_8_1.yaml
Test_TC_OCC_2_4.yaml
Test_TC_OPCREDS_3_1.yaml
Test_TC_OPCREDS_3_4.yaml
Test_TC_OPCREDS_3_5.yaml
Test_TC_PS_2_2.yaml
Test_TC_PSCFG_2_2.yaml
Test_TC_ULABEL_3_1.yaml
Test_TC_WNCV_5_1.yaml
Test_TC_WNCV_7_1.yaml

* Auto generated files

* Restyled by whitespace

* Modified DGGEN-2.2 Manual script

* Modified CC and DRLK-2.9 script

* Auto generated files

* Fixed issue project-chip#2216 and project-chip#2219

* Auto generated files

Co-authored-by: Restyled.io <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
p1 priority 1 work
Projects
None yet
Development

No branches or pull requests

3 participants