FreeRadius - Version porting

Alan DeKok aland at
Thu Oct 1 15:38:47 CEST 2015

On Oct 1, 2015, at 1:26 AM, srithar jeevadurai <srijeevadurai1 at> wrote:
> We have customized module (lib) written for freeRadius
> version freeradius-server-2.2.0.

  If it's useful to the larger community, please submit it back to the project.  We can integrate it into the standard distribution.

> The same code can be reused for latest version of free Radius (say 3.0.9).

  No.  We've changed a LOT of internal APIs and data structures.

> Provided all basic message structures are remain same (in both versions of
> free Radius).

  They're not.

> We were having child hung issue at free Radius due to slow response from
> external module.

  Fix your module so it doesn't break the server.  There is NO OTHER SOLUTION.

> once free Radius server (version 2.2.0) goes to child hung state then we
> have to restart the server (though the external module resumed after 1-2
> minutes).

  The module should return in milliseconds.  If it doesn't, it will take the entire server down.

> Is there any throttling done at Free Radius server (latest version 3.0.9)?
> so that when external module response is slow, Radius server would not fill
> the queue with incoming messages (from NAS).

  That's not how RADIUS works.  That's now how computers work.

  If the offered load is higher than the accepted load, there's really nothing you can do, but fix the systems so:

a) the offered load is lower

b) upgrade the system so it can accept more load.

> i.e. taking messages into
> queue and run into child hung issue.  It uses throttling to have control
> over pending request queue when there is a slowness in the external system
> and queue size increases (since NAS is flooding the radius server).

  No amount of fixing FreeRADIUS will make your NAS send less traffic.

  No amount of fixing FreeRADIUS will make your module respond quickly.

  You MUST FIX YOUR MODULE.  There is no other solution.

  Alan DeKok.

More information about the Freeradius-Users mailing list