supernomad / quantum

A lightweight, encrypted, WAN oriented, software defined network device.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

OS Support

supernomad opened this issue · comments

quantum needs to support more operating systems than just linux. However it is highly unlikely that quantum will ever support multiple architectures, and will continue to just focus on amd64/x86_64.

Current target OS's are:

  • FreeBSD
  • OpenBSD
  • Darwin
  • Solaris (Only If Possible)
  • Windows (Only If Possible)

Did some quick testing to see just how much work would be required to get BSD based systems working and it is unfortunately a lot of work. A few key things will need to be updated and changed:

  • The netlink library needs to be wrapped and capable of being changed based on the OS, as the current netlink library vishvananda/netlink only supports linux which was expected.
  • The device module will need to be reworked to support different IOCTL formats and constants.
  • The socket module will need to be reworked to support different syscall constants.
  • The DTLS library in the crypto module needs to be reworked to support different LDFLAGS for the various OSes.
  • The Makefile needs to be reworked to be fully POSIX compliant.

Thankfully openssl compiles just fine, which would have been a deal breaker if it didn't. This was expected but at the same time is a relief to know for sure.