Hello, in src/lib/event.c there is: #define FR_EV_MAX_FDS (512) To my understanding, this limits the number of sockets FreeRADIUS can listen on, as each of those uses a file descriptor. Is there a specific reason for the number 512? I.e. is it worth trying to up it to my liking, or has this been tried before and fails? And, related: if I listen on IPv4 and IPv6 with ipv4addr and ipv6addr, this typically consumes two FDs. Can I have one listen statement with the ipaddr statement which then covers both (maybe the :: address), and does that consume only one FD then? Greetings, Stefan Winter -- Stefan WINTER Ingenieur de Recherche Fondation RESTENA - Réseau Téléinformatique de l'Education Nationale et de la Recherche 2, avenue de l'Université L-4365 Esch-sur-Alzette Tel: +352 424409 1 Fax: +352 422473 PGP key updated to 4096 Bit RSA - I will encrypt all mails if the recipient's key is known to me http://pgp.mit.edu:11371/pks/lookup?op=get&search=0xC0DE6A358A39DC66
On Mar 13, 2019, at 8:08 AM, Stefan Winter <stefan.winter@restena.lu> wrote:
in src/lib/event.c there is:
#define FR_EV_MAX_FDS (512)
To my understanding, this limits the number of sockets FreeRADIUS can listen on, as each of those uses a file descriptor.
Is there a specific reason for the number 512? I.e. is it worth trying to up it to my liking, or has this been tried before and fails?
You can increase it to the systems max FD limit. That's usually 4K or so. The downside is that select() is O(N) in the number of FDs. So it gets slower and slower.
And, related: if I listen on IPv4 and IPv6 with ipv4addr and ipv6addr, this typically consumes two FDs. Can I have one listen statement with the ipaddr statement which then covers both (maybe the :: address), and does that consume only one FD then?
That isn't supported. We tried that, and the whole 4to6/6to4 thing wasn't good, IIRC. It ended up being better to just use separate sockets. Alan DeKok.
participants (2)
-
Alan DeKok -
Stefan Winter