Reason for removing macvlan support


Does anyone on the Balena team recall the reason that macvlan support was removed?

I have merged macvlan support back into balena-engine (my fork on Github) and run some basic tests to prove that it works. But I assume that there was a good reason for it to be removed; it would be great to understand the reason in case there is some underlying problem that could affect my application.

Can anyone remember the history?

There is some reference to the removal here but the reason is still not clear to me: balenaOS on RPI 3B+ need to assign docker a macvlan (DHCP) that is visible on local network

Many thanks

Hi the reason for the removal is that we try to keep the binary size of balenaEngine to a minimum. I haven’t checked for how much the macvlan support in libnetwork accounts for but if it isn’t much I have nothing against adding it back in.

That would probably have to wait for the next major release, that pulls in docker 19.03 features, see

If you’re interested in that please open an issue here:

Hi Robert,

That’s great, thanks a lot for the quick reply. It’s reassuring to hear that it’s related to image size rather than some fundamental incompatibility with balena-engine.

I’ve opened a pull request on balena-engine with my changes, which are basically just the macvlan (and overlay) files before they were removed, and a warning removed from the macvlan test .go file.

Many thanks, very helpful.

Thanks for your contribution @travelina.