param: Add additional key 'options' for interfaces
authorVinit Agnihotri <vagnihotri@ddn.com>
Tue, 5 Mar 2024 11:16:49 +0000 (03:16 -0800)
committerMartin Schwenke <martins@samba.org>
Tue, 16 Apr 2024 23:51:45 +0000 (23:51 +0000)
The key 'options' specifies if server should spawn/kill listning sockets
in event of add/dropped ip addresses on specified interface.

Signed-off-by: Vinit Agnihotri <vagnihotri@ddn.com>
Reviewed-by: Martin Schwenke <mschwenke@ddn.com>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
docs-xml/smbdotconf/base/interfaces.xml

index cbc29712385378496146e30062f0a48fca638599..b41327c75508435be9185ec43003eeb3e65a509c 100644 (file)
@@ -51,8 +51,8 @@
        </para>
 
        <para>
-       Known keys are speed, capability, and if_index. Speed is specified in
-       bits per second. Known capabilities are RSS and RDMA. The
+       Known keys are speed, capability, if_index and options. Speed
+       is specified in bits per second. Known capabilities are RSS and RDMA. The
        if_index should be used with care: the values must not coincide with
        indexes used by the kernel.
        Note that these options are mainly intended for testing and
        The specified values overwrite the auto-detected values.
        </para>
 
+       <para>
+       The possible values for options are
+       &quot;dynamic&quot; and &quot;nodynamic&quot;.
+       Use this option in combination with setting
+       <smbconfoption name="bind interfaces only"/>
+       Use the &quot;dynamic&quot; to have smbd open/close listening sockets on the
+       interface, when IP addresses are added to or removed from the interface.
+       Use the &quot;nodynamic&quot; option to ignore any ip add/remove events for
+       interface.
+       Please note that when an IP address is removed, connections to that IP address
+       are also terminated (traditional behaviour has been to keep the TCP flow alive).
+       </para>
+
+       <para>
+       Note that dynamically opening/closing listening sockets is only available on some
+       operating systems (currently Linux).
+       </para>
+
        <para>
        The first two example below configures three network interfaces corresponding
        to the eth0 device and IP addresses 192.168.2.10 and 192.168.3.10. 
 <value type="example">&quot;lo;speed=1000000000&quot; &quot;eth0;capability=RSS&quot;</value>
 <value type="example">&quot;lo;speed=1000000000&quot; , &quot;eth0;capability=RSS&quot;</value>
 <value type="example">&quot;eth0;capability=RSS&quot; , &quot;rdma1;capability=RDMA&quot; ; &quot;rdma2;capability=RSS,capability=RDMA&quot;</value>
+<value type="example">&quot;eth0;options=dynamic&quot;</value>
 
 <value type="default"/>
 </samba:parameter>