Thank you, was trying to wrap my head around it in unlang. Ended up using sql since I already use it and the overhead is probably quite small. Just for reference this is what I used: &DHCP-Router-Address = "%{sql: SELECT INET_NTOA((INET_ATON('%{DHCP-Your-IP-Address}') & INET_ATON('%{%{DHCP-Subnet-Mask}:-255.255.255.0}')) +1) AS ip;}" Ludo On 10. 12. 2024 21:51, Alan DeKok wrote:
On Dec 10, 2024, at 1:44 PM, Ľudovít Mikula <ludovit.mikula@mikori.sk> wrote:
Ok, I've got the question wrong.
What I want to do: based on assigned IP address and subnet mask, compute first IP address from the range from which the IP address was assigned.
Example:
given: DHCP-Your-IP-Address: 192.168.10.20 DHCP-Subnet-Mask: 255.255.255.0
would produce: DHCP-Router-Address: 192.168.10.1
Hmm... I'm not sure that's easy to do in v3. In v4 it's easy:
ip-address thing = (DHCP-Your-IP-Address & ((uint32) DHCP-Subnet-Mask)) + 1
In v3, I think this is about the only situation where you'd have to use something other than unlang. :(
Alan DeKok. - List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html