Events on master port will be handled by slave

Hello,

I just installed 7.18.1 version on my Model E50UG and noticed after boot this error on the log:


Buffer: Memory
Topics: dhcp, error
Message: events on master port will be handled by slave ether5, update your config!!! (IPv4)

I’m not 100% was that same error there already before update, so I can’t say that this is related to the new version.

Ether5 port seems to work normally and devices behind that port seems to get internal IP address normally. I have all ports from 2-5 in my bridge and DHCP server is on that bridge interface. Please advice what I should check and why it’s reporting this error. I’m using Winbox as my main configuration tool so if you give instructions, please give step by step instructions what to check.

Thank you!

Hi, can you post your configuration without the private bits?

Please use the code tags to enclose it.

 /ip dhcp-server set dhcp1_LAN interface=bridge1_LAN

MTdhcpIF.png

I’m not sure what information you might need to help me solve this, but here are some basic information what I think is relevant. Let me know commands and part of configuration you need and I can provide. I haven’t much changed the default setup. Only tried to hardening that a little bit based on the documentation.

ip dhcp-server print
Columns: NAME, INTERFACE, ADDRESS-POOL, LEASE-TIME
# NAME     INTERFACE  ADDRESS-POOL  LEASE-TIME
0 defconf  bridge     default-dhcp  1d        

interface print                       
Flags: R - RUNNING; S - SLAVE
Columns: NAME, TYPE, ACTUAL-MTU, L2MTU, MAX-L2MTU
#    NAME    TYPE      ACTUAL-MTU  L2MTU  MAX-L2MTU  
0 R  ether1  ether           1500   1600       2048  
1 RS ether2  ether           1500   1596       2026
2  S ether3  ether           1500   1596       2026 
3 RS ether4  ether           1500   1596       2026
4 RS ether5  ether           1500   1596       2026
;;; defconf
5 R  bridge  bridge          1500   1596            
6 R  lo      loopback       65536                   

interface list member print 
Columns: LIST, INTERFACE
# LIST  INTERFACE
;;; defconf
0 LAN   bridge   
;;; defconf
1 WAN   ether1

I figured this out. My bad. I forgot that when I initially tried to make rogue-dhcp alert active, I got this same error from different interface based on my own setup documentation. I changed that to ether5 because I got error from ether2. I changed it now to bridge interface and after boot, that error is gone.

ip dhcp-server alert print
Columns: INTERFACE, VALID-SERVER, ON-ALERT, ALERT-TIMEOUT
# INTERFACE  VALID-SERVER       ON-ALERT    ALERT-TIMEOUT
0 bridge     xxxxxxxxxxxxxx  rogue-dhcp  1h

Can someone confirm that this is valid way to use DHCP-Alerts? I thought that I can choose any interface I like to run these alerts but it seems it raises this odd error. I didn’t understood this limitation based on this documentation:

https://help.mikrotik.com/docs/spaces/ROS/pages/24805500/DHCP#DHCP-Alerts

Full config would be the easiest but if not possible:

  • ip dhcp-server
  • ip address
  • interfaces
  • bridge
  • bridge port members

As I wrote earlier, it seems problem for this error was alert settings on DHCP server. But as requested, here is list of settings on my setup and dhcp alert settings also in a same post. IP and other sensitive information I masked with xx for my safety.

What I changed, and so far this error won’t raise anymore, I changed alert’s interface from ether5 → bridge. Check my previous post.

So current question is actually, why dhcp-server alert need to run on master port (based on that error) and not in the slave interface? And is this correct way to run alert?

> ip dhcp-server print
Columns: NAME, INTERFACE, ADDRESS-POOL, LEASE-TIME
# NAME     INTERFACE  ADDRESS-POOL  LEASE-TIME
0 defconf  bridge     default-dhcp  1d   

> ip dhcp-server alert print   
Columns: INTERFACE, VALID-SERVER, ON-ALERT, ALERT-TIMEOUT
# INTERFACE  VALID-SERVER       ON-ALERT    ALERT-TIMEOUT
0 bridge     xx:xx:xx:xx:xx:16  rogue-dhcp  1h     

> ip address print
Flags: D - DYNAMIC
Columns: ADDRESS, NETWORK, INTERFACE
#   ADDRESS            NETWORK       INTERFACE
;;; defconf
0   x.x.x.x/x         x.x.x.x      bridge   
1 D x.x.x.xx/xx  xx.xx.xx.x  ether1  

> interface print           
Flags: R - RUNNING; S - SLAVE
Columns: NAME, TYPE, ACTUAL-MTU, L2MTU, MAX-L2MTU, MAC-ADDRESS
#    NAME    TYPE      ACTUAL-MTU  L2MTU  MAX-L2MTU  MAC-ADDRESS      
0 R  ether1  ether           1500   1600       2048  xx:xx:xx:xx:xx:15
1 RS ether2  ether           1500   1596       2026  xx:xx:xx:xx:xx:16
2  S ether3  ether           1500   1596       2026  xx:xx:xx:xx:xx:17
3 RS ether4  ether           1500   1596       2026  xx:xx:xx:xx:xx:18
4 RS ether5  ether           1500   1596       2026  xx:xx:xx:xx:xx:19
;;; defconf
5 R  bridge  bridge          1500   1596             xx:xx:xx:xx:xx:16
6 R  lo      loopback       65536                    00:00:00:00:00:00

> interface bridge print     
Flags: D - dynamic; X - disabled, R - running 
 0  R ;;; defconf
      name="bridge" mtu=auto actual-mtu=1500 l2mtu=1596 arp=enabled arp-timeout=auto mac-address=xx:xx:xx:xx:xx:16 protocol-mode=rstp fast-forward=yes igmp-snooping=no 
      auto-mac=no admin-mac=xx:xx:xx:xx:xx:16 ageing-time=5m priority=0x8000 max-message-age=20s forward-delay=15s transmit-hold-count=6 vlan-filtering=no 
      dhcp-snooping=no port-cost-mode=long mvrp=no max-learned-entries=auto 

> interface bridge port print
Flags: I - INACTIVE; H - HW-OFFLOAD
Columns: INTERFACE, BRIDGE, HW, PVID, PRIORITY, HORIZON
#    INTERFACE  BRIDGE  HW   PVID  PRIORITY  HORIZON
;;; defconf
0  H ether2     bridge  yes     1  0x80      none   
;;; defconf
1 IH ether3     bridge  yes     1  0x80      none   
;;; defconf
2  H ether4     bridge  yes     1  0x80      none   
;;; defconf
3  H ether5     bridge  yes     1  0x80      none

Hi there,

Yeah, I replied to your message where you asked what else was needed. Then I saw the one saying you found it.

That is the correct way of using the dhcp-server alert: it has to be on a L3 interface as it has to run a dhcp client. A port member of a bridge cannot be a dhcp client hence the error.