Esempio di copia con {{{splice}}} e fine della trattazione della stessa.
[gapil.git] / sockctrl.tex
index f98df0d8bf8585588047fcf323ef98ba89699fdb..fc4a614d999ef24884a7e91837d871705f2f79b5 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}
@@ -2591,7 +2605,7 @@ esiste, ma il comportamento di \const{SO\_REUSEADDR} 
 possibile effettuare un \textit{completely duplicate binding} ed ottenere il
 successo di \func{bind} su un socket legato allo stesso indirizzo e porta solo
 se il programma che ha eseguito per primo \func{bind} su di essi ha impostato
-questa opzione.\footnote{Questa restrizione permette di evitare il cosiddetto
+questa opzione.\footnote{questa restrizione permette di evitare il cosiddetto
   \textit{port stealing}, in cui un programma, usando \const{SO\_REUSEADDR},
   può collegarsi ad una porta già in uso e ricevere i pacchetti destinati ad
   un altro programma; con questa caratteristica ciò è possibile soltanto se il
@@ -4051,9 +4065,9 @@ questi per
   %   ottimizzazione per l'uso come router.
 
 \item[\procrelfile{/proc/sys/net/core}{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.
+  massima utilizzabile per il \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}
 
@@ -4068,8 +4082,8 @@ 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:
+protocollo IP in quanto tale, che sono descritti anche nella relativa pagina
+di manuale accessibile con \texttt{man 7 ip}, sono i seguenti:
 \begin{basedescript}{\desclabelwidth{3.5cm}\desclabelstyle{\nextlinelabel}}
 
 \item[\procrelfile{/proc/sys/net/ipv4}{ip\_default\_ttl}] imposta il valore di
@@ -4108,13 +4122,13 @@ accessibile con \texttt{man 7 ip}, sono i seguenti:
 \item[\procrelfile{/proc/sys/net/ipv4}{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.
+  fig.~\ref{fig:TCP_port_alloc}; prende due valori interi separati da spazi,
+  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[\procrelfile{/proc/sys/net/ipv4}{ip\_no\_pmtu\_disc}] permette di
   disabilitare per i socket \const{SOCK\_STREAM} la ricerca automatica della
@@ -4411,11 +4425,17 @@ pagina di manuale (accessibile con \texttt{man 7 tcp}), sono i seguenti:
   nell'\href{http://www.ietf.org/rfc/rfc1323.txt}{RFC~1323}. Di default è
   abilitato. 
 
-\item[\procrelfile{/proc/sys/net/ipv4}{tcp\_tw\_recycle}] 
+\item[\procrelfile{/proc/sys/net/ipv4}{tcp\_tw\_recycle}] un valore logico,
+  disattivo di default, che abilita un rapido riutilizzo dei socket in stato
+  \texttt{TIME\_WAIT}. Non è opportuno abilitare questa opzione che può
+  causare problemi con il NAT.
 
 \item[\procrelfile{/proc/sys/net/ipv4}{tcp\_tw\_reuse}] 
 
-\item[\procrelfile{/proc/sys/net/ipv4}{tcp\_window\_scaling}] 
+\item[\procrelfile{/proc/sys/net/ipv4}{tcp\_window\_scaling}] un valore
+  logico, attivo di default, che abilita la funzionalità del \textit{TCP
+    window scaling} definita
+  dall'\href{http://www.ietf.org/rfc/rfc1323.txt}{RFC~1323}
 
 \item[\procrelfile{/proc/sys/net/ipv4}{tcp\_vegas\_cong\_avoid}]