+Oltre a questi nella directory \texttt{/proc/sys/net/core} si trovano altri
+file, la cui documentazione dovrebbe essere mantenuta nei sorgenti del kernel,
+nel file \texttt{Documentation/networking/ip-sysctl.txt}; la maggior parte di
+questi però non è documentato:
+\begin{basedescript}{\desclabelwidth{3.0cm}\desclabelstyle{\nextlinelabel}}
+\item[\texttt{dev\_weight}] blocco di lavoro (\textit{work quantum}) dello
+ scheduler di processo dei pacchetti. % TODO da documentare meglio
+
+\item[\texttt{lo\_cong}] valore per l'occupazione della coda di ricezione
+ sotto la quale si considera di avere una bassa congestione.
+
+\item[\texttt{mod\_cong}] valore per l'occupazione della coda di ricezione
+ sotto la quale si considera di avere una congestione moderata.
+
+\item[\texttt{no\_cong}] valore per l'occupazione della coda di ricezione
+ sotto la quale si si considera di non avere congestione.
+
+\item[\texttt{no\_cong\_thresh}] valore minimo (\textit{low water mark}) per
+ il riavvio dei dispositivi congestionati.
+
+%\item[\texttt{netdev\_fastroute}] è presente soltanto quando si è compilato il
+% kernel con l'apposita opzione di ottimizzazione per l'uso come router (.
+
+\item[\texttt{somaxconn}] imposta la dimensione massima del \textit{backlog}
+ della funzione \func{listen} (vedi sez.~\ref{sec:TCP_func_listen}), e
+ corrisponde al valore della costante \const{SOMAXCONN}; il suo valore di
+ default è 128.
+
+\end{basedescript}
+
+
+\subsection{I valori di controllo per il protocollo IPv4}
+\label{sec:sock_ipv4_sysctl}
+
+Nella directory \texttt{/proc/sys/net/ipv4} sono presenti i file che
+corrispondono ai parametri dei socket che usano il protocollo IPv4, relativi
+quindi sia alle caratteristiche di IP, che a quelle degli altri protocolli che
+vengono usati all'interno di quest'ultimo (come ICMP, TCP e UDP) o a fianco
+dello stesso (come ARP).
+
+I file che consentono di controllare le caratteristiche specifiche del
+protocollo IP in quanto tale, descritti anche nella pagina di manuale
+accessibile con \texttt{man 7 ip}, sono i seguenti:
+\begin{basedescript}{\desclabelwidth{3.2cm}\desclabelstyle{\nextlinelabel}}
+
+\item[\texttt{ip\_default\_ttl}] imposta il valore di default per il campo TTL
+ (vedi sez.~\ref{sec:IP_header}) di tutti i pacchetti uscenti. Il valore può
+ essere modificato per il singolo socket con l'opzione \const{IP\_TTL}.
+ Prende un valore intero.
+
+\item[\texttt{ip\_forward}] abilita l'inoltro dei pacchetti da una interfaccia
+ ad un altra, e può essere impostato anche per la singola interfaccia. Prende
+ un valore logico (0 disabilita, diverso da zero abilita).
+
+\item[\texttt{ip\_dynaddr}] Abilita la riscrittura automatica degli indirizzi
+ associati ad un socket quando una interfaccia cambia indirizzo. Viene usato
+ per le interfacce usate nei collegamenti in dial-up, il cui indirizzo IP
+ viene assegnato dinamicamente dal provider, e può essere modificato. Un
+ valore nullo disabilita la funzionalità, con 1 la si abilita, con 2 la si
+ abilità in modalità \textsl{prolissa}.
+
+\item[\texttt{ip\_autoconfig}] Specifica se l'indirizzo IP è stato configurato
+ automaticamente via DHCP, BOOTP o RARP.
+
+\item[\texttt{ip\_local\_port\_range}] imposta l'intervallo dei valori usati
+ per l'assegnazione delle porte effimere, permette cioè di modificare i
+ valori illustrati in fig.~\ref{fig:TCP_port_alloc}; prende due valori
+ numerici, che indicano gli estremi dell'intervallo. Si abbia cura di non
+ definire un intervallo che si sovrappone a quello delle porte usate per il
+ \itindex{masquerading} \textit{masquerading}, il kernel può gestire la
+ sovrapposizione, ma si avrà una perdita di prestazioni. Si imposti sempre un
+ valore iniziale maggiore di 1024 (o meglio ancora di 4096) per evitare
+ conflitti con le porte usate dai servizi noti.
+
+\item[\texttt{ip\_no\_pmtu\_disc}] imposta la disciplina di ricerca della
+ \textit{Path MTU} (vedi sez.~\ref{sec:net_lim_dim} e
+ sez.~\ref{sec:sock_ipv4_options}).
+
+\item[\texttt{ipfrag\_high\_thresh}] limite massimo (espresso in numero di
+ byte) sui pacchetti IP frammentati presenti in coda; quando questo valore
+ viene raggiunta la coda viene ripulita fino al valore
+ \texttt{ipfrag\_low\_thresh}.
+
+\item[\texttt{ipfrag\_low\_thresh}] soglia bassa (specificata in byte) cui
+ viene riportata la coda dei pacchetti IP frammentati quando si raggiunge il
+ valore \texttt{ipfrag\_high\_thresh}.
+
+\item[\texttt{ip\_always\_defrag}] se abilitato (prende un intero come valore
+ logico) tutti i pacchetti IP frammentati saranno riassemblati, anche in caso
+ in successivo immediato inoltro.\footnote{introdotto con il kernel 2.2.13,
+ nelle versioni precedenti questo comportamento poteva essere solo in fase
+ di compilazione del kernel con l'opzione
+ \texttt{CONFIG\_IP\_ALWAYS\_DEFRAG}.}
+
+\item[\texttt{ip\_nonlocal\_bind}] se abilitato (prende un intero come valore
+ logico) è possibile che una applicazione possa collegarsi (con \func{bind}
+ su un indirizzo non locale. Questo può risultare utile per applicazioni
+ particolari (come gli \textit{sniffer}) che hanno la necessità di ricevere
+ pacchetti anche non diretti agli indirizzi presenti sulla macchina, ad
+ esempio per intercettare il traffico per uno specifico indirizzo che si
+ vuole tenere sotto controllo.
+
+% \item[\texttt{neigh/*}] La directory contiene i valori
+% TODO trattare neigh/* nella parte su arp, da capire dove sarà.
+
+\end{basedescript}
+
+
+
+
+% LocalWords: socket sez dotted decimal resolver Domain Name Service cap DNS
+% LocalWords: client fig LDAP Lightweight Access Protocol NIS Information Sun
+% LocalWords: like netgroup Switch Solaris glibc libc uclib NSS tab shadow uid
+% LocalWords: username group aliases ethers MAC address hosts networks rpc RPC
+% LocalWords: protocols services dns db lib libnss org truelite it root res HS
+% LocalWords: resource init netinet resolv int void conf host LOCALDOMAIN TCP
+% LocalWords: options DEBUG debug AAONLY USEVC UDP PRIMARY IGNTC RECURSE INET
+% LocalWords: DEFNAMES search STAYOPEN DNSRCH INSECURE NOALIASES HOSTALIASES
+% LocalWords: IPv gethostbyname NOCHECKNAME KEEPTSIG TSIG BLAST RETRY retry NS
+% LocalWords: retrans query FQDN Fully Qualified const char dname class type
+% LocalWords: unsigned answer anslen CSNET Hesiod MIT CHAOS Chaosnet ANY BIND
+% LocalWords: nameser compat Berkley MF CNAME SOA MB MR NULL WKS PTR HINFO TXT
+% LocalWords: MINFO RP responsible person AFSDB AFS RT router NSAP SIG KEY PX
+% LocalWords: GPOS AAAA LOC NXT EID NIMLOC nimrod SRV ATMA ATM NAPTR naming AF
+% LocalWords: authority IXFR AXFR MAILB MAILA errno NOT FOUND RECOVERY TRY err
+% LocalWords: AGAIN herror netdb string perror error hstrerror strerror struct
+% LocalWords: hostent name addrtype length addr list sys af mygethost inet ret
+% LocalWords: ntop deep copy buf size buflen result errnop value argument len
+% LocalWords: ERANGE sethostent stayopen endhostent gethostbyaddr order pton
+% LocalWords: getipnodebyname getipnodebyaddr flags num MAPPED ALL ADDRCONFIG
+% LocalWords: freehostent ip getXXXbyname getXXXbyaddr servent getservbyname
+% LocalWords: getservbyaddr netent getnetbyname getnetbyaddr protoent smtp udp
+% LocalWords: getprotobyname getprotobyaddr getservbyport port tcp setservent
+% LocalWords: getservent endservent setXXXent getXXXent endXXXent gethostent
+% LocalWords: setnetent getnetent endnetent setprotoent getprotoent POSIX RFC
+% LocalWords: endprotoent getaddrinfo getnameinfo nell' node service addrinfo
+% LocalWords: hints linked addrlen socklen family socktype protocol sockaddr
+% LocalWords: canonname next PF UNSPEC SOCK STREAM DGRAM bind INADDR loopback
+% LocalWords: connect sendto NUMERICHOST EAI NONAME SYSTEM BADFLAGS ADDRFAMILY
+% LocalWords: NODATA MEMORY FAIL errcode echo mygetaddr ptr casting Canonical
+% LocalWords: freeaddrinfo getservname salen hostlen serv servlen l'OR NI NUL
+% LocalWords: NOFQDN NAMEREQD NUMERICSERV MAXHOST MAXSERV sockconn SockUtil of
+% LocalWords: descriptor hint fifth sockbind setsockopt getsockopt sock level
+% LocalWords: optname optval optlen EBADF EFAULT EINVAL ENOPROTOOPT ENOTSOCK
+% LocalWords: IPPROTO Stevens ICMP ICMPV ICMPv get KEEPALIVE OOBINLINE timeval
+% LocalWords: RCVLOWAT SNDLOWAT RCVTIMEO SNDTIMEO BSDCOMPAT BSD PASSCRED ucred
+% LocalWords: PEERCRED BINDTODEVICE REUSEADDR ACCEPTCONN DONTROUTE gateway MSG
+% LocalWords: BROADCAST broadcast SNDBUF RCVBUF LINGER linger PRIORITY read IF
+% LocalWords: OOB recvmsg kernel select write readv recv recvfrom EAGAIN send
+% LocalWords: EWOULDBLOCK writev sendmsg raw domain SCM CREDENTIALS eth packet
+% LocalWords: IFNAMSIZ capabilities capability ADMIN log trpt EADDRINUSE close
+% LocalWords: listen routing sysctl shutdown Quality TOS keep alive ACK RST to
+% LocalWords: ECONNRESET ETIMEDOUT keepalive echod fourth newsgroup WAIT reuse
+% LocalWords: sockbindopt SockUtils homed completely binding RECVDSTADDR onoff
+% LocalWords: PKTINFO getsockname multicast streaming unicast REUSEPORT reset
+% LocalWords: stealing ling RECVTOS RECVTTL TTL RECVOPTS RETOPTS HDRINCL MTU
+% LocalWords: RECVERR DISCOVER Path Discovery ALERT alert ADD MEMBERSHIP mreqn
+% LocalWords: pktinfo ipi ifindex spec dst RECVIF Live IPTOS LOWDELAY Advanced
+% LocalWords: Transfer Unit PMTUDISC DONT WANT route dall' pmtu EMSGSIZE imr
+% LocalWords: multiaddr mreq fcntl ioctl request SIOCGSTAMP trip SIOCSPGRP pid
+% LocalWords: process SIGIO SIGURG KILL FIOASYNC SIOCGPGRP filesystem proc ttl
+% LocalWords: rmem wmem message cost burst bucket filter netdev backlog optmem
+% LocalWords: forward dynaddr dial autoconfig local masquerading ipfrag high
+% LocalWords: thresh low always defrag CONFIG SETSIG cmd FIOGETOWN FIOSETOWN