My internet connection is getting upgraded to 10 Gbit next week. I’m going to start out with the rental router from the ISP, but my goal is to replace it with a home-built router since I host a bunch of stuff and want to separate my out home Wi-Fi, etc onto VLANs. I’m currently using the good old Ubiquiti USG4. I don’t need anything fancy like high-speed VPN tunnels (just enough to run SSH though), just routing IPv6 and IPv4 tunneling (MAP-E with a static IP) as the new connection is IPv6 native.

After doing a bit of research the Lenovo ThinkCenter M720q has caught my eye. There are tons of them available locally and people online seem to have good luck using them for router duties.

The one thing I have not figured out is what CPU option I should go for? There’s the Celeron G4900T (2 core), Core i3 8100T (4 core), and Core i5 (6 core). The former two are pretty close in price but the latter costs twice as much as anything else.

Doing research I get really conflicting results, with half of people saying that just routing IP even 10 Gbit is a piece of cake for any decently modern CPU and others saying they experienced bottlenecks.

I’ve also seen comments mentioning that the BSD-based routing platforms like pfSense are worse for performance than Linux-based ones like OpenWRT due to the lack of multi-threading in the former, I don’t know if this is true.

Does anyone here have any experience routing 10 Gbit on commodity hardware and can share their experiences?

  • MercuryGenisus@lemmy.world
    link
    fedilink
    English
    arrow-up
    18
    ·
    4 hours ago

    I am saddened to see that this thread had no mention of how many horses it takes to run a router. What do y’all think? Would one be enough? It would need to work in shifts to keep up time at 100%. Maybe 3 to be safe?

    • sugar_in_your_tea@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      1
      ·
      edit-2
      1 hour ago

      Switches and routers are pretty low-power, so we could probably get away with some form of body heat -> electricity thing. Or a battery and put the horse on a treadmill every so often.

    • huskypenguin@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      7
      ·
      4 hours ago

      This is why I came here. I think you’d need at least three. One to work while the other sleeps, and a spare in case one gets injured.

      • y0din@lemmy.world
        link
        fedilink
        English
        arrow-up
        3
        ·
        4 hours ago

        3 horses = 3 horsepower, which translates to a whopping 393.6 Duckpower.

        Honestly, why are we still using horses as the standard here? Ducks are clearly the superior metric. So if you’re like me and prefer a more feathered approach, just remember:

        3 horses = 3 horsepower = 393.6 ducks You’re welcome.

        (PS: Just imagine 393.6 ducks handling 10Gb… now that’s efficiency.)

        • sugar_in_your_tea@sh.itjust.works
          link
          fedilink
          English
          arrow-up
          1
          ·
          1 hour ago

          Hmm, is that waddling or flying power? Swimming?

          Also, the only reason for the 3 horsepower is so the others can rest, so we’d probably need far fewer than 393.6 ducks, I think we could get away with <100, provided we can manage their sleep cycles properly.

    • jubilationtcornpone@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      1
      ·
      2 hours ago

      Horsepower is a very rough “average” of work output over a given period of time. It doesn’t really account for spikes in load. For that we’ll have have to consider the torque. So the real question is, how many foot/pounds or newton/meters does OP need to handle 10 gigs of throughput?

  • poVoq@slrpnk.net
    link
    fedilink
    English
    arrow-up
    7
    ·
    edit-2
    2 hours ago

    If you connect via 10gbit PCIe extension cards it is often a question of how many PCIe channels the CPU has and if the mainboard you are using has these connected directly to the CPU or needs to pass them through the mainboard chipset which is much slower.

    • cmnybo@discuss.tchncs.de
      link
      fedilink
      English
      arrow-up
      2
      ·
      2 hours ago

      For a dual port card, you will want an 8 lane PCIe 3.0 slot connected to the CPU. Almost any desktop CPU will have enough lanes since you won’t be using a graphics card. You can get by with a 4 lane slot, but you won’t be able to max out both ports bidirectionally at the same time.

  • just_another_person@lemmy.world
    link
    fedilink
    English
    arrow-up
    4
    arrow-down
    1
    ·
    5 hours ago

    Your uplink capabilities are way different than your actuality. Get the service first, do some measurements, then start planning.

  • Ebby@lemmy.ssba.com
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    4 hours ago

    I have 10Gbit and hunted that whale. But I didn’t build my own router. Electricity is $0.51 Kw/h. Ouch.

    First, 10Gbit hardware is more available now than years ago, so you have more options. I started off with the router my ISP gave me. It worked, but it was 1Gbit. Not going to do for me. Plus, basic function was paywalled. Booooo! Snagged a broken Asus router and got it working great.

    With IDS/IPS enabled, I get about 3.5Gbps. There is newer router tech today that looks interesting with fewer bottlenecks that would have been nice years ago, but not worth the upgrade right now.

    My desktop hits about 2Gbps downloading Steam games/updates, but my partners desktop lags behind with SATA SSD storage. Definitely need NVME with that speed.

    I will say my experience with 10Gbit Ethernet cards is not positive. I have a lot of intermittent disconnections and there are a lot of bugs vs 1Gbit switches. They do not like sharing with 2.5Gbit devices. I keep my server on 1Gbit connections. It’s plenty fast for my needs though.