Hi,

der netpower_16p rennt auf ARM 32bit Architektur, wie auch die lhg_60g Antenne. 
Dafür habe ich heute auch einen Container gebaut und erfolgreich getestet.

Download-Links siehe vorheriger Post auf der Mailingliste [1] bzw. im Forum [2].

Viel Spaß beim Testen damit!

LG Christoph

[1] https://lists.funkfeuer.at/pipermail/wien/2021-October/013843.html
[2] 
https://forum.funkfeuer.at/t/mikrotik-routeros-v7-1rc3-adds-docker-tm-compatible-container-support-olsrd-container/677/3

Am 12.10.2021 um 22:13 schrieb Alexander Biringer:
Hi,

sehr interessant, hast Du das auch schon mal auf einem 
https://mikrotik.com/product/netpower_16p probiert?

Der Router hat doch etwas mehr Power als die EdgePoints und ich verwende die gerne 
als ,,Switch" auf den Masten und gehe dann weiter zu EdgeRoutern zb. Den 
Edgerouter 12 (wegen dem Speed wärs nur). Ich vermute dass Mikrotik hier mehr 
Performance schaffen könnte.

Lg

Alex

-----Ursprüngliche Nachricht-----
Von: Wien <wien-boun...@lists.funkfeuer.at> Im Auftrag von Christoph Loesch
Gesendet: Montag, 11. Oktober 2021 00:29
An: wien@lists.funkfeuer.at
Betreff: Re: [Wien] Mikrotik RouterOS v7.1rc3 adds Docker (TM) compatible 
container support -> OLSRd container for mipsbe?

Hi,

mittlerweile habe ich es (mit Unterstützung[1] aus dem Mikrotik Forum) 
geschafft einen Docker Container mit OLSRd für den RB960PGS (mipsbe) zu bauen.

Vorerst muss, wie in der Dokumentation beschrieben[2], auf dem Mikrotik Gerät mindestens 
RouterOS Version 7.1rc3 laufen und das "container" package installiert sein.
Dann braucht es eine bridge und ein virtuelles ethernet interface:
/interface/bridge/add name=docker
/ip/address/add address=172.17.0.1/16 interface=docker /interface/bridge/port 
add bridge=docker interface=veth1

Grundsätzlich habe ich dafür ein OpenWRT rootfs für mipsbe [3] genommen, OLSRd 
darauf installiert/konfiguriert und die olsrd-binary samt config davon für 
einen eigenen Container kopiert.
(In der /etc/olsrd/olsrd.conf muss auf jeden fall das Interface eth0 definiert 
werden.)

Das Dockerfile sieht wie folgt aus:
FROM scratch
ADD ./ /
EXPOSE 698
USER root
CMD ["/bin/sh","/init.sh"]

Das init.sh Script zum Starten sieht so aus:
#!/bin/sh
# Docker automatically assignes an IP address on eth0 but OLSRd requires the # 
user-wanted IP address to be used as first primary main IP address.
# So remove the Docker assigned IP and set the user-wanted IP/mask.
# But because Docker will not start the container without its IP, we have to # 
add it back again later on after setting the user-wanted IP/mask.
DOCKER_ASSIGNED_IP=$(/bin/busybox ip -4 addr show eth0 | /bin/busybox awk 
'/inet/{print $2}') /bin/busybox ip addr del $DOCKER_ASSIGNED_IP dev eth0 
/bin/busybox ip addr add $OLSRD_IP dev eth0 /bin/busybox ip addr add 
$DOCKER_ASSIGNED_IP dev eth0 /usr/sbin/olsrd

Bauen kann man so den Container aus dem OpenWRT rootfs, auf jedem beliebigen 
System wo Docker installiert ist (der Architektur-Tag wird von RouterOS 
offensichtlich ignoriert):
docker build -t olsrd . && docker save olsrd > olsrd.tar

Das tar-file kann man dann auf den Mikrotik Router kopieren und mit folgenden 
Befehlen starten:
/container/envs/add list=olsrd name=OLSRD_IP value=193.238.158.13/32 
/container/add file=olsrd.tar interface=veth1 logging=yes envlist=olsrd 
/container/start number=0

