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

Determine IPv4 vs IPv6 processing in the UDP entity #2

Open
cliffg-softwarelibre opened this issue Mar 12, 2019 · 1 comment
Open
Labels
bug Something isn't working

Comments

@cliffg-softwarelibre
Copy link
Member

There is a "TODO" in the net_ip/detail/udp_entity_io.hpp file that needs to be analyzed and implemented. The current code only supports IPv4 UDP datagrams, and this needs to be generalized for both IPv4 and IPv6.

@cliffg-softwarelibre cliffg-softwarelibre added bug Something isn't working enhancement New feature or request and removed enhancement New feature or request labels Apr 2, 2019
@cliffg-softwarelibre
Copy link
Member Author

cliffg-softwarelibre commented Jul 20, 2019

The code has been changed so that the UDP socket open is not hard-coded for IPv4. However, there are still unknown (i.e. untested) use cases:

  • When a local port is specified (for read processing), the format or construction of the endpoint determines whether it is IPv4 or IPv6 (if string used for endpoint, the string encoding determines protocol; if passed in as asio endpoint, the construction of the endpoint determines whether it is v4 or v6)
  • When a "write-only" net-entity is created, there is not a local endpoint for binding; the open of the socket uses the default construction endpoint (which is likely v4)
  • What happens when an application wants to send to multiple UDP destinations, first a v4 endpoint, then a v6 endpoint? If the code does not support this, we need to document

@cliffg-softwarelibre cliffg-softwarelibre changed the title Fix ipv4 only hack in the UDP construction Determine IPv4 vs IPv6 processing in the UDP entity Jul 20, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant