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
- Nicolas_Menant
Employee
CMP is not an iRule it's a BIGIP functionnality:
If you have an askF5 account: Click here
Otherwise it's here:
Clustered Multi-Processing (CMP) is a new feature to BIG-IP 9.4 that allows specific platforms with multiple processors to use multiple TMM instances to increase traffic handling.
CMP is only available on the following platforms:
* BIG-IP 8400
* BIG-IP 8800
CMP should not be confused with Symmetric Multi-Processing (SMP) as CMP is unique to the BIG-IP operating system, and only processes connections.
SMP architecture is utilized in multiple operating systems. SMP operates by allowing operating systems and software applications that are optimized for SMP to use the multiple processors available to the operating system. This is performed by spreading multiple threads across multiple processors, which allows for faster processing and more efficient use of system resources, as multiple threads can be processed simultaneously instead of waiting in a queue to be processed.
CMP is unique to BIG-IP LTM versions 9.4 and later. CMP creates separate instances of the Traffic Management Microkernel (TMM) for each processor on the system. This increases performance and accelerates traffic handling since there are multiple TMM instances handling traffic.
When a virtual server is enabled, the CMP feature is automatically enabled. When CMP is enabled, all instances of TMM are available to process application traffic as follows:
* 2 TMM processes running on a dual-CPU BIG-IP system (8400)
* 4 TMM processes running on a dual-core, dual-CPU BIG-IP system (8800)
CMP is not compatible with certain BIG-IP system configurations. If one of the following configurations exist, CMP will be disabled:
* The BIG-IP system is running BIG-IP ASM and/or the BIG-IP WebAccelerator module.
* Hardware compression is enabled.
If a virtual server references any of the following BIG-IP system features, CMP is disabled for that virtual server:
* A rate class
* iRules global variables
* A session persistence profile or iRule
* Traffic Management Operating System (TMOS) plug-ins - rubbishking_110
Nimbostratus
ooo got it..
btw, is there any sample code for use global variable shared among different iRules?
- rk - The_Bhattman
Nimbostratus
You will find some information about global variables Click here,Click here, Click here, and/or Click here - Nicolas_Menant
Employee
It's simple,
you use global variable just like local variables.
The only difference is you add :: in front of the variable name to make it a global.
local variable: set toto 1
global variable: set ::toto 1
To use it in another iRule you just need to call the global variable, for example: log local0. "toto value is $::toto"
HTH - rubbishking_110
Nimbostratus
I have read thru a few docs and I have confused. help!
it seems that I need to use session to store up the value. is below works?
assume I have the following configuration
RADIUS -> virtualserver ip1 -> irule1 (this is to obtain ip information)
HTTP -> virtualserver ip2 -> irule2 (apply the above ip information)'
irule1:
when CLIENT_ACCEPTED {
set ::ip "10.12.1.1"
session add uie $::ip pool1
}
irule2:
when HTTP_REQUEST {
set poolname [session lookup uie $::ip[
} - Nicolas_Menant
Employee
Hi,
If you want to make persistency of the connection then you should use persist instead of session:
here is an example of how both works: Click here
If you want to share information accross multiple VS with persist and session command you need to add "any virtual" to your iRule: Click here
session add uie $::ip {"pool1" any virtual}
session lookup uie {$::ip any virtual}
One bit of warning: Global variables will be one value for all connection so you need to be careful that another connection may not modify your value in an unexpected way ! - rubbishking_110
Nimbostratus
ok! so the session table is like below eg.
key - rubbishking_110
Nimbostratus
ok! so the session table is like below eg.?
I wanted to make sure I did understand it correctly
key data
10.12.1.1 pool1
20.12.1.2 pool2
.
- rk
. - Nicolas_Menant
Employee
You understand correctly yes - rubbishking_110
Nimbostratus
thx
do i need to do a unset ?
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
