I'm running FR 2.1.6 (I know - I plan to upgrade later this year). Is there anything wrong syntactically with the following code or is this a bug that was fixed since 2.1.6? if (Client-IP-Address == "172.20.16.28" || Client-IP-Address == "172.20.204.10")) { update request { Huntgroup-Name := "GlobalRoaming" } } # # If NAS is an autonomous AP, get SSID from Cisco-AVPair # if (Huntgroup-Name == "EEProdAP" || \ Huntgroup-Name == "EETestAP") { if (Cisco-AVPair =~ /ssid=(.*)/) { update request { SSID-Name = "%{1}" } } } I ask because the first if statement only works if the Client-IP-Address matches the first address listed (172.20.16.28). I would expect that it would evaluate to true if Client-IP-Address matches either of the addresses. Here's a snippet of debug output that illustrates the problem - it doesn't appear to finish the logical or comparison: Info: ++? if (Called-Station-Id && (Client-IP-Address == "172.20.16.28" || Client-IP-Address == "172.20.204.10")) Info: ? Evaluating (Called-Station-Id ) -> TRUE Info: expand: %{Client-IP-Address} -> 172.20.204.10 Info: ++? if (Huntgroup-Name == "EEProdAP" || Huntgroup-Name == "EETestAP") Info: (Attribute Huntgroup-Name was not found) When I switch the order of the addresses for the logical or, I see the following in debug (it does the comparison and returns TRUE): Info: ++? if (Called-Station-Id && (Client-IP-Address == "172.20.204.10" || Client-IP-Address == "172.20.16.28")) Info: ? Evaluating (Called-Station-Id ) -> TRUE Info: expand: %{Client-IP-Address} -> 172.20.204.10 Info: ?? Evaluating (Client-IP-Address == "172.20.204.10" ) -> TRUE Info: ?? Skipping (Client-IP-Address == "172.20.16.28") Info: ++? if (Called-Station-Id && (Client-IP-Address == "172.20.204.10" || Client-IP-Address == "172.20.16.28")) -> TRUE Info: ++- entering if (Called-Station-Id && (Client-IP-Address == "172.20.204.10" || Client-IP-Address == "172.20.16.28")) {...} Info: +++[request] returns ok Info: ++- if (Called-Station-Id && (Client-IP-Address == "172.20.204.10" || Client-IP-Address == "172.20.16.28")) returns ok Info: ++? if (Huntgroup-Name == "EEProdAP" || Huntgroup-Name == "EETestAP") Info: ? Evaluating (Huntgroup-Name == "EEProdAP" ) -> FALSE Info: ? Evaluating (Huntgroup-Name == "EETestAP") -> FALSE Info: ++? if (Huntgroup-Name == "EEProdAP" || Huntgroup-Name == "EETestAP") -> FALSE