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

    [Many Pics] My new silent firewall build

    Scheduled Pinned Locked Moved Hardware
    23 Posts 5 Posters 8.1k 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.
    • E
      edwardwong
      last edited by

      @BlueKobold:

      If someone want better stuff but don't want to pay too much for something like Supermicro C2x58 Rangeley CPU platform, you can consider the Supermicro X11SBA-LN4F ITX board, this board is using Intel N3700 CPU which supports AES-NI instruction, good for those who wants better encryption speed.

      Please note there are some known issues with this board that are actually for a longer time
      will be discussed here in the forum. Link

      It is also available as a fully bare bone from Supermicro that is really looking awesome!
      Super Micro Supermicro SuperServer E200-9B Server SYS-E200-9B

      Otherwise thank you and +1 from me for the picture rich thread about that board and the measuring you
      have done. 940 Mbit/s + the overhead + the NAT and firewall rules workload and you got really 1 GBit/s
      please don´t forget this! And each installed packet and running service is also "eating" some CPU power
      and slows down the entire pfSense box a little bit.

      Edward, how many RAM you were inserting in that box?
      Did you enable PowerD (hi adaptive or adaptive)?
      If you are using a mSATA you should enable TRIM support for that machine too.
      With 8 GB RAM you could try out to high up the mbuf size from that machine to 1000000.

      Forgot to mention, I did OpenSSL test (by the internal testing command) with AES-256-CBC encryption algorithm, it's showing about 120-140Mbps, for a CPU without AES-NI, I can't complain too much about it.

      Thats not so much but also enough to upload from outside photos and other things with ease.

      wow…..the X11SBA-LN4F discussion is long, need to have some time to digest  :P
      For my system, I installed 4GB x 1 DDR3L. A bit stupid at the very beginning, I was trying to use my old laptop memory but the board doesn't even POST! Then I asked and got a notice from seller that this board accepts ONLY DDR3L SODIMM, but not normal 1.5V SODIMM, so I bought a 4GB DDR3L SODIMM, leaving one blank slot for future. This board supports 8GB max, but to be honest I believe 4GB is already more than enough for me.

      During my test, I disabled PowerD, but in real world application I've enabled "hi adaptive", I tried "adaptive" and it looks not reacting fast enough so I choose the former one. But during the first day of use, to confirm there will be no heat load issue I disabled PowerD and everything looks good.

      mbuf already being set to 1M, and from my tests you can see that NAT never eats > 60% so I do have plenty of remaining cpu power for other packages.

      1 Reply Last reply Reply Quote 0
      • ?
        Guest
        last edited by

        mbuf already being set to 1M, and from my tests you can see that NAT never eats > 60% so I do have plenty of remaining cpu power for other packages.

        If you are using PPPoE only one single CPU core is in usage, if this will be changed at one day, it will
        be more smooth and liquid running as I see it right. The PowerD is also there fore that the CPU frequency
        is not freezing and will be used only at some MHz instead of the highest available frequency if this is needed.

        1 Reply Last reply Reply Quote 0
        • E
          edwardwong
          last edited by

          @BlueKobold:

          mbuf already being set to 1M, and from my tests you can see that NAT never eats > 60% so I do have plenty of remaining cpu power for other packages.

          If you are using PPPoE only one single CPU core is in usage, if this will be changed at one day, it will
          be more smooth and liquid running as I see it right. The PowerD is also there fore that the CPU frequency
          is not freezing and will be used only at some MHz instead of the highest available frequency if this is needed.

          In Hong Kong, unless people living in very remote area or building with very old infrastructure, most of our broadband using FTTH/FTTB with fiber/CAT5 to home, the last time I used PPPoE was about 6 years ago (FTTH for that building was built after using PPPoE for a few months)  8)
          For commercial, other than those for backup purposes, no one is using PPPoE anymore.

          1 Reply Last reply Reply Quote 0
          • ?
            Guest
            last edited by

            For commercial, other than those for backup purposes, no one is using PPPoE anyone.

            Cool! Then you will be getting out of that single core using and all core can be used to work on that
            WAN interface.

            1 Reply Last reply Reply Quote 0
            • E
              edwardwong
              last edited by

              @BlueKobold:

              For commercial, other than those for backup purposes, no one is using PPPoE anymore.

              Cool! Then you will be getting out of that single core using and all core can be used to work on that
              WAN interface.

              Yep, but with the fast development of internet in the country, most people using 300-1000Mbps broadband, and thus we are always chasing faster hardware for firewall/routers :)

              1 Reply Last reply Reply Quote 0
              • E
                edwardwong
                last edited by

                BTW I'm now still using 4GB USB memory running as nanobsd, thinking about the re-use of 16GB old pci-e ssd from Asus EEEPC for full install.
                I actually wondering, why we can't use HAVP + Proxy with nanobsd with more memory as cache?

                1 Reply Last reply Reply Quote 0
                • E
                  Engineer
                  last edited by

                  @edwardwong,

                  Since you mentioned the Supermicro X11SBA-LN4F ITX and I have a 'hardware repaired one' (see thread posted earlier - the long one), I would like to run the OpenSSL test that you did on yours.  Can you give the syntax (assuming it's built into pfsense / FreeBSD?

                  Just curious as to how the two boards stack up with AES-NI and without?

                  1 Reply Last reply Reply Quote 0
                  • E
                    edwardwong
                    last edited by

                    @Engineer:

                    @edwardwong,

                    Since you mentioned the Supermicro X11SBA-LN4F ITX and I have a 'hardware repaired one' (see thread posted earlier - the long one), I would like to run the OpenSSL test that you did on yours.  Can you give the syntax (assuming it's built into pfsense / FreeBSD?

                    Just curious as to how the two boards stack up with AES-NI and without?

                    I did the test with reference to this document:
                    https://doc.pfsense.org/index.php/Are_cryptographic_accelerators_supported

                    Of course this is not an accurate test, the most accurate one should be doing this with 2 clients, but I don't have time so trying to use this as a simple reference.

                    1 Reply Last reply Reply Quote 0
                    • E
                      Engineer
                      last edited by

                      @edwardwong:

                      @Engineer:

                      @edwardwong,

                      Since you mentioned the Supermicro X11SBA-LN4F ITX and I have a 'hardware repaired one' (see thread posted earlier - the long one), I would like to run the OpenSSL test that you did on yours.  Can you give the syntax (assuming it's built into pfsense / FreeBSD?

                      Just curious as to how the two boards stack up with AES-NI and without?

                      I did the test with reference to this document:
                      https://doc.pfsense.org/index.php/Are_cryptographic_accelerators_supported

                      Of course this is not an accurate test, the most accurate one should be doing this with 2 clients, but I don't have time so trying to use this as a simple reference.

                      Here's what I came up with (modified to 256 from the 128 command since you stated 256)….

                      $ openssl speed -evp aes-256-cbc -engine cryptodev
                      engine "cryptodev" set.
                      Doing aes-256-cbc for 3s on 16 size blocks: 947833 aes-256-cbc's in 0.32s
                      Doing aes-256-cbc for 3s on 64 size blocks: 945487 aes-256-cbc's in 0.36s
                      Doing aes-256-cbc for 3s on 256 size blocks: 772576 aes-256-cbc's in 0.21s
                      Doing aes-256-cbc for 3s on 1024 size blocks: 457823 aes-256-cbc's in 0.20s
                      Doing aes-256-cbc for 3s on 8192 size blocks: 91829 aes-256-cbc's in 0.03s
                      OpenSSL 1.0.1l-freebsd 15 Jan 2015
                      built on: date not available
                      options:bn(64,64) rc4(16x,int) des(idx,cisc,16,int) aes(partial) idea(int) blowfish(idx)
                      compiler: clang
                      The 'numbers' are in 1000s of bytes per second processed.
                      type            16 bytes    64 bytes    256 bytes  1024 bytes  8192 bytes
                      aes-256-cbc      47345.41k  168378.90k  937621.12k  2307991.39k 24072421.38k

                      1 Reply Last reply Reply Quote 0
                      • E
                        edwardwong
                        last edited by

                        Yeah….the AES-NI contributes a lot, can you run it again without crypto engine? I would like to compare, from some other online examples, the AES-NI speeds up about 5-10x

                        1 Reply Last reply Reply Quote 0
                        • E
                          Engineer
                          last edited by

                          @edwardwong:

                          Yeah….the AES-NI contributes a lot, can you run it again without crypto engine? I would like to compare, from some other online examples, the AES-NI speeds up about 5-10x

                          Something wrong.  Numbers are as good or better.  Do I need to turn off AES-NI in the settings menu?

                          Edit:  Turned off AES-NI in the Advanced menu but no difference (I didn't reboot - like my current 98 days uptime).  Anyone have thoughts on why no change?

                          $ openssl speed -evp aes-256-cbc
                          Doing aes-256-cbc for 3s on 16 size blocks: 949961 aes-256-cbc's in 0.38s
                          Doing aes-256-cbc for 3s on 64 size blocks: 968692 aes-256-cbc's in 0.25s
                          Doing aes-256-cbc for 3s on 256 size blocks: 793691 aes-256-cbc's in 0.31s
                          Doing aes-256-cbc for 3s on 1024 size blocks: 456773 aes-256-cbc's in 0.19s
                          Doing aes-256-cbc for 3s on 8192 size blocks: 91937 aes-256-cbc's in 0.05s
                          OpenSSL 1.0.1l-freebsd 15 Jan 2015
                          built on: date not available
                          options:bn(64,64) rc4(16x,int) des(idx,cisc,16,int) aes(partial) idea(int) blowfish(idx)
                          compiler: clang
                          The 'numbers' are in 1000s of bytes per second processed.
                          type            16 bytes    64 bytes    256 bytes  1024 bytes  8192 bytes
                          aes-256-cbc      40531.67k  247985.15k  650191.67k  2494589.61k 16067155.29k

                          1 Reply Last reply Reply Quote 0
                          • E
                            edwardwong
                            last edited by

                            Try not to use -evp option, it looks like everything with this option will trigger the hardware engine. And your CPU is quad core, you can actually put a "-multi 4" as the option to run 4 encryption together.
                            But that's quite interesting, because I owned a higher end processor, the Avoton C2550, and the number with 4 threads together is half of your single thread. Not sure if this is the problem with the OpenSSL on my Linux server (yes, this is not a pfSense machine). I suppose my Avoton should be running a lot faster compared with your N3700.

                            1 Reply Last reply Reply Quote 0
                            • E
                              Engineer
                              last edited by

                              $ openssl speed aes-256-cbc
                              Doing aes-256 cbc for 3s on 16 size blocks: 5467107 aes-256 cbc's in 3.00s
                              Doing aes-256 cbc for 3s on 64 size blocks: 1562852 aes-256 cbc's in 3.00s
                              Doing aes-256 cbc for 3s on 256 size blocks: 403469 aes-256 cbc's in 3.00s
                              Doing aes-256 cbc for 3s on 1024 size blocks: 254859 aes-256 cbc's in 3.00s
                              Doing aes-256 cbc for 3s on 8192 size blocks: 32236 aes-256 cbc's in 3.00s
                              OpenSSL 1.0.1l-freebsd 15 Jan 2015
                              built on: date not available
                              options:bn(64,64) rc4(16x,int) des(idx,cisc,16,int) aes(partial) idea(int) blowfish(idx)
                              compiler: clang
                              The 'numbers' are in 1000s of bytes per second processed.
                              type            16 bytes    64 bytes    256 bytes  1024 bytes  8192 bytes
                              aes-256 cbc      29157.90k    33340.84k    34429.35k    86991.87k    88025.77k

                              With -multi 4 added on hardware (slower than single thread??)….

                              System

                              $ openssl speed -multi 4 -evp aes-256-cbc -engine cryptodev
                              engine "cryptodev" set.
                              Forked child 0
                              Forked child 1
                              +DT:aes-256-cbc:3:16
                              Forked child 2
                              +DT:aes-256-cbc:3:16
                              +DT:aes-256-cbc:3:16
                              +DT:aes-256-cbc:3:16
                              +R:836144:aes-256-cbc:3.000000
                              +R:824538:aes-256-cbc:3.000000
                              +DT:aes-256-cbc:3:64
                              +DT:aes-256-cbc:3:64
                              +R:857528:aes-256-cbc:3.000000
                              +R:863606:aes-256-cbc:3.000000
                              +DT:aes-256-cbc:3:64
                              +DT:aes-256-cbc:3:64
                              +R:811091:aes-256-cbc:3.000000
                              +R:787191:aes-256-cbc:3.000000
                              +DT:aes-256-cbc:3:256
                              +DT:aes-256-cbc:3:256
                              +R:838909:aes-256-cbc:3.000000
                              +R:814793:aes-256-cbc:3.000000
                              +DT:aes-256-cbc:3:256
                              +DT:aes-256-cbc:3:256
                              +R:657543:aes-256-cbc:3.000000
                              +DT:aes-256-cbc:3:1024
                              +R:671720:aes-256-cbc:3.000000
                              +DT:aes-256-cbc:3:1024
                              +R:682625:aes-256-cbc:3.000000
                              +R:679516:aes-256-cbc:3.000000
                              +DT:aes-256-cbc:3:1024
                              +DT:aes-256-cbc:3:1024
                              +R:420495:aes-256-cbc:3.000000
                              +DT:aes-256-cbc:3:8192
                              +R:418550:aes-256-cbc:3.000000
                              +DT:aes-256-cbc:3:8192
                              +R:426774:aes-256-cbc:3.000000
                              +R:430329:aes-256-cbc:3.000000
                              +DT:aes-256-cbc:3:8192
                              +DT:aes-256-cbc:3:8192
                              +R:91002:aes-256-cbc:3.000000
                              +R:90558:aes-256-cbc:3.000000
                              +R:90635:aes-256-cbc:3.000000
                              +R:90792:aes-256-cbc:3.000000
                              Forked child 3
                              Got: +H:16:64:256:1024:8192 from 0
                              Got: +F:22:aes-256-cbc:4397536.00:16793408.00:56110336.00:142865066.67:248496128.00 from 0
                              Got: +H:16:64:256:1024:8192 from 1
                              Got: +F:22:aes-256-cbc:4459434.67:17303274.67:57320106.67:143528960.00:247283712.00 from 1
                              Got: +H:16:64:256:1024:8192 from 2
                              Got: +F:22:aes-256-cbc:4573482.67:17382250.67:57985365.33:145672192.00:247493973.33 from 2
                              Got: +H:16:64:256:1024:8192 from 3
                              Got: +F:22:aes-256-cbc:4605898.67:17896725.33:58250666.67:146885632.00:247922688.00 from 3
                              OpenSSL 1.0.1l-freebsd 15 Jan 2015
                              built on: date not available
                              options:bn(64,64) rc4(16x,int) des(idx,cisc,16,int) aes(partial) idea(int) blowfish(idx)
                              compiler: clang
                              evp              18036.35k    69375.66k  229666.47k  578951.85k  991196.50k

                              1 Reply Last reply Reply Quote 0
                              • E
                                edwardwong
                                last edited by

                                Try to add "-elapsed" when you use the hardware engine, according to OpenSSL document this will perform better when using hardware crypto method.

                                But yeah, you see the difference with/without AES-NI already  8)

                                1 Reply Last reply Reply Quote 0
                                • K
                                  Keljian
                                  last edited by

                                  Don't understand why you are testing without, in the "real world" you are never likely to be using the same chip without aes-ni

                                  1 Reply Last reply Reply Quote 0
                                  • E
                                    Engineer
                                    last edited by

                                    @Keljian:

                                    Don't understand why you are testing without, in the "real world" you are never likely to be using the same chip without aes-ni

                                    I would assume just to see how much extra throughput is gained via AES-NI vs without.

                                    1 Reply Last reply Reply Quote 0
                                    • K
                                      Keljian
                                      last edited by

                                      @Engineer:

                                      @Keljian:

                                      Don't understand why you are testing without, in the "real world" you are never likely to be using the same chip without aes-ni

                                      I would assume just to see how much extra throughput is gained via AES-NI vs without.

                                      Yes but I don't see when you would be without it if you had a processor that supports it. Seems counterintuitive.

                                      1 Reply Last reply Reply Quote 0
                                      • L
                                        Limbi
                                        last edited by

                                        @edwardwong:

                                        Try not to use -evp option, it looks like everything with this option will trigger the hardware engine. And your CPU is quad core, you can actually put a "-multi 4" as the option to run 4 encryption together.
                                        But that's quite interesting, because I owned a higher end processor, the Avoton C2550, and the number with 4 threads together is half of your single thread. Not sure if this is the problem with the OpenSSL on my Linux server (yes, this is not a pfSense machine). I suppose my Avoton should be running a lot faster compared with your N3700.

                                        Where I should put "-multi 4" to run 4 encryption together?
                                        Thank you

                                        Ciao

                                        AMD Athlon 5350 @2.1Ghz
                                        Asus AM1M-A
                                        Kingston 4GB 1R 1600EC11 @C10
                                        Kingston V300 60GB
                                        Intel Pro/1000 PT dual (wan+lan)
                                        OEM 90w psu
                                        80mm case fan
                                        100/20M vdsl2+ internet connection
                                        pfsense 2.3.3dev
                                        some package installed

                                        1 Reply Last reply Reply Quote 0
                                        • E
                                          edwardwong
                                          last edited by

                                          @Limbi:

                                          @edwardwong:

                                          Try not to use -evp option, it looks like everything with this option will trigger the hardware engine. And your CPU is quad core, you can actually put a "-multi 4" as the option to run 4 encryption together.
                                          But that's quite interesting, because I owned a higher end processor, the Avoton C2550, and the number with 4 threads together is half of your single thread. Not sure if this is the problem with the OpenSSL on my Linux server (yes, this is not a pfSense machine). I suppose my Avoton should be running a lot faster compared with your N3700.

                                          Where I should put "-multi 4" to run 4 encryption together?
                                          Thank you

                                          Ciao

                                          Read the posts above, answer is already there.

                                          1 Reply Last reply Reply Quote 0
                                          • L
                                            Limbi
                                            last edited by

                                            @edwardwong:

                                            @Limbi:

                                            @edwardwong:

                                            Try not to use -evp option, it looks like everything with this option will trigger the hardware engine. And your CPU is quad core, you can actually put a "-multi 4" as the option to run 4 encryption together.
                                            But that's quite interesting, because I owned a higher end processor, the Avoton C2550, and the number with 4 threads together is half of your single thread. Not sure if this is the problem with the OpenSSL on my Linux server (yes, this is not a pfSense machine). I suppose my Avoton should be running a lot faster compared with your N3700.

                                            Where I should put "-multi 4" to run 4 encryption together?
                                            Thank you

                                            Ciao

                                            Read the posts above, answer is already there.

                                            I read that, but I'm a newbie and I don't know witch file to edit.

                                            AMD Athlon 5350 @2.1Ghz
                                            Asus AM1M-A
                                            Kingston 4GB 1R 1600EC11 @C10
                                            Kingston V300 60GB
                                            Intel Pro/1000 PT dual (wan+lan)
                                            OEM 90w psu
                                            80mm case fan
                                            100/20M vdsl2+ internet connection
                                            pfsense 2.3.3dev
                                            some package installed

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