I’ve just installed Docker for testing pourposes (not to run openHAB, which I already had installed natively), and since then, I’ve noticed arping doesn’t work, because it tries to use docker created interfaces:
openhab 9909 31013 0 13:19 ? 00:00:00 arping -w 5 -c 1 -I docker0 192.168.0.84
I suppose that openHAB uses the first interface alphabetically, which was eth0 until Docker created docker0.
Is this correct? Is there a way to fix it?
Are you running OH with --net=host?
I’m running OH in Docker but not using arping yet (haven’t gotten around to it). I’ve experimented on the command line from inside the container and for me there is no eth0 device. There is only docker0. And when I run it from the command line it uses docker0 by default.
No, I’m running OH with Java, without containers. I just installed Docker and on the host where I run OH and I just had eth0 and lo interfaces, now I also have a docker0 interface, which is the one picked by OH for arping.
Ah, OK, that’s different. I’ve no ideas.
Perhaps if you experiment with the settings under Configuration -> System -> Network you can get it to work. If not, I recommend filing an issue on the openhab2-addons repo.
I’ve checked the code and it seems that OH performs arping on each interface.
So, even if on Docker interfaces it doesn’t work, it is still working for eth0.