SD-WAN

  • 1.  Linux based add-ons. Bad or Good?

    Posted 03-19-2019 11:22
    I am looking for a good method to be able to perform a speed test from the 128 devices on the WAN interfaces.  At present we have been provided with a "being used" model so we can see how existing traffic is flowing.  We have the contracted speeds provided to us from our vendors and we can perform speed tests from computer(s) attached to the 128 devices.   128 provides us with many things, but one thing that I find would be helpful is a speed test of the circuit.   After investigating I found a tool called speedtest-cli that operates on Linux, but being cautious I wanted to bring this to the forum for everyone to chime in about.   Has anyone used the tool or a tool like it outside of 128 before, and secondly, have you attempted to use it or any other add-on linux based tool while installed on the 128 platform.   For our friends at 128, has a tool like this been examined to add to the toolset of 128?

    Thanks

    ------------------------------
    Ray Mikesell
    Minneapolis MN

    ------------------------------


  • 2.  RE: Linux based add-ons. Bad or Good?

    Posted 03-20-2019 10:29
    Ray,

    The simplest tool to use would be IPERF.  Is it easy to configure and is  A network traffic tool for measuring TCP and UDP performance.  There are many other opensource tools out there. Hope this helps!!

    v/r

    --
    Stephen Voto
    Sales Engineer Government
    p:781-203-8413  m: 603-498-8915
    a:200 Summit Drive, Suite 600, Burlington MA 01803 USA
    w:www.128technology.com  e: svoto@128technology.com
        






  • 3.  RE: Linux based add-ons. Bad or Good?

    Posted 03-20-2019 10:42
    Thanks for the pointer @Stephen Voto.   Has this been installed on a device running 128 to your knowledge?  

    iPerf would also not be a stand alone solution, it would require you to have a "server" somewhere to test against.   To my understanding the method iPerf uses is a preferred method for speed testing as it uses actual data transfers to known locations for testing, and provides a more reliable result, especially when your interest is in site to site mobility.  Sounds like a great way to look at possible speeds between 128 routers.

    ------------------------------
    Ray Mikesell
    Minneapolis MN
    (763) 452-4823
    ------------------------------



  • 4.  RE: Linux based add-ons. Bad or Good?

     
    Posted 03-20-2019 11:41
    Hello Ray, yes we have a speedtest like feature planned in a future release to run within the product. within our Product Management team can provide more info on this if needed. I have never used the CLI version of speedtest, but that should work. Let me try to test it here in my lab running on my 128T Router and will let you know how it goes.
    ​​​​​

    ------------------------------
    Adam Morris
    Sales Engineer
    WA
    (206) 617-4999
    ------------------------------



  • 5.  RE: Linux based add-ons. Bad or Good?

    Posted 03-20-2019 13:32
    Ray,
    In your request, having a test tool on the router directly connected to the Linux OS would require connecting a KNI interface ( to our DPDK interface.  This would not give true test results than a direct connection at the Dataplane Externally. 

    This would also perform slower utilizing resources on the router which would impacted to perform testing.  We like to have endpoints directly connected to an interface at the Dataplane to get realistic results.  I hope this helps!  More to come ...
    v/r
    --
    Stephen Voto
    Sales Engineer Government
    p: 781-203-8413  m: 603-498-8915
    a: 200 Summit Drive, Suite 600, Burlington MA 01803 USA
    w: www.128technology.com  e: svoto@128technology.com
        






  • 6.  RE: Linux based add-ons. Bad or Good?

    Posted 03-20-2019 14:13
    Steve, 
        I'm not quite to the level of understanding the "under the hood" methods of how each software package would interface with the base OS and the 128 Service, specifically in this case the data plane development kit.  I was assuming that 128 grabs the interface from the data plane and postulating the use of KNI tunnel much like how DHCP has been done to allow for use of a package from "Linux land"  within "128 Land."    The question of resource usage was the more concerning, to me, based on my current understanding of the operation. I hadn't considered the impact of how the software would interface with the hardware.   Thanks for pointing that out.  
        The reason I was looking for something direct on the 128 device was that often the devices that i use (windows and mac systems) have so much overhead in resources that even they don't provide a reliable result when directly connected to an interface.  That said, part of what I am thinking of, to provide full possibility for the connection test, would likely require taking the Interface off of production to use in the test.  In this manner it would be more useful as a setup and diagnosis tool, especially for gathering information for traffic management.    
        I look forward to seeing what Adam will be able to see and what does and doesn't work on a physical test.  I think its going to balance out to what hardware is used for the 128 software to run on, how much resource use is needed for the testing software, and your noted impact of the access to the DPDK interface.    Perhaps we will start to see recommended tool apps based on hardware levels?

    ------------------------------
    Ray Mikesell
    Minneapolis MN
    (763) 452-4823
    ------------------------------



  • 7.  RE: Linux based add-ons. Bad or Good?

    Posted 03-20-2019 15:19
    Ray,

    Adam will be testing the feature he spoke about. Thank you for your responses. More to come ....

    Steve

    ------------------------------
    Steve Voto
    Software Engineer
    Burlington MA
    ------------------------------



  • 8.  RE: Linux based add-ons. Bad or Good?

     
    Posted 03-20-2019 20:55
    Hello Ray,

    I was able to test out the "speedtest-cli" app on my lab 128T router and it seems to work very well for what you are looking to do. First off, this app seems to consume at most 60% of a CPU core when pushing ~300Mb on the download and much less when testing the upload (~3%). My assumption is that this is all based on throughput which seems to drive CPU utilization for this app. This application does consume bandwidth so it is not advisable to run during a time when this could impact other users on the router. My lab 128T router is a Lanner 1210 (4 core Atom 2558). Also to note, I saw very similar results running this on my Windows 10 laptop connected through a switch to this 128T router vs directly on the router itself.

    My lab 128T here utilizes management over forwarding, so all I had to do was install "speedtest-cli" and run it. For completeness, here are the full steps required to set this up as well:
    1) With 128T stopped, add the default route file to use kni254
    [t128@grimlock ~]$ cat /etc/sysconfig/network-scripts/route-kni254
    0.0.0.0/0 via 169.254.127.126
    
    2) Setup global-dns to be used
    [t128@grimlock ~]$ cat /etc/NetworkManager/conf.d/global-dns.conf
    [global-dns]
    enable=yes
    [global-dns-domain-*]
    servers=8.8.8.8,1.1.1.1
    
    3) Setup the WAN interface to access "Conductor"
                        network-interface     DHCP-comcast-WAN
                            name                    DHCP-comcast-WAN
                            conductor               true
    
    4) Add built-in internal tenant "_internal_" to "internet" service
            service            internet
                name                  internet
                description           "Public Internet service"
                scope                 private
                security              encrypt-hmac-disabled
                address               0.0.0.0/0
    
                access-policy         _internal_
                    source  _internal_
                exit
                service-policy        broadband-preferred-transport-state-allow
    
    5) Ensure service-route exists for "internet" service (in my case I have a DHCP broadband link as primary and DHCP LTE link as backup)
                service-route               internet-route
                    name          internet-route
                    service-name  internet
    
                    next-hop      grimlock DHCP-comcast-WAN
                        node-name  grimlock
                        interface  DHCP-comcast-WAN
                    exit
    
                    next-hop      grimlock lte-digi
                        node-name  grimlock
                        interface  lte-digi
                    exit
                exit
    
            service-policy     broadband-preferred-transport-state-allow
                name                         broadband-preferred-transport-state-allow
                lb-strategy                  hunt
    
                vector                       broadband
                    name      broadband
                    priority  ordered
                exit
    
                vector                       lte
                    name      lte
                    priority  ordered
                exit
                required-qp                  0
                qp-preference                highest
                session-resiliency           none
                path-quality-filter          false
                best-effort                  true
                transport-state-enforcement  allow
            exit
    
    6) Install and run "speedtest-cli"
    [t128@grimlock ~]$ sudo pip install speedtest-cli
    [t128@grimlock ~]$ speedtest-cli
    Retrieving speedtest.net configuration...
    Testing from Comcast Cable (71.231.26.230)...
    Retrieving speedtest.net server list...
    Selecting best server based on ping...
    Hosted by CenturyLink, Inc (Seattle, WA) [23.50 km]: 28.485 ms
    Testing download speed................................................................................
    Download: 272.61 Mbit/s
    Testing upload speed................................................................................................
    Upload: 12.06 Mbit/s
    [t128@grimlock ~]$ speedtest-cli
    Retrieving speedtest.net configuration...
    Testing from Comcast Cable (71.231.26.230)...
    Retrieving speedtest.net server list...
    Selecting best server based on ping...
    Hosted by CenturyLink, Inc (Seattle, WA) [23.50 km]: 24.267 ms
    Testing download speed................................................................................
    Download: 284.53 Mbit/s
    Testing upload speed................................................................................................
    Upload: 11.86 Mbit/s
    [t128@grimlock ~]$ speedtest-cli
    Retrieving speedtest.net configuration...
    Testing from Comcast Cable (71.231.26.230)...
    Retrieving speedtest.net server list...
    Selecting best server based on ping...
    Hosted by CenturyLink, Inc (Seattle, WA) [23.50 km]: 25.269 ms
    Testing download speed................................................................................
    Download: 269.87 Mbit/s
    Testing upload speed................................................................................................
    Upload: 12.01 Mbit/s
    [t128@grimlock ~]$ speedtest-cli
    Retrieving speedtest.net configuration...
    Testing from Comcast Cable (71.231.26.230)...
    Retrieving speedtest.net server list...
    Selecting best server based on ping...
    Hosted by CenturyLink, Inc (Seattle, WA) [23.50 km]: 25.755 ms
    Testing download speed................................................................................
    Download: 269.57 Mbit/s
    Testing upload speed................................................................................................
    Upload: 11.36 Mbit/s​

    In addtion, here are the results from "top" for just this process during a single run of "speedtest-cli". I noticed similar results in the other test runs as well.
    top - 23:05:09 up 16 days, 13:31,  4 users,  load average: 1.65, 1.51, 1.37
    Tasks: 185 total,   2 running, 183 sleeping,   0 stopped,   0 zombie
    %Cpu(s): 34.1 us,  3.1 sy,  0.0 ni, 62.3 id,  0.0 wa,  0.0 hi,  0.4 si,  0.0 st
    KiB Mem :  8162056 total,   384268 free,  3800796 used,  3976992 buff/cache
    KiB Swap:        0 total,        0 free,        0 used.  4000868 avail Mem 
    
      PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
    19986 t128      20   0  238168  30488   5140 R  19.9  0.4   0:00.60 speedtest-cli
    
    top - 23:05:12 up 16 days, 13:31,  4 users,  load average: 1.65, 1.51, 1.37
    Tasks: 185 total,   2 running, 183 sleeping,   0 stopped,   0 zombie
    %Cpu(s): 38.1 us,  3.6 sy,  0.0 ni, 57.9 id,  0.0 wa,  0.0 hi,  0.4 si,  0.0 st
    KiB Mem :  8162056 total,   381892 free,  3802292 used,  3977872 buff/cache
    KiB Swap:        0 total,        0 free,        0 used.  3999392 avail Mem 
    
      PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
    19986 t128      20   0 1122568  30200   5180 S  28.9  0.4   0:01.47 speedtest-cli
    
    top - 23:05:15 up 16 days, 13:31,  4 users,  load average: 1.60, 1.50, 1.37
    Tasks: 185 total,   1 running, 184 sleeping,   0 stopped,   0 zombie
    %Cpu(s): 39.3 us,  4.8 sy,  0.0 ni, 54.9 id,  0.0 wa,  0.0 hi,  1.0 si,  0.0 st
    KiB Mem :  8162056 total,   381556 free,  3801664 used,  3978836 buff/cache
    KiB Swap:        0 total,        0 free,        0 used.  3999812 avail Mem 
    
      PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
    19986 t128      20   0 1122568  30380   5180 S  45.7  0.4   0:02.85 speedtest-cli
    
    top - 23:05:18 up 16 days, 13:31,  4 users,  load average: 1.60, 1.50, 1.37
    Tasks: 185 total,   1 running, 184 sleeping,   0 stopped,   0 zombie
    %Cpu(s): 37.5 us,  3.6 sy,  0.0 ni, 58.0 id,  0.0 wa,  0.0 hi,  0.9 si,  0.0 st
    KiB Mem :  8162056 total,   380080 free,  3802340 used,  3979636 buff/cache
    KiB Swap:        0 total,        0 free,        0 used.  3999272 avail Mem 
    
      PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
    19986 t128      20   0 1122568  30472   5180 S  48.5  0.4   0:04.32 speedtest-cli
    
    top - 23:05:21 up 16 days, 13:31,  4 users,  load average: 1.63, 1.51, 1.37
    Tasks: 185 total,   2 running, 183 sleeping,   0 stopped,   0 zombie
    %Cpu(s): 41.1 us,  5.5 sy,  0.0 ni, 51.4 id,  0.0 wa,  0.0 hi,  1.9 si,  0.0 st
    KiB Mem :  8162056 total,   306500 free,  3875484 used,  3980072 buff/cache
    KiB Swap:        0 total,        0 free,        0 used.  3926208 avail Mem 
    
      PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
    19986 t128      20   0 1195244 164436   5184 R  57.1  2.0   0:06.05 speedtest-cli
    
    top - 23:05:24 up 16 days, 13:31,  4 users,  load average: 1.74, 1.54, 1.38
    Tasks: 185 total,   2 running, 183 sleeping,   0 stopped,   0 zombie
    %Cpu(s): 32.7 us, 10.5 sy,  0.0 ni, 56.1 id,  0.0 wa,  0.0 hi,  0.6 si,  0.0 st
    KiB Mem :  8162056 total,   254788 free,  3926000 used,  3981268 buff/cache
    KiB Swap:        0 total,        0 free,        0 used.  3875332 avail Mem 
    
      PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
    19986 t128      20   0 1303820 213076   5184 S  12.9  2.6   0:06.44 speedtest-cli
    
    top - 23:05:27 up 16 days, 13:31,  4 users,  load average: 1.74, 1.54, 1.38
    Tasks: 185 total,   1 running, 184 sleeping,   0 stopped,   0 zombie
    %Cpu(s): 31.6 us,  2.3 sy,  0.0 ni, 65.6 id,  0.1 wa,  0.0 hi,  0.4 si,  0.0 st
    KiB Mem :  8162056 total,   254388 free,  3925736 used,  3981932 buff/cache
    KiB Swap:        0 total,        0 free,        0 used.  3875688 avail Mem 
    
      PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
    29986 t128      20   0 1303820 213116   5184 S   3.0  2.6   0:06.53 speedtest-cli
    2
    top - 23:05:30 up 16 days, 13:31,  4 users,  load average: 1.68, 1.53, 1.38
    Tasks: 185 total,   1 running, 184 sleeping,   0 stopped,   0 zombie
    %Cpu(s): 32.1 us,  3.2 sy,  0.0 ni, 64.4 id,  0.0 wa,  0.0 hi,  0.4 si,  0.0 st
    KiB Mem :  8162056 total,   263504 free,  3925504 used,  3973048 buff/cache
    KiB Swap:        0 total,        0 free,        0 used.  3875728 avail Mem 
    
      PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
    19986 t128      20   0 1303820 213116   5184 S   3.0  2.6   0:06.62 speedtest-cli​
     And finally, the pretty graph showing the throughput from the 128T UI

    Any questions, let me know.

    ------------------------------
    Adam Morris
    Sales Engineer
    WA
    (206) 617-4999
    ------------------------------