Hi,
May I suggest to do a similar thing in FreeRADIUS?
Done && committed to git. Please test. :)
libtool: compile: gcc -g -O2 -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -Wall -D_GNU_SOURCE -g -Wshadow -Wpointer-arith -Wcast-qual -Wcast-align -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -W -Wredundant-decls -Wundef -D_LIBRADIUS -I/root/freeradius-server-GIT-pre-217/src -c packet.c -fPIC -DPIC -o .libs/packet.o packet.c: In function ‘fr_socket’: packet.c:238: error: ‘sock’ undeclared (first use in this function) packet.c:238: error: (Each undeclared identifier is reported only once packet.c:238: error: for each function it appears in.) packet.c:239: error: ‘action’ undeclared (first use in this function) gmake[4]: *** [packet.lo] Error 1 gmake[4]: Leaving directory `/root/freeradius-server-GIT-pre-217/src/lib' gmake[3]: *** [common] Error 2 gmake[3]: Leaving directory `/root/freeradius-server-GIT-pre-217/src' gmake[2]: *** [all] Error 2 gmake[2]: Leaving directory `/root/freeradius-server-GIT-pre-217/src' gmake[1]: *** [common] Error 2 gmake[1]: Leaving directory `/root/freeradius-server-GIT-pre-217' make: *** [all] Error 2 That should be sockfd instead of sock->fd in 238, right? And the first #if clause misses int action = IP_PMTUDISC_DONT; Then it compiles alright, but doesn't solve the problem: 11:51:25.253733 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 221) radius-1.restena.lu.tdp-suite > eomund.restena.lu.radius: [udp sum ok] RADIUS, length: 193 Greetings, Stefan Winter -- Stefan WINTER Ingenieur de Recherche Fondation RESTENA - Réseau Téléinformatique de l'Education Nationale et de la Recherche 6, rue Richard Coudenhove-Kalergi L-1359 Luxembourg Tel: +352 424409 1 Fax: +352 422473