-
Notifications
You must be signed in to change notification settings - Fork 98
Entity reference
Which RouterOS menus the O/R mapper covers, and what each one's class is called. This page assumes you already know the menus — it answers "is it covered, and what do I type?", not what the fields mean. For what an entity is, see High-level API entities.
⚠️ Alpha — ships inv4.0.0-alpha: tested and functional, but the API may still change before the final 4.0 release. See Connection types & capabilities.
You usually do not need the table. The path is the name, and the menu is the namespace:
| RouterOS | C# |
|---|---|
/interface/vlan |
tik4net.Objects.Interface.InterfaceVlan |
/ip/firewall/filter |
tik4net.Objects.Ip.Firewall.FirewallFilter |
/system/resource |
tik4net.Objects.System.SystemResource |
/queue/simple |
tik4net.Objects.Queue.QueueSimple |
Where the menu already repeats itself the prefix is dropped once — hence FirewallFilter rather than
IpFirewallFilter.
A marker changes what you can do with the entity, so read these once and the table needs no prose:
-
¹ Singleton — one row, not a list. Read it with
LoadSingle<T>(); there is no add or remove. -
² Read-only — the router builds these rows (registration tables, active sessions, caches).
SaveandDeleteare not offered. -
³ Ordered — position decides behaviour, first match wins.
Moveapplies, andSaveListDifferencesapplies your list's order to the router. -
⁴ Live counters — bytes/packets come from a second
print statsquery, not fromprint detail. SeeIncludeCliStats. - ⁵ Has helpers — the menu has verbs beyond CRUD; see Entity helpers.
The *-server singletons — /interface/l2tp-server/server, /interface/ovpn-server/server,
/interface/pptp-server/server, /interface/sstp-server/server — are read without =detail=:
RouterOS rejects it on them, and print answers !empty. Nothing to do on your side; it is why those
entities look different if you read the source.
Wireless is two drivers, and the router decides which one it has. /interface/wireless
(InterfaceWireless and the /interface/wireless/* sub-menus) is the legacy driver;
/interface/wifi is the current one. They are not interchangeable and which exists depends on the
RouterOS version and the installed package set — check the router before picking the entity.
CAPsMAN likewise. /caps-man is the older manager; newer RouterOS versions also expose the wifi
generation of it. Same rule: look at the router.
/ip/firewall/connection and the */active and */registration-table menus are the router's own
view of live state. They are read-only ², their rows come and go without you, and an .id you kept
from a previous read may be gone by the next one.
169 entities are mapped. Markers are explained in the legend above.
Namespace tik4net.Objects.CapsMan.
| RouterOS path | Class | |
|---|---|---|
/caps-man/access-list |
CapsManAccessList |
³ |
/caps-man/channel |
CapsManChannel |
|
/caps-man/configuration |
CapsManConfiguration |
|
/caps-man/datapath |
CapsManDatapath |
|
/caps-man/interface |
CapsManInterface |
|
/caps-man/manager |
CapsManManager |
¹ |
/caps-man/provisioning |
CapsManProvisioning |
³ |
/caps-man/registration-table |
CapsManRegistrationTable |
² |
/caps-man/security |
CapsManSecurity |
Namespace tik4net.Objects.Certificate.
| RouterOS path | Class | |
|---|---|---|
/certificate |
Certificate |
Namespace tik4net.Objects.System.
| RouterOS path | Class | |
|---|---|---|
/file |
File |
Namespace tik4net.Objects.
| RouterOS path | Class | |
|---|---|---|
/interface |
Interface |
⁴ |
/interface/bonding |
InterfaceBonding |
|
/interface/bridge |
InterfaceBridge |
|
/interface/bridge/filter |
BridgeFilter |
³ |
/interface/bridge/nat |
BridgeNat |
³ |
/interface/bridge/port |
BridgePort |
|
/interface/bridge/settings |
BridgeSettings |
¹ |
/interface/bridge/vlan |
BridgeVlan |
|
/interface/eoip |
InterfaceEoip |
|
/interface/ethernet |
InterfaceEthernet |
|
/interface/ethernet/monitor |
EthernetMonitor |
² ⁵ |
/interface/gre |
InterfaceGre |
|
/interface/ipip |
InterfaceIpip |
|
/interface/l2tp-client |
L2tpClient |
|
/interface/l2tp-server/server |
L2tpServer |
¹ |
/interface/list |
InterfaceList |
|
/interface/list/member |
InterfaceListMember |
|
/interface/lte |
InterfaceLte |
|
/interface/monitor-traffic |
InterfaceMonitorTraffic |
² ⁵ |
/interface/ovpn-client |
OvpnClient |
|
/interface/ovpn-server/server |
OvpnServer |
¹ |
/interface/pppoe-client |
InterfacePppoeClient |
|
/interface/pppoe-client/monitor |
InterfacePppoeClientMonitor |
² ⁵ |
/interface/pppoe-server/server |
InterfacePppoeserverServer |
|
/interface/pptp-client |
PptpClient |
|
/interface/pptp-server/server |
PptpServer |
¹ |
/interface/sstp-client |
SstpClient |
|
/interface/sstp-server/server |
SstpServer |
¹ |
/interface/vlan |
InterfaceVlan |
|
/interface/vrrp |
InterfaceVrrp |
|
/interface/vxlan |
InterfaceVxlan |
|
/interface/wifi |
InterfaceWifi |
|
/interface/wifi/access-list |
WifiAccessList |
³ |
/interface/wifi/channel |
WifiChannel |
|
/interface/wifi/configuration |
WifiConfiguration |
|
/interface/wifi/datapath |
WifiDatapath |
|
/interface/wifi/provisioning |
WifiProvisioning |
³ |
/interface/wifi/registration-table |
WifiRegistrationTable |
² |
/interface/wifi/security |
WifiSecurity |
|
/interface/wireguard |
InterfaceWireguard |
|
/interface/wireguard/peers |
WireguardPeer |
|
/interface/wireless |
InterfaceWireless |
|
/interface/wireless/access-list |
WirelessAccessList |
|
/interface/wireless/channels |
WirelessChannels |
|
/interface/wireless/registration-table |
WirelessRegistrationTable |
² |
/interface/wireless/security-profiles |
WirelessSecurityProfile |
|
/interface/wireless/sniffer |
WirelessSniffer |
¹ |
Namespace tik4net.Objects.Ip.
| RouterOS path | Class | |
|---|---|---|
/ip/accounting |
IpAccounting |
¹ |
/ip/accounting/snapshot |
AccountingSnapshot |
² ⁵ |
/ip/accounting/uncounted |
AccountingUncounted |
¹ ² |
/ip/accounting/web-access |
AccountingWebAccess |
¹ |
/ip/address |
IpAddress |
|
/ip/arp |
IpArp |
|
/ip/cloud |
IpCloud |
¹ |
/ip/dhcp-client |
IpDhcpClient |
|
/ip/dhcp-relay |
IpDhcpRelay |
|
/ip/dhcp-server |
IpDhcpServer |
|
/ip/dhcp-server/alert |
DhcpServerAlert |
|
/ip/dhcp-server/config |
DhcpServerConfig |
¹ |
/ip/dhcp-server/lease |
DhcpServerLease |
|
/ip/dhcp-server/network |
DhcpServerNetwork |
|
/ip/dhcp-server/option |
DhcpServerOption |
|
/ip/dns |
IpDns |
¹ |
/ip/dns/cache |
DnsCache |
² ⁵ |
/ip/dns/cache/all |
DnsCacheAll |
² |
/ip/dns/static |
DnsStatic |
³ |
/ip/firewall/address-list |
FirewallAddressList |
|
/ip/firewall/connection |
FirewallConnection |
² |
/ip/firewall/connection/tracking |
ConnectionTracking |
¹ |
/ip/firewall/filter |
FirewallFilter |
³ ⁴ |
/ip/firewall/layer7-protocol |
FirewallLayer7Protocol |
|
/ip/firewall/mangle |
FirewallMangle |
³ ⁴ |
/ip/firewall/nat |
FirewallNat |
³ ⁴ |
/ip/firewall/raw |
FirewallRaw |
³ ⁴ |
/ip/firewall/service-port |
FirewalServicePort |
|
/ip/hotspot |
HotspotServer |
|
/ip/hotspot/active |
HotspotActive |
² |
/ip/hotspot/ip-binding |
HotspotIpBinding |
|
/ip/hotspot/profile |
HotspotServerProfile |
|
/ip/hotspot/user |
HotspotUser |
|
/ip/hotspot/user/profile |
HotspotUserProfile |
|
/ip/hotspot/walled-garden |
HotspotWalledGarden |
³ |
/ip/hotspot/walled-garden/ip |
HotspotWalledGardenIp |
³ |
/ip/ipsec/active-peers |
IpsecActivePeers |
² |
/ip/ipsec/identity |
IpsecIdentity |
|
/ip/ipsec/installed-sa |
IpsecInstalledSa |
² |
/ip/ipsec/key/rsa |
IpsecKey |
⁵ |
/ip/ipsec/mode-config |
IpsecModeConfig |
|
/ip/ipsec/peer |
IpsecPeer |
|
/ip/ipsec/policy |
IpsecPolicy |
³ |
/ip/ipsec/profile |
IpsecProfile |
|
/ip/ipsec/proposal |
IpsecProposal |
|
/ip/neighbor |
IpNeighbor |
² |
/ip/pool |
IpPool |
|
/ip/proxy |
IpProxy |
¹ |
/ip/proxy/access |
IpProxyAccess |
³ |
/ip/route |
IpRoute |
|
/ip/service |
IpService |
|
/ip/settings |
IpSettings |
¹ |
/ip/socks |
IpSocks |
¹ |
/ip/ssh |
IpSsh |
¹ |
/ip/traffic-flow |
IpTrafficFlow |
¹ |
/ip/traffic-flow/target |
IpTrafficFlowTarget |
|
/ip/upnp |
IpUpnp |
¹ |
/ip/upnp/interfaces |
IpUpnpInterface |
Namespace tik4net.Objects.
| RouterOS path | Class | |
|---|---|---|
/log |
Log |
² ⁵ |
Namespace tik4net.Objects.Tool.
| RouterOS path | Class | |
|---|---|---|
/ping |
ToolPing |
² ⁵ |
Namespace tik4net.Objects.Ppp.
| RouterOS path | Class | |
|---|---|---|
/ppp/aaa |
PppAaa |
¹ |
/ppp/active |
PppActive |
² |
/ppp/profile |
PppProfile |
|
/ppp/secret |
PppSecret |
Namespace tik4net.Objects.Queue.
| RouterOS path | Class | |
|---|---|---|
/queue/simple |
QueueSimple |
³ ⁴ |
/queue/tree |
QueueTree |
⁴ |
/queue/type |
QueueType |
Namespace tik4net.Objects.Radius.
| RouterOS path | Class | |
|---|---|---|
/radius |
Radius |
Namespace tik4net.Objects.Routing.
| RouterOS path | Class | |
|---|---|---|
/routing/bgp/advertisements |
BgpAdvertisements |
² |
/routing/bgp/connection |
BgpConnection |
|
/routing/bgp/instance |
BgpInstance |
|
/routing/bgp/network |
BgpNetwork |
|
/routing/bgp/peer |
BgpPeer |
|
/routing/filter/rule |
RoutingFilterRule |
³ |
/routing/ospf/area |
OspfArea |
|
/routing/ospf/instance |
OspfInstance |
|
/routing/ospf/interface-template |
OspfInterfaceTemplate |
³ |
/routing/ospf/neighbor |
OspfNeighbor |
² |
/routing/rule |
RoutingRule |
³ |
/routing/table |
RoutingTable |
Namespace tik4net.Objects.Snmp.
| RouterOS path | Class | |
|---|---|---|
/snmp |
Snmp |
¹ |
/snmp/community |
SnmpCommunity |
Namespace tik4net.Objects.System.
| RouterOS path | Class | |
|---|---|---|
/system/clock |
SystemClock |
¹ |
/system/health |
SystemHealth |
¹ |
/system/identity |
SystemIdentity |
¹ |
/system/leds |
SystemLeds |
|
/system/logging |
SystemLogging |
|
/system/logging/action |
SystemLoggingAction |
|
/system/note |
SystemNote |
¹ |
/system/ntp/client |
SystemNtpClient |
¹ |
/system/ntp/server |
SystemNtpServer |
¹ |
/system/package |
SystemPackage |
² ⁵ |
/system/resource |
SystemResource |
¹ ² |
/system/routerboard |
SystemRouterboard |
² |
/system/scheduler |
SystemScheduler |
|
/system/script |
SystemScript |
|
/system/watchdog |
SystemWatchdog |
¹ |
Namespace tik4net.Objects.Tool.
| RouterOS path | Class | |
|---|---|---|
/tool/bandwidth-server |
ToolBandwidthServer |
¹ |
/tool/e-mail |
ToolEmail |
¹ |
/tool/graphing/interface |
GraphingInterface |
|
/tool/graphing/queue |
GraphingQueue |
|
/tool/graphing/resource |
GraphingResource |
|
/tool/mac-server |
ToolMacServer |
¹ |
/tool/mac-server/mac-winbox |
ToolMacServerWinbox |
¹ |
/tool/netwatch |
ToolNetwatch |
|
/tool/romon |
ToolRomon |
¹ |
/tool/romon/port |
ToolRomonPort |
|
/tool/torch |
ToolTorch |
² |
/tool/traceroute |
ToolTraceroute |
² ⁵ |
Namespace tik4net.Objects.User.
| RouterOS path | Class | |
|---|---|---|
/user |
User |
|
/user/group |
UserGroup |
Nothing is lost, and you do not have to wait for us:
-
Write the entity yourself — it is a class with attributes and behaves exactly like the built-in
ones. Custom entities has the rules, and the
entity-generatorskill scaffolds one from a live router. Pull requests are welcome. - Or stay one level down — the ADO.NET-like API reaches every menu with no entity at all, and mixes freely with the mapper on the same connection.
- High-level API entities — what an entity is and how it maps
-
Entity value types —
TikDuration,TikDataRate,TikRatePair,TikRouterAddress - Entity helpers — the verbs that are not CRUD
- Custom entities — writing your own