Vinit Karandikar wrote:
So... run 10 copies of radclient.
That requires a separate manual setup for each of 50 test cases which is bound to be error prone.
Which gets into the issue of defining your requirements. This message defines your requirements a bit better than "how do I send RADIUS packets"
So if I could run 10 copies of radclient in one process (each in a different thread for example), I can write code to co-ordinate what each thread should do for each test case.
The server comes with a RADIUS API. You can use the API to create an application that sends and receives RADIUS packets.
Some of them receive RADIUS packets and send responses (acting as servers). Others initiate the traffic (acting as clients). Can radclient act as a server ?
No. But the "radiusd" server can.
Hope this illustrates the functionality I mentioned as desired in my original email. In BOTH cases, the AAA server is expected to forward RADIUS requests to a different network element and it behooves a test application to see both ends.
What you're describing is a RADIUS simulator for a specific test environment. That doesn't exist. It is a *very* custom piece of software. FreeRADIUS can do a lot of this, but you will still need to write all of the custom rules for processing, timing, etc.
In Case 1, the AAA server proxies the Disconnect Request to a different network element based on the location of the subscriber.
FreeRADIUS can do this, with some configuration effort.
In Case 2, the AAA server proxies the Access Requests from different network elements to another network element
FreeRADIUS can do this, too.
The point once again is just to ask if a) there is already a tool that can simulate multiple network elements and co-ordinate between them to know when to expect a packet and when to initiate traffic
... for your specific environment, and your specific test cases. The answer to that is "no".
b) there is re-usable software that I can beat into shape to do such a thing.
FreeRADIUS. It can proxy packets. It's a RADIUS server, after all. Alan DeKok.