Why is Zerotier unavailable on X86 CHR?

Hi,

I would like to discuss why Zerotier is unavailable on X86 CHR. According to the forum, there are many people asking for it (e.g. http://forum.mikrotik.com/t/zerotier-packages-for-chr/161590/6)

I know Zerotier could be run in a container on X86, but it doesn’t provide for the same level of integration and ease of use as a native package currently available on ARM and ARM64 only. I can also understand non-ARM routerboard devices (e.g. MIPSBE) don’t have enough flash and/or RAM, but there is usually plenty of it on X86. And it’s true that there are ARM64 VMs (e.g. Apple, Ampere), but as of 2025 the majority of VPS/VDS is still X86.

Technical information to consider:

  • The ARM64 Zerotier package basically contains 2 binaries (zerotier-one, 2.6MB and zerotier, 99KB) and a tun kernel module, 54KB.
  • The former binary is non-Mikrotik. It could be an original zerotier-one compiled for ARM64, or a patched one. The source code of zerotier-one is public, and it’s definitely compilable on X86.
  • The latter binary is vendor-specific. It is a cpp wrapper over zerotier-one and uses the same API as all the rest binaries of RouterOS (nv::Handler, nv::Looper, etc.). I doubt there is any ARM-specific code inside that prevents from compiling on X86.

Given these details, there are no technical issues in providing the Zerotier package for X86, or have I missed anything? In my view, it’s so weird Mikrotik still limits CHR functionality on X86 with no official explanation, or did anyone comment on it?

If it is for marketing purposes, I would reconsider this plan since no ARM/ARM64 routerboard device really competes with a X86 VM. Even if they are interchangeable for someone, Zerotier won’t be the main factor to choose ARM64. But it could be such a factor, if one compares CHR with other systems, whether free or not, since Zerotier is available almost everywhere. And what’s really important, if Zerotier was available on X86 CHR, it would strengthen the whole Mikrotik ecosystem, allowing both hardware and software machines running RouterOS to join secure private networks over the internet in an easy and cost-effective way.

Community, do you think it is fair that Zerotier is unavailable on X86? It would be great if someone from the Mikrotik team could publish their position as well.

P.S. I know there is a difference between X86 and X86_64/X64, but I’m using the notation suggested by MikroTik on the official website. You may read X86 as X64, it barely makes any difference with regards to the topic in question.

You’d probably have to ask Mikrotik directly to get the real reason. Since this is just a user forum, we can only guess, and our opinions probably don’t affect their design decisions anyway.

One plus of running ZeroTier externally is that you get full access to all configuration settings, which are limited when running on ROS.

I would be more optimistic, as it has always been a strong community that contributed to Mikrotik success. Although there is definitely very little feedback from developers, I can see they do listen and implement some features we ask for.

While you are technically right, it’s also a major drawback because you have to manage these settings manually as opposed to the unified approach provided by RouterOS.

With a native Zerotier package I can do routing/filtering over ZT interfaces. It requires much more effort in containers which are also limited in terms of iptables, by the way. And a native package is more reliable, since there is always some probability that a container won’t start after reboot/update (I’ve experienced it dozens of times).

It’s still unclear to me why this awesome package not available for CHR on x86-64 arches. It would clearly meet all of my needs from zerotier. Whom should I ask from Mikrotik team?

In my opinion container is quite inconvinient (especially on ROS, requires some skills which I wish not to develop) and native package is must have.

… while the “tech” of ‘zerotier’ is … NOT … open-source …

… there’s a permanently and predictable ‘squeeze’ in user-capability seen … license-wise …

… L2 over L3 … is a perverted thing … anyways … soo … … hookaa hey !

there is an option to ZeroTier on x86/CHR, but you need to install Container

… opening up the container cask ?? … better be cpt-future-style … netbird.io … … this is the way …

Well, the components that implemented in a ROS package is opensourced and zerotier-one provides x86 packages already.

What do you mean? zerotier package is available from MK for X86 routeros?

Nope. Just saying zerotier corporation already provides version for x86 arches and it will be good if mikrotik will do the package for CHR.

I see. Thanks for the information. I would be great if x86 zerotier package is available for routeros

2 Likes