Thanks...*) bgp - decode and log notifications;
Uh....*) routing-filter - added filter-wizard (filter generator with v6-like syntax);
How does this work, if enabling sniffer turns off fast-path?sniffer - added CPU number and fast-path status in per-packet comment;
How does this work, if enabling sniffer turns off fast-path?sniffer - added CPU number and fast-path status in per-packet comment;
send a supout file from v7.19 to support. To see what bgp config exactly you had.
Also, anyone upgrading and using BGP, keep in mind that in my test router all BGP peers could not connect after upgrading because the new bgp instance feature did not contain my local AS number. Once I manually set it on the instance, then they could connect.
*) container - enable check-certificate by default for new remote imports;
I see, how would I do that? I am in /tool/sniffer right now, but I don't see the option anywhere. Also, is it more taxing on the CPU to add a comment to each packet? One of my cores on my RB5009 is on 99% usage when running the sniffer while executing a speedtest and I do not get a full 1 gbit anymore (around 700mbit)Run sniffer with option fast-path=yes specified.
How does this work, if enabling sniffer turns off fast-path?
Hi,How are we supposed to remotely upgrade BGP routers when the time comes? There must be a way for the BGP instance to pick up the proper local AS number so that the peers connect after the reboot.
Hi,How are we supposed to remotely upgrade BGP routers when the time comes? There must be a way for the BGP instance to pick up the proper local AS number so that the peers connect after the reboot.
L009:
BGP not working.
Ipsec not working:
Every new version is a disaster.... Reverting to v7.19.1 resolves the issues (the AS and router ID in BGP are incorrect when reverting to the previous version).
I couldn't help my curiosity and peeked into the npk for wifi-mediatek, and it contains drivers for the mt7916 (Filogic 630) and the mt7996. The latter is a WiFi 7 tri-band concurrent solution. With this I think Mikrotik can catch up to their competitors in AP capabilities...Mediatek WiFi driver? It seems WiFi 7 is close, I hope. ;-) But it makes sense, OpenWrt Two is on horizon.
I couldn't help my curiosity and peeked into the npk for wifi-mediatek, and it contains drivers for the mt7916 (Filogic 630) and the mt7996. The latter is a WiFi 7 tri-band concurrent solution. With this I think Mikrotik can catch up to their competitors in AP capabilities...Mediatek WiFi driver? It seems WiFi 7 is close, I hope. ;-) But it makes sense, OpenWrt Two is on horizon.
Any additional information, please.*) wifi - avoid picking 5GHz channels by default which are unlikely to be supported by clients, can be overridden with channel.deprioritize-unii-3-4 (CLI only);
You mean Mikrotik will only enable WiFi 6? The 7916 is 6/6E, but the 7996 is clearly marketed as WiFi 7.But WiFi 6 only. :-(
Where can I read about this?*) ip - added socksify feature and new NAT action "socksify";
Love you you guys know so much about mikrotik's plansYou mean Mikrotik will only enable WiFi 6? The 7916 is 6/6E, but the 7996 is clearly marketed as WiFi 7.But WiFi 6 only.![]()
Could you elaborate on this one?*) ipsec - fixed degraded IPsec performance for IPQ-6010 (introduced in v7.17);
I can confirm, wireguard handles much better in 7.20b2, I've narrowed the issue on ingress to a packet buffer problem. For example iperf coming from a 10G/25G line into the router (wireguard) and out to a 2.5G or 1G client results in a slower output (max around 800Mb/s) and lots of tx-queue-drops on the ingress 25G port. But this is an understandable problem, I don't think even my CCR2216 has deep enough packet buffers for this kind of situation, especially when using BBR.*) arm - improved system stability when processing encrypted traffic;
/export show-sensitive file=/sata1-part1/backup/test.rsc
MT7996
Filogic 680
May 2023 4x4 4x4 4x5
Up to 13.5 Gbit/s
4096-QAM
Up to 320 MHz
They know more than Mikrotik themselves ;)Love you you guys know so much about mikrotik's plans :D
You mean Mikrotik will only enable WiFi 6? The 7916 is 6/6E, but the 7996 is clearly marketed as WiFi 7.
You realise this is an early beta? Report the issue, I am sure they will fix this before rc.Hi,How are we supposed to remotely upgrade BGP routers when the time comes? There must be a way for the BGP instance to pick up the proper local AS number so that the peers connect after the reboot.
L009:
BGP not working.
Ipsec not working:
Every new version is a disaster.... Reverting to v7.19.1 resolves the issues (the AS and router ID in BGP are incorrect when reverting to the previous version).
:if ($"pd-valid" = 1) do={
/ipv6 firewall address-list remove [find list=allowed]
:delay 1s
/ipv6 firewall address-list add address=$"pd-prefix" comment="!!! Check YOUR pool from ISP" list=allowed
/ipv6 firewall address-list add address=fe80::/16 list=allowed
/ipv6 firewall address-list add address=ff02::/16 comment=multicast list=allowed
:delay 1s
}
(dhcp-ia) failure: 2a00:1220:a:d::/@ is not a valid dns name (/ipv6/firewall/address-list/add; line 4)
:local okAddr "/64"
:local locTmp ""
:if ($"pd-valid" = 1) do={
/ipv6 firewall address-list remove [find list=allowed]
:delay 1s
:set locTmp [/ipv6/dhcp-client/get value-name=prefix number=0]
:set okAddr [:pick $locTmp 0 [:find $locTmp ","]]
/ipv6 firewall address-list add address=$okAddr comment="!!! Check YOUR pool from ISP" list=allowed
/ipv6 firewall address-list add address=fe80::/16 list=allowed
/ipv6 firewall address-list add address=ff02::/16 comment=multicast list=allowed
:delay 1s
}
I tried this out, works! But... few minor issues with it...*) container - added option to execute commands inside a container using "/container/shell cmd= user=";
I tried using the default container settings, so lscr.io as the "presumed-registry" to load alpine for above. But remote-tag= is still pretty picky, so just "alpine" or "alpine:latest" did not work. The good news the "improved error and log messages" were helpful! The bad news is I got various errors trying to find a remote-tag that work for alpine... eventually "ghcr.io/linuxcontainers/alpine:latest" worked (which bypassed default lscr.io)...*) container - enable check-certificate by default for new remote imports;
*) container - improved error and log messages;
on which OIDs ?*) snmp - added SNMP OIDs for firewall connection tracking "total-entries", "total-ip4-entries" and "total-ip6-entries";
https://download.mikrotik.com/routeros/ ... krotik.mibon which OIDs ?*) snmp - added SNMP OIDs for firewall connection tracking "total-entries", "total-ip4-entries" and "total-ip6-entries";
Agree. More details please."arm - improved system stability when processing encrypted traffic;" — Can you please describe in more detail, in what cases? Is this related to IPSEC?
Come on, buy a decent newer router already.Additional evergreen (beside of memory leak), ROM space shortage on 16MB hAP ac^2 with wifi-qcom-ac. It is quite obvious - RouterOS 7.20 for ARM is roughly 100kB bigger than RouterOS 7.19. Netinstall procedure has been applied with manual configuration.
FWIW, most early beta's are generally bigger than the final stable package. Still a lot of 16MB flash units in production, so problem is not limited to hAPac2 (which is a great router, albeit dated)Come on, buy a decent newer router already.Additional evergreen (beside of memory leak), ROM space shortage on 16MB hAP ac^2 with wifi-qcom-ac. It is quite obvious - RouterOS 7.20 for ARM is roughly 100kB bigger than RouterOS 7.19. Netinstall procedure has been applied with manual configuration.
Is there documentation?*) ip - added socksify feature and new NAT action "socksify";
While there should be. You can almost guess...Is there documentation?*) ip - added socksify feature and new NAT action "socksify";
/interface/list add name=REQUIRE_PROXY
/interface/list/member add list=REQUIRE_PROXY interface=<what-interface-to-force-sock-proxy>
/ip/firewall/nat/add action=socksify socks5-port=1080 socks5-server=127.0.0.1 in-interface-list=REQUIRE_PROXY chain=<input-or-srcnat>
https://web.archive.org/web/20250514194 ... 83568/EVPNCan wait to see some EVPN docs to test out as well as to see what sort of hardware accel support/performance we might see.
[admin@PE1] > /routing/route/print
Flags: U - UNREACHABLE, A - ACTIVE; c - CONNECT, b - BGP, o - OSPF, e - EVPN
Columns: DST-ADDRESS, GATEWAY, AFI, ROUTING-TABLE, DISTANCE, SCOPE, TARGET-SCOPE, IMMEDIATE-GW
DST-ADDRESS GATEWAY AFI ROUTING-TABLE DISTANCE SCOPE TA IMMEDIATE-GW
Ac 10.0.0.0/31 ether1 ip main 0 10 5 ether1
Ao 10.0.0.2/31 10.0.0.0%ether1 ip main 110 20 10 10.0.0.0%ethe>
Ao 172.31.255.253/32 10.0.0.0%ether1 ip main 110 20 10 10.0.0.0%ethe>
Ac 172.31.255.254/32 lo ip main 0 10 5 lo
Ao 172.31.255.255/32 10.0.0.0%ether1 ip main 110 20 10 10.0.0.0%ethe>
Uc fe80::/64 ether2 ipv6 main 0 10 5
Ac fe80::/64 ether1 ipv6 main 0 10 5 ether1
Ac fe80::/64 bridge1 ipv6 main 0 10 5 bridge1
Ac ::1/128 lo ipv6 main 0 10 5 lo
A lo link main 0
A ether1 link main 0
A ether12 link main 0
A bridge1 link main 0
A Cust2-EVPN link main 0
Ab [172.31.255.253:256]imet:0|172.31.255.253 172.31.255.253 evpn 200 40 30 10.0.0.0%ethe>
e [172.31.255.254:256]imet:0|172.31.255.254 172.31.255.254 evpn 200 40 10
Ab [172.31.255.253:256]macip:0|56:AD:63:7D:2D:1C 172.31.255.253 evpn 200 40 30 10.0.0.0%ethe>
e [172.31.255.254:256]macip:0|7A:6D:6F:5F:D6:B3 172.31.255.254 evpn 200 40 10
[admin@PE1] > /routing/route/print where afi="ip"
Flags: A - ACTIVE; c - CONNECT, o - OSPF
Columns: DST-ADDRESS, GATEWAY, AFI, ROUTING-TABLE, DISTANCE, SCOPE, TARGET-SCOPE, IMMEDIATE-GW
DST-ADDRESS GATEWAY AFI ROUTING-TABLE DISTANCE SCOPE TARGET-SCOPE IMMEDIATE-GW
Ac 10.0.0.0/31 ether1 ip main 0 10 5 ether1
Ao 10.0.0.2/31 10.0.0.0%ether1 ip main 110 20 10 10.0.0.0%ether1
Ao 172.31.255.253/32 10.0.0.0%ether1 ip main 110 20 10 10.0.0.0%ether1
Ac 172.31.255.254/32 lo ip main 0 10 5 lo
Ao 172.31.255.255/32 10.0.0.0%ether1 ip main 110 20 10 10.0.0.0%ether1
[admin@PE1] > /routing/route/print where afi="evpn"
[admin@PE1] >
Very cool! let us know how it goes.Great your lab works OOB in GNS3 will going to lab it on real hardware this week and see if this will fly thanks a ton
..[CUT]..
OpenFlow seems to work with Faucet as a /container. Good work.*) container - added option to execute commands inside a container using "/container/shell cmd= user=";
*) system - added support for OpenFlow 1.3 (new package "openflow" available);
{
:local rootpath "disk1/faucet"
:local ofports {"ether6";"ether7"}
:put "remove any previous faucet containers"
/interface/veth remove [find name=veth-faucet]
/ip/address remove [find comment=faucet]
:if ([:len [/container/find name=faucet]]>0) do={
:put "...removing existing faucet container"
:do {
/container stop [find name=faucet]
:delay 31s } on-error={}
/container remove [find name=faucet]
:delay 2s
/ip/address remove [find comment=faucet]
/interface/veth remove [find name=veth-faucet]
/openflow port remove [find switch=faucet]
/openflow remove [find name=faucet]
}
:put "add faucet container"
/interface/veth add address=172.19.7.7/24 gateway=172.19.7.1 gateway6="" name=veth-faucet
/ip/address add address=172.19.7.1/24 interface=veth-faucet network=172.19.7.0 comment=faucet
/container add name=faucet interface=veth-faucet logging=yes root-dir=$rootpath start-on-boot=yes check-certificate=no remote-image=registry-1.docker.io/faucet/faucet:latest
:put "waiting for extract of faucet..."
:delay 60s
/container start [find name=faucet]
:delay 10s
:put "started, adding config..."
:put "setup OpenFlow"
/openflow add controllers=tcp/172.19.7.7/6653 disabled=no name=faucet verify-peer=none version=1.3 datapath-id=0/00:00:00:00:00:07
:delay 3s
:foreach p in=$ofports do={
/openflow port add disabled=no interface=$p switch=faucet
}
:put "calculate 'dp_id' needed for faucet config"
:local dpidnum 7
# TODO: previously the datepath-id was automatically generated...
# ... but getting datapath-id to a number/hex for faucet config was just too hard/annoying
# :local dpidarr [:deserialize delimiter=":" from=dsv options=dsv.plain [:pick [/openflow/get [find] datapath-id ] 2 64]]
# :local dpid "0$[:pick [/openflow/get [find] datapath-id ] 0 1]"
# :foreach h in=($dpidarr->0) do={:set dpid "$dpid$h"}
# :local dpidnum [:convert from=hex to=num $dpid]
:put "...using $dpidnum from $[/openflow/get [find] datapath-id ]"
:put "generate a faucet config file (to be added to container)"
:local faucetConfig {
"vlans"={
"vlan100"={
"vid"=100;
"description"="untagged"
}
};
"acls"={
"allowall"={
{
"rule"={
"actions"={"allow"=1}
}
};
}
};
"dps"={
"routeros"={
"dp_id"=$dpidnum;
"hardware"="Generic";
"drop_broadcast_source_address"=false;
"drop_spoofed_faucet_mac"=false;
"interfaces"={}
}
}
}
:foreach p,n in=$ofports do={
:set ($faucetConfig->"dps"->"routeros"->"interfaces"->"$[:tostr ($p+1)]") {
"acl_in"="allowall";
"name"="$n";
"native_vlan"="vlan100"
}
}
# uses new /container shell cmd= to add a configuration file
# (via RouterOS array to JSON then python in container to get YAML for faucet.yaml
:put "save default config to /tmp"
/container/shell [find name=faucet] cmd="mv /etc/faucet/*.yaml /tmp"
:delay 2s
:put "serialize faucet ROS array config into JSON"
:local jsonconf [:serialize $faucetConfig to=json options=json.pretty]
:put $jsonconf
:put ""
:put "use python inside container to get YAML, using 7.20+ new /container/shell cmd="
/container/shell [find name=faucet] cmd="echo '$jsonconf' | python -c 'import sys, yaml, json; yaml.dump(json.load(sys.stdin), sys.stdout)' > /tmp/faucet-new.yaml"
:delay 2s
/container/shell [find name=faucet] cmd="echo \"---\n\" > /etc/faucet/faucet.yaml"
/container/shell [find name=faucet] cmd="python3 -c 'import yaml, sys; d = yaml.safe_load(sys.stdin); d[\"dps\"][\"routeros\"][\"interfaces\"] = {int(k): v for k, v in d[\"dps\"][\"routeros\"][\"interfaces\"].items()}; yaml.dump(d, sys.stdout, sort_keys=False)' < /tmp/faucet-new.yaml >> /etc/faucet/faucet.yaml"
/container/shell [find name=faucet] cmd="cat /etc/faucet/faucet.yaml"
:delay 2s
:put "check and apply configuration"
/container/shell [find name=faucet] cmd="check_faucet_config /etc/faucet/faucet.yaml"
:delay 2s
/container/shell [find name=faucet] cmd="pkill -HUP -f faucet.faucet"
}
Instance was needed to link evpns, and also it will now allow to add other features that required per instance configuration.what is the point of BGP instance? looks like we have the same in the template?
/interface lte apn
add add-default-route=no apn=internet.t-d1.de ip-type=ipv4 name="t-mobile FIXED" use-network-apn=yes use-peer-dns=no
/interface lte
add add-default-route=no apn=internet.t-d1.de ip-type=ipv4 name="t-mobile BRIDGE#1" passthrough-interface=net-050 passthrough-mac=auto \
use-peer-dns=no
add add-default-route=no apn=internet.t-d1.de ip-type=ipv4 name="t-mobile BRIDGE#2" passthrough-interface=net-051 passthrough-mac=auto \
use-peer-dns=no
set [ find default-name=lte1 ] allow-roaming=no apn-profiles="t-mobile FIXED,t-mobile BRIDGE#1,t-mobile BRIDGE#2" band=""
Wow, I believe this is 18 year old issue...firewall - allow "dst-limit" matcher to work properly above value 10000;
So just be patient, everything will be solved eventually :)by janisk » Wed Aug 22, 2007 12:28 pm
currently do not use pps for anything other but icmp and limiting packets to max value of 10 pps
this is a bug, that values greater than that will not be accurate
if you set 33,0 pps then you will get 24 as a result
34 to 49 pps will give you 33 pps
50 to 99 = 50
100 to 10000 = 100
10001 to .. = no limits
this is a result of a minor settings bug, which is known, and is being fixed. after that you will be able to use specific settings
Is there documentation?*) ip - added socksify feature and new NAT action "socksify";
/ip firewall nat add action=socksify chain=dstnat connection-mark=to_dpi in-interface-list=LAN socks5-port=1080 socks5-server=192.168.254.10
iptables -t nat -A PREROUTING -i eth0 -p tcp -j REDIRECT --to-port 4080
Could you take a look mrz, some people including me having problem after upgrading to v 7.20b.Instance was needed to link evpns, and also it will now allow to add other features that required per instance configuration.what is the point of BGP instance? looks like we have the same in the template?
Is this strictly to prevent this from happening in the future or does it perform any restoration/fixes on devices that have been damaged and restored manually?*) system - fixed bb-upgrade failure on RB5009;
"added tab-width user configuration in /console/settings"*) console - replace TAB characters with spaces when editing scripts and added tab-width user configuration in /console/settings;
This is using "secret=" on RouterOS, "remote { auth = psk }" in swanctl, no certificates.charon-systemd[138861]: parsed IKE_AUTH request 1 [ IDi AUTH IDr N(INIT_CONTACT) SA TSi TSr N(USE_TRANSP) ]
charon-systemd[138861]: looking for peer configs matching 83.171.28.107[XXX.sym]...193.219.181.0[EmberGW.sym]
charon-systemd[138861]: selected peer config 'embergw-lm'
charon-systemd[138861]: tried 1 shared key for 'XXX.sym' - 'EmberGW.sym', but MAC mismatched
charon-systemd[138861]: generating IKE_AUTH response 1 [ N(AUTH_FAILED) ]
I didn't want to post that but had the same though. Test on the bench guys, test on the bench!Are you really telling us that you do a nightly scripted install of each beta version on a router on a site where you are not physically present and have no other backdoor access to?
I'm curious too... Running some tests with faucet on RB1100AHx4... I see good amount of CPU in profile for "openflow" (although still below max), and various speed tests show ~200-300M using OpenFlow+Faucet (vs 700-900M when NOT passing through the ROS OF switch). So I'm not seeing HW offload there. And my current speeds via OpenFlow seem much slower than I expected... even considering older RB1100AHx4. I'll try RB5009 at some point with OpenFlow.@MT
Openflow seems to work with faucet at first try the question is how does hardware offload came into play? since the ports is being handled now in the openflow->ports not in the bridge could you please give clarity on this please?
Finally I will be able to move Homebridge to ax^3.*) container - allow to use multiple veths in a container, change the in container interface name to same as in RouterOS;
Update to WinBox 3.42Being forced 7.20 to use Winbox 4 with this terrible GUI is complete dictatorship. Remove this requirement as soon as possible.
Thanks for the quick test and that is somehow expected, for sure this can be improved in the next few release at least the wait is over and now the fun part beginsI'm curious too... Running some tests with faucet on RB1100AHx4... I see good amount of CPU in profile for "openflow" (although still below max), and various speed tests show ~200-300M using OpenFlow+Faucet (vs 700-900M when NOT passing through the ROS OF switch). So I'm not seeing HW offload there. And my current speeds via OpenFlow seem much slower than I expected... even considering older RB1100AHx4. I'll try RB5009 at some point with OpenFlow.
But if there are routers that HW offload OpenFlow, that be good to know...
Finally I will be able to move Homebridge to ax^3.*) container - allow to use multiple veths in a container, change the in container interface name to same as in RouterOS;
Tried a couple times, but I kept getting [one of the new] error messages on RB1100AHx4 when using TWO VETHs for homebridge...*) container - display any error prominently in WinBox;
*) container - improved error and log messages;
Container extracts okay, and gets to stopped state. But when you go to "start" that when get this error./container add check-certificate=no interface=veth-homebridge-dsi,veth-homebridge-scz \
logging=yes mounts=homebridge name=homebridge root-dir=disk1/homebridge \
start-on-boot=yes workdir=/homebridge remote-image=registry-1.docker.io/homebridge/homebridge:latest check-certificate=no
/interface/veth/print
Flags: X - disabled; R - running
0 R name="veth-faucet" address=172.19.7.7/24 gateway=172.19.7.1 gateway6=""
1 R name="veth-homebridge-dsi" address=192.168.163.249/24 gateway="" gateway6=""
2 name="veth-homebridge-scz" address=192.168.74.249/24 gateway=192.168.74.1 gateway6=""
/container/print detail
1 S ;;; could not acquire interface: veth-homebridge-scz get ifindex failed (6)
check-certificate=no name="homebridge"
tag="registry-1.docker.io/homebridge/homebridge:latest" os="linux"
arch="arm" interface=veth-homebridge-dsi,veth-homebridge-scz envlists=""
cmd="" entrypoint="" stop-signal=15-SIGTERM root-dir=disk1/homebridge
mounts=homebridge hostname="" domain-name="" workdir="/homebridge"
logging=yes start-on-boot=yes auto-restart-interval=none
memory-high=unlimited devices="" passed-devs="" config-json=...
/interface/veth> remove 1
failure: in use by container
Just because you don't like the interface doesn't mean it's ugly. On the other hand, I agree with you that we need improvements in NAT, but at the Carrier Grade NAT (CGNAT) level.Being forced 7.20 to use Winbox 4 with this terrible GUI is complete dictatorship. Remove this requirement as soon as possible. Instead of doing this, improve masquerade NAT and add FastTrack support for x86.
I am seeing some issues with this. After upgrading my Bluetooth adapter shows as offline:*) iot - iot-bt-extra package stability improvement and additional dongle support;
/iot/bluetooth/print detail
Flags: X - offline
0 X name="bt1" public-address=A8:6E:84:47:98:0E random-static-address=E5:7B:B3:01:AD:73 antenna=internal
/system/resource/hardware/print
Columns: LOCATION, TYPE, VENDOR, NAME, SPEED, DEVICE-PATH, OWNER
# LOCATION TYPE VENDOR NAME SPEED DEVICE-PATH OWNER
0 1-0 usb Linux 5.6.3 xhci-hcd xHCI Host Controller 480 bus/usb/001/001
1 1-1 usb TP-Link Bluetooth USB Adapter 12 system
2 2-0 usb Linux 5.6.3 xhci-hcd xHCI Host Controller 5000 bus/usb/002/001
[admin@MikroTik] > /file/add type=directory name=tmpfs/test
[admin@MikroTik] > /file/print where name="tmpfs/test" type=directory
[admin@MikroTik] >
[admin@MikroTik] > /file/print recursive where name="tmpfs/test" type=directory
Flags: S - shared
# NAME TYPE SIZE LAST-MODIFIED
4 tmpfs/test directory 2025-05-30 10:45:45
[admin@MikroTik] >
named “switch-cpu� in scenarios
00000000 6e 61 6d 65 64 20 c3 a2 e2 82 ac c5 93 73 77 69 |named .......swi|
00000010 74 63 68 2d 63 70 75 c3 a2 e2 82 ac ef bf bd 20 |tch-cpu........ |
00000020 69 6e 20 73 63 65 6e 61 72 69 6f 73 |in scenarios |
0000002d
I have a problem similar to this one here. I configured the instance with my ASN and set the instance on the connections but not all come up that have worked before the upgrade. Is there a soloution / fix already now?Also, anyone upgrading and using BGP, keep in mind that in my test router all BGP peers could not connect after upgrading because the new bgp instance feature did not contain my local AS number. Once I manually set it on the instance, then they could connect.
How about `/file/get <path> value-name=name` and then check for errors (afk and cannot verify)?It does not make sense to scan a complete structure just to know if a single file or directory (with given path and name!) exists...
Filed as SUP-189565@Amm0, please get in touch with us and send supout.rif file.
I support that CGNAT request.I want to throw in a comment/vote for some more CGNAT goodness.
It would be really great for a more complete CGNAT interface that could be configured to do dynamic things like 'ports per host = 1000' and a mappings table to show that (sort of presented like DHCP leases). Robust logging for new mappings and for removed mappings (helps with compliance with DMCA requests etc) as well as occurances of port overloads etc.
The current pseudoCGNAT model of 2 nat entries per host is cumbersome and doesn't scale well.
Concur with this.... I think its the identity crisis that MikroTik faces. They cant focus on just one thing, cant be both prosumer and enterprise at the same time.... not without real proper segmentation. Or, we can cross our toes they'll deliver well rounded RouterOS for all aspects all niche they wish to cover.I support that CGNAT request.I want to throw in a comment/vote for some more CGNAT goodness.
It would be really great for a more complete CGNAT interface that could be configured to do dynamic things like 'ports per host = 1000' and a mappings table to show that (sort of presented like DHCP leases). Robust logging for new mappings and for removed mappings (helps with compliance with DMCA requests etc) as well as occurances of port overloads etc.
The current pseudoCGNAT model of 2 nat entries per host is cumbersome and doesn't scale well.
I wish this forum covered more ISP topics and less the typical VPN or Wi-Fi.
MikroTik ISPs need CGNAT scale on MikroTik.
But not think about an only-paid version of ROS please!Concur with this.... I think its the identity crisis that MikroTik faces. They cant focus on just one thing, cant be both prosumer and enterprise at the same time.... not without real proper segmentation. Or, we can cross our toes they'll deliver well rounded RouterOS for all aspects all niche they wish to cover.
I support that CGNAT request.
I wish this forum covered more ISP topics and less the typical VPN or Wi-Fi.
MikroTik ISPs need CGNAT scale on MikroTik.
That would be great as long as it's functional. Many of us pay, imagine many of us spending $15,000 for a full CGNAT box. Surely someone will come up with something like IPv6, which is great, and we all have to implement it. But not everything is IPv6; much is still IPv4. So we need a full CGNAT on MikroTik.But not think about an only-paid version of ROS please!
Concur with this.... I think its the identity crisis that MikroTik faces. They cant focus on just one thing, cant be both prosumer and enterprise at the same time.... not without real proper segmentation. Or, we can cross our toes they'll deliver well rounded RouterOS for all aspects all niche they wish to cover.
MikroTik has been dormant for many years, and today they're desperate. But they need to focus on the business. Sorry, MikroTik, this isn't a criticism; we'd just really like to see you be great. And in many cases, stop messing around with things that many ISPs don't even know how they work for.But not think about an only-paid version of ROS please!
Concur with this.... I think its the identity crisis that MikroTik faces. They cant focus on just one thing, cant be both prosumer and enterprise at the same time.... not without real proper segmentation. Or, we can cross our toes they'll deliver well rounded RouterOS for all aspects all niche they wish to cover.
There I'm with you :)And in many cases, stop messing around with things that many ISPs don't even know how they work for.
I don´t found another vendor until now who sells hardware for both: Advanced home users and professionals. I love that way from MikroTik!MikroTik has been dormant for many years, and today they're desperate. But they need to focus on the business.
[eworm@carpo] > /file/read file=filename
not enough permissions (9)
I am pleased that Mikrotik has added pref-src on IPv6 routing. But after testing, this feature is not completely effective. Please refer to the configuration information below. For ease of viewing, I have streamlined the relevant information:*) ipv6 - make pref-src work and settable for static routes;
[admin@SourceRouter] /ipv6/address> print
Flags: I - INVALID; D - DYNAMIC; G - GLOBAL, L - LINK-LOCAL
Columns: ADDRESS, FROM-POOL, INTERFACE, ADVERTISE
# ADDRESS FROM-POOL INTERFACE ADVERTISE
0 G 240e::1/64 ether1-pool ether1-bridge1 yes
1 G 240e::2/64 ether1-pool ether1-bridge2 yes
2 G 240e::3/64 ether1-pool ether1-bridge3 yes
3 G 240e::4/64 ether1-pool ether1-bridge4 yes
4 G 240e::5/64 ether1-pool ether1-bridge5 yes
5 G 240e::6/64 ether1-pool ether1-bridge6 yes
[admin@DestinationRouter] /ipv6/address> print
Flags: I - INVALID; D - DYNAMIC; G - GLOBAL, L - LINK-LOCAL
Columns: ADDRESS, FROM-POOL, INTERFACE, ADVERTISE
# ADDRESS FROM-POOL INTERFACE ADVERTISE
0 G 2409::a/64 ether1-pool ether1-bridge1 yes
1 G 2409::b/64 ether1-pool ether1-bridge2 yes
2 G 2409::c/64 ether1-pool ether1-bridge3 yes
3 G 2409::d/64 ether1-pool ether1-bridge4 yes
4 G 2409::e/64 ether1-pool ether1-bridge5 yes
5 G 2409::f/64 ether1-pool ether1-bridge6 yes
[admin@SourceRouter] /ipv6/route> print detail
Flags: D - dynamic; X - disabled, I - inactive, A - active; c - connect, s - static, r - rip, b - bgp, o - ospf, i - is-is, d - dhcp, v - vpn, m - modem, g - slaac, y - bgp-mpls-vpn; H - hw-offloaded; + - ecmp
DAd dst-address=::/0 routing-table=main gateway=fe80::de2c:6eff:fe41:c786%ether1
0 As dst-address=2409::a/128 routing-table=main pref-src=240e::1 gateway=fe80::de2c:6eff:fe41:c786%ether1
1 As dst-address=2409::b/128 routing-table=main pref-src=240e::2 gateway=fe80::de2c:6eff:fe41:c786%ether1
2 As dst-address=2409::c/128 routing-table=main pref-src=240e::3 gateway=fe80::de2c:6eff:fe41:c786%ether1
3 As dst-address=2409::d/128 routing-table=main pref-src=240e::4 gateway=fe80::de2c:6eff:fe41:c786%ether1
4 As dst-address=2409::e/128 routing-table=main pref-src=240e::5 gateway=fe80::de2c:6eff:fe41:c786%ether1
5 As dst-address=2409::f/128 routing-table=main pref-src=240e::6 gateway=fe80::de2c:6eff:fe41:c786%ether1
[admin@SourceRouter] /ipv6/firewall/connection> print where protocol=icmpv6
Flags: S - SEEN-REPLY; C - CONFIRMED
Columns: PROTOCOL, SRC-ADDRESS, DST-ADDRESS, TIMEOUT, ORIG-RATE, REPL-RATE, ORIG-PACKETS, REPL-PACKETS, ORIG-BYTES, REPL-BYTES
# PROTOCOL SRC-ADDRESS DST-ADDRESS TIMEOUT ORIG-RATE REPL-RATE ORIG-PACKETS REPL-PACKETS ORIG-BYTES REPL-BYTES
0 SC icmpv6 240e::2 2409::f 29s 896bps 0bps 143 111 8 008 6 216
1 SC icmpv6 240e::2 2409::d 29s 896bps 448bps 136 107 7 616 5 992
2 SC icmpv6 240e::2 2409::a 29s 896bps 896bps 130 130 7 280 7 280
3 SC icmpv6 240e::2 2409::c 29s 896bps 896bps 124 124 6 944 6 944
4 SC icmpv6 240e::2 2409::e 29s 896bps 896bps 118 118 6 608 6 608
5 SC icmpv6 240e::2 2409::b 29s 896bps 896bps 111 111 6 216 6 216
[admin@DestinationRouter] /ipv6/firewall/connection> print where protocol=icmpv6
Flags: S - SEEN-REPLY; C - CONFIRMED
Columns: PROTOCOL, SRC-ADDRESS, DST-ADDRESS, TIMEOUT
# PROTOCOL SRC-ADDRESS DST-ADDRESS TIMEOUT
0 SC icmpv6 240e::2 2409::f 29s
1 SC icmpv6 240e::2 2409::d 29s
2 SC icmpv6 240e::2 2409::a 29s
3 SC icmpv6 240e::2 2409::c 29s
4 SC icmpv6 240e::2 2409::e 29s
5 SC icmpv6 240e::2 2409::b 29s
Doesn't it bother anyone who work with scripts?"added tab-width user configuration in /console/settings"*) console - replace TAB characters with spaces when editing scripts and added tab-width user configuration in /console/settings;
While this part is very nice for display purposes,
"replace TAB characters with spaces when editing scripts"
this part is a very bad change. I've lost all tabs in my scripts and when I need to edit them in some external editor, I need to restore them each time. Absolutely unacceptable.
Please return it back! I mean, TAB character should NOT be replaced, and tab-width parameter should only be used to correctly display TAB character in WinBox or console.
Hmmm, I didn't notice this line, but why did they change this? From now on my scripts won't work if matching \t characters in exported configurations?Doesn't it bother anyone who work with scripts?
"added tab-width user configuration in /console/settings"
While this part is very nice for display purposes,
"replace TAB characters with spaces when editing scripts"
this part is a very bad change. I've lost all tabs in my scripts and when I need to edit them in some external editor, I need to restore them each time. Absolutely unacceptable.
Please return it back! I mean, TAB character should NOT be replaced, and tab-width parameter should only be used to correctly display TAB character in WinBox or console.
I found a bug, when you do have multiple vxlan and VNI only one vtep has been dynamically created, only the last entry on the /interface/vxlan menu. creating a manual vtep is the workaround for the setup to work upon next reboot
You can trigger the creation of dynamic VTEP for all VNI by using this /interface/vxlan/set dont-fragment=disable [index] to make this work but it won't survived upon next reboot therefore creating a manual VTEP is necessary
Disclaimer: this happen on GNS3 i haven't tried this yet on a real hardware
https://help.mikrotik.com/servicedesk/s ... SUP-189706
viewtopic.php?p=1146015#p1146015
config upgrade to instances is quite complex. As I stated in this topic earlier, we need to know what was configured before the upgrade.Could you take a look mrz, some people including me having problem after upgrading to v 7.20b.
Instance was needed to link evpns, and also it will now allow to add other features that required per instance configuration.
I did not have any evpn setup just simple bgp and some of peers having problem with instance
Thx
If you haven't specify AS number in bgp/template, only use local.as in bgp/connection then connections lost local.as attribute and break BGP connectivity. If you migrate local.as to bgp/template and connections referring that template then upgrade may be success as instance derived from template. Upgraded CHR from 7.19.1 to 7.20beta2, bgp config before upgrade:send a supout file from v7.19 to support. To see what bgp config exactly you had.
Also, anyone upgrading and using BGP, keep in mind that in my test router all BGP peers could not connect after upgrading because the new bgp instance feature did not contain my local AS number. Once I manually set it on the instance, then they could connect.
/routing bgp template
set default disabled=no router-id=10.0.10.15
/routing bgp connection
add afi=ip,l2vpn,l2vpn-cisco,vpnv4 connect=yes listen=no local.address=10.0.10.15 .role=ibgp name=peer1 output.redistribute=connected remote.address=10.0.10.11 .as=65530 templates=default
add afi=ipv6,vpnv6 connect=yes listen=no local.address=b00b::10:0:10:15 .role=ibgp name=peer6 output.redistribute=connected remote.address=b00b::10:0:10:11 .as=65530 templates=default
/routing bgp vpls
add bridge=VPLS_A bridge-horizon=3 cisco-id=10.0.10.15&65530:3 disabled=no export-route-targets=65530:3 import-route-targets=65530:3 name=VPLS_A pw-type=vpls rd=65530:3
add bridge=VPLS_B bridge-horizon=4 disabled=no export-route-targets=65530:4 import-route-targets=65530:4 name=VPLS_B pw-type=vpls rd=65530:4 site-id=15
/routing bgp vpn
add disabled=no export.redistribute=connected .route-targets=65530:1 import.route-targets=65530:1 label-allocation-policy=per-vrf name=bgp-mpls-vpn-1 route-distinguisher=65530:1 vrf=VRF_A
add disabled=no export.redistribute=connected .route-targets=65530:2 import.route-targets=65530:2 label-allocation-policy=per-prefix name=bgp-mpls-vpn-2 route-distinguisher=65530:2 vrf=\
VRF_B
[admin@rtr5.CPE] > routing/bgp/export
# 2025-06-02 11:27:42 by RouterOS 7.20beta2
# system id = F2Gon3waNvD
#
/routing bgp instance
add as=65530 name=bgp-instance-1 vrf=main
/routing bgp template
set default disabled=no
/routing bgp connection
add afi=ip,l2vpn,l2vpn-cisco,vpnv4 connect=yes instance=bgp-instance-1 listen=no local.address=10.0.10.15 .role=ibgp name=peer1 output.redistribute=connected remote.address=10.0.10.11 \
.as=65530 templates=default
add afi=ipv6,vpnv6 connect=yes instance=bgp-instance-1 listen=no local.address=b00b::10:0:10:15 .role=ibgp name=peer6 output.redistribute=connected remote.address=b00b::10:0:10:11 .as=\
65530 templates=default
/routing bgp vpls
add bridge=VPLS_A bridge-horizon=3 cisco-id=10.0.10.15&65530:3 disabled=no export-route-targets=65530:3 import-route-targets=65530:3 name=VPLS_A pw-type=vpls rd=65530:3
add bridge=VPLS_B bridge-horizon=4 disabled=no export-route-targets=65530:4 import-route-targets=65530:4 name=VPLS_B pw-type=vpls rd=65530:4 site-id=15
/routing bgp vpn
add disabled=no export.redistribute=connected .route-targets=65530:1 import.route-targets=65530:1 instance=bgp-instance-1 label-allocation-policy=per-vrf name=bgp-mpls-vpn-1 \
route-distinguisher=65530:1 vrf=VRF_A
add disabled=no export.redistribute=connected .route-targets=65530:2 import.route-targets=65530:2 instance=bgp-instance-1 label-allocation-policy=per-prefix name=bgp-mpls-vpn-2 \
route-distinguisher=65530:2 vrf=VRF_B
[admin@rtr5.CPE] > routing/bgp/instance/set 0 router-id=10.0.10.15
[admin@rtr5.CPE] > routing/bgp/export
# 2025-06-02 11:28:22 by RouterOS 7.20beta2
# system id = F2Gon3waNvD
#
/routing bgp instance
add as=65530 name=bgp-instance-1 router-id=10.0.10.15 vrf=main
/routing bgp template
set default disabled=no
/routing bgp connection
add afi=ip,l2vpn,l2vpn-cisco,vpnv4 connect=yes instance=bgp-instance-1 listen=no local.address=10.0.10.15 .role=ibgp name=peer1 output.redistribute=connected remote.address=10.0.10.11 \
.as=65530 templates=default
add afi=ipv6,vpnv6 connect=yes instance=bgp-instance-1 listen=no local.address=b00b::10:0:10:15 .role=ibgp name=peer6 output.redistribute=connected remote.address=b00b::10:0:10:11 .as=\
65530 templates=default
/routing bgp vpls
add bridge=VPLS_A bridge-horizon=3 cisco-id=10.0.10.15&65530:3 disabled=no export-route-targets=65530:3 import-route-targets=65530:3 name=VPLS_A pw-type=vpls rd=65530:3
add bridge=VPLS_B bridge-horizon=4 disabled=no export-route-targets=65530:4 import-route-targets=65530:4 name=VPLS_B pw-type=vpls rd=65530:4 site-id=15
/routing bgp vpn
add disabled=no export.redistribute=connected .route-targets=65530:1 import.route-targets=65530:1 instance=bgp-instance-1 label-allocation-policy=per-vrf name=bgp-mpls-vpn-1 \
route-distinguisher=65530:1 vrf=VRF_A
add disabled=no export.redistribute=connected .route-targets=65530:2 import.route-targets=65530:2 instance=bgp-instance-1 label-allocation-policy=per-prefix name=bgp-mpls-vpn-2 \
route-distinguisher=65530:2 vrf=VRF_B
[admin@rtr5.CPE] >
Hmmm, indeed now neither label-alloc-policy config works for VPNv6 in 7.19/7.20 :-(The LDP / MPLS for IPv6 is still broken since v7.17. It is very bad when you want to run L3VPN (VPNv6) :(
I confirmed that it works on v7.16.2 so it must be something in v7.17.(x)
[admin@rtr1.CPE] > /mpls/ldp/remote-mapping/print where dst-address~":"
Flags: I - INACTIVE; D - DYNAMIC
Columns: VRF, DST-ADDRESS, LABEL, PEER
# VRF DST-ADDRESS LABEL PEER
18 ID main b00b::10:0:10:11 41 10.0.10.1:0
19 ID main ::1 impl-null 10.0.10.1:0
20 ID main b00b::10:0:10:1 impl-null 10.0.10.1:0
21 ID main b00b::10:0:10:2 36 10.0.10.1:0
22 ID main b00b::10:0:10:3 37 10.0.10.1:0
23 ID main b00b::10:0:10:4 38 10.0.10.1:0
24 ID main b00b::10:0:10:5 39 10.0.10.1:0
25 ID main b00b::10:0:10:6 40 10.0.10.1:0
26 ID main b00b::10:0:10:12 42 10.0.10.1:0
27 ID main b00b::10:0:10:13 43 10.0.10.1:0
28 ID main b00b::10:0:10:14 44 10.0.10.1:0
29 ID main b00b::10:0:10:15 45 10.0.10.1:0
30 ID main b00b::10:0:10:16 35 10.0.10.1:0
[admin@rtr1.CPE] > /mpls/ldp/export
# 2025-06-02 12:20:45 by RouterOS 7.20beta2
# system id = oKK2tXYASwB
#
/mpls ldp
add afi=ip,ipv6 disabled=no lsr-id=10.0.10.11 preferred-afi=ipv6 transport-addresses=10.0.10.11,b00b::10:0:10:11
/mpls ldp interface
add accept-dynamic-neighbors=yes afi=ip,ipv6 disabled=no interface=ether2
May be they were trying to make tab width adjustable, but made total mess of it instead.Hmmm, I didn't notice this line, but why did they change this? From now on my scripts won't work if matching \t characters in exported configurations?
I'm not sure why MikroTik decided to weigh in on the decades long "spaces-vs-tabs debate". I generally do use spaces & rarely edit script using CLI "edit" or WinBox, so not per se an issue for me. But there were less controversial things to fix in this area. WinBox's proportional fonts and lack of syntax checking(/colors) for scripts seems like bigger usability issues than spaces and tab-stops.Doesn't it bother anyone who work with scripts?"replace TAB characters with spaces when editing scripts"
[...]
Please return it back! I mean, TAB character should NOT be replaced, and tab-width parameter should only be used to correctly display TAB character in WinBox or console.
All roads to an LSP involve some form of schema (whether BNF, OpenAPI, etc), which is lacking. I thought before "/console/inspect request=completion" could be used as part of an LSP, but then the LSP always would need a connection to a router (which is not how LSP typically work, adding more difficulty to OSS LSP).@Amm0 Many times I considered developing an LSP, I wish Mikrotik funded open source projects…
All roads to an LSP involve some form of schema (whether BNF, OpenAPI, etc), which is lacking. I thought before "/console/inspect request=completion" could be used as part of an LSP, but then the LSP always would need a connection to a router (which is not how LSP typically work, adding more difficulty to OSS LSP).
TIL there is such as thing as setting the FEC mode on these optics.Re: *) sfp - improved initialization and linking for sfp28 on CRS518;
I am having initialization issues with 25G QSFP28 fs.com optics on CRS518-16XS-2XQ r2.
The optic DDM / EPROM readout looks fine until it starts receiving light, then it stabilizes, looks like its trying to link up, and then back to initialization.
I have this issue on 7.18.2 and tried installing 7.20beta2, same issue, I have multiple of these 10KM optics in a CRS518 https://www.fs.com/au/products/151887.html 10/25GBASE-D SFP28 BiDi 1330nm-TX/1270nm-RX 10km DOM Simplex LC/UPC SMF Transceiver Module (Industrial), and have also tried with the 20KM variant, same issue on with the 20KM.
They all look fine when not receiving light, but go into an initialization loop as soon as they receive light and try to link up.
interface/ethernet/set fec-mode=fec91 sfp28-5
I wonder how this can help? For example, for client authorization via option82, it is necessary that the data "lease-agent-circuit-id" and "lease-agent-remote-id" are parsed before the request goes to the radius server. Or this parsing should be implemented on the billing system side, but usually all free billings do not provide this. I really hope that one day MikroTik will add something like lua scripts as implemented in accell-ppp.*) dhcpv4-server - added "lease-agent-circuit-id" and "lease-agent-remote-id" variables to the lease script;
thank you thank you thank you for this!
Now I just want hardware accellerated vxlan on ipv6 :)
*) container - added support for cpuset, cpu, memory, pids cgroups;
# NAME ROOT-DIR INTERFACE WORKDIR MEMORY-CURRENT TAG
0 R ubi-init ubi-init veth1 / 128.0KiB registry.access.redhat.com/ubi9/ubi-init:latest
[root@dev /]# systemctl status nginx
○ nginx.service - The nginx HTTP and reverse proxy server
Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; preset: disabled)
Active: inactive (dead)
[root@dev /]# systemctl status nginx
● nginx.service - The nginx HTTP and reverse proxy server
Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; preset: disabled)
Active: active (running) since Tue 2025-06-03 08:21:00 UTC; 14s ago
Process: 31 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS)
Process: 34 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS)
Process: 35 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS)
Main PID: 38 (nginx)
Tasks: 2 (limit: 5484)
Memory: 2.2M
CPU: 16ms
CGroup: /init/system.slice/nginx.service
├─38 "nginx: master process /usr/sbin/nginx"
└─39 "nginx: worker process"
Jun 03 08:20:53 dev systemd[1]: Starting The nginx HTTP and reverse proxy server...
Jun 03 08:20:58 dev nginx[34]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
Jun 03 08:20:58 dev nginx[34]: nginx: configuration file /etc/nginx/nginx.conf test is successful
Jun 03 08:21:00 dev systemd[1]: Started The nginx HTTP and reverse proxy server.
[root@dev /]# ps -ef
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 08:19 ? 00:00:00 /sbin/init
root 10 0 0 08:20 pts/0 00:00:00 /bin/bash -i
root 24 1 0 08:20 ? 00:00:00 /usr/lib/systemd/systemd-journald
root 32 1 0 08:20 ? 00:00:00 sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups
root 38 1 0 08:20 ? 00:00:00 nginx: master process /usr/sbin/nginx
nginx 39 38 0 08:20 ? 00:00:00 nginx: worker process
root 43 10 0 08:22 pts/0 00:00:00 ps -ef
I know, but it's impractical IMHO to "free/demo tier" all nodes in a lab (might be 2 ..or 10), then you have another lab with more, then you need to reset the lab -> re-license all of them again..You can upgrade the CHR licence to 10gbit or unlimited. All you need is a mikrotik account ..[cut]..
What function do you need higher demo limit for?Please MT, consider updating the limit to 10Mb/s or give us a way to lab in a more convenient way.. thanx.
Let's be real though, it's bugger all effort compared to what you are getting in return. If you think thats difficult, go and try get access to Huawei enterprise firmware or documentation for instance. It's an absolute bloody nightmare
About flexibility: you can indeed put a trial license on (e.g.) 10 CHR device on a lab but, as soon as you create a copy of the project/topology for another scenario, you have to do that again. NOTE: often I need to reset the (virtual) device in a lab beacuse of some weird interface assignment (starting for example from ether4, ether5 .. which corrupts the config); in this case you (again) have to re-license them all.
Nobody does. We all license our production CHR instances. They're really very cheap, and if you really can't do that it's an incredibly small ask to simply add a trial licence and if you need to upgrade months down the track, backup your config, delete the instance, recreate it with the latest version, re-trial it and apply your config. It's all of about 5 minutes work
I just asked if you think it's possible (/sensible) since I think NOBODY would accept a free-tier 10Mb/s limit IN any REAL scenario that is not a virtual lab.
If it's a bad idea or you think it's not viable, that's it .. I understand.
For this kind of tests, you will need real HW based MTik devices. 1Mbps is enough for the most of CPlane tests. It is annoying if I want to upgrade my CHR LAB (12 devices) through the LAB network, with 1Mbps, it takes more then half hour, but I can live with this inconvenience.when I need to test some load-balancing, or bonding, ..., it's difficult to get an immediate feed-back
This is probably the only thing I find irksome with the 1mbit limit, takes too damn long to download the update. Especially when you have nodes in a daisy chain and they're all sharing a 1mbit pipeIt is annoying if I want to upgrade my CHR LAB (12 devices) through the LAB network, with 1Mbps, it takes more then half hour, but I can live with this inconvenience.when I need to test some load-balancing, or bonding, ..., it's difficult to get an immediate feed-back
This is probably the only thing I find irksome with the 1mbit limit ....
I use Webfig almost exclusively (old habits die hard, I guess), and I agree that 1Mbps makes managing the machines feel a bit lethargic, especially with the new UI. Perhaps 10Mbps is too much, but something between 2 and 5Mbps might be a compromise, or maybe adding a healthy burst amount on the throttler would help.You can get a trial CHR license without the limit. Say what you want but CHR has the most relaxed licensing system imaginable.
- You can get a free license with a speed limit and run it forever
- You can get a trial license for a whole whopping 60 days with no limitations at all
- The trial still works after 60 days, just upgrades stop working, but many of you don't upgrade anyway
What else could you wish for?
I'm with Normis on this one - I don't think it's unfair. The fact that it works out-of-box without any login/credentials/keys/etc is already ahead of most other commercial products/sevices IMO. I'm still surprised that an expired trial does NOT revert to 1Mb/s, which seem rather generous, given re-creating VMs isn't hard.[...]You can get a trial CHR license without the limit. Say what you want but CHR has the most relaxed licensing system imaginable.
- You can get a free license with a speed limit and run it forever
- You can get a trial license for a whole whopping 60 days with no limitations at all
- The trial still works after 60 days, just upgrades stop working, but many of you don't upgrade anyway
I personally am happy with the licensing, but the current licensing process can get in the way of automation and lab development. (Unless I'm missing something...)
/system/license/renew account=ammo password=XXXXXXXXXXXX level=p10
Being able to deleted "expired licenses" on www.mikrotik.com...What else could you wish for?
I'm not sure what those changes are... But...*) bth - added extra file-share functionality for use with apps;
Like mentioned several times already send a supout file from v7.19 to support.couldn't get BGP to work (7.20beta2) because the router-id was claimed to be invalid (found no solution - tried virtually anything I could find also in the template);
reverted back to 7.19.2
These values are passed to radius server, although the DHCP-options-to-RADIUS-attributes mapping is neither well documented nor configurableI wonder how this can help? For example, for client authorization via option82, it is necessary that the data "lease-agent-circuit-id" and "lease-agent-remote-id" are parsed before the request goes to the radius server. Or this parsing should be implemented on the billing system side, but usually all free billings do not provide this. I really hope that one day MikroTik will add something like lua scripts as implemented in accell-ppp.*) dhcpv4-server - added "lease-agent-circuit-id" and "lease-agent-remote-id" variables to the lease script;
thank you thank you thank you for this!
Now I just want hardware accellerated vxlan on ipv6 :)
Well, the "lease script" can do absolutely nothing for "client authorization", as it is called after a lease has already been acknowledged.I wonder how this can help? For example, for client authorization via option82, it is necessary that the data "lease-agent-circuit-id" and "lease-agent-remote-id" are parsed before the request goes to the radius server. Or this parsing should be implemented on the billing system side, but usually all free billings do not provide this. I really hope that one day MikroTik will add something like lua scripts as implemented in accell-ppp.*) dhcpv4-server - added "lease-agent-circuit-id" and "lease-agent-remote-id" variables to the lease script;
thank you thank you thank you for this!
Now I just want hardware accellerated vxlan on ipv6 :)
I'm waiting for them to do this, I depend on this to install the wifi-qcom-ac package on my ac2I am starting to get (again, after a few versions):"could not save configuration changes, not enough storage space available." on hAP ac2 with wifi-qcom-ac and minimal AP/CAPsMAN/NAT router/DHCP server/wireguard config. Everything was fine until 7.19rc3 (this is my home device, always on latest testing-development channel).
I know, I can netinstall it and save a few bytes, but wouldn't it be easier for Mikrotik to finally split wifi-qcom-ac into two packages, as suggested many times before, and fix this problem once for all 16MB devices?
@Kentzo, I wrote up what I know about /console/inspect and LSPs in this thread:@Amm0 Many times I considered developing an LSP, I wish Mikrotik funded open source projects…
Sorry @mrz, but... can't you test it yourselves with all the resources and devices you have?Like mentioned several times already send a supout file from v7.19 to support.couldn't get BGP to work (7.20beta2) because the router-id was claimed to be invalid (found no solution - tried virtually anything I could find also in the template);
reverted back to 7.19.2
Did you tried do not specify any routers id in bgp ?Sorry @mrz, but... can't you test it yourselves with all the resources and devices you have?
Like mentioned several times already send a supout file from v7.19 to support.
You're asking users to be beta testers. Can't you reproduce something as basic as this? It happens with several users. I don't think it's too difficult to reproduce the problem yourself.
Sorry @mrz, but... can't you test it yourselves with all the resources and devices you have?
Like mentioned several times already send a supout file from v7.19 to support.
You're asking users to be beta testers. Can't you reproduce something as basic as this? It happens with several users. I don't think it's too difficult to reproduce the problem yourself.
For BGP instance put the ASN id into configuration .. simple, easy, fast solution.couldn't get BGP to work (7.20beta2) because the router-id was claimed to be invalid (found no solution - tried virtually anything I could find also in the template);
reverted back to 7.19.2
Rewrite Radius-Request username with Circuit-ID DHCP-Option82 or PPPoE+Well, the "lease script" can do absolutely nothing for "client authorization", as it is called after a lease has already been acknowledged.
It is intended to provide a hook to handle new systems, e.g. to create a DNS record, to send an alert mail when new systems join the network, etc.
I have proposed before that a "pre-lease script" could be added that is called when the request comes in, and that can examine the request parameters and decide whether a lease should be granted, from what pool, etc. In that functionality, mapping of requests to RADIUS could also be done, e.g. by setting some magic variables (that RouterOS first sets to a default, and that the user can then modify when desired).
A further enhancement needed to make either option82 or PPPoE+ actually usefull, is the ability to compose the injected option82(circuit AND-OR remote-id) tag using local variables
This should be an option but shouldn't be the 'only' option if they are going to improve leases
The real question is, what exactly is the correct configuration to have prior to upgrading to v7.20, so that after upgrading, BGP works out of the box?For BGP instance put the ASN id into configuration .. simple, easy, fast solution.couldn't get BGP to work (7.20beta2) because the router-id was claimed to be invalid (found no solution - tried virtually anything I could find also in the template);
reverted back to 7.19.2
There are routers that won't be accessible remotely to correct the ASN and/or router-id after the fact, so MikroTik should publish a valid/tested upgrade path (covering at least a few common setups) so we don't have to travel to remote datacenters and mountains to do the upgrade.
Currently only EVPN VXLAN is supported.I asked before but got no response. In its current state does EVPN work with Traffic Engineering paths? or another way to ask it, dis EVPN MPLS supported or only EVPN VXLAN?
If not - @MikroTik is it planned to be supported? Or even better is Segment Routing on the roadmap?
viewtopic.php?t=217089#p1146042The real question is, what exactly is the correct configuration to have prior to upgrading to v7.20, so that after upgrading, BGP works out of the box?
For BGP instance put the ASN id into configuration .. simple, easy, fast solution.
There are routers that won't be accessible remotely to correct the ASN and/or router-id after the fact, so MikroTik should publish a valid/tested upgrade path (covering at least a few common setups) so we don't have to travel to remote datacenters and mountains to do the upgrade.
In general, but why do you update them?There are routers that won't be accessible remotely to correct the ASN and/or router-id after the fact, so MikroTik should publish a valid/tested upgrade path (covering at least a few common setups) so we don't have to travel to remote datacenters and mountains to do the upgrade.
I'm praying that eVPN in RouterOS supports MPLS in the near futureCurrently only EVPN VXLAN is supported.I asked before but got no response. In its current state does EVPN work with Traffic Engineering paths? or another way to ask it, dis EVPN MPLS supported or only EVPN VXLAN?
If not - @MikroTik is it planned to be supported? Or even better is Segment Routing on the roadmap?
Switch chips used in CRS/CCR has VXLAN support, so I think it is easy to implement EVPN-VXLAN fabric for DCs in RouterOS. MPLS is a total different strory, it is not a DC feature. If MT would pushing the MPLS lines, then we would have SR now.I'm praying that eVPN in RouterOS supports MPLS in the near futureCurrently only EVPN VXLAN is supported.
WTF people. Move on. Did I say ANYWHERE that I put a beta version on production?In general, but why do you update them?There are routers that won't be accessible remotely to correct the ASN and/or router-id after the fact, so MikroTik should publish a valid/tested upgrade path (covering at least a few common setups) so we don't have to travel to remote datacenters and mountains to do the upgrade.
if they work, they are very far away, and they block your service if something (anything) goes wrong during the update,
you really have to be hallucinating to do it.
Aside from the nonsense of putting beta versions into production and then complaining that they don't work,
everything must be tested first in the lab,
THEN, when there is SCHEDULED maintenance (because there is, right?) as it should always be done,
one can take advantage of it to replace the device with an updated one and, if it doesn't work, one can put the previous one back without problems.
I'm still learning exactly how to work with EVPN and VXLAN so i'm not an expert. But I do know that I have a growing need to be able to specify transit paths manually, overriding what the IGP wants to do. Hence on MikroTik at the moment the only option is TE with VPLS or EVPN MPLS if support is addedif that happens then probably we will not need vxlan.
we will probably get AFI:EVPN - god knows
If I'm right you need to open a ticket to support.Since no official MikroTik response (to my knowledge) mentions anything about how this new instance thing gets created based on what the pre v7.20 config was, we have no idea how to properly upgrade (WHEN the stable version of v7.20 gets releases - jeez it's like talking to 5year olds).
I agree, both are needed, for different use cases.Switch chips used in CRS/CCR has VXLAN support, so I think it is easy to implement EVPN-VXLAN fabric for DCs in RouterOS. MPLS is a total different strory, it is not a DC feature. If MT would pushing the MPLS lines, then we would have SR now.
You can hope for EVPN-SR/MPLS, but EVPN-VXLAN DC fabric is a nice feature for, whom likes nice loopfree L2 network without STP.
I was trying to point out that there is no MPLS support in existing chipsets. MPLS is in 98DX73xx, but if I'm right, this lines of switch chip is not in MTik devices. I think its because it is more expensive then VXLAN-only pieces. However MPLS is works with CPU power but it wont wirespeed. A 100G capable router with ~10G MPLS capacity is not too funny.I agree, both are needed, for different use cases.Switch chips used in CRS/CCR has VXLAN support, so I think it is easy to implement EVPN-VXLAN fabric for DCs in RouterOS. MPLS is a total different strory, it is not a DC feature. If MT would pushing the MPLS lines, then we would have SR now.
You can hope for EVPN-SR/MPLS, but EVPN-VXLAN DC fabric is a nice feature for, whom likes nice loopfree L2 network without STP.
eVPN+VXLAN for Datacentre
eVPN+MPLS for Service Provider
You can add S2S towards Azure.Well ROS v7.20beta2 seems to kill ipsec-vpns to many endpoints (here all fortigate-tunnels are down after the upgrade);
switching back to v7.19.2 - ipsec goes up again...
Out of band without a VRF for this is a huge inadequacy, for several reasons, including security.Do you guys don't have OOB management so that you can re-establish control with the device and fix this?
Shouldn't matter if its supported or not. If you're chasing ultimate speed thats fine you can use alternate hardware that does support your feature sets - like how it currently is with certain switching features - however VXLAN is not TE capable so its pointless when you have a viable need to use alternate routing paths. As all Service Providers beyond small scale doI was trying to point out that there is no MPLS support in existing chipsets. MPLS is in 98DX73xx, but if I'm right, this lines of switch chip is not in MTik devices. I think its because it is more expensive then VXLAN-only pieces. However MPLS is works with CPU power but it wont wirespeed. A 100G capable router with ~10G MPLS capacity is not too funny.
Same problem here with 7.20 beta2. Can't get containers to start/work, etc.I have problems in previous working IPSec. Not working
Also my container has problems - could not find config.json. Not able to start
Move back to 7.19.1After upgrading to 7.20beta2 my IPSec tunnel to a Proton server is failing with:
digital signature verification failed
Advice?
Perhaps good idea. But I'd at least "Make supout.rif" before downgrading, so you can report it if desired.Move back to 7.19.1Advice?
I also encounter thisPerhaps good idea. But I'd at least "Make supout.rif" before downgrading, so you can report it if desired.
Move back to 7.19.1
Another option is to enable more IPSec logging in /system/logging/add topics=ipsec,!raw which might have some clues on what causing it. (And if you capture the supout.rif AFTER adding logging, you'd at least save potential clues for MT support).
Perhaps you should NOT use "S" as /container flag for STOPPED as it "conflicts" the the usual "slave"/etc & started also starts with letter "S".*) container - show explicit stopped flag for container;
Hopefully they are working on 7.19.2 instead!It's taking a long time to release a 7.20beta3, isn't it?
I'm a "bazaar guy" myself, not a "cathedral one". But I must admit: I'm finding this "new" Mikrotik cadence MUCH better than the previous "oh dear, here we go again" previous one.It's taking a long time to release a 7.20beta3, isn't it?
Both, probably? I don't see 7.20.0 getting released before 7.19.2.Hopefully they are working on 7.19.2 instead!
+1I'm finding this "new" Mikrotik cadence MUCH better than the previous "oh dear, here we go again" previous one.It's taking a long time to release a 7.20beta3, isn't it?
I know MikroTik uses Box for "cloud files" sometimes.... But the nightly build seem like an ideal way to "dogfood" their own "back-to-home-files"... #self-hostingIf you want nightly check the nightly: mt.lv/nightly-build
It be a good application for RDS... but is that what it's actually running?I suppose TikTube is running in a container for example.
👍Newsletter #125 it says: "Runs entirely on our own RDS and hardware"
Different from previous versions?in RB5009 with 7.20 beta 2, if i enable VLAN filtering performances are very poor, if i disable it performances are regulary.
ETH1, running at 2,5Gbps? If yes, try either another port or limit eth1 to 1Gbps. See if makes some difference.in RB5009 with 7.20 beta 2, if i enable VLAN filtering performances are very poor, if i disable it performances are regulary.
No queues, 7.19 stable same problem, simple conf from eth2 to eth8 and sfp in the bridgeDifferent from previous versions?in RB5009 with 7.20 beta 2, if i enable VLAN filtering performances are very poor, if i disable it performances are regulary.
Any queues running on specific VLAN's?
Config might be helpfull.
Do a test: limit the autonegotiation to 1Gbps. I saw some weird things with this eth1 at 2,5Gbps, but never had the time - or hardware - to debug further. Just to see what happens.On eth1 there's PPPoE wan at 2.5Gbps, eth1 out of bridge