On 27/02/2023, at 11:12 PM, Igor Smitran <sigor@blic.net> wrote:
On 26.2.23. 23:40, Matthew Newton via Freeradius-Users wrote:
No. The preprocess module can parse Cisco-AVpair and split it up into separate attributes, if they have been defined in the local dictionary with the same name (see the preprocess config for the setting).
But there's nothing to go the other way and create it, you'll need to define local attributes and then concatenate them all yourself. Should be simple enough with a bit of unlang (and a policy to keep things tidy, if you've got more than one or two to do).
I was hoping that there is a way to prepend/append some string to a value.
I am trying to find a way to have more than one NAS at the same time.
cisco ASR 9K:
Cisco-AVPair | += | subscriber:sub-qos-policy-out=50Mbps
Juniper ERX:
ERX-Egress-Policy-Name | = | 50Mbps
cisco ASR 1K:
Cisco-Policy-Down | = | 50Mbps
In case that we have same values and different attributes it would be lot easier to map attributes and based on NAS-IP send appropriate response. It would be even possible to use dictionary aliases without any changes in the database fields/values.
At the same time it would be a lot easier to create new services from CRM.
You can map based on an attribute you define on the client definition, which is a bit easier. clients.conf: client foo { ipaddr = 1.2.3.4 flavour = mx } policy: if ("%{client:flavour}" == 'mx’) { .. blah .. } I then have a policy called “set_mx_auth_attributes” which does mx specific stuff. “Flavour” is something I made up, you might call it something else, like “bng_type” or “flavor” if your country does not spell correctly. I have custom attributes for things like plan speed, like "Private-Speed-Down” or similar in the user database, which gets translated in to the BNG specific attribute in set_xx_auth_attributes, and then deleted. Have a look at the end of the raddb/dictionary for how to define these. PS - this is off topic for this list, but you might find it is better to use ERX-CoS-Parameter-Type := “T02 50m” if you are doing a BNG application. This uses the class-of-service shapers, rather than having a policer defined for each speed you might want to offer. You can do similar things in ASR9k and ASR1k, but I’ve long forgotten the attributes. -- Nathan Ward