[SOLVED] DHCP client, problem in DHCP-Request phase

Hi there,
I’m trying to assign static IPs via DHCP to mikrotik devices.
In the tests I’m doing, I need to give IP to a SXT (with DHCP-CLIENT) via a RB450 (with DHCP proxy).


SXT ---------- DHCP RELAY ----------- DHCP SERVER

this should be so:
→ discover
← offer
→ request
← ack

The SXT performs correctly “discover” request and this arrives at the server, the server answers the request with a “offer”, and this return to SXT correctly. But the SXT does not perform the “request” phase, but rather continues repeating a discovery again and again.

00:57:21 dhcp,debug,packet dhcp-client on wlan1-gateway sending discover with id 3670985585 to 255.255.255.255 
00:57:21 dhcp,debug,packet     secs = 4 
00:57:21 dhcp,debug,packet     flags = broadcast 
00:57:21 dhcp,debug,packet     ciaddr = 0.0.0.0 
00:57:21 dhcp,debug,packet     chaddr = D4:CA:6D:C0:41:D7 
00:57:21 dhcp,debug,packet     Msg-Type = discover 
00:57:21 dhcp,debug,packet     Parameter-List = Subnet-Mask,Classless-Route,Router,Static-Route,Domain-Server,NTP-Server,CAPWAP-Server 
00:57:21 dhcp,debug,packet     Host-Name = "SXT STATION" 
00:57:21 dhcp,debug,packet     Client-Id = 01-D4-CA-6D-C0-41-D7 
00:57:22 dhcp,debug,packet dhcp-client on wlan1-gateway received offer with id 3670985585 from 172.28.1.1 
00:57:22 dhcp,debug,packet     hops = 1 
00:57:22 dhcp,debug,packet     flags = broadcast 
00:57:22 dhcp,debug,packet     ciaddr = 0.0.0.0 
00:57:22 dhcp,debug,packet     yiaddr = 172.28.1.12 
00:57:22 dhcp,debug,packet     siaddr = 10.1.2.10 
00:57:22 dhcp,debug,packet     chaddr = D4:CA:6D:C0:41:D7 
00:57:22 dhcp,debug,packet     Msg-Type = offer 
00:57:22 dhcp,debug,packet     Subnet-Mask = 255.255.0.0 
00:57:22 dhcp,debug,packet     Router = 172.28.1.1 
00:57:22 dhcp,debug,packet     Address-Time = 86400 
00:57:22 dhcp,debug,packet     Domain-Server = 8.8.8.8 
00:57:25 dhcp,debug,packet dhcp-client on wlan1-gateway sending discover with id 3670985585 to 255.255.255.255 
00:57:25 dhcp,debug,packet     secs = 7 
00:57:25 dhcp,debug,packet     flags = broadcast 
00:57:25 dhcp,debug,packet     ciaddr = 0.0.0.0 
00:57:25 dhcp,debug,packet     chaddr = D4:CA:6D:C0:41:D7 
00:57:25 dhcp,debug,packet     Msg-Type = discover 
00:57:25 dhcp,debug,packet     Parameter-List = Subnet-Mask,Classless-Route,Router,Static-Route,Domain-Server,NTP-Server,CAPWAP-Server 
00:57:25 dhcp,debug,packet     Host-Name = "SXT STATION" 
00:57:25 dhcp,debug,packet     Client-Id = 01-D4-CA-6D-C0-41-D7 
00:57:25 dhcp,debug,packet dhcp-client on wlan1-gateway received offer with id 3670985585 from 172.28.1.1 
00:57:25 dhcp,debug,packet     hops = 1 
00:57:25 dhcp,debug,packet     flags = broadcast 
00:57:25 dhcp,debug,packet     ciaddr = 0.0.0.0 
00:57:25 dhcp,debug,packet     yiaddr = 172.28.1.12 
00:57:25 dhcp,debug,packet     siaddr = 10.1.2.10 
00:57:25 dhcp,debug,packet     chaddr = D4:CA:6D:C0:41:D7 
00:57:25 dhcp,debug,packet     Msg-Type = offer 
00:57:25 dhcp,debug,packet     Subnet-Mask = 255.255.0.0 
00:57:25 dhcp,debug,packet     Router = 172.28.1.1 
00:57:25 dhcp,debug,packet     Address-Time = 86400 
00:57:25 dhcp,debug,packet     Domain-Server = 8.8.8.8

Graphically:

→ discover
← offer
→ discover
← offer
→ discover
← offer



