Thanks for the quick fix. Now TXID is fixed. But the server responds with OFFER even for Request message. Attached the pcap for your reference. Debug output for Redis_ippool: Ready to process requests proto_dhcpv4_udp - Received DHCP-Discover XID 00000000 length 259 proto_dhcpv4_udp server 10.43.18.92 port 67 Network received packet size 259 Resetting worker 30 cleanup timer to +0s (0) running request (0) Received DHCP-Discover XID 00000000 from 127.0.0.1:67 to 10.43.18.92:67 via lo (0) &DHCP-Opcode = Client-Message (0) &DHCP-Hardware-Type = Ethernet (0) &DHCP-Hardware-Address-Length = 6 (0) &DHCP-Hop-Count = 1 (0) &DHCP-Transaction-Id = 0 (0) &DHCP-Number-of-Seconds = 0 (0) &DHCP-Flags = 0 (0) &DHCP-Client-IP-Address = 127.0.0.1 (0) &DHCP-Your-IP-Address = 0.0.0.0 (0) &DHCP-Server-IP-Address = 0.0.0.0 (0) &DHCP-Gateway-IP-Address = 127.0.0.1 (0) &DHCP-Client-Hardware-Address = 00:a1:bc:00:00:01 (0) &DHCP-Message-Type = DHCP-Discover (0) &DHCP-DHCP-Server-Identifier = 10.43.18.92 (0) &DHCP-Client-Identifier = 0x0100a1bc000001 (0) Running 'recv DHCP-Discover' from file /usr/local/etc/raddb/sites-enabled/dhcp (0) recv DHCP-Discover { (0) update reply { (0) DHCP-Message-Type = DHCP-Offer (0) } # update reply (noop) (0) update reply { (0) &DHCP-Domain-Name-Server = 127.0.0.1 (0) &DHCP-Subnet-Mask = 255.255.255.0 (0) &DHCP-Router-Address = 10.43.18.92 (0) &DHCP-IP-Address-Lease-Time = 86400 (0) &DHCP-DHCP-Server-Identifier = 10.43.18.92 (0) } # update reply (noop) (0) update control { (0) &Pool-Name := "local" (0) } # update control (noop) (0) redis_ippool - Allocating lease from pool "local", to "00:a1:bc:00:00:01", expires in 300s (0) redis_ippool - Reserved connection (1) (0) redis_ippool - [1] >>> Sending command(s) to 127.0.0.1:6379 (0) redis_ippool - [1] <<< Returned: success (0) redis_ippool - Released connection (1) (0) redis_ippool - Need 2 more connections to reach min connections (4) (0) redis_ippool - Opening additional connection (2), 1 of 2 pending slots used rlm_redis (redis) [1]: Connecting node to 127.0.0.1:6379 (0) redis_ippool - &reply:DHCP-Your-IP-Address := 192.168.0.122 (0) redis_ippool - &reply:DHCP-IP-Address-Lease-Time := 300 (0) redis_ippool - IP address lease allocated (0) redis_ippool (updated) (0) ok (ok) (0) } # recv DHCP-Discover (updated) (0) Sent DHCP-Offer XID 00000000 from 10.43.18.92:67 to 127.0.0.1:67 via lo (0) &DHCP-Message-Type = DHCP-Offer (0) &DHCP-Domain-Name-Server = 127.0.0.1 (0) &DHCP-Subnet-Mask = 255.255.255.0 (0) &DHCP-Router-Address = 10.43.18.92 (0) &DHCP-IP-Address-Lease-Time := 300 (0) &DHCP-DHCP-Server-Identifier = 10.43.18.92 (0) done request (0) finished request. Ready to process requests Reply will be unicast to CIADDR from original packet. proto_dhcpv4_udp - cleaning up ID 1 Ready to process requests proto_dhcpv4_udp - Received DHCP-Request XID 00000000 length 265 proto_dhcpv4_udp server 10.43.18.92 port 67 Network received packet size 265 Resetting worker 30 cleanup timer to +0s (1) running request (1) Received DHCP-Discover XID 00000000 from 127.0.0.1:67 to 10.43.18.92:67 via lo (1) &DHCP-Opcode = Client-Message (1) &DHCP-Hardware-Type = Ethernet (1) &DHCP-Hardware-Address-Length = 6 (1) &DHCP-Hop-Count = 1 (1) &DHCP-Transaction-Id = 0 (1) &DHCP-Number-of-Seconds = 0 (1) &DHCP-Flags = 0 (1) &DHCP-Client-IP-Address = 127.0.0.1 (1) &DHCP-Your-IP-Address = 0.0.0.0 (1) &DHCP-Server-IP-Address = 0.0.0.0 (1) &DHCP-Gateway-IP-Address = 127.0.0.1 (1) &DHCP-Client-Hardware-Address = 00:a1:bc:00:00:01 (1) &DHCP-Requested-IP-Address = 192.168.0.122 (1) &DHCP-Message-Type = DHCP-Request (1) &DHCP-DHCP-Server-Identifier = 10.43.18.92 (1) &DHCP-Client-Identifier = 0x0100a1bc000001 (1) Running 'recv DHCP-Discover' from file /usr/local/etc/raddb/sites-enabled/dhcp (1) recv DHCP-Discover { (1) update reply { (1) DHCP-Message-Type = DHCP-Offer (1) } # update reply (noop) (1) update reply { (1) &DHCP-Domain-Name-Server = 127.0.0.1 (1) &DHCP-Subnet-Mask = 255.255.255.0 (1) &DHCP-Router-Address = 10.43.18.92 (1) &DHCP-IP-Address-Lease-Time = 86400 (1) &DHCP-DHCP-Server-Identifier = 10.43.18.92 (1) } # update reply (noop) (1) update control { (1) &Pool-Name := "local" (1) } # update control (noop) (1) redis_ippool - Allocating lease from pool "local", to "00:a1:bc:00:00:01", expires in 300s (1) redis_ippool - Reserved connection (2) (1) redis_ippool - [1] >>> Sending command(s) to 127.0.0.1:6379 (1) redis_ippool - [1] <<< Returned: success (1) redis_ippool - Released connection (2) (1) redis_ippool - &reply:DHCP-Your-IP-Address := 192.168.0.122 (1) redis_ippool - &reply:DHCP-IP-Address-Lease-Time := 300 (1) redis_ippool - IP address lease allocated (1) redis_ippool (updated) (1) ok (ok) (1) } # recv DHCP-Discover (updated) (1) Sent DHCP-Offer XID 00000000 from 10.43.18.92:67 to 127.0.0.1:67 via lo (1) &DHCP-Message-Type = DHCP-Offer (1) &DHCP-Domain-Name-Server = 127.0.0.1 (1) &DHCP-Subnet-Mask = 255.255.255.0 (1) &DHCP-Router-Address = 10.43.18.92 (1) &DHCP-IP-Address-Lease-Time := 300 (1) &DHCP-DHCP-Server-Identifier = 10.43.18.92 (1) done request (1) finished request. Ready to process requests Reply will be unicast to CIADDR from original packet. proto_dhcpv4_udp - cleaning up ID 1 Ready to process requests Debug output for mac2ip: proto_dhcpv4_udp - Received DHCP-Discover XID 00000000 length 259 proto_dhcpv4_udp server 10.43.18.92 port 67 Network received packet size 259 Resetting worker 30 cleanup timer to +0s (4) running request (4) Received DHCP-Discover XID 00000000 from 127.0.0.1:67 to 10.43.18.92:67 via lo (4) &DHCP-Opcode = Client-Message (4) &DHCP-Hardware-Type = Ethernet (4) &DHCP-Hardware-Address-Length = 6 (4) &DHCP-Hop-Count = 1 (4) &DHCP-Transaction-Id = 0 (4) &DHCP-Number-of-Seconds = 0 (4) &DHCP-Flags = 0 (4) &DHCP-Client-IP-Address = 127.0.0.1 (4) &DHCP-Your-IP-Address = 0.0.0.0 (4) &DHCP-Server-IP-Address = 0.0.0.0 (4) &DHCP-Gateway-IP-Address = 127.0.0.1 (4) &DHCP-Client-Hardware-Address = 00:a1:bc:00:00:01 (4) &DHCP-Message-Type = DHCP-Discover (4) &DHCP-DHCP-Server-Identifier = 10.43.18.92 (4) &DHCP-Client-Identifier = 0x0100a1bc000001 (4) Running 'recv DHCP-Discover' from file /usr/local/etc/raddb/sites-enabled/dhcp (4) recv DHCP-Discover { (4) update reply { (4) DHCP-Message-Type = DHCP-Offer (4) } # update reply (noop) (4) update reply { (4) &DHCP-Domain-Name-Server = 127.0.0.1 (4) &DHCP-Subnet-Mask = 255.255.255.0 (4) &DHCP-Router-Address = 10.43.18.92 (4) &DHCP-IP-Address-Lease-Time = 86400 (4) &DHCP-DHCP-Server-Identifier = 10.43.18.92 (4) } # update reply (noop) (4) mac2ip - Added DHCP-Your-IP-Address: '10.1.1.3' to reply_items (4) mac2ip (ok) (4) ok (ok) (4) } # recv DHCP-Discover (ok) (4) Sent DHCP-Offer XID 00000000 from 10.43.18.92:67 to 127.0.0.1:67 via lo (4) &DHCP-Message-Type = DHCP-Offer (4) &DHCP-Domain-Name-Server = 127.0.0.1 (4) &DHCP-Subnet-Mask = 255.255.255.0 (4) &DHCP-Router-Address = 10.43.18.92 (4) &DHCP-IP-Address-Lease-Time = 86400 (4) &DHCP-DHCP-Server-Identifier = 10.43.18.92 (4) done request (4) finished request. Ready to process requests Reply will be unicast to CIADDR from original packet. proto_dhcpv4_udp - cleaning up ID 1 Ready to process requests proto_dhcpv4_udp - Received DHCP-Request XID 00000000 length 265 proto_dhcpv4_udp server 10.43.18.92 port 67 Network received packet size 265 Resetting worker 30 cleanup timer to +0s (5) running request (5) Received DHCP-Discover XID 00000000 from 127.0.0.1:67 to 10.43.18.92:67 via lo (5) &DHCP-Opcode = Client-Message (5) &DHCP-Hardware-Type = Ethernet (5) &DHCP-Hardware-Address-Length = 6 (5) &DHCP-Hop-Count = 1 (5) &DHCP-Transaction-Id = 0 (5) &DHCP-Number-of-Seconds = 0 (5) &DHCP-Flags = 0 (5) &DHCP-Client-IP-Address = 127.0.0.1 (5) &DHCP-Your-IP-Address = 0.0.0.0 (5) &DHCP-Server-IP-Address = 0.0.0.0 (5) &DHCP-Gateway-IP-Address = 127.0.0.1 (5) &DHCP-Client-Hardware-Address = 00:a1:bc:00:00:01 (5) &DHCP-Requested-IP-Address = 10.1.1.3 (5) &DHCP-Message-Type = DHCP-Request (5) &DHCP-DHCP-Server-Identifier = 10.43.18.92 (5) &DHCP-Client-Identifier = 0x0100a1bc000001 (5) Running 'recv DHCP-Discover' from file /usr/local/etc/raddb/sites-enabled/dhcp (5) recv DHCP-Discover { (5) update reply { (5) DHCP-Message-Type = DHCP-Offer (5) } # update reply (noop) (5) update reply { (5) &DHCP-Domain-Name-Server = 127.0.0.1 (5) &DHCP-Subnet-Mask = 255.255.255.0 (5) &DHCP-Router-Address = 10.43.18.92 (5) &DHCP-IP-Address-Lease-Time = 86400 (5) &DHCP-DHCP-Server-Identifier = 10.43.18.92 (5) } # update reply (noop) (5) mac2ip - Added DHCP-Your-IP-Address: '10.1.1.3' to reply_items (5) mac2ip (ok) (5) ok (ok) (5) } # recv DHCP-Discover (ok) (5) Sent DHCP-Offer XID 00000000 from 10.43.18.92:67 to 127.0.0.1:67 via lo (5) &DHCP-Message-Type = DHCP-Offer (5) &DHCP-Domain-Name-Server = 127.0.0.1 (5) &DHCP-Subnet-Mask = 255.255.255.0 (5) &DHCP-Router-Address = 10.43.18.92 (5) &DHCP-IP-Address-Lease-Time = 86400 (5) &DHCP-DHCP-Server-Identifier = 10.43.18.92 (5) done request (5) finished request. Ready to process requests Reply will be unicast to CIADDR from original packet. proto_dhcpv4_udp - cleaning up ID 1 Ready to process requests Regards, Nagamani Chinnapaiyan