Building a test tool

Alan DeKok aland at
Fri Jun 5 02:06:29 CEST 2009

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.

More information about the Freeradius-Users mailing list