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

Support for libslirp #19

Open
balajiv113 opened this issue Apr 25, 2022 · 2 comments
Open

Support for libslirp #19

balajiv113 opened this issue Apr 25, 2022 · 2 comments
Assignees
Labels
enhancement New feature or request
Milestone

Comments

@balajiv113
Copy link
Member

Describe the solution you'd like
Idea is to implement libslirp or equivalent networking model for macvz.

With this implementation, we should be able to resolve issues around vpn connection and at the same time with support for multiple network interface we should be able to provide network access among VMs using NAT or Bridge Network support from Apple Virtualization

A clear and concise description of what you want to happen.

Describe alternatives you've considered

  • Go binding for libslirp - Gives easier integration within our code
  • gvisor-tap-vsock - Example under gvisor branch. One consern is support for arm64 (haven't tested yet)

Additional context
Supporting both the architecture is a important one.

@balajiv113 balajiv113 added the enhancement New feature or request label Apr 25, 2022
@balajiv113 balajiv113 added this to the 0.1.0 milestone Apr 25, 2022
@balajiv113 balajiv113 self-assigned this Apr 25, 2022
@balajiv113
Copy link
Member Author

The following are the results from the spikes done as of now for this,
libslirp
Was able to integrate slirp like network using libslirp-rs cli.

  • Noticed increased cpu utilisation compared to using NAT
  • speedtest results download speed - 250mbps, upload speed - 100mbps

gvisor-tap-vsock
Was able to integrate slirp like network but having issues with respect to https packets. Needs further analysis on this to properly support raw dgram sockets.

  • Better CPU utilisation
  • Golang Integration, we could make use of portfowarding rest API as well

Both these should be tested in mac m1 as well

@balajiv113
Copy link
Member Author

balajiv113 commented Jul 24, 2022

gvisor-tap-vsock
After version upgrade of gvisor, working seemlessly with Virtualization framework.
https://github.com/balajiv113/gvisor-tap-vsock

We will proceed with this integration, as this has direct golang integration and has better performance than libslirp-cli

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant