V7.22rc [testing] is released!

What's new in 7.22rc2 (2026-Feb-17 10:13):

  • app - changed ui-url parameter for Smokeping and Nextcloud;
  • app - fixed CHR reverse proxy entry using the wrong IP address (introduced in v7.22beta3);
  • app - fixed issue with Cinny not being able to create a root-dir;
  • bridge - added local and static MAC synchronization for MLAG (additional fixes);
  • certificate - added support for multiple ACME certificates (additional fixes);
  • container - fixed issue where the container may not start after upgrading if root-dir was not set;
  • container - improved error message if container fails to start;
  • defconf - fixed L009 configuration (introduced in v7.21);
  • iot - added Bluetooth extended scanning and 1M/2M PHY support for the RB924i KNOT devices;
  • iot - added Bluetooth extended scanning, advertising, and 1M/2M/CODED PHY support for EC25 KNOT devices;
  • ipsec - removed modp8192 proposal on MIPS architectures;
  • l2tp - improved system stability on TILE architecture;
  • l3hw - improved system stability on device shutdown/reboot;
  • lte - added subscriber number to monitor command for MBIM modems (additional fixes);
  • lte - fixed crash on LTE passthrough interface deactivation;
  • lte - fixed firmware upgrade for EC25-EU&KNe (introduced in v7.22rc1);
  • wifi - improved support for 802.11be access points (additional fixes);
  • winbox - added local table, mangle action and VRF setting under "Routing/Rule" menu;
  • winbox - fixed empty "Realm Raw" value processing and value inheritance from configuration template (requires WinBox 4);

The routing freeze issue keeps happening, and I captured it on video exactly when it occurred and suddenly recovered. You can check it out on ticket SUP-209164.

How about the BGP-VPN4 redistribute issue with multihop BGP? Will it be included in the 7.22 final release? I see it's fixed since 7.23_ab319

There is a problem with establishment of BGP sessions after a reboot!!!

When one side has only “Connect” and the other side only has “Listen”, sessions log a line like this on the “Connect” side:

route,bgp,info connection 44.137.61.2:179 from 44.137.61.1:179

It is as if the remote (listening) side is connecting back. I enabled the “Listen” on the connect side which seemed to help on a system where I encountered this before, but it keeps happening and the connection does not complete.

When I downgraded to beta5 by switching partitions, most connections came back but one now was logging:

gw-44-137-1 {l_addr: 44.137.61.2, r_addr: 44.137.61.1} Starter {openOk: true} Received Notification [ code: (6,7), msg: (cease: connection collision resolution)]

I had to disable the connection at both ends and re-enable it to get things going again.

One thing that is apparent is that on older versions, when the router is rebooted the peer would log either “cease: peer de-configured” or “cease: administrative shutdown” and this no longer happens. So the peer is already confused when the rebooted router re-connects.

Edit: the problem is BFD. It no longer works with BFD setting.

OpenVPN client stucks on established status. [ SUP-209871 ]

Not fixed since ROS 7.20.

cannot confirm, setting only connect on one end and only listen on remote does not have your described problem. If you see your own connection attempt from the remote router, then it could indicate that there is a loop and that is causing the problem not the BGP settings.

I have noticed it in two completely different setups. One has both routers on an ethernet segment, the other has GRE tunnels between the routers. In that setup there are also multiple tunnels between the same peers.

I think the “connection attempt” may be traffic from the connection existing before the boot, because as I already added, the connections no longer are cleanly disconnected on reboot, and previously that worked OK.

It seems that having connect on one side and listen on the other is not required, it is only that I am surprised that an incoming connect is logged on the connecting side (originating from the listening side).

Anyway, SUP-211273 has been created.

What precisely is a blackhole route in Mikrotik’s opinion? Where is that list that is considered blackholes, and how frequently is it updated?

In v7 BGP you can only advertise a route that you actually have in the routing table. In v6 there was the flag “synchronize” which when set to “yes” would have that same behavior, when set to “no” BGP would advertise a route that was in the BGP networks list, even when it was not in the routing table.

Now in v7 there would be no problem when trying to advertise a connected route, for example. But when you want to advertise some larger network which you further route internally (a surrogate for route aggregates, another v6 feature no longer available in v7), a workaround is to manually add a “blackhole” route for the larger network you want to advertise. This workaround is also customary in other router operating systems that have that method.

Now unfortunately some versions ago a new feature was added to “automatically add a blackhole route for every network you advertise”. Probably some important customer requested that, we have not seen discussions about that here on the forum. A route is added for each BGP connection you configure.

