Version 14 (modified by, 5 years ago) (diff)


Navigation: 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 earlier. We assume you have 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. Without providing sufficient payment to the path service (PS) -- which should cause iperf to fail
  2. Requesting a higher cost but higher-bandwidth path (and providing the payment need to get back high bandwidth paths from the PS)
  3. Requesting a lower cost but lower-bandwidth path (and providing the reduced payment need to get back low bandwidth paths from the PS)
  4. 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)

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):

cd  ~/choicenet/source/bin

cp ../wrap .


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):

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:

cd  ~/choicenet/source/bin

cp ../wrap .

sudo ./wrap /usr/bin/iperf -c <IPv6 address of H1 > -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

sudo ./wrap /usr/bin/iperf -c <IPv6 address of H1 > -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.

Attachments (11)

Download all attachments as: .zip