CHR license warning

This post is the rambling of a pissed off user in regards to CHR license and ~16 lost hours.

Have a Supermicro server that was in dire need of a good cleaning and ESXI reinstall.
This server has a CHR for routing (no NAT) and some VMs inside ESXI. Nothing fancy.
So I decided I would do this during weekend to minimize the downtime.
Took everything apart and gave it a good clean.
Replaced all ethernet and DAC patch cables with new ones.
Updated the BIOS to the latest version and procedeed to reinstall ESXI 8.
ESXI config from scratch. Nothing imported beside the actual VMs.
All VMs including the CHR one were imported without a problem and everything seemed to be fine.
But…while testing the various bits and pieces I dicovered I had huge packet loss as soon as any traffic over 100KB/s passed through this sever.
I started testing, tweaking, reinstalling and all the blah blah to no avail.
~16 hours in, my lonely neuron was starting to crash and I thought I should disable CHR and put a RB1100AHx4.
Logged in to the CHR to pull the config and was lucky enough to click the License submenu by mistake. Lo and behold, the darn license was missing!
Logged in to Mikrotik to get the license and just like that, the problem was fixed!
Now, I have no clue as to why a functioning CHR instance with a valid P unlimited license would deactivate out of the blue, but it would be extra nice if the freaking thing would throw a warning somewhere in the logs, the top bar of WInbox or even better, as a popup mesage once a user logs in Winbox.
Something like this maybe
warning.png
Now, I know a lot of people will state it is my own damn fault for not checking the license, but given that I fully disasembled the server and reinstalled ESXI, I was 100% sure I did something wrong on the hardware/virtualization/cabling part.
The CHR license problem did not even cross my mind for a split second.

So pretty please with sugar on top, if any Mikrotik staff sees this, consider implementing some sort of warning when there is no license on CHR and/or when the license gets disabled/removed for…reasons.

Only disk size changing trigger CHR to change system id so you lost active license. Beside good idea to put notification at least if system id changed.

But this would not cause packet loss. You can use CHR without a license, there are no limits. Trial mode (not licensed) has only one limit after trial - it doesn’t allow upgrading. There is no magic packet loss feature.

I think free licence with 1Mbit speed limt can induce packet loss…

100KB/s are close to the 1Mbit spped limit

Free license is not the same as Trial license. You can get a L5 trial and run indefinitely with no speed limits. The only thing, it will stop allowing upgrades in 60 days.

I don’t know, but until he updated the license on the CHR it seems to only work at 1Mbit, as he described it.

I’m giving you hints how to get free unlimited router, and you are not seeing it :frowning:

P.S: there is no situation where RouterOS removes a CHR license. So there can be no warning, because it should not happen

Thanks :wink: noticed now…
I was focused on hypothesize what problem he might have had…

Our angry admin might’ve found a bug, but we’ll never know, since he’s just that, an angry admin with a rant-post on the forum with not enough details and not even he is able to tell exactly what he did wrong apparently, because there’s not a thing in that server that he didn’t touch.

@Normis, you keep stating it cannot happen, yet it did in my case.
I tried looking for a way to manually remove the licence from within Winbox and could not find one.

Will try later this evening to see what could have caused this, ESXI side.
Maybe I switched the nics around, automatic MAC that got changed and such. Because the VM was untouched. I even pulled a VM backup from the day before the maintenance to be sure I did not mess something up within the VM.
WIll try to record the process and maybe I get “lucky” and it happens again.

@Znevna, what made you think I was angry? Maybe the 1st line stating I was?

For repeat the process, just reload the previous day VM backup/snapshot (not the RouterOS .backup)…

Unfortunately, I do not have the VM backup anymore, but found a very quick way to reproduce the problem.
Shutdown and unregister the VM.
Copy it to a new datastore and import it.
For some reason, once the VM is copied to another datastore, the interface names change inside RouterOS to ether3 and ether4 from ether1 and ether2, so I have to issue:

interface print
/interface set 0 name=ether1
/interface set 1 name=ether2
ip address add address=PublicIP/24 interface=ether1
ip address add address=SubnetIP/29 interface=ether2

The Port groups, Virtual Switches and Physical nics remain the same, without any changes.
Using VMXNET3. No passthrough or SR-IOV.
The CHR instance is very simple. One direct connected IP with a /29 subnet behind it. No NAT.

Now the connection is up, but visiting System/License I can see a new System ID has been auto generated and I can see the level being free.
Trying to upload something to a host in the subnet behind the CHR gets me ~1 Mbps and lots of packet loss.
Logging in to my account via System/License and clicking Renew License will instantly fix the packet loss and slow speed. (as soon a trial license has been assigned)

Youtube video showing the problem. Started recording after I powered up the copied VM, renamed the interfaces and assigned addresses.
You can clearly see packet loss and very slow speed without a license (free) and as soon as a trial license is assigned (trial because new System ID) everything goes back to normal.
https://www.youtube.com/watch?v=4JnXzpYVa9I

A proper VM move operation keeps the MACs and everything else intact, consult the manual.

If you copy the VM to another device, or reinstall from zero the ESXi,
the VM assign different ids and the running VM see the disk and the “bios” with different serials.
It’s by design, this time RouterOS can not do anything about that.

Depends on how you do it, but we’re not here to offer VMware support.

+1!

I am not asking for support. Znevnva, please got back to twitter/9gag or wherever you lurk during your spare time.

I am asking for a warning somewhere in the logs, Winbox top bar or as a popup message.
As Normis stated

And as you can see, there are quite drastic limits.
I am OK with these limits on a non-licensed CHR.
But just let me know I am dumb and I am running a non licensed instance.

That will just become an annoyance to those that just test stuff in unlicensed CHRs.
Do your job right in the first place.

After just also spending multiple hours debugging before remembering the license thing, huge +1 from me.

I had to reinstall a CHR due to the bug in 7.14 where CHRs on Xen didn’t see any ethernet interfaces, and I did not find a way to put a downgrade package into the VM without network (this would really be easier, if there was way to update from an external drive, seems there is no way to move the package from a second drive to the root fs). I managed to get an export through serial access and a secondary drive I mounted, but had to reinstall and restore from backup. Of course, I forgot about the license. Later I noticed every routed connection was incredibly slow and the ping was > 200 ms from time to time, without leaving the host.

This would be so much easier, if on login on console or with winbox, there would be a message “btw, your’e using a free license and bandwidth is limited”.

So I’ve written a script and scheduled it on startup:

:local note [/system/note/get note]
:local licenseLevel [/system/license/get level]
:local warning "###########################################################################\n!! WARNING !! - Router is running with \"free\" license, limited to 1 MBit/s!\n###########################################################################"

:if ($licenseLevel = "free") do={
    if ([:find $note $warning -1] < 0) do={
        /system/note/set note=($warning . "\n\n" . $note)
    }
    if ([/system/note/get show-at-login] = no) do={
        /system/note/set show-at-login=yes
    }
}

After struggling with this in the past.. The fun part was, the 1 mbps speed is only for outgoing traffic, the bandwidth-test reports 5 gbps incoming traffic..

I have learnt to glance at the Winbox title bar when connecting.. It shows the license there..