Ancora revisione degli indici, aggiunto CLONE_VM e paragrafo su
[gapil.git] / sockctrl.tex
index 429fdecc17d973cd142c9ff6bace81e5ce9b94c8..5906b98aee79993b55d3e311b8823044b9bedfb9 100644 (file)
@@ -2599,10 +2599,8 @@ Infine il quarto caso è quello in cui si vuole effettivamente ottenere un
 \func{bind} su un indirizzo ed una porta che sono già \textsl{legati} ad un
 altro socket.  Questo ovviamente non ha senso per il normale traffico di rete,
 in cui i pacchetti vengono scambiati direttamente fra due applicazioni; ma
 \func{bind} su un indirizzo ed una porta che sono già \textsl{legati} ad un
 altro socket.  Questo ovviamente non ha senso per il normale traffico di rete,
 in cui i pacchetti vengono scambiati direttamente fra due applicazioni; ma
-quando un sistema supporta il traffico in \itindex{multicast}
-\textit{multicast}, in cui una applicazione invia i pacchetti a molte altre
-(vedi sez.~\ref{sec:xxx_multicast}), allora ha senso che su una macchina i
-pacchetti provenienti dal traffico in \itindex{multicast} \textit{multicast}
+quando un sistema supporta il traffico in \textit{multicast}, allora ha senso
+che su una macchina i pacchetti provenienti dal traffico in \textit{multicast}
 possano essere ricevuti da più applicazioni\footnote{l'esempio classico di
   traffico in \textit{multicast} è quello di uno streaming di dati (audio,
   video, ecc.), l'uso del \textit{multicast} consente in tal caso di
 possano essere ricevuti da più applicazioni\footnote{l'esempio classico di
   traffico in \textit{multicast} è quello di uno streaming di dati (audio,
   video, ecc.), l'uso del \textit{multicast} consente in tal caso di
@@ -2611,7 +2609,6 @@ possano essere ricevuti da più applicazioni\footnote{l'esempio classico di
   questo caso è perfettamente logico aspettarsi che sulla stessa macchina più
   utenti possano lanciare un programma che permetta loro di ricevere gli
   stessi dati.} o da diverse istanze della stessa applicazione.
   questo caso è perfettamente logico aspettarsi che sulla stessa macchina più
   utenti possano lanciare un programma che permetta loro di ricevere gli
   stessi dati.} o da diverse istanze della stessa applicazione.
-\itindex{multicast}
 
 In questo caso utilizzando \const{SO\_REUSEADDR} si consente ad una
 applicazione eseguire \func{bind} sulla stessa porta ed indirizzo usata da
 
 In questo caso utilizzando \const{SO\_REUSEADDR} si consente ad una
 applicazione eseguire \func{bind} sulla stessa porta ed indirizzo usata da
@@ -2619,10 +2616,10 @@ un'altra, così che anche essa possa ricevere gli stessi pacchetti (chiaramente
 la cosa non ha alcun senso per i socket TCP, ed infatti in questo tipo di
 applicazione è normale l'uso del protocollo UDP). La regola è che quando si
 hanno più applicazioni che hanno eseguito \func{bind} sulla stessa porta, di
 la cosa non ha alcun senso per i socket TCP, ed infatti in questo tipo di
 applicazione è normale l'uso del protocollo UDP). La regola è che quando si
 hanno più applicazioni che hanno eseguito \func{bind} sulla stessa porta, di
-tutti pacchetti destinati ad un indirizzo di \itindex{broadcast}
-\textit{broadcast} o di \itindex{multicast} \textit{multicast} viene inviata
-una copia a ciascuna applicazione.  Non è definito invece cosa accade qualora
-il pacchetto sia destinato ad un indirizzo normale (unicast).
+tutti pacchetti destinati ad un indirizzo di \textit{broadcast} o di
+\textit{multicast} viene inviata una copia a ciascuna applicazione.  Non è
+definito invece cosa accade qualora il pacchetto sia destinato ad un indirizzo
+normale (unicast).
 
 Essendo questo un caso particolare in alcuni sistemi (come BSD) è stata
 introdotta una opzione ulteriore, \const{SO\_REUSEPORT} che richiede che detta
 
 Essendo questo un caso particolare in alcuni sistemi (come BSD) è stata
 introdotta una opzione ulteriore, \const{SO\_REUSEPORT} che richiede che detta
@@ -2787,17 +2784,15 @@ file.
     \const{IP\_ROUTER\_ALERT}   &$\bullet$&$\bullet$&$\bullet$&\texttt{int}& 
       Imposta l'opzione \textit{IP router alert} sui pacchetti.\\
     \const{IP\_MULTICAST\_TTL}  &$\bullet$&$\bullet$&         &\texttt{int}& 
     \const{IP\_ROUTER\_ALERT}   &$\bullet$&$\bullet$&$\bullet$&\texttt{int}& 
       Imposta l'opzione \textit{IP router alert} sui pacchetti.\\
     \const{IP\_MULTICAST\_TTL}  &$\bullet$&$\bullet$&         &\texttt{int}& 
-      Imposta il TTL per i pacchetti \itindex{multicast} \textit{multicast}.\\
+      Imposta il TTL per i pacchetti \textit{multicast}.\\
     \const{IP\_MULTICAST\_LOOP} &$\bullet$&$\bullet$&$\bullet$&\texttt{int}& 
     \const{IP\_MULTICAST\_LOOP} &$\bullet$&$\bullet$&$\bullet$&\texttt{int}& 
-      Controlla il reinvio a se stessi dei dati di \itindex{multicast} 
-      \textit{multicast}.\\ 
+      Controlla il reinvio a se stessi dei dati di \textit{multicast}.\\ 
     \const{IP\_ADD\_MEMBERSHIP} &         &$\bullet$&   &\struct{ip\_mreqn}& 
     \const{IP\_ADD\_MEMBERSHIP} &         &$\bullet$&   &\struct{ip\_mreqn}& 
-      Si unisce a un gruppo di \itindex{multicast} \textit{multicast}.\\
+      Si unisce a un gruppo di \textit{multicast}.\\
     \const{IP\_DROP\_MEMBERSHIP}&         &$\bullet$&   &\struct{ip\_mreqn}& 
       Si sgancia da un gruppo di \textit{multicast}.\\
     \const{IP\_MULTICAST\_IF}   &         &$\bullet$&   &\struct{ip\_mreqn}& 
     \const{IP\_DROP\_MEMBERSHIP}&         &$\bullet$&   &\struct{ip\_mreqn}& 
       Si sgancia da un gruppo di \textit{multicast}.\\
     \const{IP\_MULTICAST\_IF}   &         &$\bullet$&   &\struct{ip\_mreqn}& 
-      Imposta l'interfaccia locale di un socket \itindex{multicast} 
-      \textit{multicast}.\\ 
+      Imposta l'interfaccia locale di un socket \textit{multicast}.\\ 
    \hline
   \end{tabular}
   \caption{Le opzioni disponibili al livello \const{SOL\_IP}.} 
    \hline
   \end{tabular}
   \caption{Le opzioni disponibili al livello \const{SOL\_IP}.} 
@@ -3028,7 +3023,6 @@ sez.~\ref{sec:net_sendmsg}).
   sez.~\ref{sec:IP_options}) che devono essere inoltrati al socket
   corrente. Può essere usata soltanto per socket di tipo raw.
 
   sez.~\ref{sec:IP_options}) che devono essere inoltrati al socket
   corrente. Può essere usata soltanto per socket di tipo raw.
 