/container/print
   0 file=olsrd.tar name="6147d0b5-5c9e-43b1-be42-76b735ec2939" tag="olsrd:latest" os="linux" arch="amd64" 
interface=veth1 envlist="olsrd" mounts="" dns="" logging=yes status=running

Auf Basis dieser Informationen lassen sich somit OLSRd-Container für jedes 
beliebige Mikrotik Gerät bauen...

LG Christoph

[1] https://forum.mikrotik.com/viewtopic.php?p=884326#p883341
[2] https://help.mikrotik.com/docs/display/ROS/Container
[3] https://hub.docker.com/r/openwrtorg/rootfs/tags?name=mips_24kc-21.02.0

Am 01.10.2021 um 01:28 schrieb Christoph Loesch:
Hi,

Mikrotik hat kürzlich Docker support in ihre aktuellste RouterOS
(development-)version hinzugefügt! [1] Da liegt es doch Nahe, einen
container mit OLSR dafür zu bauen.. ;)

Soweit mir bekannt ist, sind die RB960PGS(-PB) [2] die einzigen beiden
Mikrotik *Router*, die Gigabit fähig sind und PoE Out auf mehreren Ports 
bieten. [3] Nachdem der RB960PGS (bzw. RB960PGS-PB) dem Ubiquiti 
EdgeRouter-X-SFP (bzw. EdgePoint-R6) ähnlich ist, versuche ich daher einen 
docker container mit OLSR dafür zu bauen.
Dieser Router arbeitet auf MIPS (big endian) Architektur und braucht somit 
einen passenden container für mipsbe.

OLSRd für mipsbe crosscompilen ist offensichtlich (relativ einfach) machbar und 
rennt bereits auf so manchen MIPSBE-EdgeRoutern in unserem Netz.
Aber einen MIPSBE Host mit Docker zu realisieren scheint derzeit nicht so 
einfach zu sein, bzw. sind Informationen dazu spärlich um container für MIPSBE 
zu bauen.
Ich konnte zwar auf einem ER-X-SFP (MIPS little endian) mit OpenWRT 21.02 
Docker installieren und habe darauf einen container mit OLSRd gebaut aber das 
rennt eben nur auf MIPSEL/MIPSLE.
Habe daher versucht den gleichen container, nur eben mit MIPSBE binaries/libs, 
zu bauen aber dieser container startet leider nicht im RouterOS.
Leider gibt es weder Fehlermeldung noch irgendeine Log-Ausgabe, ich habe meine 
Erfahrungen auch im Mikrotik Forum [4] beschrieben.

Vielleicht interessiert das Thema hier noch jemanden bzw. hat jemand Erfahrung 
mit dem Bau von docker containern für MIPS(be) und hat Ideen wie man das 
debuggen oder sogar zum Laufen bringen könnte.
Würde mich sehr freuen wenn wir es schaffen OLSR in einem docker container auf 
RouterOS zum Laufen zu bringen!

LG Christoph

[1] https://forum.mikrotik.com/viewtopic.php?t=178341 bzw.
https://forum.mikrotik.com/viewtopic.php?f=1&t=178342
[2] https://mikrotik.com/product/RB960PGS bzw.
https://mikrotik.com/product/RB960PGS-PB
[3] 
https://mikrotik.com/products?filter&s=c&r={%22poe_out_ports%22:{%22s%22:%224%22,%22e%22:%2248%22}}#!
[4]
https://forum.mikrotik.com/viewtopic.php?f=1&t=178342&p=882645#p882645


--
Wien mailing list
Wien@lists.funkfeuer.at
https://lists.funkfeuer.at/mailman/listinfo/wien

--
This email was Anti Virus checked by Sophos Security Gateway with Sandbox 
technology. https://www.biricon.eu/page/produkte-sophos

--
Wien mailing list
Wien@lists.funkfeuer.at
https://lists.funkfeuer.at/mailman/listinfo/wien

Antwort per Email an