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

Add support for Freebsd #29

Open
dknecht opened this issue Mar 26, 2019 · 12 comments
Open

Add support for Freebsd #29

dknecht opened this issue Mar 26, 2019 · 12 comments
Assignees

Comments

@dknecht
Copy link
Member

dknecht commented Mar 26, 2019

No description provided.

@decke
Copy link

decke commented Mar 28, 2019

I've created a FreeBSD Port for boringtun and included the patch from PR #35 - seems to build fine on FreeBSD 11.2 and 12.0 but I haven't done any runtime testing yet.

https://code.bluelife.at/decke/ports/src/branch/master/net/boringtun

@vkrasnov
Copy link
Contributor

Cool. Yes it builds but we need to make it work with the CI to have official support. Also I wan to land sendmmsg and recvmmsg before FreeBSD as it provides significant performance benefits there.

@decke
Copy link

decke commented Mar 28, 2019

Don't know if it is an option but cirrus-ci.org has FreeBSD support and is free for open source projects.

@vkrasnov
Copy link
Contributor

The problem is that there are interop tests that interact with wireguard-go in a container, and although there is experimental docker support on FreeBSD, wireguard refuses to work there. But maybe I just need to use a native container.

@lwhsu
Copy link

lwhsu commented Apr 10, 2019

We also have wireguard-go on FreeBSD, although there is no container, it might still be possible to run those test scripts on Cirrus-CI's FreeBSD instance.

@BlameOmar
Copy link

It looks like #35 has stalled for nearly a year and has merge conflicts now. I'm interested in getting this working, but I don't know what's blocking it.

@vkrasnov
Copy link
Contributor

The only thing blocking it is lack of CI server for FreeBSD

@BlameOmar
Copy link

From what I can tell, that's because:

  • The integration tests depend on Docker. Specifically, two methods on Peer execute docker.
  • Docker is not supported on FreeBSD. It's not clear if it ever will be.

Perhaps a path forward would be to assume Docker will never be supported on FreeBSD and factor out the Docker dependency from Peer, using jails on FreeBSD and Docker everywhere else.

If this is fine, I can file a bug for factoring out the Docker dependency and then take a look at a jails implementation ~Saturday. Otherwise, I suppose I can just run a tiny linux VM for kernel-space wireguard.

@vkrasnov
Copy link
Contributor

@BlameOmar it would be awesome to have a jails based test suite

@yjqg6666
Copy link

Docker can be installed by client port and server port. We can also have docker client talk to remote docker running on linux host using "-H tcp://:port" or DOCKER_HOST environment variable.

@schmitmd
Copy link

Docker can be installed by client port and server port. We can also have docker client talk to remote docker running on linux host using "-H tcp://:port" or DOCKER_HOST environment variable.

The upstream docker-machine repo has been deprecated and was archived 3 years ago. I hear Gitlab forked it and maintains something but I'm not sure if it's a good idea to try to use it for new ports..

@yjqg6666
Copy link

https://wiki.freebsd.org/Docker, dockerbox (which runs linux vm via bhyve)can be an alternative.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

7 participants