-\itindbeg{multicast}
 \item[\const{IP\_MULTICAST\_TTL}] L'opzione permette di impostare o leggere il
   valore del campo TTL per i pacchetti \textit{multicast} in uscita associati
   al socket. È importante che questo valore sia il più basso possibile, ed il
 \item[\const{IP\_MULTICAST\_TTL}] L'opzione permette di impostare o leggere il
   valore del campo TTL per i pacchetti \textit{multicast} in uscita associati
   al socket. È importante che questo valore sia il più basso possibile, ed il
@@ -3085,7 +3079,6 @@ sez.~\ref{sec:net_sendmsg}).
 % TODO chiarire quale è la struttura \struct{ip\_mreq}
 
 
 % TODO chiarire quale è la struttura \struct{ip\_mreq}
 
 
-\itindend{multicast}
 \end{basedescript}
 
 
 \end{basedescript}
 
 
@@ -3709,14 +3702,13 @@ Le costanti che identificano le operazioni disponibili sono le seguenti:
                              pacchetti che vede passare, compresi quelli non
                              direttamente indirizzati a lei).\\
     \const{IFF\_NOTRAILERS}& Evita l'uso di \textit{trailer} nei pacchetti.\\
                              pacchetti che vede passare, compresi quelli non
                              direttamente indirizzati a lei).\\
     \const{IFF\_NOTRAILERS}& Evita l'uso di \textit{trailer} nei pacchetti.\\
