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

Non-mesh ip network example (IDFGH-6505) #8158

Closed
wants to merge 18 commits into from

Conversation

wizche
Copy link

@wizche wizche commented Dec 28, 2021

This is an attempt to "fix" #7528

EDIT2 (17.01.2021): Well I was completely wrong so here my findings after investigating this more.

Adapting the internal_communication wont work because even if we dont start the DHCP server/client the request are not relayed to the root node and therefore we cannot use the root node as the only DHCP server. As @shenjun7 pointed out Root as the only dhcp server to allocate IP to non-mesh nodes requires a lot of changes, we will update in the future.
Starting a DHCP server on every node is also not feasible since we will have duplicates IP across the (mesh) network.

So basically the only solution I could find is based on my initial idea of adapting ip_internal_network. The idea is to have the entrypoint node (the one where non-mesh device will connect to) to reconfigure its soft-ap part to expose a different SSID.
Specifically I introduce the ap console command that will reconfigure the node in the following way:

  • Reconfigure SoftAP to expose a new SSID that will be used by non-mesh clients
  • Enable DHCP server on SoftAP
  • Enable PNAT on the SoftAP interface (traffic from the non-mesh clients is NATed and forwarded to ST and therefore to the root node)

Even though this works, I experience major connectivity issues, not only from the non-mesh device but from the node themselves. I see packet drops, frame size error (when encapsulating into the mesh packet) and general instability.
You can check the README in nonmesh_ip_internal_network for additional details.

@CLAassistant
Copy link

CLAassistant commented Dec 28, 2021

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.

@espressif-bot espressif-bot added the Status: Opened Issue is new label Dec 28, 2021
@github-actions github-actions bot changed the title Non-mesh ip network example Non-mesh ip network example (IDFGH-6505) Dec 28, 2021
@Alvin1Zhang
Copy link
Collaborator

Thanks for your contribution.

@wizche
Copy link
Author

wizche commented Dec 29, 2021

I kept the nonmesh_ip_internal_network example as lesson learned but if you think this branch will be merged without it I will just remove it (or maybe open another PR just for that?)

@shenjun7
Copy link
Collaborator

Thanks for your contribution on ESP-MESH, we will check your code and give you feedback soon.

@espressif-bot espressif-bot added Status: In Progress Work is in progress and removed Status: Opened Issue is new labels Sep 25, 2023
@zhangyanjiaoesp
Copy link
Collaborator

@wizche Can you please rebase the PR and remove the nonmesh_internal_communication example ?

@espressif-bot espressif-bot added the Status: Reviewing Issue is being reviewed label Feb 27, 2024
@espressif-bot espressif-bot removed the Status: In Progress Work is in progress label Feb 27, 2024
@Sherry616
Copy link
Collaborator

Closing due to lack of reply. Feel free to submit a newer PR if you'd still prefer us to consider these changes. Thanks.

@Sherry616 Sherry616 closed this Apr 22, 2024
@espressif-bot espressif-bot added Status: Done Issue is done internally Resolution: NA Issue resolution is unavailable and removed Status: Reviewing Issue is being reviewed labels Apr 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Resolution: NA Issue resolution is unavailable Status: Done Issue is done internally
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants