-
Notifications
You must be signed in to change notification settings - Fork 55
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
Redefining vnet
#207
Comments
Hi @enobufs, thanks for starting the discussion!
While I am still relatively new to Pion, I am planning to start contributing more to the stun, turn, ice and transport packages as I need those for my own project.
I am not too sure about whether it really needs its own package as I am wondering what will remain in the transport package?
In my opinion, it should match 100 % the API of the standard There are some features missing to make this happen. In my PR #204, I introduced a new Interface with two new implementations ( However, I think there are also a few more platform specific features around networking, which this package should provide. On a side note: I am the author of Gont which has similar goals as the original |
Hello @stv0g - my apologies for late reply.
This is great! Your project Gont looks very interesting. I can see if this work allows us to use both of these tools, it would be a big win for the developers.
I felt vnet solution deserve a dedicated repo but not strongly.
This sounds very good.
Agreed. It's been a desired feature in vnet. Do you have any good idea or tool to support TCP in vnet? Otherwise, I'd considering using pion/sctp to emulate TCP. For vnet, simulating network impairment and NAT behavior in the unit tests were the main focus and emulation of performance could be less in priority. (I think performance aspect could be evaluated by a real kernel space solution like your Gont.) Let me review #204. If you'd agree, we could aim for pion/transport v2, and I am hoping that you could lead this project for us to get there. I'll do my best to support this! |
Yes, Google's gVisor project has a Userspace TCP implementation which we probably can use: https://github.com/google/gvisor/tree/master/pkg/tcpip |
@Sean-Der @stv0g @Antonito and anyone who cares about "vnet":
I feel
vnet
package should evolve with a fresh eye. From what it is potentially capable of and how broadly its features/updates could affect other packages or even other projects, it may deserve a dedicated repository with its own versions.The primary focus of this 'vnet' package was #13, for testing complex NAT traversal (UDP hole punching) scenarios for ICE (for which it worked pretty well, found many bugs!), then people's expectations has grown, current API does not seem to be sufficient enough to match the needs.
I'd really hope there would be more contributors to this feature. Drawing more attention from pion community for a new design may lead us to a better place, with healthier sense of ownership of the feature. So, why don't we start with discussing what new version of
vnet
should look like?Things to think about:
Relates to #141, #27, #34, #168
The text was updated successfully, but these errors were encountered: