Breve documentazione di {{{SO_ATTACH_FILTER}}} e {{{SO_DETACH_FILTER}}}
[gapil.git] / sockctrl.tex
index a4cbcedb253e65e24081699d50c1eed5e2010a9c..a2323e3e25c1143c9bd0d0e5065bf62125466b32 100644 (file)
@@ -2301,9 +2301,23 @@ tab.~\ref{tab:sock_opt_socklevel} sul significato delle varie opzioni:
   usualmente utilizzata per ricevere il codice di errore, come accennato in
   sez.~\ref{sec:TCP_sock_select}, quando si sta osservando il socket con una
   \func{select} che ritorna a causa dello stesso.
-\end{basedescript}
+
+\item[\const{SO\_ATTACH\_FILTER}] questa opzione permette di agganciare ad un
+  socket un filtro di pacchetti che consente di selezionare quali pacchetti,
+  fra tutti quelli ricevuti, verranno letti. Viene usato pincipalmente con i
+  socket di tipo \const{PF\_PACKET} con la libreria \texttt{libpcap} per
+  implementare programmi di cattura dei pacchetti, torneremo su questo in
+  sez.~\ref{sec:packet_socket}.
+
+\item[\const{SO\_DETACH\_FILTER}] consente di distaccare un filtro
+  precedentemente aggiunto ad un socket.
 
 % TODO documentare SO_ATTACH_FILTER e SO_DETACH_FILTER
+% riferimenti http://www.rcpt.to/lsfcc/lsf.html
+% Documentation/networking/filter.txt
+
+
+\end{basedescript}
 
 
 \subsection{L'uso delle principali opzioni dei socket}
@@ -4094,16 +4108,16 @@ accessibile con \texttt{man 7 ip}, sono i seguenti:
   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 (o con qualunque altro valore diverso dai precedenti) la
-  si abilità in modalità \textsl{prolissa}; di default la funzionalità è
-  disabilitata.
+  può essere modificato. Prende un valore intero, con 0 si disabilita la
+  funzionalità, con 1 la si abilita, con 2 (o con qualunque altro valore
+  diverso dai precedenti) la si abilità in modalità \textsl{prolissa}; di
+  default la funzionalità è disabilitata.
 
 \item[\procrelfile{/proc/sys/net/ipv4}{ip\_autoconfig}] specifica se
   l'indirizzo IP è stato configurato automaticamente dal kernel all'avvio
-  attraverso DHCP, BOOTP o RARP; è un valore logico (0 falso, 1 vero)
-  accessibile in lettura, è inutilizzato nei kernel recenti ed eliminato a
-  partire dal kernel 2.6.18.
+  attraverso DHCP, BOOTP o RARP. Riporta un valore logico (0 falso, 1 vero)
+  accessibile solo in lettura, è inutilizzato nei kernel recenti ed eliminato
+  partire dal kernel 2.6.18.
 
 \item[\procrelfile{/proc/sys/net/ipv4}{ip\_local\_port\_range}] imposta
   l'intervallo dei valori usati per l'assegnazione delle porte effimere,
@@ -4120,7 +4134,7 @@ accessibile con \texttt{man 7 ip}, sono i seguenti:
   disabilitare per i socket \const{SOCK\_STREAM} la ricerca automatica della
   \itindex{Maximum~Transfer~Unit} \textit{Path MTU} (vedi
   sez.~\ref{sec:net_lim_dim} e sez.~\ref{sec:sock_ipv4_options}); prende un
-  valore logico e di default è disabilitato (cioè la ricerca viene eseguita).
+  valore logico, e di default è disabilitato (cioè la ricerca viene eseguita).
 
   In genere si abilita questo parametro quando per qualche motivo il
   procedimento del \itindex{Maximum~Transfer~Unit} \textit{Path MTU discovery}
@@ -4135,14 +4149,17 @@ accessibile con \texttt{man 7 ip}, sono i seguenti:
 \item[\procrelfile{/proc/sys/net/ipv4}{ip\_always\_defrag}] fa si che tutti i
   pacchetti IP frammentati siano 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}.} prende un
-  valore logico e di default è disabilitato.
-
-\item[\procrelfile{/proc/sys/net/ipv4}{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}.
+    precedenti questo comportamento poteva essere solo stabilito un volta per
+    tutte in fase di compilazione del kernel con l'opzione
+    \texttt{CONFIG\_IP\_ALWAYS\_DEFRAG}.} prende un valore logico e di default
+  è disabilitato. Con i kernel dalla serie 2.4 in poi la deframmentazione viene
+  attivata automaticamente quando si utilizza il sistema del netfilter, e
+  questo parametro non è più presente. 
+
+\item[\procrelfile{/proc/sys/net/ipv4}{ipfrag\_high\_thresh}] indica il 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[\procrelfile{/proc/sys/net/ipv4}{ipfrag\_low\_thresh}] soglia bassa
   (specificata in byte) cui viene riportata la coda dei pacchetti IP