.. _support-for-ipv6: ================ Support for IPv6 ================ IPv6-enabled network ==================== Check with network admin that your networks support IPv6. IPv6-enabled hosts ================== Below we that assume your hosts run Red Hat Enterprise Linux or variants. 1. Verify your host OS supports IPv6. * Check for IPv6 support in the currently running kernel: .. code-block:: console $ cat /proc/net/if_inet6 * Enable IPv6 by editing ``/etc/modprobe.d/ipv6.conf``, if necessary: .. code-block:: console options ipv6 disable=0 * Load ``ipv6`` module if necessary: .. code-block:: console $ sudo lsmod | grep ipv6 $ sudo modprobe ipv6 2. Verify your host NIC is configured to support IPv6. Obtain IPv6 address from network admin and configure the corresponding ``ifcfg`` file in ``/etc/sysconfig/network-scripts``: .. code-block:: console IPV6INIT="yes" IPV6ADDR="2620:6a:0:2::2:57" IPV6_DEFAULTGW="2620:6a:0:2::2:1" IPV6_AUTOCONF="no" 3. The host ipv6 firewall should be configured accordingly. 4. Restart the host (highly recommended) mdtmFTP command line ==================== After network and hosts are configured, you can do data transfer over IPv6 by adding ``-ipv6`` option to mdtmFTP client's command line. For example: .. code-block:: console $ mdtm-ftp-client -ipv6 -vb -p 16 \ ftp://mdtmftp:123456@dtn-a.example.net:5050//data1/10G.bin \ ftp://mdtmftp:123456@dtn-b.example.net:5050/dev/null Data transfer examples ====================== Find some examples in: * :ref:`client-server-ipv6-examples`, and * :ref:`third-party-ipv6-examples`. .. Client – Server data transfer ----------------------------- **Step 1**: Launch the server on DTN A: .. code-block:: shell [user@host dir] $ sudo /path/to/mdtmftp/sbin/mdtm-ftp-server \ -data-interface 10.40.130.189 \ -password-file pwfile \ -p 5001 \ -c server.conf **Step 2** Launch the client on DTN B. * `Single file data transfer`. Transfer a single file from DTN A to DTN B. .. code-block:: shell /path/to/bin/mdtm-ftp-client -p 8 \ ftp://wenji:123456@10.40.130.189:5001/data1/100G/file1 \ file:///storage/data1/tmp/ * `Single file data transfer`. Transfer a single file from DTN B to DTN A. .. code-block:: shell /path/to/bin/mdtm-ftp-client -p 8 \ file:///storage/data1/tmp/file1 ftp://wenji:123456@10.40.130.189:5001/data1/tmp/ * `Folder data transfer`. Transfer a Linux folder from DTN A to DTN B. .. code-block:: shell /path/to/bin/mdtm-ftp-client -p 8 \ ftp://wenji:123456@10.40.130.189:5001/data1/linux-3.18.21/ \ file:///storage/data1/tmp/ * `Folder data transfer`. Transfer a Linux folder from DTN B to DTN A. .. code-block:: shell /path/to/bin/mdtm-ftp-client -p 8 \ file:///storage/data1/tmp/linux-3.18.21/ \ ftp://wenji:123456@10.40.130.189:5001/data1/tmp/ Third party data transfer between two remote DTNs ------------------------------------------------- **Step 1**: Launch mdtmFTP server on remote DTN A. .. code-block:: shell docker -v /storage_x:/storage_y \ --net=host xxx:yyy \ /bin/bash -c "cd /home/mdtmftp_server; \ ./mdtm-ftp-server -data-interface 131.225.2.29 \ -password-file passfile -p 5001 -c server.conf" & **Step 2**: Launch mdtmFTP server on remote DTN B. .. code-block:: shell docker -v /storage_x:/storage_y \ --net=host xxx:yyy \ /bin/bash -c "cd /home/mdtmftp_server; \ ./mdtm-ftp-server -data-interface 131.225.2.31 \ -password-file passfile -p 5001 -c server.conf" & **Step 3**: Launch the client on local DTN C. Below we're assuming that mdtmFTP client runs in a container. * `Single file data transfer`. Transfer a single file from DTN A to DTN B. .. code-block:: shell /path/to/mdtm-ftp-client -p 8 -vb \ ftp://wenji:123456@131.225.2.29:5001/data1/100G/file1 \ ftp://wenji:123456@131.225.2.31:5001/data1/tmp/ * `Folder data transfer`. Transfer a Linux folder from DTN A to DTN B. .. code-block:: shell /path/to/mdtm-ftp-client -p 8 –vb \ ftp://wenji:123456@131.225.2.29:5001/data1/linux-3.18.21/ \ ftp://wenji:123456@131.225.2.31:5001/data1/tmp/