Forum Discussion
rubbishking_110
Nimbostratus
Mar 25, 2008UDP Profile?
Hi All
I have created an iRules just now, however, it is failed when I tried to assigne to a virtual server.
"01070394:3: UDP::payload in rule (FIP_Route) requires an associated UDP profiles on the virtual server (M1)."
I cannot figure out what I have configured wrong or the problem on iRules itself. can anyone help?
iRule
---------
when CLIENT_ACCEPTED {
if { [UDP::payload] matches " 10.12.1." } {
use pool pool1
}
elseif { [UDP::payload] contains "10.12.2." } {
use pool pool2
}
}
-------------
44 Replies
- rubbishking_110
Nimbostratus
Hi
it seems the problem is fixed by using CLIENT_ACCEPTED instead of CLIENT_DATA.
is it correct?
My second target now is to
1. compare the IP range, so that it can be routed to a dedicated pool
2. log down the IP information "Framed-IP-Address" in the RADIUS packet.
is there any advice and suggestion for reference?
rk - The_Bhattman
Nimbostratus
The "address in use" usually means a node in a pool has already been selected and you're trying to re-select another without detaching first. The solutions I've seen for that are either add the "LB::detach" command before choosing a new node in a pool or add a OneConnect profile to the virtual server.
/cb - Nicolas_Menant
Employee
Yes you are right to use CLIENT_ACCEPTED instead of CLIENT_ACCEPTED_DATA.
CLIENT_ACCEPTED_DATA is for TCP::payload not UDP::payload
If you will have a lots of traffic i would recommend to avoid logging once it is in production. Logging impact a lot the performance.
To compare the IP Range, here are some examples:
when CLIENT_ACCEPTED {
if { [IP::addr [IP::client_addr] equals 123.100.45.100/123.100.45.188] } {
pool pool1
}
}
or you can check the IP::addr command syntax: Click here - rubbishking_110
Nimbostratus
Hi All
Thank for all the advice. it works now really. not sure whether you guys will comment the code if I post in here.
- rk - rubbishking_110
Nimbostratus
Hi All
Thank for all the advice. it works now really. not sure whether you guys will comment the code if I post in here.
- rk - rubbishking_110
Nimbostratus
BTW, I would like to ask
now I can extract the framed-ip address inside the RADIUS packet, can I reuse this informaton in other iRule for another virtual server setting?
RADIUS --> F5 (iRule1) <- (this obtained the IP info)
HTTP --> F5 (iRule2) <- can the above IP info used in this iRule2?
I know it is silly questio, but I really want to know the possibility.
- rk - Nicolas_Menant
Employee
Hi,
You can use this information in another iRules if you store the information in a global variable
Here is a link about global variables. Click here
Be careful, global variables doesn't work with CMP. - rubbishking_110
Nimbostratus
oo thx
may I know what is CMP? - Nicolas_Menant
Employee
CMP is for Platform 8400 and 8800. It is when you have multiple TMM running at the same time with multiple CPU. - rubbishking_110
Nimbostratus
seems powerful!
do you have any sample code?
-rk
Recent Discussions
Related Content
DevCentral Quicklinks
* Getting Started on DevCentral
* Community Guidelines
* Community Terms of Use / EULA
* Community Ranking Explained
* Community Resources
* Contact the DevCentral Team
* Update MFA on account.f5.com
Discover DevCentral Connects
