It is resolved in newer releases. 6.39 and newer...
Apparently I spoke too soon. I had the logging level set too low on my router and saw the RADIUS traffic corresponding with lease renewals. I thought these were AUTH requests/replies, but upon deeper inspection, it appears that this was just RADIUS accounting packets. I'm not seeing any RADIUS auth requests/responses for renewals of existing leases at the Mikrotik.
Here's my configuration: (version = 6.41rc66)
/ip dhcp-server
add add-arp=yes address-pool=Customers disabled=no interface=ether2 lease-time=5m name=CustomerDHCP relay=255.255.255.255 use-radius=yes
/ip dhcp-server network
add address=192.168.0.0/24 dns-server=192.168.0.2 gateway=192.168.0.2
/radius
add address=172.31.0.10 secret=testing123 service=dhcp
For the sake of complete disclosure - the DHCP client in this test bed is the GNS3 VPC host, which is very basic in nature.
Observations from packet captures:
The initial DHCP process works as anyone might expect. Client sends a DHCP discover, which causes the Mikrotik to send a RADIUS auth request. If accepted, the Mikrotik creates a lease and offers it to the client, the client then requests the address and is ACK'd by the router, leading to a RADIUS accounting start.
If the client renews its lease by skipping the DHCP discover - i.e. it just requests its IP address again - the Mikrotik ACKs this without any activity in RADIUS either auth or accounting.
If the client renews its lease by sending a discover request, then the Mikrotik sends an accounting stop record to RADIUS, followed by the offer -> direct request -> ACK process. When the Mikrotik sends the ACK to this request, it then sends an accounting start record to RADIUS. It never sends a new authentication request.
If the client releases its lease, then the Mikrotik sends a RADIUS accounting stop record.
So in my observations today, I find that only upon receiving a DHCP discover message from a host not currently in the leases DB does the router bother to send a RADIUS access-request. During testing, I disabled the account of my test client, but was able to renew the lease successfully as much as I liked. Only releasing the IP led to the situation where the Mikrotik would realize that the device was no longer authorized.
In short - the trigger for requesting RADIUS authentication appears to be hit prior to creating new dynamic entries in the leases DB. I must assume that if I were to make some change in the user's RADIUS profile, such as a change to the assigned IP address, queue rates, etc that none of this would make it to the Mikrotik until the existing cached lease is either released or actually expires completely. That's quite problematic from a centralized user-management perspective. Perhaps this is a resurgence of the bug from pre-6.39 versions. I'm about to leave my office for Christmas travel plans, so I don't have time to download, install, and configure the test in v6.39 but I would hope that this behavior I'm seeing is not considered to be "correct" by Mikrotik.
I also plan to test the behavior of RADIUS packet-of-disconnect on radius-backed DHCP leases... Anyway, in case I don't check back in on this thread during the holidays, Merry Christmas to all!