Forum Discussion
radius persist irule with multiple vendor specific attributes
Hello,
Interesting question - I didn't realize that some vendors reuse the same sub-type for different VSAs. How inconvenient!
It sounds like you need to loop through values at each index until you find the one you want to persist on. Yes, it will be somewhat costly in terms of performance. Something like this:
when CLIENT_DATA {
set i 0
set val [RADIUS::avp 26 "string" index 0 vendor-id 9 vendor-type 1]
while { $val ne "" } {
log local0. "AVP at index $i has value $val"
if { } {
persist uie $val
set val ""
} else {
incr i
set val [RADIUS::avp 26 "string" index $i vendor-id 9 vendor-type 1]
}
}
}
I found this table which I assume you've been using for reference. Unfortunately, that table doesn't specify possible values for each attribute nor length, nor how these values are encoded.
The tricky part is determining if this is the correct AVP just by looking at the value. That was the intention of Vendor Sub-type, but since some vendors don't follow that standard, you'll have to think of a clever way to figure this out.
Hope this helps!
Help guide the future of your DevCentral Community!
What tools do you use to collaborate? (1min - anonymous)Recent Discussions
Related Content
* 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