-    \const{IFF\_ALLMULTI}  & Riceve tutti i pacchetti di  \itindex{multicast}
-                             \textit{multicast}.\\
+    \const{IFF\_ALLMULTI}  & Riceve tutti i pacchetti di \textit{multicast}.\\
     \const{IFF\_MASTER}    & L'interfaccia è il master di un bundle per il
                              bilanciamento di carico.\\
     \const{IFF\_SLAVE}     & L'interfaccia è uno slave di un bundle per il
                              bilanciamento di carico.\\
     \const{IFF\_MULTICAST} & L'interfaccia ha il supporto per il
     \const{IFF\_MASTER}    & L'interfaccia è il master di un bundle per il
                              bilanciamento di carico.\\
     \const{IFF\_SLAVE}     & L'interfaccia è uno slave di un bundle per il
                              bilanciamento di carico.\\
     \const{IFF\_MULTICAST} & L'interfaccia ha il supporto per il
-                             \textit{multicast} \itindex{multicast} attivo.\\
+                             \textit{multicast} attivo.\\
     \const{IFF\_PORTSEL}   & L'interfaccia può impostare i suoi parametri
                              hardware (con l'uso di \struct{ifmap}).\\
     \const{IFF\_AUTOMEDIA} & L'interfaccia è in grado di selezionare
     \const{IFF\_PORTSEL}   & L'interfaccia può impostare i suoi parametri
                              hardware (con l'uso di \struct{ifmap}).\\
     \const{IFF\_AUTOMEDIA} & L'interfaccia è in grado di selezionare
@@ -3797,19 +3789,19 @@ Le costanti che identificano le operazioni disponibili sono le seguenti:
   struttura \struct{ifmap}, secondo la definizione di
   fig.~\ref{fig:netdevice_ifmap_struct}.
 
   struttura \struct{ifmap}, secondo la definizione di
   fig.~\ref{fig:netdevice_ifmap_struct}.
 
-\item[\const{SIOCADDMULTI}] aggiunge un indirizzo di \itindex{multicast}
-  \textit{multicast} ai filtri del livello di collegamento associati
-  dell'interfaccia. Si deve usare un indirizzo hardware da specificare
-  attraverso il campo \var{ifr\_hwaddr}, che conterrà l'opportuna struttura
-  \struct{sockaddr}; l'operazione è privilegiata. Per una modalità alternativa
-  per eseguire la stessa operazione si possono usare i \textit{packet socket},
-  vedi sez.~\ref{sec:packet_socket}.
-
-\item[\const{SIOCDELMULTI}] rimuove un indirizzo di \itindex{multicast}
-  \textit{multicast} ai filtri del livello di collegamento dell'interfaccia,
-  vuole un indirizzo hardware specificato come per \const{SIOCADDMULTI}. Anche
-  questa operazione è privilegiata e può essere eseguita in forma alternativa
-  con i \textit{packet socket}.
+\item[\const{SIOCADDMULTI}] aggiunge un indirizzo di \textit{multicast} ai
+  filtri del livello di collegamento associati dell'interfaccia. Si deve usare
+  un indirizzo hardware da specificare attraverso il campo \var{ifr\_hwaddr},
+  che conterrà l'opportuna struttura \struct{sockaddr}; l'operazione è
+  privilegiata. Per una modalità alternativa per eseguire la stessa operazione
+  si possono usare i \textit{packet socket}, vedi
+  sez.~\ref{sec:packet_socket}.
+
+\item[\const{SIOCDELMULTI}] rimuove un indirizzo di \textit{multicast} ai
+  filtri del livello di collegamento dell'interfaccia, vuole un indirizzo
+  hardware specificato come per \const{SIOCADDMULTI}. Anche questa operazione
+  è privilegiata e può essere eseguita in forma alternativa con i
+  \textit{packet socket}.
 
 \item[\const{SIOCGIFTXQLEN}] permette di leggere la lunghezza della coda di
   trasmissione del dispositivo associato all'interfaccia specificata nel campo
 
 \item[\const{SIOCGIFTXQLEN}] permette di leggere la lunghezza della coda di
   trasmissione del dispositivo associato all'interfaccia specificata nel campo