Fri Jun 30, 2023 9:05 pm
The early philosophy of RouterOS always was to bother users as little as possible with creation of container items and do that all in the background.
So you can create firewall chains, packet marks, connection marks, address-lists etc simply by adding a first item. In Linux, you would first have to create it before you can add items.
More recently, RouterOS has changed that. E.g. "interface lists" (a later addition) first have to be created before you can add interfaces to it.
And "routing tables" now (since v7) also have to be defined before you can add routes, instead of auto-creating them by adding a route with a routing mark or a routing protocol that manages a routing table.
That change caused quite some bugs early in the v7 cycle. Routing table creation commands were automatically added to the config whenever routes were present in the v6 config being converted, but at first they ended up in the wrong place, and on every upgrade new tables were auto-added causing duplicates and matching problems.
So they probably have learned now. But it is not out of the question that at some point there will be a "lists" button under the IP->Firewall->address lists menu where you first have to create your lists before you can add an item to them.
That can still be auto-converted from existing config that already had hard address-list members, but it will fail for scripts that attempt to add entries to an address-list that does not yet exist. The user first needs to create it.
This change would open the possibility for lots of advanced address-list features and also a little better efficiency. At the moment, RouterOS can do no better than create a list of "hashed subnets" with the "timeout" option, but there are lots of other address-list possibilities in Linux.
(they are named "ipset" there, google for "Linux ipset" to see documentation)