1. No output using iperf for network monitoring

No output using iperf for network monitoring

Home Forums FABRIC General Questions and Discussion No output using iperf for network monitoring

Viewing 10 posts - 1 through 10 (of 10 total)
  • Author
    Posts
  • #6417
    Robin Schelstraete
    Participant

      Hi all,

      I have been trying to monitor a network I made here in FABRIC by using the iperf package. All my nodes run Ubuntu 22.
      I have been implementing SRv6 into my network and I want to use iperf to check if it works.

      I am able to install it and setup a client and server, but I can’t see any traffic. Does anyone know why this is and how to fix it?

      I have tried to use it before and after implementing Segment Routing but that doesn’t change anything, so that is not the problem. I also tried editing the firewall rules using ufw but that didn’t help either.

      Thanks!

      #6419
      Acheme Acheme
      Participant

        Hi Robin,

        Could you share your notebook(s) here. It helps to replicate the issue and hopefully resolve and share a resolution.

        Regards,

        Acheme

        #6452
        Robin Schelstraete
        Participant

          Hi Acheme!

          The link to my Jupyter Notebook: https://jupyter.fabric-testbed.net/hub/user-redirect/lab/tree/jupyter-examples-rel1.5.4/SRExperiment.ipynb .

          The code I use to install iperf on the SR-ingress-node and start a server via a terminal:

          $ <ssh command of SR-ingress-node>
          $ sudo apt install iperf
          $ iperf -s

          The code I use to install iperf on Node2 and start a client in a second terminal:

          $ <ssh command of Node2>
          $ sudo apt install iperf
          $ iperf -c <management IP of SR ingress node>

          In the attachement I included screenshots of both the outputs of these instructions as well as my network topology as shown in the FABRIC portal after creating it via the Jupyter Notebook.

          #6469
          Acheme Acheme
          Participant

            Hello Robin,

            Could you copy and paste the content of your notebook here, I am unable to access the link you provided.

            Regards,

            Acheme

            #6472
            Robin Schelstraete
            Participant

              Yes, the contents of my notebook:

               

               

              List the slices and their data

              fablib.list_slices();

              slice = fablib.get_slice(slice_name)
              slice.show()

              node1 = slice.get_node(name=node1_name)
              node1.show()

              node2 = slice.get_node(name=node2_name)
              node2.show();

              node3 = slice.get_node(name=node3_name)
              node3.show();

              node4 = slice.get_node(name=node4_name)
              node4.show();

              node5 = slice.get_node(name=node5_name)
              node5.show();

               

               

               

              Setup SR on SR ingress node

              ###### Enable Segment Routing ######
              # Check the kernel version, this has to be at least version 4.9
              stdout, stderr = node3.execute(‘uname -r’)

              # Check if iproute2 is installed
              stdout, stderr = node3.execute(‘ip -V’)

              # Install packages
              stdout, stderr = node3.execute(‘sudo apt update && sudo apt upgrade | y’)
              stdout, stderr = node3.execute(‘sudo apt install -y iproute2’)

              ###### Enable IPv6 forwarding ######
              stdout, stderr = node3.execute(‘echo “net.ipv6.conf.all.forwarding=1” | sudo tee -a /etc/sysctl.conf’)
              stdout, stderr = node3.execute(‘echo “net.ipv6.conf.*.seg6_enabled=1” | sudo tee -a /etc/sysctl.conf’)

              stdout, stderr = node3.execute(‘sudo sysctl -p’)
              stdout, stderr = node3.execute(‘cat /etc/sysctl.conf’)

              Setup SR on Node 1

              ###### Enable Segment Routing ######
              # Check the kernel version, this has to be at least version 4.9
              stdout, stderr = node1.execute(‘uname -r’)

              # Check if iproute2 is installed
              stdout, stderr = node1.execute(‘ip -V’)

              # Install packages
              stdout, stderr = node1.execute(‘sudo apt update && sudo apt upgrade | y’)
              stdout, stderr = node1.execute(‘sudo apt install -y iproute2’)

              ###### Enable IPv6 forwarding ######
              stdout, stderr = node1.execute(‘echo “net.ipv6.conf.all.forwarding=1” | sudo tee -a /etc/sysctl.conf’)
              stdout, stderr = node1.execute(‘echo “net.ipv6.conf.*.seg6_enabled=1” | sudo tee -a /etc/sysctl.conf’)

              stdout, stderr = node1.execute(‘sudo sysctl -p’)
              stdout, stderr = node1.execute(‘cat /etc/sysctl.conf’)

              Setup SR on Node 2

              ###### Enable Segment Routing ######
              # Check the kernel version, this has to be at least version 4.9
              stdout, stderr = node2.execute(‘uname -r’)

              # Check if iproute2 is installed
              stdout, stderr = node2.execute(‘ip -V’)

              # Install packages
              stdout, stderr = node2.execute(‘sudo apt update && sudo apt upgrade | y’)
              stdout, stderr = node2.execute(‘sudo apt install -y iproute2’)

              ###### Enable IPv6 forwarding ######
              stdout, stderr = node2.execute(‘echo “net.ipv6.conf.all.forwarding=1” | sudo tee -a /etc/sysctl.conf’)
              stdout, stderr = node2.execute(‘echo “net.ipv6.conf.*.seg6_enabled=1” | sudo tee -a /etc/sysctl.conf’)

              stdout, stderr = node2.execute(‘sudo sysctl -p’)
              stdout, stderr = node2.execute(‘cat /etc/sysctl.conf’)

              #6480
              Acheme Acheme
              Participant

                Hello Robin,

                I am not very familiar with SR but I notice that you did not reserve network resources no connect the nodes with links. I never had to perform iperf using management IPs on this testbed so I am not sure how it should behave. Sorry I have to been more helpful.

                Regards,

                Acheme

                #6482
                Robin Schelstraete
                Participant

                  Hi Acheme,

                  I am able to ping every node from every other node, so I didn’t think it was necessary to allocate network resources. Maybe it could help with my problem, do you know how I could reserve for IPv6 connections using code?

                  And did you use iperf with other kinds of IPs on this testbed? If yes, which kinds?

                   

                  Kind regards,

                  Robin

                  #6486
                  Komal Thareja
                  Participant

                    Hi Robin,

                    Acheme is right. Management Network only supports SSH via bastion node and basic ICMP packets. We do not recommend conducting your experiments with Management Network.

                    Please consider modifying your experiment where you are also requesting a local network (L2Bridge or FabNetv4/FabNetv6) since all your VMs are on the same site. Setup your Segment routing using the data plane network instead of the management network. There are several examples available under Networking  in the start_here.ipynb

                    Also, I am enclosing a sample notebook, which requests the VMs and connects them with local L2 Network(IPv6). You can use this as a base and setup Segment Routing on the Data Plane interfaces. Please let us know if you have questions or run into any issues.

                    NOTE: Please rename the notebook from .jpg to .ipynb as the forum doesn’t allow attaching files with .ipynb extension.

                    Thanks,

                    Komal

                    #6489
                    Komal Thareja
                    Participant

                      Attaching the notebook again.

                      #6535
                      Robin Schelstraete
                      Participant

                        Hi Komal,

                         

                        It works, thank you for your help!

                      Viewing 10 posts - 1 through 10 (of 10 total)
                      • You must be logged in to reply to this topic.