Navigation: [wiki:GEC21Agenda/ChoiceNet/start Up] = A !ChoiceNet Source-Routed Forwarding Service and Marketplace = The first !ChoiceNet service that we will use is the ''!ChoiceNet Source-Routed Forwarding Service'' described [wiki:GEC21Agenda/ChoiceNet/gt_tool earlier]. We assume you have [wiki:GEC21Agenda/ChoiceNet/ already created two terminal windows], '''TERMINAL 1''' and '''TERMINAL 2''' that are logged into slice nodes '''H1''' and '''H2''' respectively. You objective in this part of the tutorial is to run ''iperf'' between H1 and H2 several different ways: 1. Requesting a low cost but lower-bandwidth path (and providing the payment need to get back low bandwidth paths from the PS) 1. Requesting a higher cost but higher-bandwidth path (and providing the payment need to get back high bandwidth paths from the PS) 1. Requesting a medium cost, high bandwidth but high latency path and providing the payment need to get back high bandwidth/high latency paths from the PS) 1. Without providing sufficient payment to the ''path service (PS)'' -- which should cause iperf to fail You will run your iperf server on H1 and the iperf client on H2. For each test case, we will be able to see the throughput achieved by iperf, indicating that the PS found an appropriate path, and iperf received the requested performance characteristics. If you are logged into the GENI Desktop, you will be able to visually see the traffic taking different paths across the topology. === Start the iperf server '''on TERMINAL 1''' ('''H1''') === Once you are logged into H1, copy the wrapper library into the bin directory, and then find the IP address of H1. In particular, run the following commands on '''TERMINAL 1''' ('''H1'''): {{{ #!sh cd ~/choicenet/source/bin cp ../wrap . /sbin/ifconfig }}} Look at the output from the /sbin/ifconfig, and write down the IPV6 Scope Site address of eth1. (This should begin with an fec0::). You will need this address when starting the iperf client (in the '''TERMINAL 2''' window). You will then use our !ChoiceNet wrapper to transform the iperf server (an existing TCP/IPv4 application) into a !ChoiceNet-enabled application. To start the iperf server type (on H1): {{{ #!sh sudo ./wrap /usr/bin/iperf -s -V }}} === Start the iperf client '''on TERMINAL 2''' ('''H2''') === After you have logged into H2, copy the wrapper library into the bin directory, and start the iperf client. In particular, run the following commands on '''TERMINAL 2''' ('''H2''') to start the iperf client: {{{ #!sh cd ~/choicenet/source/bin cp ../wrap . sudo ./wrap /usr/bin/iperf -c -V }}} where ''IPv6 address of H1'' is the IPv6 address you found above (in TERMINAL 1). Choicenet is all about choices in the network. For our iperf test run, we currently have a set the network to use the High Bandwidth path "HB". If you like to take an alternate route based on your network preference , you can use any editor (vim, pico , nano) that you prefer to edit the ../config/config.txt and change HB to LB ( Low Bandwidth) path or HBHL (High bandwidth High Latency) path as the last line. We then use a Choicenet wrapper app to convert an existing tcp application into a Choicenet application as shown below get ready to start the iperf Client here . Type the command and keep it ready . '''DO NOT RUN IT JUST YET''' {{{ #!sh sudo ./wrap /usr/bin/iperf -c -V }}} (IPv6 address should be eth1 on H1 and starts with fec0) Now GOTO TERMINAL1 and run the iperf server command. Immediately then switch to TERMINAL2 and run the client command too.