• Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Search
  • Register
  • Login
Netgate Discussion Forum
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Search
  • Register
  • Login

Multicore forwarding

TNSR
3
19
3.5k
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • O
    oudenos @Derelict
    last edited by Mar 29, 2022, 7:43 PM

    @derelict How can I check that?

    D 1 Reply Last reply Mar 30, 2022, 4:14 PM Reply Quote 0
    • D
      Derelict LAYER 8 Netgate @oudenos
      last edited by Mar 30, 2022, 4:14 PM

      @oudenos Something like this might help you map your system:

      apt-get update
      apt-get install hwloc
      lstopo --output-format png > ~tnsr/lstopo.png

      Then scp that image off and view it with your preferred method.

      Chattanooga, Tennessee, USA
      A comprehensive network diagram is worth 10,000 words and 15 conference calls.
      DO NOT set a source address/port in a port forward or firewall rule unless you KNOW you need it!
      Do Not Chat For Help! NO_WAN_EGRESS(TM)

      O 1 Reply Last reply Apr 7, 2022, 8:19 AM Reply Quote 0
      • O
        oudenos @Derelict
        last edited by Apr 7, 2022, 8:19 AM

        @derelict Thank you for your help and sorry for the delay.
        As you correctly pointed out, the NIC is owned by the "wrong" CPU. However the same happens with the Intel one. Now I'm getting inconsistent results across reboots which lead me to think some sort of receive side scaling is involved. I'm working to set up a more realistic testbed with T-Rex as traffic generator and will also address NUMA pinning. I will get back to you as soon as I have results worth sharing with the community.

        1 Reply Last reply Reply Quote 0
        • L
          LukeCage
          last edited by May 26, 2022, 10:31 AM

          I'm following the thread

          I'm looking forward to the results
          good work

          O 1 Reply Last reply May 26, 2022, 1:17 PM Reply Quote 0
          • O
            oudenos @LukeCage
            last edited by May 26, 2022, 1:17 PM

            @lukecage unfortunately, there is not much to share.
            I noticed that changing the number of queues at runtime often requires to reboot both the VM (TNSR) and the hypervisor (Ubuntu 20.04 + KVM) to work properly, otherwise many packets will get lost. This happens with both the Mellanox and the Intel, though the first one seems to be "more affected". No idea why, I suspect the only way to correctly reinitialize the NIC is to power-cycle it, maybe I did something wrong with KVM and stuff. (*)
            Also, I'm pretty sure both NICs use Receive Side Scaling (RSS) and I had to change my traffic generator to TRex in order to have more entropy. I tried this on an Intel E810 card @ 100 Gbps, but it doesn't use scale to more than one CPU core. Again, I believe some sort queue-ish thing went wrong, perhaps I should try with the latest versions of VPP, DPDK, driver and firmware, but it requires building a TNSR-like distro from scratch afaik.

            (*) If someone is willing to give it a try, it may be worth starting with bare metal rather than KVM: DPDK uses hugepages and KVM by default only supports 2MB hugepages, not 1GB.

            Eventually, I dediced to give up on this for the moment. It's a shame, but I don't have enough time do all the tests.

            Thank you very much to the community and @Derelict for the help they provided.

            L 1 Reply Last reply May 26, 2022, 2:36 PM Reply Quote 0
            • L
              LukeCage @oudenos
              last edited by May 26, 2022, 2:36 PM

              @oudenos which cpu you using ?

              my goal is 38m pps on gre tunel (i cant test more because my upstream dont allowed)

              via interface 98m pps

              and why do you need to run multiple cores, tnsr performance is fine

              O 1 Reply Last reply May 26, 2022, 2:46 PM Reply Quote 0
              • O
                oudenos @LukeCage
                last edited by May 26, 2022, 2:46 PM

                @lukecage Intel Xeon Silver 4210R
                With proper NUMA pinning I can achieve 5.5 Mpps IP forwarding per core. Splitting in multiples queues should enable multicore processing.

                How did you reach those numbers without tuning??

                L 1 Reply Last reply May 26, 2022, 2:56 PM Reply Quote 0
                • L
                  LukeCage @oudenos
                  last edited by May 26, 2022, 2:56 PM

                  @oudenos

                  I use it directly as bare metal
                  not via vmware or any virtualization

                  As a result, you are positioning a router, if you need high capacity, you should install it tnsr directly to the server.

                  my hardware specs;

                  i9-9900k
                  32gb ram
                  240gb ssd

                  uptime
                  14:51:44 up 69 days, 5:37, 2 users, load average: 1.00, 1.00, 1.00

                  I was using tnsr centos version before, as it is understood from uptime, I switched to ubuntu on that date and now I am using it in ubuntu without any problems.

                  O 1 Reply Last reply May 26, 2022, 3:03 PM Reply Quote 0
                  • O
                    oudenos @LukeCage
                    last edited by May 26, 2022, 3:03 PM

                    @lukecage Please run the following and post the result

                    dataplane shell sudo vppctl
                    show hardware-interfaces
                    
                    L 1 Reply Last reply May 26, 2022, 3:40 PM Reply Quote 0
                    • L
                      LukeCage @oudenos
                      last edited by May 26, 2022, 3:40 PM

                      @oudenos check private message

                      1 Reply Last reply Reply Quote 0
                      • First post
                        Last post
                      Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.