Netmap not supported for Intel X553 driver in pfSense 2.5.0
-
@NollipfSense said in Netmap not supported for Intel X553 driver in pfSense 2.5.0:
@NRgia said in Netmap not supported for Intel X553 driver in pfSense 2.5.0:
But if you are using Netmap in NATIVE mode, what is your issue then ?
The current driver when in iflib does not allow traffic graph to show. That's great info to have on the WebGUI at a glance. The new driver will make that happened.
@NRgia said in Netmap not supported for Intel X553 driver in pfSense 2.5.0:
If I compile my own driver I will get the same speed, but NETMAP will not start in NATIVE mode, only in emulated mode
In comparison with FreeBSD 11.2 where I got between 800-960 Mbs/s it's a huge difference.Did you compile with the new Intel 25 driver? I take it yes ... wow that a hell of a difference.
I'm using 25.1 even, but I think you are referring to the driver package rele
On FreeBSD 11.2 it worked this way, compile the driver and override the ko in /boot/kernel/ or copy as a module in /boot/modules. Sure, adding the proper line in loader.conf.local is also needed
On FreeBSD 11.3,12.1 if I compile my own driver I will achieve nothing, because my own compilation, will not include NETMAP native support due to iflib framework, hence it will run in Emulated mode at 150 Mbs/s, and if I go with the FreeBSD 12.1 driver, NETMAP will start in Native mode, but I will achieve the same speed 150 Mbs/s, so something is not right with the driver.I contacted you because in your thread here: https://forum.netgate.com/topic/144979/porting-bge-driver-to-iflib/5
you mentioned you had problems with NETMAP Native support and you attempted to compile some drivers.
In this context we have the same issue I think. Can you elaborate, what was your status with BGE in the end?
Thank you
-
@NRgia said in Netmap not supported for Intel X553 driver in pfSense 2.5.0:
Can you elaborate, what was your status with BGE in the end?
So, I had bought an Apple Mac Mini server (2011) because I am a Mac user and I like the small form factor; however, it uses Broadcom NIC hence, the BGE. I wanted to port the driver, but it was too much work for me as a newbie to porting. So, the solution was to get a thunderbolt PCI enclosure (Akitio) and placed the Intel i350 in it. That also allows me to upgrade to the 10GBe NIC when I move to an area with fiber.
-
@NollipfSense said in Netmap not supported for Intel X553 driver in pfSense 2.5.0:
@NRgia said in Netmap not supported for Intel X553 driver in pfSense 2.5.0:
Can you elaborate, what was your status with BGE in the end?
So, I had bought an Apple Mac Mini server (2011) because I am a Mac user and I like the small form factor; however, it uses Broadcom NIC hence, the BGE. I wanted to port the driver, but it was too much work for me as a newbie to porting. So, the solution was to get a thunderbolt PCI enclosure and placed the Intel i350 in it. That also allows me to upgrade to the 10GBe NIC when I move to an area with fiber.
- With i350 Netmap works by default, no tinckering from your side whatsoever?
- I don't mind recompiling the kernel, but your steps from that thread are accurate?
- I am asking you because you said it's a lot of waiting, trial and error,etc, and I don't want to reach step 5 for example, and see it's "a no go", but if Luigi explained it to you, then it must work, right?
- Did you got the chance to do a speed test on Fiber?
Thank you
-
@NRgia said in Netmap not supported for Intel X553 driver in pfSense 2.5.0:
With i350 Netmap works by default, no tinckering from your side whatsoever?
Yes, no problem.
@NRgia said in Netmap not supported for Intel X553 driver in pfSense 2.5.0:
I don't mind recompiling the kernel, but your steps from that thread are accurate?
That's the instructions given to me by Vincenzo.
@NRgia said in Netmap not supported for Intel X553 driver in pfSense 2.5.0:
Did you got the change to do a speed test on Fiber?
Not yet ... I am planning on moving in December to an area with fiber.
@NRgia said in Netmap not supported for Intel X553 driver in pfSense 2.5.0:
I am asking you because you said it's a lot of waiting, trial and error,etc, and I don't want to reach step 5 for example, and see it's "a no go", but if Luigi explained it to you, then it must work, right?
As I had said earlier, Vincenzo went out-of-his way to explain everything to me and it is correct as far as I know. Also, I was very lucky to find that Thunderbolt 2 PCI enclosure used on eBay for $78.
-
4.0.1-k is the ixgbe driver version used in pfSense 2.5. You can check the source:
https://github.com/pfsense/FreeBSD-src/blob/RELENG_2_5/sys/dev/ixgbe/if_ix.c#L50Steve
-
@stephenw10 said in Netmap not supported for Intel X553 driver in pfSense 2.5.0:
4.0.1-k is the ixgbe driver version used in pfSense 2.5. You can check the source:
https://github.com/pfsense/FreeBSD-src/blob/RELENG_2_5/sys/dev/ixgbe/if_ix.c#L50Steve
I don't see my chipset in the the source list, maybe that's the issue.
I saw that the version is 4.0.1-k, but I don't find this version on Intel site, that was my dilemma. Before you gave me the link to the github, I couldn't track any changes.
What versioning scheme we have for this drivers ? How can I compare this driver version number to the Intel official site?
I mean I know FreeBSD implements alot of bugfixes, and other optimisations, but I though I could see something like this:As an example:
FreeBSD 4.0.1-k driver contains the code from Intel driver version 3.3.10 plus the following optimisations,etc
This way I could clearly understand if the driver is old or not, if it's compatible, etc
Do you know where to look for this?
Thank you
-
@NRgia said in Netmap not supported for Intel X553 driver in pfSense 2.5.0:
vendor=0x8086 device=0x15e5
It is listed though: https://github.com/pfsense/FreeBSD-src/blob/RELENG_2_5/sys/dev/ixgbe/ixgbe_type.h#L146
That is the code it's running.Steve
-
@stephenw10 I thought ixbge was Chelsio's ... no?
-
ixgbe = intel 10 GbE
i= intel
x = 10
gbe = GbE
GbE= Gigabit Ethernet -
Yup, Chelsio uses cxgbe for the same reasons.
Steve
-
@stephenw10 said in Netmap not supported for Intel X553 driver in pfSense 2.5.0:
@NRgia said in Netmap not supported for Intel X553 driver in pfSense 2.5.0:
vendor=0x8086 device=0x15e5
It is listed though: https://github.com/pfsense/FreeBSD-src/blob/RELENG_2_5/sys/dev/ixgbe/ixgbe_type.h#L146
That is the code it's running.Steve
Thank you for pointing me to the code. But I'm not trying to do a code audit.
What I want is, to be able to correlate a Intel driver release with FreeBSD included driver.
There are any standard release notes? (besides fixing this and that, in git)For example, for IXGBE driver for Linux I have a clear release notes that states that X553 chipset is supported.
Please check the description here:
https://downloadcenter.intel.com/download/14687/Intel-Network-Adapter-Driver-for-PCIe-Intel-10-Gigabit-Ethernet-Network-Connections-Under-Linux-
For the upstream driver, version 4.0.1-k doesn't tell me anything. How can I correlate that version to anything?
I don't think if I should bother you with this, because it's not a pfSense issue, but I need to understand this in order to be able find the root cause.
Thank you
-
I got a very interesting response from Intel, after I asked if their latest release 3.3.10 supports X553 chipsets.
To give this response as an real life case scenario, how can I track if the code from Intel's driver release 3.3.14, is included or will be included with FreeBSD upstream driver?
Thank you
-
By comparing the Netgate XG7100 box https://store.netgate.com/pfSense/XG-7100-desktop.aspx
with mine
https://www.supermicro.com/en/products/motherboard/A2SDi-4C-HLN4F
I see it has the same configuration as in SOC, RAM, and I hope NICS.
Also it is recommended for Suricata and Snort.
When I bought mine, I was looking over the Netgate XG7100 configuration, to find something close, and I think the Supermicro board is at close at it gets.
My question is, why the Supermicro board has issues with Netmap, and I got speeds as low as 150 Mbs/s?
The speeds are the same with Netgate box? Is there any custom Intel driver for it? Should I need to tweak something?
I don't think that Netgate's box transfer speeds are bad as Supermicro's box.
Any opinion on this?Thank you
-
@NRgia said in Netmap not supported for Intel X553 driver in pfSense 2.5.0:
By comparing the Netgate XG7100 box https://store.netgate.com/pfSense/XG-7100-desktop.aspx
with mine
https://www.supermicro.com/en/products/motherboard/A2SDi-4C-HLN4F
I see it has the same configuration as in SOC, RAM, and I hope NICS.
Also it is recommended for Suricata and Snort.
When I bought mine, I was looking over the Netgate XG7100 configuration, to find something close, and I think the Supermicro board is at close at it gets.
My question is, why the Supermicro board has issues with Netmap, and I got speeds as low as 150 Mbs/s?
The speeds are the same with Netgate box? Is there any custom Intel driver for it? Should I need to tweak something?
I don't think that Netgate's box transfer speeds are bad as Supermicro's box.
Any opinion on this?Thank you
There is a very high probability that if the Netgate box has the same NICs as your box, then it will have the same netmap issues. What the "recommended for Snort and Suricata" statement really means is the box has enough horsepower (RAM and CPU) to handle a robust rule set. So far as I know, there are no detailed speed tests performed using Inline IPS Mode to determine how that mode functions with various hardware.
The problem you have uncovered is what I meant in my first post in this thread about netmap turning into a big disappointment for me. The support within the FreeBSD OS and within the various NIC drivers is hit-or-miss. And as is normal with these kinds of issues, you get some amount of finger-pointing between the FreeBSD folks, the netmap folks and the actual hardware vendors (Intel in this case). pfSense and the Suricata/Snort packages are victims in this game as they just depend on, and assume it exists, a healthy and functioning netmap kernel device working seamlessly with the hardware NIC driver.
-
@bmeeks said in Netmap not supported for Intel X553 driver in pfSense 2.5.0:
The problem you have uncovered is what I meant in my first post in this thread about netmap turning into a big disappointment for me. The support within the FreeBSD OS and within the various NIC drivers is hit-or-miss. And as is normal with these kinds of issues, you get some amount of finger-pointing between the FreeBSD folks, the netmap folks and the actual hardware vendors (Intel in this case). pfSense and the Suricata/Snort packages are victims in this game as they just depend on, and assume it exists, a healthy and functioning netmap kernel device working seamlessly with the hardware NIC driver.
All the users that are using pfSense will have nothing but a great respect for you as a person, and for your contribution.
But as it was with iOS and Android, Apple had just one phone released every year, and it was easy to customize and optimize it. The same thing here, I don't think it's Netgate job to customize third party boards, even if they're not Chinese knock offs, but their boxes I would like to believe they are doing some tinkering and optimizations, maybe compiling some drivers from time to time, it's their hardware. If I remember correctly a few years back the Denverton platform was supported only on Netgate's hardware.So what am I looking for is, maybe some steps, to be able to compile an Intel driver with iflib support? On Linux I know how to compile a kernel, it shouldn't be that hard on FreeBSD...
As for pointing fingers...for my discussions with Intel, FreeBSD and some guys from Netmap, I tend to believe that FreeBSD should update the driver versions, with iflib support. It works on Linux, it worked before FreeBSD 11.3.
Unfortunately I cannot find a Bill Meeks on FreeBSD forums.
Any further help, links to where I should ask more questions will be much appreciated. I'm not referring only to you Bill, I'm asking in general.
Thank you
-
@NRgia said in Netmap not supported for Intel X553 driver in pfSense 2.5.0:
@bmeeks said in Netmap not supported for Intel X553 driver in pfSense 2.5.0:
The problem you have uncovered is what I meant in my first post in this thread about netmap turning into a big disappointment for me. The support within the FreeBSD OS and within the various NIC drivers is hit-or-miss. And as is normal with these kinds of issues, you get some amount of finger-pointing between the FreeBSD folks, the netmap folks and the actual hardware vendors (Intel in this case). pfSense and the Suricata/Snort packages are victims in this game as they just depend on, and assume it exists, a healthy and functioning netmap kernel device working seamlessly with the hardware NIC driver.
All the users that are using pfSense will have nothing but a great respect for you as a person, and for your contribution.
But as it was with Apple and Android, Apple had just one phone released every year, and it was easy to customize and optimize it. The same thing here, I don't think it's Netgate job to customize third party boards, even if they're not Chinese knock offs, but their boxes I would like to believe they are doing some tinkering, it's they're hardware.So what am I looking for is maybe some steps, to be able to compile an Intel driver with iflib support? On Linux I know how to compile a kernel, it shouldn't be that hard on FreeBSD...
As for pointing fingers...for my discussions with Intel, FreeBSD and some guys from Netmap, I tend to believe that FreeBSD should update the drivers versions, with iflib support. It works on Linux, it worked before FreeBSD 11.3.
Unfortunately I cannot find a Bill Meeks on FreeBSD forums.
Any further help, links to where I should ask more questions will be much appreciated. I'm not referring to you Bill, I'm asking in general.
Thank you
The pfSense source is available on Github here: https://github.com/pfsense/FreeBSD-src. There you will find the majority of what you need to compile a pfSense FreeBSD kernel. There are branches for both 2.4.5 and 2.5 at that link. Now setting up a builder is no trivial task and requires quite a bit of FreeBSD compiler "foo" to get it all working. You start by building a FreeBSD bare-bones machine and then create a pfSense "builder" on top of that. You will have to make some manual edits to various shell scripts and conf files to get it working. Several users over the years have tried this. A select few have been successful. Most have not. I have never attempted to build a full kernel. All I do is use my builder to create packages via Poudriere. That's a lot easier to set up.
The pfSense team has never shown much interest in hardware driver development, especially when it relates to specific packages. So while they would make sure a given Intel NIC driver worked properly in their custom hardware for normal operations, they would not necessarily invest the time and effort into making it 100% netmap compatible as that would only benefit the tiny percentage of users that might install and use one of the IDS/IPS packages with inline IPS mode. Without Suricata or Snort (with inline mode) installed, nothing in pfSense uses netmap, thus there is no big incentive for them to spend time and effort making some NIC driver work with netmap.
I'm going through this to illustrate why things are the way they are with regards to NIC drivers in pfSense. Not saying it is good or bad, just saying it is what it is for now. I think the bottom line is that, as of now, there is not enough of their "profitable user base" yelling about netmap support on their appliances. So there is no big push to get that fixed. And as you have noted, the real issue seems to sit with the new iflib stuff in FreeBSD 12.1.
-
@bmeeks said in Netmap not supported for Intel X553 driver in pfSense 2.5.0:
I'm going through this to illustrate why things are the way they are with regards to NIC drivers in pfSense. Not saying it is good or bad, just saying it is what it is for now. I think the bottom line is that, as of now, there is not enough of their "profitable user base" yelling about netmap support on their appliances. So there is no big push to get that fixed.
So even if, in the end I will buy support from Netgate for this particular issue, will it matter? Or if you're not the proper person to respond, I will leave this question pending.
It's very frustrating when something worked and then it will stop because some driver refactoring.
I will continue on FreeBSD forums, and update if I have something useful.
Thank you
-
@NRgia said in Netmap not supported for Intel X553 driver in pfSense 2.5.0:
@bmeeks said in Netmap not supported for Intel X553 driver in pfSense 2.5.0:
I'm going through this to illustrate why things are the way they are with regards to NIC drivers in pfSense. Not saying it is good or bad, just saying it is what it is for now. I think the bottom line is that, as of now, there is not enough of their "profitable user base" yelling about netmap support on their appliances. So there is no big push to get that fixed.
So even if, in the end I will buy support from Netgate for this particular issue, will it matter? Or if you're not the proper person to respond, I will leave this question pending.
It's very frustrating when something worked and then it will stop because some driver refactoring.
I will continue on FreeBSD forums, and update if I have something useful.
Thank you
I have no inside knowledge nor any special influence with the pfSense team. I'm just one of several volunteer package maintainers.
I don't think they just don't care, but rather they have a lot of things "on the stove" commercial wise at the moment with their appliances and TNSR and they don't have a lot of extra time or money to spend working on FreeBSD drivers unless there was a decent profit opportunity. And profit opportunity is hard to come by when you are talking about free open-source software ... .
-
Sure, I understand. I'm glad that pfSense exists for free
-
@bmeeks said in Netmap not supported for Intel X553 driver in pfSense 2.5.0:
they don't have a lot of extra time or money to spend working on FreeBSD drivers unless there was a decent profit opportunity. And profit opportunity is hard to come by when you are talking about free open-source software ... .
Good reality check, info here ... thanks for sharing.