That effectively reduced functionality, because now there is no longer the option of advertising a route only when the corresponding interface is UP. When the interface goes down, its connected route disappears but the blackhole route is still there, and the route is still advertised. So, another new feature was added in a later release, the “output.network-blackhole=no”, which was meant to suppress this auto-creation of a blackhole route, but unfortunately it does not yet work in released versions. Also, the route is created for each connection, instead of once per instance.

It would be much better to back out all this mess. No blackhole creation, when users need this they should be aware of it or be made aware via the documentation: when you want to advertise a route you do not have in the table, you need to manually create a blackhole route for that.

Problems solved for everyone.

BGP sessions with BFD do not establish. It logs the same “connection x.x.x.x:179 from y.y.y.y:zzzzz” entry over and over, as the one described by pe1chl.

Without BFD they work ok it seems (didn’t check it extensively, since I reverted back to beta6 to get things working again).

Ah, it is BFD… you are right! That is the common factor I did not yet notice. Thank you!

Same for me on both 7.22rc1 and rc2, BFD sessions broken over IPv4, works fine when reverted to 7.21.3.

[SUP-209892]: LTE not working SIMCOM_SIM7600CE-T

working as expected, solved

Hello @buset1974 !
I guess the solution for this problem came with the deployment of BGP Unnumbered…

I had never seen Enhanced Next-Hop Capability (RFC 7313) explicitly stated in RouterOS.

But when I saw BGP Unnumbered on docs of BGP, “enhe” capability caught my attention.

I’m not sure, but it makes sense…

What saddens me is that this feature was added without any formal announcement from the software manufacturer.

Hi @fischerdouglas,

Not sure if BGP Unnumbered deployment caused the issue, but I've got word the BGP-VPN4 redistribute multihop BGP problem is fixed and will be in the next update. Tested it, and it's working from nightly-build v7.23_ab319 up.

Given it's a critical, standard BGP issue, I'd say release it ASAP, either stable or LTS.

Also, I'm dealing with a new issue on some PEs (versions 7.19.x to 7.23_abxxx) - random routing table instability. I've sent videos and supouts. Waiting for a ticket response, hoping it's been received and reviewed

Upgrade from 7.21.3 to 7.22rc2 and experienced the following issue. One of my containers did not start after boot. I did a diff on export and it shows that start-on-boot=yes was removed from the container.

7.21.3

/container
add comment=container-iperf3 interface=veth1 layer-dir="" name=iperf3 remote-image=tangentsoft/iperf3:latest root-dir=/usb1/container/iperf3 start-on-boot=yes tmpfs=\
    /tmp:64.0MiB:01777 workdir=/

7.22rc2

/container
add interface=veth1 layer-dir="" logging=yes name=iperf3:latest root-dir=/usb1/container/iperf3 tmpfs=/tmp:64.0MiB:01777 workdir=/

Missing comment, start-on-boot, remote-image. logging=yes added. Is there a migration gone wrong?

When trying to start the container it logs:

 2026-02-19 17:30:26 iperf3:latest *** start
 2026-02-19 17:30:26 iperf3:latest *** error: could not load config json

I have 6 containers in total. iperf3 container is the only container that was modified and is broken now.

Also tried the new mtu=auto on lte interfaces.

lte - added "auto" MTU option for LTE interfaces to use network-advertised MTU on supported devices;

Seems to work.

/interface/lte/set mtu=auto lte1

Funny is the log item that was recorded:

device changed by ssh:redacted@redacted/action:0 (/interface set lte1 mtu=4294967295)

Reminds me of when I use PHP_INT_MAX. :rofl:

console - added Ctrl+w word deletion;

I wasn't aware of Ctrl+w until now.

In terminal applications, I usually use Alt+Backspace for the same action. Would you consider supporting that shortcut as well?

This problem introduced with 7.22.rc1 or 7.22beta6 is still present in 7.22rc2:

  • The router has a Let's Encrypt certificate (custom domain with dns-name) that is still valid for 41+ more days.

  • RouterOS tries at each reboot to create an unrelated www-ssl-acme-cert-XXXXXXXXX certificate and fails, because the router has no network connectivity for at least 1 minutes after boot (and www is disabled).

  • As a result, www-ssl-acme-cert-XXXXXXXXX certificate entries accumulate with each reboot:

    image

  • The original LE certificate is untouched, still active, and working fine for www-ssl, SSTP, etc...

I used that a lot in different environments, but I stopped doing that because these days with so many web-based solutions, Ctrl-W usually means “close window” and that is very frustrating when you are in the middle of entering a line of text…