Accounting multicast + unacknowledge mode and conflicting packet

Alan DeKok aland at deployingradius.com
Mon Apr 22 16:27:25 CEST 2019


On Apr 22, 2019, at 10:21 AM, Fran├žois RAGUIN <fraguin at wanadoo.fr> wrote:
> 
> I think that's what FreeRADIUS does.

  As the main author, yes, that *is* what it does.  I'm not lying to you.

> The log indicates
> ... Error: Received conflicting packet from client ... Giving up on old request.
> And in the source code of FreeRADIUS (process.c: 1765) we have
> request_done (request, FR_ACTION_CANCELLED);
> which cancels the old conflicting accounting and then retains only the new
> 
> It would be interesting to have at least more information about the canceled accounting because in the log we just have the Radius client, its port and the Radius packet ID.

  That's the available information.  What else do you want?

> See line 1776 in process.c
> ERROR ("Received conflicting packet from"
>        "client% s port% d - ID:% u due to"
>        "unfinished request in module% s. Giving up on old request.",
>        client-> shortname,
>        packet-> src_port, packet-> id,
>        old_module);
> In addition I do not know if the canceled accounting is in the accounting logs.

  Exactly.

> There is too little information to possibly make a corrective post-processing of this cancellation

  Perhaps I was unclear.  There is *no way* to do any "corrective post-processing".  What you want is impossible.

a) add more capacity to the FR + DB system, so it can handle the load

b) change the FR source code to allow these conflicting packets, with some unknown other side-effects.

  Those are your choices.

  Alan DeKok.




More information about the Freeradius-Users mailing list