Altro materiale sulle opzioni dei socket.
[gapil.git] / sockctrl.tex
index 88804386e2fa9daddd6a4d80a249308011330076..815ceb18e35a1e6f3bb62a6f1621003604a4a148 100644 (file)
@@ -2838,8 +2838,10 @@ ottenibile rispettivamente dai campi \var{ipi\_addr} e \var{ipi\_ifindex} di
 
 \item[\const{IP\_MTU\_DISCOVER}] Questa è una opzione introdotta con i kernel
   della serie 2.2.x, ed è specifica di Linux.  L'opzione permette di scrivere
-  o leggere le impostazioni usante nella determinazione della \textit{Maximum
-    Tranfer Unit} (vedi sez.~\ref{sec:net_lim_dim}) per il socket.
+  o leggere le impostazioni usate nella determinazione della \textit{Maximum
+    Tranfer Unit} (vedi sez.~\ref{sec:net_lim_dim}) per il socket. Il valore
+  di default è determinato dal parametro \texttt{ip\_no\_pmtu\_disc} di
+  \func{sysctl}.
 
 \item[\const{IP\_MTU}] Permette di leggere il valore della \textit{Maximum
     Tranfer Unit} di percorso del socket.  L'opzione richiede per
@@ -2869,7 +2871,32 @@ ottenibile rispettivamente dai campi \var{ipi\_addr} e \var{ipi\_ifindex} di
   disponibili in locale l'uso di questa opzione permette di disabilitare
   questo tipo di traffico.
 
-\item[\const{IP\_ADD\_MEMBERSHIP}]
+\item[\const{IP\_ADD\_MEMBERSHIP}] L'opzione consente di unirsi ad gruppo di
+  multicast, e può essere usata solo con \func{setsockopt}. L'argomento
+  \param{optval} in questo caso deve essere una struttura di tipo
+  \struct{ip\_mreqn}, illustrata in fig.~\ref{fig:ip_mreqn_struct}, che
+  permette di indicare, con il campo \var{imr\_multiaddr} l'indirizzo del
+  gruppo di multicast a cui ci si vuole unire, con il campo \var{imr\_address}
+  l'indirizzo dell'interfaccia locale con cui unirsi al gruppo di multicast e
+  con \var{imr\_ifindex} l'indice dell'interfaccia da utilizzare (un valore
+  nullo indica una interfaccia qualunque).  
+
+  Per compatibilità è possibile utilizzare anche un argomento di tipo
+  \struct{ip\_mreq}, una precedente versione di \struct{ip\_mreqn}, che
+  differisce da essa soltanto per l'assenza del campo \var{imr\_ifindex}.
+
+\begin{figure}[!htb]
+  \footnotesize \centering
+  \begin{minipage}[c]{15cm}
+    \includestruct{listati/ip_mreqn.h}
+  \end{minipage}
+  \caption{La struttura \structd{ip\_mreqn} utilizzata dalle opzioni dei socket
+    per le operazioni concernenti l'appartenenza ai gruppi di multicast.}
+  \label{fig:ip_mreqn_struct}
+\end{figure}
+
+
+
 
 \item[\const{IP\_DROP\_MEMBERSHIP}]