Why the SXT does not continue with the next step (“request”) if already received correctly “offer” packet?

Thanks for read.

Solved!

It needs the Option 54 “Server identifier”, it was not being provided by my server. I fixed that and all work now.
In logs appear as:

Server-Id = 10.1.2.10

01:54:12 dhcp,debug,packet dhcp-client on wlan1-gateway sending discover with id 2974431265 to 255.255.255.255 
01:54:12 dhcp,debug,packet     secs = 11 
01:54:12 dhcp,debug,packet     flags = broadcast 
01:54:12 dhcp,debug,packet     ciaddr = 0.0.0.0 
01:54:12 dhcp,debug,packet     chaddr = D4:CA:6D:C0:41:D7 
01:54:12 dhcp,debug,packet     Msg-Type = discover 
01:54:12 dhcp,debug,packet     Parameter-List = Subnet-Mask,Classless-Route,Router,Static-Route,Domain-Server,NTP-Server,CAPWAP-Server 
01:54:12 dhcp,debug,packet     Host-Name = "SXT STATION" 
01:54:12 dhcp,debug,packet     Client-Id = 01-D4-CA-6D-C0-41-D7 
01:54:12 dhcp,debug,packet dhcp-client on wlan1-gateway received offer with id 2974431265 from 172.28.1.1 
01:54:12 dhcp,debug,packet     hops = 1 
01:54:12 dhcp,debug,packet     flags = broadcast 
01:54:12 dhcp,debug,packet     ciaddr = 0.0.0.0 
01:54:12 dhcp,debug,packet     yiaddr = 172.28.1.12 
01:54:12 dhcp,debug,packet     siaddr = 10.1.2.10 
01:54:12 dhcp,debug,packet     chaddr = D4:CA:6D:C0:41:D7 
01:54:12 dhcp,debug,packet     Msg-Type = offer 
01:54:12 dhcp,debug,packet     Subnet-Mask = 255.255.0.0 
01:54:12 dhcp,debug,packet     Router = 172.28.1.1 
01:54:12 dhcp,debug,packet     Address-Time = 86400 
01:54:12 dhcp,debug,packet     Domain-Server = 8.8.8.8 
01:54:12 dhcp,debug,packet     Server-Id = 10.1.2.10 
01:54:12 dhcp,debug,state dhcp-client on wlan1-gateway entering <requesting...> state 
01:54:12 dhcp,debug,packet dhcp-client on wlan1-gateway sending request with id 2974431265 to 255.255.255.255 
01:54:12 dhcp,debug,packet     secs = 11 
01:54:12 dhcp,debug,packet     flags = broadcast 
01:54:12 dhcp,debug,packet     ciaddr = 0.0.0.0 
01:54:12 dhcp,debug,packet     chaddr = D4:CA:6D:C0:41:D7 
01:54:12 dhcp,debug,packet     Msg-Type = request 
01:54:12 dhcp,debug,packet     Server-Id = 10.1.2.10 
01:54:12 dhcp,debug,packet     Address-Request = 172.28.1.12 
01:54:12 dhcp,debug,packet     Parameter-List = Subnet-Mask,Classless-Route,Router,Static-Route,Domain-Server,NTP-Server,CAPWAP-Server 
01:54:12 dhcp,debug,packet     Host-Name = "SXT STATION" 
01:54:12 dhcp,debug,packet     Client-Id = 01-D4-CA-6D-C0-41-D7 
01:54:12 dhcp,debug,packet dhcp-client on wlan1-gateway received ack with id 2974431265 from 172.28.1.1 
01:54:12 dhcp,debug,packet     hops = 1 
01:54:12 dhcp,debug,packet     flags = broadcast 
01:54:12 dhcp,debug,packet     ciaddr = 0.0.0.0 
01:54:12 dhcp,debug,packet     yiaddr = 172.28.1.12 
01:54:12 dhcp,debug,packet     chaddr = D4:CA:6D:C0:41:D7 
01:54:12 dhcp,debug,packet     Msg-Type = ack 
01:54:12 dhcp,debug,packet     Subnet-Mask = 255.255.0.0 
01:54:12 dhcp,debug,packet     Router = 172.28.1.1 
01:54:12 dhcp,debug,packet     Address-Time = 86400 
01:54:12 dhcp,info dhcp-client on wlan1-gateway got IP address 172.28.1.12 
01:54:12 dhcp,debug,state dhcp-client on wlan1-gateway entering <bound> state