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

New if_pppoe backend

Scheduled Pinned Locked Moved CE 2.8.0 Development Snapshots (Retired)
11 Posts 4 Posters 845 Views
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.
  • T
    TampertK
    last edited by Apr 3, 2025, 12:29 AM

    I'm trying the new if_pppoe implementation on a 1Gbps symmetrical fiber line. My provider uses PPPoE over a VLAN, my device has an Intel J5005 quadcore with an Intel X520 NIC. TSO and LRO are disabled.

    I'm noticing a big imbalance between download and upload. Down maxes out around 490Mbps, up goes to full 920Mbps. Looking at System Activity, this imbalance is also seen in distribution across cores.

    Download:

        0 root        -60    -     0B  1600K CPU0     0   3:09  84.28% [kernel{if_io_tqg_0}]
        0 root        -60    -     0B  1600K -        3   0:54  14.26% [kernel{if_io_tqg_3}]
        0 root        -60    -     0B  1600K -        2   0:40  10.25% [kernel{if_io_tqg_2}]
        0 root        -60    -     0B  1600K -        1   1:04   9.28% [kernel{if_io_tqg_1}]
    

    Upload:

        0 root        -60    -     0B  1600K CPU1     1   0:30  43.16% [kernel{if_io_tqg_1}]
        0 root        -60    -     0B  1600K -        3   0:34  31.59% [kernel{if_io_tqg_3}]
        0 root        -60    -     0B  1600K -        0   1:41  29.69% [kernel{if_io_tqg_0}]
        0 root        -60    -     0B  1600K -        2   0:21  27.78% [kernel{if_io_tqg_2}]
    

    On 2.7.2 I used the net.isr.dispatch=deferred tunable, and easily reached full download speeds (I've removed this tunable on 2.8). Can it be that the VLAN is causing issues? Or perhaps we need to wait until the RELEASE version?

    N 1 Reply Last reply Apr 3, 2025, 3:34 AM Reply Quote 1
    • N
      netblues @TampertK
      last edited by Apr 3, 2025, 3:34 AM

      @TampertK Have you tried the tunable on 2.8? Worst case, it is ignored.
      And no, it can't be the vlan.

      There is nothing to wait, the new pppoe code is the same in pfsense plus 24.03 beta and on 2.8 ce

      T 1 Reply Last reply Apr 3, 2025, 7:37 AM Reply Quote 0
      • T
        TampertK @netblues
        last edited by Apr 3, 2025, 7:37 AM

        @netblues said in New if_pppoe backend:

        @TampertK Have you tried the tunable on 2.8? Worst case, it is ignored.

        I have not, as the documentation recommends against doing this.

        @netblues said in New if_pppoe backend:

        There is nothing to wait, the new pppoe code is the same in pfsense plus 24.03 beta and on 2.8 ce

        This contradicts a statement by the owner of Netgate:

        It will actually get faster in 2.8-RELEASE because there was a rework that occurred too late to make the beta cut-off.

        N K 2 Replies Last reply Apr 3, 2025, 11:16 AM Reply Quote 0
        • N
          netblues @TampertK
          last edited by Apr 3, 2025, 11:16 AM

          @TampertK I was refering to plus 24.03 beta, not ce beta.

          1 Reply Last reply Reply Quote 0
          • K
            kprovost @TampertK
            last edited by Apr 3, 2025, 12:53 PM

            @TampertK That enhancement is in neither the 25.03 plus nor the CE 2.8.0 beta.
            It's expected to be in both releases, but it's not there yet.

            T 1 Reply Last reply Apr 3, 2025, 3:31 PM Reply Quote 0
            • T
              TampertK @kprovost
              last edited by Apr 3, 2025, 3:31 PM

              @kprovost This confusion is distracting from the issue. The new if_pppoe implementation is in both the 2.8 CE and 25.03 Plus betas. According to gonzopancho, the implementation will "get faster" in the release versions.

              However, the current if_pppoe implementation in 2.8 CE beta is causing issues for me, with a big imbalance between download and upload, which is also visible in the distribution across the CPU cores.

              K 1 Reply Last reply Apr 3, 2025, 4:26 PM Reply Quote 0
              • K
                kprovost @TampertK
                last edited by Apr 3, 2025, 4:26 PM

                @TampertK Yes, that's what's expected to be addressed by the updates that are not yet publicly available.

                T 1 Reply Last reply Apr 3, 2025, 5:52 PM Reply Quote 1
                • T
                  TampertK @kprovost
                  last edited by Apr 3, 2025, 5:52 PM

                  @kprovost Do you have any evidence or reference that the current implementation of if_pppoe in 2.8 CE beta is causing this imbalance between download and upload?

                  M 1 Reply Last reply Apr 3, 2025, 5:59 PM Reply Quote 0
                  • M
                    marcosm Netgate @TampertK
                    last edited by Apr 3, 2025, 5:59 PM

                    @TampertK Yes, internal testing shows improved performance.

                    T 1 Reply Last reply Apr 14, 2025, 8:30 PM Reply Quote 1
                    • T
                      TampertK @marcosm
                      last edited by Apr 14, 2025, 8:30 PM

                      @marcosm I'm now on version 2.8.0.b.20250410.0059. The overall download speed has improved to around 800Mbps, but the 'imbalance' across cores is still there. See:

                          0 root        -60    -     0B  1616K -        0   1:39  79.69% [kernel{if_io_tqg_0}]
                         11 root        187 ki31     0B    64K RUN      1   8:34  63.09% [idle{idle: cpu1}]
                         11 root        187 ki31     0B    64K RUN      3   8:33  60.89% [idle{idle: cpu3}]
                         11 root        187 ki31     0B    64K RUN      2   8:19  60.50% [idle{idle: cpu2}]
                         12 root        -60    -     0B   224K WAIT     2   1:02  46.19% [intr{swi1: netisr 1}]
                         11 root        187 ki31     0B    64K RUN      0   8:53  23.10% [idle{idle: cpu0}]
                         12 root        -60    -     0B   224K WAIT     2   0:30  20.90% [intr{swi1: netisr 2}]
                         12 root        -60    -     0B   224K WAIT     3   0:23  10.79% [intr{swi1: netisr 3}]
                         12 root        -60    -     0B   224K WAIT     3   0:15   7.86% [intr{swi1: netisr 0}]
                          0 root        -60    -     0B  1616K -        1   0:10   7.86% [kernel{if_io_tqg_1}]
                          0 root        -60    -     0B  1616K -        3   0:07   3.08% [kernel{if_io_tqg_3}]
                          0 root        -60    -     0B  1616K -        2   0:06   3.08% [kernel{if_io_tqg_2}]
                      

                      This version of the beta should have the improved if_pppoe, correct?

                      K 1 Reply Last reply Apr 15, 2025, 7:51 AM Reply Quote 0
                      • K
                        kprovost @TampertK
                        last edited by Apr 15, 2025, 7:51 AM

                        @TampertK RSS pins flows to specific CPU cores, so if you're testing with a single flow this is what you'd expect to see.
                        Repeat your test with more flows and you'll see more of your CPU cores doing work.

                        1 Reply Last reply Reply Quote 1
                        • First post
                          Last post
                        Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.
                          This community forum collects and processes your personal information.
                          consent.not_received