Hi everyone:
I have a strange problem with an Intel(R) Ethernet Controller XL710 for 40GbE card which I have. This card is connected via QSFP+ from a Supermicro server to a QSFP port on a Mellanox switch.
When I first installed FreeBSD 13.2, it shows this:
I tried the following:
1. Using intel-ilx-kmod
I noted that
was mentioned, so I did just that, I downloaded and installed the net/intel-ixl-kmod driver, and modified my /boot/loader.conf to use it during startup.
After bootup, I see this in my logs.
So obviously, the ixl driver was in effect, I tried again, setting a static ip address but there wasn't any success. I got something like this in the logs when I tried dhcp too.
So I'm unsure of what to make about this.
2. sysctl changes.
I also tried the following:
side note: I rebooted the whole machine on a live linux cd and dhcp on the QSFP+ interface was successfully obtained. So that led me to conclude that something could be wrong on the FreeBSD side.
I've also tried this out with FreeBSD 12.4 and had the same issues.
I'm wondering if anyone has encountered anything similar to what I went through and any help on this would be much appreciated
.
I have a strange problem with an Intel(R) Ethernet Controller XL710 for 40GbE card which I have. This card is connected via QSFP+ from a Supermicro server to a QSFP port on a Mellanox switch.
When I first installed FreeBSD 13.2, it shows this:
Code:
Jul 10 13:28:50 mercury02 kernel: ixl2: <Intel(R) Ethernet Controller XL710 for 40GbE QSFP+ - 2.3.3-k> mem 0xc5000000-0xc57fffff,0xc5808000-0xc580ffff irq 48 at device 0.0 numa-domain 0 on pci12
Jul 10 13:28:50 mercury02 kernel: ixl2: fw 9.20.71847 api 1.15 nvm 9.00 etid 8000d923 oem 1.268.0
Jul 10 13:28:50 mercury02 kernel: ixl2: The driver for the device detected a newer version of the NVM image than expected.
Jul 10 13:28:50 mercury02 kernel: ixl2: Please install the most recent version of the network driver.
Jul 10 13:28:50 mercury02 kernel: ixl2: PF-ID[0]: VFs 64, MSI-X 129, VF MSI-X 5, QPs 768, I2C
Jul 10 13:28:50 mercury02 kernel: ixl2: Using 1024 TX descriptors and 1024 RX descriptors
Jul 10 13:28:50 mercury02 kernel: ixl2: Using 8 RX queues 8 TX queues
Jul 10 13:28:50 mercury02 kernel: ixl2: Using MSI-X interrupts with 9 vectors
Jul 10 13:28:50 mercury02 kernel: ixl2: Ethernet address: xx:xx:xx:xx:xx:xx
Jul 10 13:28:50 mercury02 kernel: ixl2: Allocating 8 queues for PF LAN VSI; 8 queues active
Jul 10 13:28:50 mercury02 kernel: ixl2: PCI Express Bus: Speed 8.0GT/s Width x8
Jul 10 13:28:50 mercury02 kernel: ixl2: SR-IOV ready
Jul 10 13:28:50 mercury02 kernel: ixl2: netmap queues/slots: TX 8/1024, RX 8/1024
Jul 10 13:28:50 mercury02 kernel: ixl2: Link is up, 40 Gbps Full Duplex, Requested FEC: None, Negotiated FEC: None, Autoneg: False, Flow Control: None
Jul 10 13:28:50 mercury02 kernel: ixl2: link state changed to UP
Jul 10 13:35:44 mercury02 kernel: ixl2: link state changed to DOWN
Jul 10 13:35:48 mercury02 kernel: ixl2: Link is up, 40 Gbps Full Duplex, Requested FEC: None, Negotiated FEC: None, Autoneg: False, Flow Control: None
Jul 10 13:35:48 mercury02 kernel: ixl2: link state changed to UP
I tried the following:
- setting a static ip address on that interface with a defaultrouter
ifconfig ixl2 inet a.b.c.d netmask 255.255.252.0 up
- getting a dhcp ip address on that interface with dhclient
dhclient ixl2
- as the same, but synchronously.
- The static IP could be set but nothing could be pinged.
- dhcpclient times out and there were no leases offered.
1. Using intel-ilx-kmod
I noted that
Code:
Jul 10 13:28:50 mercury02 kernel: ixl2: The driver for the device detected a newer version of the NVM image than expected.
Jul 10 13:28:50 mercury02 kernel: ixl2: Please install the most recent version of the network driver.
After bootup, I see this in my logs.
Code:
Jul 10 13:56:56 mercury02 kernel: ixl2: <Intel(R) Ethernet Connection 700 Series PF Driver, Version - 1.12.40> mem 0xc5000000-0xc57fffff,0xc5808000-0xc580ffff irq 48 at device 0.0 numa-domain 0 on pci12
Jul 10 13:56:56 mercury02 kernel: ixl2: using 1024 tx descriptors and 1024 rx descriptors
Jul 10 13:56:56 mercury02 kernel: ixl2: fw 9.20.71847 api 1.15 nvm 9.00 etid 8000d923 oem 1.268.0
Jul 10 13:56:56 mercury02 kernel: ixl2: PF-ID[0]: VFs 64, MSI-X 129, VF MSI-X 5, QPs 768, I2C
Jul 10 13:56:56 mercury02 kernel: ixl2: Using MSI-X interrupts with 9 vectors
Jul 10 13:56:56 mercury02 kernel: ixl2: Allocating 8 queues for PF LAN VSI; 8 queues active
Jul 10 13:56:56 mercury02 kernel: ixl2: Ethernet address: xx:xx:xx:xx:xx:xx
Jul 10 13:56:56 mercury02 kernel: ixl2: PCI Express Bus: Speed 8.0GT/s Width x8
Jul 10 13:56:56 mercury02 kernel: ixl2: SR-IOV ready
Jul 10 13:56:56 mercury02 kernel: ixl2: The device is not iWARP enabled
Jul 10 13:56:56 mercury02 kernel: ixl2: Link is up, 40 Gbps Full Duplex, Requested FEC: None, Negotiated FEC: None, Autoneg: False, Flow Control: None
Jul 10 13:56:56 mercury02 kernel: ixl2: link state changed to UP
So obviously, the ixl driver was in effect, I tried again, setting a static ip address but there wasn't any success. I got something like this in the logs when I tried dhcp too.
Code:
Jul 10 13:48:59 mercury02 kernel: ixl2: Link is up, 40 Gbps Full Duplex, Requested FEC: None, Negotiated FEC: None, Autoneg: False, Flow Control: None
Jul 10 13:48:59 mercury02 kernel: ixl2: link state changed to UP
Jul 10 13:49:19 mercury02 kernel: ixl2: WARNING: queue 2 appears to be hung!
Jul 10 13:49:19 mercury02 kernel: ixl2: WARNING: queue 4 appears to be hung!
Jul 10 13:49:33 mercury02 kernel: ixl2: TX queue 0 still enabled!
Jul 10 13:49:33 mercury02 kernel: ixl2: TX queue 1 still enabled!
Jul 10 13:49:33 mercury02 kernel: ixl2: TX queue 2 still enabled!
Jul 10 13:49:33 mercury02 kernel: ixl2: TX queue 3 still enabled!
Jul 10 13:49:33 mercury02 kernel: ixl2: TX queue 4 still enabled!
Jul 10 13:49:33 mercury02 kernel: ixl2: TX queue 5 still enabled!
Jul 10 13:49:33 mercury02 kernel: ixl2: TX queue 6 still enabled!
Jul 10 13:49:33 mercury02 kernel: ixl2: TX queue 7 still enabled!
So I'm unsure of what to make about this.
2. sysctl changes.
I also tried the following:
- setting hw.ixl.enable_head_writeback to 0 (yeah, /boot/loader.conf and rebooting).
- setting dev.ixl.2.fc=2 and dev.ixl.2.advertise_speed to 0x00000020
side note: I rebooted the whole machine on a live linux cd and dhcp on the QSFP+ interface was successfully obtained. So that led me to conclude that something could be wrong on the FreeBSD side.
I've also tried this out with FreeBSD 12.4 and had the same issues.
I'm wondering if anyone has encountered anything similar to what I went through and any help on this would be much appreciated
