Intel Ethernet Controller I225-LM Support?
-
I decided to give it a try and picked up a PCIe adapter for my Netgate 7100 and the dual port QNAP version listed by @whizatit and tested with 21.05. The igc driver seems to be correctly detecting both I225-LMs properly, and the port responds properly when forcing speed and duplex (as confirmed by watching ifconfig and the switchport that the I225-LM port is connected to). That said, I have been unable to get the I225-LM port (I am testing with igc0) to receive traffic. Packets show up as "errors in" in the interface counters. arp on the 7100 only shows the I225-LM interface, packet captures only show outbound traffic on the 7100 and captures from a device connected to the I225-LM show outbound traffic and inbound arp traffic from the I225-LM.
I tried disabling hardware checksum offloading, but this alone doesn't appear to have done anything.
Any recommendations for what I should try?
Here are my pciconf, ifconfig and sysctl output for this card:
igc0@pci0:4:0:0: class=0x020000 card=0xc0021baa chip=0x15f28086 rev=0x03 hdr=0x00 vendor = 'Intel Corporation' device = 'Intel(R) Ethernet Controller I225-LM' class = network subclass = ethernet bar [10] = type Memory, range 32, base 0xded00000, size 1048576, enabled bar [1c] = type Memory, range 32, base 0xdef00000, size 16384, enabled cap 01[40] = powerspec 3 supports D0 D3 current D0 cap 05[50] = MSI supports 1 message, 64 bit, vector masks cap 11[70] = MSI-X supports 5 messages, enabled Table in map 0x1c[0x0], PBA in map 0x1c[0x2000] cap 10[a0] = PCI-Express 2 endpoint max data 128(512) FLR RO NS max read 512 link x1(x1) speed 5.0(5.0) ASPM disabled(L1) ecap 0001[100] = AER 2 1 fatal 1 non-fatal 0 corrected ecap 0003[140] = Serial 1 245ebeffff64ce5b ecap 0018[1c0] = LTR 1 ecap 001f[1f0] = Precision Time Measurement 1 ecap 001e[1e0] = L1 PM Substates 1 igc1@pci0:7:0:0: class=0x020000 card=0xc0021baa chip=0x15f28086 rev=0x03 hdr=0x00 vendor = 'Intel Corporation' device = 'Intel(R) Ethernet Controller I225-LM' class = network subclass = ethernet bar [10] = type Memory, range 32, base 0xdf000000, size 1048576, enabled bar [1c] = type Memory, range 32, base 0xdf200000, size 16384, enabled cap 01[40] = powerspec 3 supports D0 D3 current D0 cap 05[50] = MSI supports 1 message, 64 bit, vector masks cap 11[70] = MSI-X supports 5 messages, enabled Table in map 0x1c[0x0], PBA in map 0x1c[0x2000] cap 10[a0] = PCI-Express 2 endpoint max data 128(512) FLR RO NS max read 512 link x1(x1) speed 5.0(5.0) ASPM disabled(L1) ecap 0001[100] = AER 2 0 fatal 0 non-fatal 0 corrected ecap 0003[140] = Serial 1 245ebeffff64ce5a ecap 0018[1c0] = LTR 1 ecap 001f[1f0] = Precision Time Measurement 1 ecap 001e[1e0] = L1 PM Substates 1
igc0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 description: Test options=8120b8<VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,WOL_MAGIC,VLAN_HWFILTER> capabilities=f53fbb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4,TSO6,LRO,WOL_UCAST,WOL_MCAST,WOL_MAGIC,VLAN_HWFILTER,VLAN_HWTSO,NETMAP,RXCSUM_IPV6,TXCSUM_IPV6> ether 24:5e:be:64:ce:5b inet6 fe80::265e:beff:fe64:ce5b%igc0 prefixlen 64 scopeid 0x1 inet 10.222.222.1 netmask 0xffffff00 broadcast 10.222.222.255 media: Ethernet autoselect (1000baseT <full-duplex>) status: active supported media: media autoselect media 2500Base-T media 1000baseT media 1000baseT mediaopt full-duplex media 100baseTX mediaopt full-duplex media 100baseTX media 10baseT/UTP mediaopt full-duplex media 10baseT/UTP nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
dev.igc.0.interrupts.rx_desc_min_thresh: 0 dev.igc.0.interrupts.asserts: 45 dev.igc.0.mac_stats.tso_txd: 0 dev.igc.0.mac_stats.tx_frames_1024_1522: 0 dev.igc.0.mac_stats.tx_frames_512_1023: 0 dev.igc.0.mac_stats.tx_frames_256_511: 0 dev.igc.0.mac_stats.tx_frames_128_255: 0 dev.igc.0.mac_stats.tx_frames_65_127: 0 dev.igc.0.mac_stats.tx_frames_64: 41 dev.igc.0.mac_stats.mcast_pkts_txd: 0 dev.igc.0.mac_stats.bcast_pkts_txd: 41 dev.igc.0.mac_stats.good_pkts_txd: 41 dev.igc.0.mac_stats.total_pkts_txd: 248 dev.igc.0.mac_stats.good_octets_txd: 2624 dev.igc.0.mac_stats.good_octets_recvd: 32709 dev.igc.0.mac_stats.rx_frames_1024_1522: 0 dev.igc.0.mac_stats.rx_frames_512_1023: 37 dev.igc.0.mac_stats.rx_frames_256_511: 0 dev.igc.0.mac_stats.rx_frames_128_255: 15 dev.igc.0.mac_stats.rx_frames_65_127: 14 dev.igc.0.mac_stats.rx_frames_64: 30 dev.igc.0.mac_stats.mcast_pkts_recvd: 68 dev.igc.0.mac_stats.bcast_pkts_recvd: 28 dev.igc.0.mac_stats.good_pkts_recvd: 96 dev.igc.0.mac_stats.total_pkts_recvd: 302 dev.igc.0.mac_stats.xoff_txd: 207 dev.igc.0.mac_stats.xoff_recvd: 0 dev.igc.0.mac_stats.xon_txd: 0 dev.igc.0.mac_stats.xon_recvd: 0 dev.igc.0.mac_stats.alignment_errs: 0 dev.igc.0.mac_stats.crc_errs: 0 dev.igc.0.mac_stats.recv_errs: 0 dev.igc.0.mac_stats.recv_jabber: 0 dev.igc.0.mac_stats.recv_oversize: 0 dev.igc.0.mac_stats.recv_fragmented: 0 dev.igc.0.mac_stats.recv_undersize: 0 dev.igc.0.mac_stats.recv_no_buff: 0 dev.igc.0.mac_stats.missed_packets: 206 dev.igc.0.mac_stats.defer_count: 0 dev.igc.0.mac_stats.sequence_errors: 0 dev.igc.0.mac_stats.symbol_errors: 0 dev.igc.0.mac_stats.collision_count: 0 dev.igc.0.mac_stats.late_coll: 0 dev.igc.0.mac_stats.multiple_coll: 0 dev.igc.0.mac_stats.single_coll: 0 dev.igc.0.mac_stats.excess_coll: 0 dev.igc.0.queue_rx_3.rx_irq: 0 dev.igc.0.queue_rx_3.rxd_tail: 128 dev.igc.0.queue_rx_3.rxd_head: 0 dev.igc.0.queue_rx_2.rx_irq: 0 dev.igc.0.queue_rx_2.rxd_tail: 128 dev.igc.0.queue_rx_2.rxd_head: 0 dev.igc.0.queue_rx_1.rx_irq: 0 dev.igc.0.queue_rx_1.rxd_tail: 128 dev.igc.0.queue_rx_1.rxd_head: 0 dev.igc.0.queue_rx_0.rx_irq: 0 dev.igc.0.queue_rx_0.rxd_tail: 128 dev.igc.0.queue_rx_0.rxd_head: 0 dev.igc.0.queue_tx_3.tx_irq: 0 dev.igc.0.queue_tx_3.txd_tail: 0 dev.igc.0.queue_tx_3.txd_head: 0 dev.igc.0.queue_tx_2.tx_irq: 0 dev.igc.0.queue_tx_2.txd_tail: 0 dev.igc.0.queue_tx_2.txd_head: 0 dev.igc.0.queue_tx_1.tx_irq: 0 dev.igc.0.queue_tx_1.txd_tail: 0 dev.igc.0.queue_tx_1.txd_head: 0 dev.igc.0.queue_tx_0.tx_irq: 0 dev.igc.0.queue_tx_0.txd_tail: 41 dev.igc.0.queue_tx_0.txd_head: 41 dev.igc.0.fc_low_water: 32752 dev.igc.0.fc_high_water: 32768 dev.igc.0.rx_control: 71335966 dev.igc.0.device_control: 404489793 dev.igc.0.watchdog_timeouts: 0 dev.igc.0.rx_overruns: 1 dev.igc.0.link_irq: 4 dev.igc.0.dropped: 0 dev.igc.0.eee_control: 1 dev.igc.0.itr: 488 dev.igc.0.tx_abs_int_delay: 66 dev.igc.0.rx_abs_int_delay: 66 dev.igc.0.tx_int_delay: 66 dev.igc.0.rx_int_delay: 0 dev.igc.0.rs_dump: 0 dev.igc.0.reg_dump: General Registers CTRL 181c0641 STATUS 40380683 CTRL_EXIT 10000040 Interrupt Registers ICR 00000000 RX Registers RCTL 0440801e RDLEN 00004000 RDH 00000000 RDT 00000080 RXDCTL 02040808 RDBAL 033a8000 RDBAH 00000001 TX Registers TCTL a503f0fa TDBAL 0336a000 TDBAH 00000001 TDLEN 00004000 TDH 00000029 TDT 00000029 TXDCTL 0201011f TDFH 00000000 TDFT 00000000 TDFHS 00000000 TDFPC 00000000 dev.igc.0.fc: 3 dev.igc.0.debug: -1 dev.igc.0.nvm: -1 dev.igc.0.iflib.rxq3.rxq_fl0.buf_size: 2048 dev.igc.0.iflib.rxq3.rxq_fl0.credits: 128 dev.igc.0.iflib.rxq3.rxq_fl0.cidx: 0 dev.igc.0.iflib.rxq3.rxq_fl0.pidx: 128 dev.igc.0.iflib.rxq2.rxq_fl0.buf_size: 2048 dev.igc.0.iflib.rxq2.rxq_fl0.credits: 128 dev.igc.0.iflib.rxq2.rxq_fl0.cidx: 0 dev.igc.0.iflib.rxq2.rxq_fl0.pidx: 128 dev.igc.0.iflib.rxq1.rxq_fl0.buf_size: 2048 dev.igc.0.iflib.rxq1.rxq_fl0.credits: 128 dev.igc.0.iflib.rxq1.rxq_fl0.cidx: 0 dev.igc.0.iflib.rxq1.rxq_fl0.pidx: 128 dev.igc.0.iflib.rxq0.rxq_fl0.buf_size: 2048 dev.igc.0.iflib.rxq0.rxq_fl0.credits: 128 dev.igc.0.iflib.rxq0.rxq_fl0.cidx: 0 dev.igc.0.iflib.rxq0.rxq_fl0.pidx: 128 dev.igc.0.iflib.txq3.r_abdications: 0 dev.igc.0.iflib.txq3.r_restarts: 0 dev.igc.0.iflib.txq3.r_stalls: 0 dev.igc.0.iflib.txq3.r_starts: 0 dev.igc.0.iflib.txq3.r_drops: 0 dev.igc.0.iflib.txq3.r_enqueues: 0 dev.igc.0.iflib.txq3.ring_state: pidx_head: 0000 pidx_tail: 0000 cidx: 0000 state: IDLE dev.igc.0.iflib.txq3.txq_cleaned: 0 dev.igc.0.iflib.txq3.txq_processed: 0 dev.igc.0.iflib.txq3.txq_in_use: 0 dev.igc.0.iflib.txq3.txq_cidx_processed: 0 dev.igc.0.iflib.txq3.txq_cidx: 0 dev.igc.0.iflib.txq3.txq_pidx: 0 dev.igc.0.iflib.txq3.no_tx_dma_setup: 0 dev.igc.0.iflib.txq3.txd_encap_efbig: 0 dev.igc.0.iflib.txq3.tx_map_failed: 0 dev.igc.0.iflib.txq3.no_desc_avail: 0 dev.igc.0.iflib.txq3.mbuf_defrag_failed: 0 dev.igc.0.iflib.txq3.m_pullups: 0 dev.igc.0.iflib.txq3.mbuf_defrag: 0 dev.igc.0.iflib.txq2.r_abdications: 0 dev.igc.0.iflib.txq2.r_restarts: 0 dev.igc.0.iflib.txq2.r_stalls: 0 dev.igc.0.iflib.txq2.r_starts: 0 dev.igc.0.iflib.txq2.r_drops: 0 dev.igc.0.iflib.txq2.r_enqueues: 0 dev.igc.0.iflib.txq2.ring_state: pidx_head: 0000 pidx_tail: 0000 cidx: 0000 state: IDLE dev.igc.0.iflib.txq2.txq_cleaned: 0 dev.igc.0.iflib.txq2.txq_processed: 0 dev.igc.0.iflib.txq2.txq_in_use: 0 dev.igc.0.iflib.txq2.txq_cidx_processed: 0 dev.igc.0.iflib.txq2.txq_cidx: 0 dev.igc.0.iflib.txq2.txq_pidx: 0 dev.igc.0.iflib.txq2.no_tx_dma_setup: 0 dev.igc.0.iflib.txq2.txd_encap_efbig: 0 dev.igc.0.iflib.txq2.tx_map_failed: 0 dev.igc.0.iflib.txq2.no_desc_avail: 0 dev.igc.0.iflib.txq2.mbuf_defrag_failed: 0 dev.igc.0.iflib.txq2.m_pullups: 0 dev.igc.0.iflib.txq2.mbuf_defrag: 0 dev.igc.0.iflib.txq1.r_abdications: 0 dev.igc.0.iflib.txq1.r_restarts: 0 dev.igc.0.iflib.txq1.r_stalls: 0 dev.igc.0.iflib.txq1.r_starts: 0 dev.igc.0.iflib.txq1.r_drops: 0 dev.igc.0.iflib.txq1.r_enqueues: 0 dev.igc.0.iflib.txq1.ring_state: pidx_head: 0000 pidx_tail: 0000 cidx: 0000 state: IDLE dev.igc.0.iflib.txq1.txq_cleaned: 0 dev.igc.0.iflib.txq1.txq_processed: 0 dev.igc.0.iflib.txq1.txq_in_use: 0 dev.igc.0.iflib.txq1.txq_cidx_processed: 0 dev.igc.0.iflib.txq1.txq_cidx: 0 dev.igc.0.iflib.txq1.txq_pidx: 0 dev.igc.0.iflib.txq1.no_tx_dma_setup: 0 dev.igc.0.iflib.txq1.txd_encap_efbig: 0 dev.igc.0.iflib.txq1.tx_map_failed: 0 dev.igc.0.iflib.txq1.no_desc_avail: 0 dev.igc.0.iflib.txq1.mbuf_defrag_failed: 0 dev.igc.0.iflib.txq1.m_pullups: 0 dev.igc.0.iflib.txq1.mbuf_defrag: 0 dev.igc.0.iflib.txq0.r_abdications: 0 dev.igc.0.iflib.txq0.r_restarts: 0 dev.igc.0.iflib.txq0.r_stalls: 0 dev.igc.0.iflib.txq0.r_starts: 41 dev.igc.0.iflib.txq0.r_drops: 0 dev.igc.0.iflib.txq0.r_enqueues: 41 dev.igc.0.iflib.txq0.ring_state: pidx_head: 0041 pidx_tail: 0041 cidx: 0041 state: IDLE dev.igc.0.iflib.txq0.txq_cleaned: 0 dev.igc.0.iflib.txq0.txq_processed: 40 dev.igc.0.iflib.txq0.txq_in_use: 41 dev.igc.0.iflib.txq0.txq_cidx_processed: 40 dev.igc.0.iflib.txq0.txq_cidx: 0 dev.igc.0.iflib.txq0.txq_pidx: 41 dev.igc.0.iflib.txq0.no_tx_dma_setup: 0 dev.igc.0.iflib.txq0.txd_encap_efbig: 0 dev.igc.0.iflib.txq0.tx_map_failed: 0 dev.igc.0.iflib.txq0.no_desc_avail: 0 dev.igc.0.iflib.txq0.mbuf_defrag_failed: 0 dev.igc.0.iflib.txq0.m_pullups: 0 dev.igc.0.iflib.txq0.mbuf_defrag: 0 dev.igc.0.iflib.override_nrxds: 0 dev.igc.0.iflib.override_ntxds: 0 dev.igc.0.iflib.separate_txrx: 0 dev.igc.0.iflib.core_offset: 0 dev.igc.0.iflib.tx_abdicate: 0 dev.igc.0.iflib.rx_budget: 0 dev.igc.0.iflib.disable_msix: 0 dev.igc.0.iflib.override_qs_enable: 0 dev.igc.0.iflib.override_nrxqs: 0 dev.igc.0.iflib.override_ntxqs: 0 dev.igc.0.iflib.driver_version: 1 dev.igc.0.%parent: pci4 dev.igc.0.%pnpinfo: vendor=0x8086 device=0x15f2 subvendor=0x1baa subdevice=0xc002 class=0x020000 dev.igc.0.%location: slot=0 function=0 dbsf=pci0:4:0:0 dev.igc.0.%driver: igc dev.igc.0.%desc: Intel(R) PRO/1000 PCI-Express Network Driver
-
It shows that at all link rates?
-
@stephenw10 said in Intel Ethernet Controller I225-LM Support?:
It shows that at all link rates?
Yes, at least for 10,100, and 1000 (both full and half duplex) it does. I don't have a 2500Base-T equipped device to test with yet. Note that ARPs transmitted from the I225-LM port to another device connected to the port are getting through to the device, but the responses back from the device do not appear to be making it back to the I225-LM as the ARP request (from the I225-LM) and reply (from the device) continuously repeat. Here is a sample from when attempting to ping the connected test device on 10.222.222.2 from pfSense:
test device capture
19:03:57.641021 1209 QNAP_64:ce:5b Broadcast ARP 60 Who has 10.222.222.2? Tell 10.222.222.1 19:03:57.641030 1210 SamsungE_9c:a0:8e QNAP_64:ce:5b ARP 42 10.222.222.2 is at 98:83:89:9c:a0:8e 19:03:58.651569 1211 QNAP_64:ce:5b Broadcast ARP 60 Who has 10.222.222.2? Tell 10.222.222.1 19:03:58.651594 1212 SamsungE_9c:a0:8e QNAP_64:ce:5b ARP 42 10.222.222.2 is at 98:83:89:9c:a0:8e 19:03:59.670915 1213 QNAP_64:ce:5b Broadcast ARP 60 Who has 10.222.222.2? Tell 10.222.222.1 19:03:59.670930 1214 SamsungE_9c:a0:8e QNAP_64:ce:5b ARP 42 10.222.222.2 is at 98:83:89:9c:a0:8e
pfSense capture
19:03:57.313905 ARP, Request who-has 10.222.222.2 tell 10.222.222.1, length 28 19:03:58.324154 ARP, Request who-has 10.222.222.2 tell 10.222.222.1, length 28 19:03:59.343768 ARP, Request who-has 10.222.222.2 tell 10.222.222.1, length 28
-
@stephenw10 said in Intel Ethernet Controller I225-LM Support?:
You can see the driver supported devices here:
https://github.com/pfsense/FreeBSD-src/blob/devel-12/sys/dev/igc/igc_hw.h#L44As far as I know though the only tested NIC is that in the 6100:
igc0@pci0:4:0:0: class=0x020000 card=0x00008086 chip=0x15f38086 rev=0x01 hdr=0x00 vendor = 'Intel Corporation' device = 'Ethernet Controller I225-V' class = network subclass = ethernet
Steve
@stephenw10 can you share the options that are enabled for the I225-V with the 6100 for reference?
-
Yup:
21.05-RELEASE][admin@6100-2.stevew.lan]/root: ifconfig -vvvm igc0 igc0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500 description: LAN options=e120bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,WOL_MAGIC,VLAN_HWFILTER,RXCSUM_IPV6,TXCSUM_IPV6> capabilities=f53fbb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4,TSO6,LRO,WOL_UCAST,WOL_MCAST,WOL_MAGIC,VLAN_HWFILTER,VLAN_HWTSO,NETMAP,RXCSUM_IPV6,TXCSUM_IPV6> ether 90:ec:77:0f:74:47 inet6 fe80::92ec:77ff:fe0f:7447%igc0 prefixlen 64 scopeid 0x1 inet6 fe80::1:1%igc0 prefixlen 64 scopeid 0x1 inet 192.168.170.1 netmask 0xffffff00 broadcast 192.168.170.255 inet 192.168.170.2 netmask 0xffffffff broadcast 192.168.170.2 inet 192.168.170.3 netmask 0xffffffff broadcast 192.168.170.3 inet 192.168.170.4 netmask 0xffffff00 broadcast 192.168.170.255 media: Ethernet autoselect status: no carrier supported media: media autoselect media 2500Base-T media 1000baseT media 1000baseT mediaopt full-duplex media 100baseTX mediaopt full-duplex media 100baseTX media 10baseT/UTP mediaopt full-duplex media 10baseT/UTP nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
-
Thanks, I tried turning hardware checksum offloading back on again and enabled IPv6 to match as much of the 6100 config as possible, but am still seeing the same issue with the in error count increasing and no packets being successfully received by the I225-LM port:
[21.05-RELEASE][root@cerberus.setarcos.lan]/root: sysctl -a dev.igc.0 dev.igc.0.interrupts.rx_desc_min_thresh: 0 dev.igc.0.interrupts.asserts: 17 dev.igc.0.mac_stats.tso_txd: 0 dev.igc.0.mac_stats.tx_frames_1024_1522: 0 dev.igc.0.mac_stats.tx_frames_512_1023: 0 dev.igc.0.mac_stats.tx_frames_256_511: 0 dev.igc.0.mac_stats.tx_frames_128_255: 9 dev.igc.0.mac_stats.tx_frames_65_127: 3 dev.igc.0.mac_stats.tx_frames_64: 0 dev.igc.0.mac_stats.mcast_pkts_txd: 12 dev.igc.0.mac_stats.bcast_pkts_txd: 0 dev.igc.0.mac_stats.good_pkts_txd: 12 dev.igc.0.mac_stats.total_pkts_txd: 1510 dev.igc.0.mac_stats.good_octets_txd: 2088 dev.igc.0.mac_stats.good_octets_recvd: 28085 dev.igc.0.mac_stats.rx_frames_1024_1522: 0 dev.igc.0.mac_stats.rx_frames_512_1023: 0 dev.igc.0.mac_stats.rx_frames_256_511: 5 dev.igc.0.mac_stats.rx_frames_128_255: 20 dev.igc.0.mac_stats.rx_frames_65_127: 255 dev.igc.0.mac_stats.rx_frames_64: 15 dev.igc.0.mac_stats.mcast_pkts_recvd: 281 dev.igc.0.mac_stats.bcast_pkts_recvd: 14 dev.igc.0.mac_stats.good_pkts_recvd: 295 dev.igc.0.mac_stats.total_pkts_recvd: 1792 dev.igc.0.mac_stats.xoff_txd: 1498 dev.igc.0.mac_stats.xoff_recvd: 0 dev.igc.0.mac_stats.xon_txd: 0 dev.igc.0.mac_stats.xon_recvd: 0 dev.igc.0.mac_stats.alignment_errs: 0 dev.igc.0.mac_stats.crc_errs: 0 dev.igc.0.mac_stats.recv_errs: 0 dev.igc.0.mac_stats.recv_jabber: 0 dev.igc.0.mac_stats.recv_oversize: 0 dev.igc.0.mac_stats.recv_fragmented: 0 dev.igc.0.mac_stats.recv_undersize: 0 dev.igc.0.mac_stats.recv_no_buff: 0 dev.igc.0.mac_stats.missed_packets: 1497 dev.igc.0.mac_stats.defer_count: 0 dev.igc.0.mac_stats.sequence_errors: 0 dev.igc.0.mac_stats.symbol_errors: 0 dev.igc.0.mac_stats.collision_count: 0 dev.igc.0.mac_stats.late_coll: 0 dev.igc.0.mac_stats.multiple_coll: 0 dev.igc.0.mac_stats.single_coll: 0 dev.igc.0.mac_stats.excess_coll: 0 dev.igc.0.queue_rx_3.rx_irq: 0 dev.igc.0.queue_rx_3.rxd_tail: 128 dev.igc.0.queue_rx_3.rxd_head: 0 dev.igc.0.queue_rx_2.rx_irq: 0 dev.igc.0.queue_rx_2.rxd_tail: 128 dev.igc.0.queue_rx_2.rxd_head: 0 dev.igc.0.queue_rx_1.rx_irq: 0 dev.igc.0.queue_rx_1.rxd_tail: 128 dev.igc.0.queue_rx_1.rxd_head: 0 dev.igc.0.queue_rx_0.rx_irq: 0 dev.igc.0.queue_rx_0.rxd_tail: 128 dev.igc.0.queue_rx_0.rxd_head: 0 dev.igc.0.queue_tx_3.tx_irq: 0 dev.igc.0.queue_tx_3.txd_tail: 0 dev.igc.0.queue_tx_3.txd_head: 0 dev.igc.0.queue_tx_2.tx_irq: 0 dev.igc.0.queue_tx_2.txd_tail: 0 dev.igc.0.queue_tx_2.txd_head: 0 dev.igc.0.queue_tx_1.tx_irq: 0 dev.igc.0.queue_tx_1.txd_tail: 0 dev.igc.0.queue_tx_1.txd_head: 0 dev.igc.0.queue_tx_0.tx_irq: 0 dev.igc.0.queue_tx_0.txd_tail: 885 dev.igc.0.queue_tx_0.txd_head: 19 dev.igc.0.fc_low_water: 32752 dev.igc.0.fc_high_water: 32768 dev.igc.0.rx_control: 71335966 dev.igc.0.device_control: 404489793 dev.igc.0.watchdog_timeouts: 0 dev.igc.0.rx_overruns: 0 dev.igc.0.link_irq: 2 dev.igc.0.dropped: 0 dev.igc.0.eee_control: 1 dev.igc.0.itr: 488 dev.igc.0.tx_abs_int_delay: 66 dev.igc.0.rx_abs_int_delay: 66 dev.igc.0.tx_int_delay: 66 dev.igc.0.rx_int_delay: 0 dev.igc.0.rs_dump: 0 dev.igc.0.reg_dump: General Registers CTRL 181c0641 STATUS 40380683 CTRL_EXIT 10000040 Interrupt Registers ICR 00000000 RX Registers RCTL 0440801e RDLEN 00004000 RDH 00000000 RDT 00000080 RXDCTL 02040808 RDBAL 033a8000 RDBAH 00000001 TX Registers TCTL a503f0fa TDBAL 0336a000 TDBAH 00000001 TDLEN 00004000 TDH 00000013 TDT 00000375 TXDCTL 0201011f TDFH 00000000 TDFT 00000000 TDFHS 00000000 TDFPC 00000000 dev.igc.0.fc: 3 dev.igc.0.debug: -1 dev.igc.0.nvm: -1 dev.igc.0.iflib.rxq3.rxq_fl0.buf_size: 2048 dev.igc.0.iflib.rxq3.rxq_fl0.credits: 128 dev.igc.0.iflib.rxq3.rxq_fl0.cidx: 0 dev.igc.0.iflib.rxq3.rxq_fl0.pidx: 128 dev.igc.0.iflib.rxq2.rxq_fl0.buf_size: 2048 dev.igc.0.iflib.rxq2.rxq_fl0.credits: 128 dev.igc.0.iflib.rxq2.rxq_fl0.cidx: 0 dev.igc.0.iflib.rxq2.rxq_fl0.pidx: 128 dev.igc.0.iflib.rxq1.rxq_fl0.buf_size: 2048 dev.igc.0.iflib.rxq1.rxq_fl0.credits: 128 dev.igc.0.iflib.rxq1.rxq_fl0.cidx: 0 dev.igc.0.iflib.rxq1.rxq_fl0.pidx: 128 dev.igc.0.iflib.rxq0.rxq_fl0.buf_size: 2048 dev.igc.0.iflib.rxq0.rxq_fl0.credits: 128 dev.igc.0.iflib.rxq0.rxq_fl0.cidx: 0 dev.igc.0.iflib.rxq0.rxq_fl0.pidx: 128 dev.igc.0.iflib.txq3.r_abdications: 0 dev.igc.0.iflib.txq3.r_restarts: 0 dev.igc.0.iflib.txq3.r_stalls: 0 dev.igc.0.iflib.txq3.r_starts: 0 dev.igc.0.iflib.txq3.r_drops: 0 dev.igc.0.iflib.txq3.r_enqueues: 0 dev.igc.0.iflib.txq3.ring_state: pidx_head: 0000 pidx_tail: 0000 cidx: 0000 state: IDLE dev.igc.0.iflib.txq3.txq_cleaned: 0 dev.igc.0.iflib.txq3.txq_processed: 0 dev.igc.0.iflib.txq3.txq_in_use: 0 dev.igc.0.iflib.txq3.txq_cidx_processed: 0 dev.igc.0.iflib.txq3.txq_cidx: 0 dev.igc.0.iflib.txq3.txq_pidx: 0 dev.igc.0.iflib.txq3.no_tx_dma_setup: 0 dev.igc.0.iflib.txq3.txd_encap_efbig: 0 dev.igc.0.iflib.txq3.tx_map_failed: 0 dev.igc.0.iflib.txq3.no_desc_avail: 0 dev.igc.0.iflib.txq3.mbuf_defrag_failed: 0 dev.igc.0.iflib.txq3.m_pullups: 0 dev.igc.0.iflib.txq3.mbuf_defrag: 0 dev.igc.0.iflib.txq2.r_abdications: 0 dev.igc.0.iflib.txq2.r_restarts: 0 dev.igc.0.iflib.txq2.r_stalls: 0 dev.igc.0.iflib.txq2.r_starts: 0 dev.igc.0.iflib.txq2.r_drops: 0 dev.igc.0.iflib.txq2.r_enqueues: 0 dev.igc.0.iflib.txq2.ring_state: pidx_head: 0000 pidx_tail: 0000 cidx: 0000 state: IDLE dev.igc.0.iflib.txq2.txq_cleaned: 0 dev.igc.0.iflib.txq2.txq_processed: 0 dev.igc.0.iflib.txq2.txq_in_use: 0 dev.igc.0.iflib.txq2.txq_cidx_processed: 0 dev.igc.0.iflib.txq2.txq_cidx: 0 dev.igc.0.iflib.txq2.txq_pidx: 0 dev.igc.0.iflib.txq2.no_tx_dma_setup: 0 dev.igc.0.iflib.txq2.txd_encap_efbig: 0 dev.igc.0.iflib.txq2.tx_map_failed: 0 dev.igc.0.iflib.txq2.no_desc_avail: 0 dev.igc.0.iflib.txq2.mbuf_defrag_failed: 0 dev.igc.0.iflib.txq2.m_pullups: 0 dev.igc.0.iflib.txq2.mbuf_defrag: 0 dev.igc.0.iflib.txq1.r_abdications: 0 dev.igc.0.iflib.txq1.r_restarts: 0 dev.igc.0.iflib.txq1.r_stalls: 0 dev.igc.0.iflib.txq1.r_starts: 0 dev.igc.0.iflib.txq1.r_drops: 0 dev.igc.0.iflib.txq1.r_enqueues: 0 dev.igc.0.iflib.txq1.ring_state: pidx_head: 0000 pidx_tail: 0000 cidx: 0000 state: IDLE dev.igc.0.iflib.txq1.txq_cleaned: 0 dev.igc.0.iflib.txq1.txq_processed: 0 dev.igc.0.iflib.txq1.txq_in_use: 0 dev.igc.0.iflib.txq1.txq_cidx_processed: 0 dev.igc.0.iflib.txq1.txq_cidx: 0 dev.igc.0.iflib.txq1.txq_pidx: 0 dev.igc.0.iflib.txq1.no_tx_dma_setup: 0 dev.igc.0.iflib.txq1.txd_encap_efbig: 0 dev.igc.0.iflib.txq1.tx_map_failed: 0 dev.igc.0.iflib.txq1.no_desc_avail: 0 dev.igc.0.iflib.txq1.mbuf_defrag_failed: 0 dev.igc.0.iflib.txq1.m_pullups: 0 dev.igc.0.iflib.txq1.mbuf_defrag: 0 dev.igc.0.iflib.txq0.r_abdications: 0 dev.igc.0.iflib.txq0.r_restarts: 0 dev.igc.0.iflib.txq0.r_stalls: 0 dev.igc.0.iflib.txq0.r_starts: 11853 dev.igc.0.iflib.txq0.r_drops: 0 dev.igc.0.iflib.txq0.r_enqueues: 11853 dev.igc.0.iflib.txq0.ring_state: pidx_head: 1613 pidx_tail: 1613 cidx: 1613 state: IDLE dev.igc.0.iflib.txq0.txq_cleaned: 0 dev.igc.0.iflib.txq0.txq_processed: 17 dev.igc.0.iflib.txq0.txq_in_use: 902 dev.igc.0.iflib.txq0.txq_cidx_processed: 17 dev.igc.0.iflib.txq0.txq_cidx: 0 dev.igc.0.iflib.txq0.txq_pidx: 902 dev.igc.0.iflib.txq0.no_tx_dma_setup: 0 dev.igc.0.iflib.txq0.txd_encap_efbig: 0 dev.igc.0.iflib.txq0.tx_map_failed: 0 dev.igc.0.iflib.txq0.no_desc_avail: 0 dev.igc.0.iflib.txq0.mbuf_defrag_failed: 0 dev.igc.0.iflib.txq0.m_pullups: 232 dev.igc.0.iflib.txq0.mbuf_defrag: 0 dev.igc.0.iflib.override_nrxds: 0 dev.igc.0.iflib.override_ntxds: 0 dev.igc.0.iflib.separate_txrx: 0 dev.igc.0.iflib.core_offset: 0 dev.igc.0.iflib.tx_abdicate: 0 dev.igc.0.iflib.rx_budget: 0 dev.igc.0.iflib.disable_msix: 0 dev.igc.0.iflib.override_qs_enable: 0 dev.igc.0.iflib.override_nrxqs: 0 dev.igc.0.iflib.override_ntxqs: 0 dev.igc.0.iflib.driver_version: 1 dev.igc.0.%parent: pci4 dev.igc.0.%pnpinfo: vendor=0x8086 device=0x15f2 subvendor=0x1baa subdevice=0xc002 class=0x020000 dev.igc.0.%location: slot=0 function=0 dbsf=pci0:4:0:0 dev.igc.0.%driver: igc dev.igc.0.%desc: Intel(R) PRO/1000 PCI-Express Network Driver
igc0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 description: Test options=e120bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,WOL_MAGIC,VLAN_HWFILTER,RXCSUM_IPV6,TXCSUM_IPV6> capabilities=f53fbb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4,TSO6,LRO,WOL_UCAST,WOL_MCAST,WOL_MAGIC,VLAN_HWFILTER,VLAN_HWTSO,NETMAP,RXCSUM_IPV6,TXCSUM_IPV6> ether 24:5e:be:64:ce:5b inet6 fe80::265e:beff:fe64:ce5b%igc0 prefixlen 64 scopeid 0x1 inet6 fe80::1:1%igc0 prefixlen 64 scopeid 0x1 inet6 2601:646:8c00:a5b6:265e:beff:fe64:ce5b prefixlen 64 inet 10.222.222.1 netmask 0xffffff00 broadcast 10.222.222.255 media: Ethernet 1000baseT <full-duplex> status: active supported media: media autoselect media 2500Base-T media 1000baseT media 1000baseT mediaopt full-duplex media 100baseTX mediaopt full-duplex media 100baseTX media 10baseT/UTP mediaopt full-duplex media 10baseT/UTP nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
Status up MAC Address 24:5e:be:64:ce:5b - Qnap Systems IPv4 Address 10.222.222.1 Subnet mask IPv4 255.255.255.0 IPv6 Link Local fe80::1:1%igc0 IPv6 Address 2601:646:8c00:a5b6:265e:beff:fe64:ce5b Subnet mask IPv6 64 MTU 1500 Media 1000baseT <full-duplex> In/out packets 0/444 (0 B/83 KiB) In/out packets (pass) 0/444 (0 B/83 KiB) In/out packets (block) 0/0 (0 B/0 B) In/out errors 1119/0 Collisions 0
Anything else you suggest I try?
-
You are talking about?:
dev.igc.0.mac_stats.missed_packets: 1497
That does seem high, especially as a percentage of the total packets received!
dev.igc.0.mac_stats.mcast_pkts_recvd: 281 dev.igc.0.mac_stats.bcast_pkts_recvd: 14 dev.igc.0.mac_stats.good_pkts_recvd: 295 dev.igc.0.mac_stats.total_pkts_recvd: 1792
For reference an active interface here looks like:
[21.05-RELEASE][admin@6100-2.stevew.lan]/root: sysctl dev.igc.3 dev.igc.3.wake: 0 dev.igc.3.interrupts.rx_desc_min_thresh: 0 dev.igc.3.interrupts.asserts: 1914725 dev.igc.3.mac_stats.tso_txd: 0 dev.igc.3.mac_stats.tx_frames_1024_1522: 0 dev.igc.3.mac_stats.tx_frames_512_1023: 181 dev.igc.3.mac_stats.tx_frames_256_511: 188 dev.igc.3.mac_stats.tx_frames_128_255: 77324 dev.igc.3.mac_stats.tx_frames_65_127: 1021428 dev.igc.3.mac_stats.tx_frames_64: 2589 dev.igc.3.mac_stats.mcast_pkts_txd: 23244 dev.igc.3.mac_stats.bcast_pkts_txd: 677 dev.igc.3.mac_stats.good_pkts_txd: 1101710 dev.igc.3.mac_stats.total_pkts_txd: 1101710 dev.igc.3.mac_stats.good_octets_txd: 118614362 dev.igc.3.mac_stats.good_octets_recvd: 37322978 dev.igc.3.mac_stats.rx_frames_1024_1522: 0 dev.igc.3.mac_stats.rx_frames_512_1023: 72 dev.igc.3.mac_stats.rx_frames_256_511: 2596 dev.igc.3.mac_stats.rx_frames_128_255: 37339 dev.igc.3.mac_stats.rx_frames_65_127: 3832 dev.igc.3.mac_stats.rx_frames_64: 486809 dev.igc.3.mac_stats.mcast_pkts_recvd: 18294 dev.igc.3.mac_stats.bcast_pkts_recvd: 2665 dev.igc.3.mac_stats.good_pkts_recvd: 530648 dev.igc.3.mac_stats.total_pkts_recvd: 497877 dev.igc.3.mac_stats.xoff_txd: 0 dev.igc.3.mac_stats.xoff_recvd: 0 dev.igc.3.mac_stats.xon_txd: 0 dev.igc.3.mac_stats.xon_recvd: 0 dev.igc.3.mac_stats.alignment_errs: 0 dev.igc.3.mac_stats.crc_errs: 0 dev.igc.3.mac_stats.recv_errs: 0 dev.igc.3.mac_stats.recv_jabber: 0 dev.igc.3.mac_stats.recv_oversize: 0 dev.igc.3.mac_stats.recv_fragmented: 0 dev.igc.3.mac_stats.recv_undersize: 0 dev.igc.3.mac_stats.recv_no_buff: 0 dev.igc.3.mac_stats.missed_packets: 0 dev.igc.3.mac_stats.defer_count: 0 dev.igc.3.mac_stats.sequence_errors: 0 dev.igc.3.mac_stats.symbol_errors: 0 dev.igc.3.mac_stats.collision_count: 0 dev.igc.3.mac_stats.late_coll: 0 dev.igc.3.mac_stats.multiple_coll: 0 dev.igc.3.mac_stats.single_coll: 0 dev.igc.3.mac_stats.excess_coll: 0 dev.igc.3.queue_rx_3.rx_irq: 0 dev.igc.3.queue_rx_3.rxd_tail: 226 dev.igc.3.queue_rx_3.rxd_head: 227 dev.igc.3.queue_rx_2.rx_irq: 0 dev.igc.3.queue_rx_2.rxd_tail: 19 dev.igc.3.queue_rx_2.rxd_head: 20 dev.igc.3.queue_rx_1.rx_irq: 0 dev.igc.3.queue_rx_1.rxd_tail: 978 dev.igc.3.queue_rx_1.rxd_head: 979 dev.igc.3.queue_rx_0.rx_irq: 0 dev.igc.3.queue_rx_0.rxd_tail: 13 dev.igc.3.queue_rx_0.rxd_head: 14 dev.igc.3.queue_tx_3.tx_irq: 0 dev.igc.3.queue_tx_3.txd_tail: 0 dev.igc.3.queue_tx_3.txd_head: 0 dev.igc.3.queue_tx_2.tx_irq: 0 dev.igc.3.queue_tx_2.txd_tail: 0 dev.igc.3.queue_tx_2.txd_head: 0 dev.igc.3.queue_tx_1.tx_irq: 0 dev.igc.3.queue_tx_1.txd_tail: 787 dev.igc.3.queue_tx_1.txd_head: 787 dev.igc.3.queue_tx_0.tx_irq: 0 dev.igc.3.queue_tx_0.txd_tail: 464 dev.igc.3.queue_tx_0.txd_head: 464 dev.igc.3.fc_low_water: 32752 dev.igc.3.fc_high_water: 32768 dev.igc.3.rx_control: 71598110 dev.igc.3.device_control: 1477707329 dev.igc.3.watchdog_timeouts: 0 dev.igc.3.rx_overruns: 0 dev.igc.3.link_irq: 195 dev.igc.3.dropped: 0 dev.igc.3.eee_control: 1 dev.igc.3.itr: 488 dev.igc.3.tx_abs_int_delay: 66 dev.igc.3.rx_abs_int_delay: 66 dev.igc.3.tx_int_delay: 66 dev.igc.3.rx_int_delay: 0 dev.igc.3.rs_dump: 0 dev.igc.3.reg_dump: General Registers CTRL 58140641 STATUS 40780683 CTRL_EXIT 10000040 Interrupt Registers ICR 00000000 RX Registers RCTL 0444801e RDLEN 00004000 RDH 0000000e RDT 0000000d RXDCTL 02040808 RDBAL 04a65000 RDBAH 00000000 TX Registers TCTL a503f0fa TDBAL 04a27000 TDBAH 00000000 TDLEN 00004000 TDH 000001d0 TDT 000001d0 TXDCTL 0201011f TDFH 00000000 TDFT 00000000 TDFHS 00000000 TDFPC 00000000 dev.igc.3.fc: 3 dev.igc.3.debug: -1 dev.igc.3.nvm: -1 dev.igc.3.iflib.rxq3.rxq_fl0.buf_size: 2048 dev.igc.3.iflib.rxq3.rxq_fl0.credits: 1023 dev.igc.3.iflib.rxq3.rxq_fl0.cidx: 227 dev.igc.3.iflib.rxq3.rxq_fl0.pidx: 226 dev.igc.3.iflib.rxq2.rxq_fl0.buf_size: 2048 dev.igc.3.iflib.rxq2.rxq_fl0.credits: 1023 dev.igc.3.iflib.rxq2.rxq_fl0.cidx: 20 dev.igc.3.iflib.rxq2.rxq_fl0.pidx: 19 dev.igc.3.iflib.rxq1.rxq_fl0.buf_size: 2048 dev.igc.3.iflib.rxq1.rxq_fl0.credits: 1023 dev.igc.3.iflib.rxq1.rxq_fl0.cidx: 979 dev.igc.3.iflib.rxq1.rxq_fl0.pidx: 978 dev.igc.3.iflib.rxq0.rxq_fl0.buf_size: 2048 dev.igc.3.iflib.rxq0.rxq_fl0.credits: 1023 dev.igc.3.iflib.rxq0.rxq_fl0.cidx: 14 dev.igc.3.iflib.rxq0.rxq_fl0.pidx: 13 dev.igc.3.iflib.txq3.r_abdications: 0 dev.igc.3.iflib.txq3.r_restarts: 0 dev.igc.3.iflib.txq3.r_stalls: 0 dev.igc.3.iflib.txq3.r_starts: 0 dev.igc.3.iflib.txq3.r_drops: 0 dev.igc.3.iflib.txq3.r_enqueues: 0 dev.igc.3.iflib.txq3.ring_state: pidx_head: 0000 pidx_tail: 0000 cidx: 0000 state: IDLE dev.igc.3.iflib.txq3.txq_cleaned: 0 dev.igc.3.iflib.txq3.txq_processed: 0 dev.igc.3.iflib.txq3.txq_in_use: 0 dev.igc.3.iflib.txq3.txq_cidx_processed: 0 dev.igc.3.iflib.txq3.txq_cidx: 0 dev.igc.3.iflib.txq3.txq_pidx: 0 dev.igc.3.iflib.txq3.no_tx_dma_setup: 0 dev.igc.3.iflib.txq3.txd_encap_efbig: 0 dev.igc.3.iflib.txq3.tx_map_failed: 0 dev.igc.3.iflib.txq3.no_desc_avail: 0 dev.igc.3.iflib.txq3.mbuf_defrag_failed: 0 dev.igc.3.iflib.txq3.m_pullups: 0 dev.igc.3.iflib.txq3.mbuf_defrag: 0 dev.igc.3.iflib.txq2.r_abdications: 0 dev.igc.3.iflib.txq2.r_restarts: 0 dev.igc.3.iflib.txq2.r_stalls: 0 dev.igc.3.iflib.txq2.r_starts: 0 dev.igc.3.iflib.txq2.r_drops: 0 dev.igc.3.iflib.txq2.r_enqueues: 0 dev.igc.3.iflib.txq2.ring_state: pidx_head: 0000 pidx_tail: 0000 cidx: 0000 state: IDLE dev.igc.3.iflib.txq2.txq_cleaned: 0 dev.igc.3.iflib.txq2.txq_processed: 0 dev.igc.3.iflib.txq2.txq_in_use: 0 dev.igc.3.iflib.txq2.txq_cidx_processed: 0 dev.igc.3.iflib.txq2.txq_cidx: 0 dev.igc.3.iflib.txq2.txq_pidx: 0 dev.igc.3.iflib.txq2.no_tx_dma_setup: 0 dev.igc.3.iflib.txq2.txd_encap_efbig: 0 dev.igc.3.iflib.txq2.tx_map_failed: 0 dev.igc.3.iflib.txq2.no_desc_avail: 0 dev.igc.3.iflib.txq2.mbuf_defrag_failed: 0 dev.igc.3.iflib.txq2.m_pullups: 0 dev.igc.3.iflib.txq2.mbuf_defrag: 0 dev.igc.3.iflib.txq1.r_abdications: 0 dev.igc.3.iflib.txq1.r_restarts: 0 dev.igc.3.iflib.txq1.r_stalls: 0 dev.igc.3.iflib.txq1.r_starts: 54154 dev.igc.3.iflib.txq1.r_drops: 0 dev.igc.3.iflib.txq1.r_enqueues: 54154 dev.igc.3.iflib.txq1.ring_state: pidx_head: 0906 pidx_tail: 0906 cidx: 0906 state: IDLE dev.igc.3.iflib.txq1.txq_cleaned: 108263 dev.igc.3.iflib.txq1.txq_processed: 108303 dev.igc.3.iflib.txq1.txq_in_use: 44 dev.igc.3.iflib.txq1.txq_cidx_processed: 783 dev.igc.3.iflib.txq1.txq_cidx: 743 dev.igc.3.iflib.txq1.txq_pidx: 787 dev.igc.3.iflib.txq1.no_tx_dma_setup: 0 dev.igc.3.iflib.txq1.txd_encap_efbig: 0 dev.igc.3.iflib.txq1.tx_map_failed: 0 dev.igc.3.iflib.txq1.no_desc_avail: 0 dev.igc.3.iflib.txq1.mbuf_defrag_failed: 0 dev.igc.3.iflib.txq1.m_pullups: 0 dev.igc.3.iflib.txq1.mbuf_defrag: 0 dev.igc.3.iflib.txq0.r_abdications: 0 dev.igc.3.iflib.txq0.r_restarts: 0 dev.igc.3.iflib.txq0.r_stalls: 0 dev.igc.3.iflib.txq0.r_starts: 1047555 dev.igc.3.iflib.txq0.r_drops: 0 dev.igc.3.iflib.txq0.r_enqueues: 1047558 dev.igc.3.iflib.txq0.ring_state: pidx_head: 1030 pidx_tail: 1030 cidx: 1030 state: IDLE dev.igc.3.iflib.txq0.txq_cleaned: 2069926 dev.igc.3.iflib.txq0.txq_processed: 2069966 dev.igc.3.iflib.txq0.txq_in_use: 42 dev.igc.3.iflib.txq0.txq_cidx_processed: 462 dev.igc.3.iflib.txq0.txq_cidx: 422 dev.igc.3.iflib.txq0.txq_pidx: 464 dev.igc.3.iflib.txq0.no_tx_dma_setup: 0 dev.igc.3.iflib.txq0.txd_encap_efbig: 0 dev.igc.3.iflib.txq0.tx_map_failed: 0 dev.igc.3.iflib.txq0.no_desc_avail: 0 dev.igc.3.iflib.txq0.mbuf_defrag_failed: 0 dev.igc.3.iflib.txq0.m_pullups: 31 dev.igc.3.iflib.txq0.mbuf_defrag: 0 dev.igc.3.iflib.override_nrxds: 0 dev.igc.3.iflib.override_ntxds: 0 dev.igc.3.iflib.separate_txrx: 0 dev.igc.3.iflib.core_offset: 12 dev.igc.3.iflib.tx_abdicate: 0 dev.igc.3.iflib.rx_budget: 0 dev.igc.3.iflib.disable_msix: 0 dev.igc.3.iflib.override_qs_enable: 0 dev.igc.3.iflib.override_nrxqs: 0 dev.igc.3.iflib.override_ntxqs: 0 dev.igc.3.iflib.driver_version: 1 dev.igc.3.%parent: pci7 dev.igc.3.%pnpinfo: vendor=0x8086 device=0x15f3 subvendor=0x8086 subdevice=0x0000 class=0x020000 dev.igc.3.%location: slot=0 function=0 dbsf=pci0:7:0:0 handle=\_SB_.PCI0.PEX6.PXSX dev.igc.3.%driver: igc dev.igc.3.%desc: Intel(R) PRO/1000 PCI-Express Network Driver
So it's a different device ID. The registers are set differently.
Steve
-
@stephenw10 said in Intel Ethernet Controller I225-LM Support?:
You are talking about?:
dev.igc.0.mac_stats.missed_packets: 1497
That does seem high, especially as a percentage of the total packets received!
dev.igc.0.mac_stats.mcast_pkts_recvd: 281 dev.igc.0.mac_stats.bcast_pkts_recvd: 14 dev.igc.0.mac_stats.good_pkts_recvd: 295 dev.igc.0.mac_stats.total_pkts_recvd: 1792
Yes, this is what I was referring to. The "in" packet count shows 0 on the UI though and I haven't managed to capture any inbound traffic on the I225-LM interface during testing. Note that the sysctl output and UI Status/Interfaces text capture for this interface (third text block from my previous reply) were taken a few minutes apart so the counters are not exactly the same.
dev.igc.3.reg_dump: General Registers CTRL 58140641 STATUS 40780683 CTRL_EXIT 10000040 Interrupt Registers ICR 00000000 RX Registers RCTL 0444801e RDLEN 00004000 RDH 0000000e RDT 0000000d RXDCTL 02040808 RDBAL 04a65000 RDBAH 00000000 TX Registers TCTL a503f0fa TDBAL 04a27000 TDBAH 00000000 TDLEN 00004000 TDH 000001d0 TDT 000001d0 TXDCTL 0201011f TDFH 00000000 TDFT 00000000 TDFHS 00000000 TDFPC 00000000 dev.igc.3.%pnpinfo: vendor=0x8086 device=0x15f3 subvendor=0x8086 subdevice=0x0000 class=0x020000 dev.igc.3.%location: slot=0 function=0 dbsf=pci0:7:0:0 handle=\_SB_.PCI0.PEX6.PXSX dev.igc.3.%driver: igc dev.igc.3.%desc: Intel(R) PRO/1000 PCI-Express Network Driver
So it's a different device ID. The registers are set differently.
Yes, but isn't the device ID difference to be expected? The I225-LM and I225-V have different IDs (0x15F2 and 0x15F3 respectively per https://github.com/pfsense/FreeBSD-src/blob/devel-12/sys/dev/igc/igc_hw.h#L44) Are there any pertinent differences in the registers between the two?
dev.igc.0.reg_dump: General Registers CTRL 181c0641 STATUS 40380683 CTRL_EXIT 10000040 Interrupt Registers ICR 00000000 RX Registers RCTL 0440801e RDLEN 00004000 RDH 00000000 RDT 00000080 RXDCTL 02040808 RDBAL 033a8000 RDBAH 00000001 TX Registers TCTL a503f0fa TDBAL 0336a000 TDBAH 00000001 TDLEN 00004000 TDH 00000013 TDT 00000375 TXDCTL 0201011f TDFH 00000000 TDFT 00000000 TDFHS 00000000 TDFPC 00000000 dev.igc.0.%pnpinfo: vendor=0x8086 device=0x15f2 subvendor=0x1baa subdevice=0xc002 class=0x020000 dev.igc.0.%location: slot=0 function=0 dbsf=pci0:4:0:0 dev.igc.0.%driver: igc dev.igc.0.%desc: Intel(R) PRO/1000 PCI-Express Network Driver
-
@setarcos said in Intel Ethernet Controller I225-LM Support?:
Yes, but isn't the device ID difference to be expected?
Yes it is. I'm just saying it's different to the NIC in the 6100 so it may not have been tested.
Are there any pertinent differences in the registers between the two?
I don't know. The spec sheets don't look significantly different though.
-
Does your 6100 have any igc driver tunables set? Here is what I am currently using (defaults):
[21.05-RELEASE][root@cerberus.setarcos.lan]/root: sysctl -a hw.igc hw.igc.max_interrupt_rate: 8000 hw.igc.eee_setting: 1 hw.igc.rx_process_limit: 100 hw.igc.sbp: 1 hw.igc.smart_pwr_down: 0 hw.igc.rx_abs_int_delay: 66 hw.igc.tx_abs_int_delay: 66 hw.igc.rx_int_delay: 0 hw.igc.tx_int_delay: 66 hw.igc.disable_crc_stripping: 0
I have a 2.5Gbe device on the way and will be able to test with that shortly, but have otherwise run out of things to try.
-
Just the same default values you're using:
[21.05-RELEASE][admin@6100-2.stevew.lan]/root: sysctl hw.igc hw.igc.max_interrupt_rate: 8000 hw.igc.eee_setting: 1 hw.igc.rx_process_limit: 100 hw.igc.sbp: 1 hw.igc.smart_pwr_down: 0 hw.igc.rx_abs_int_delay: 66 hw.igc.tx_abs_int_delay: 66 hw.igc.rx_int_delay: 0 hw.igc.tx_int_delay: 66 hw.igc.disable_crc_stripping: 0
Steve
-
You may want to try the card in a Linux 5.10+ system just to prove it is functioning properly.
-
This post is deleted! -
My 2.5GbE device arrived today, and while the port does seem to negotiate the line rate correctly when both forced and autodetected, the original problem remains and no inbound packets from the device attached to the i225-LM port are making it through.
Just for grins I tried disabling CRC stripping with hw.igc.disable_crc_stripping=1, and while I still don't see any in packets making it through, the error in counter is no longer incrementing for every packet received as it had before.
dev.igc.0.mac_stats.tso_txd: 0 dev.igc.0.mac_stats.tx_frames_1024_1522: 0 dev.igc.0.mac_stats.tx_frames_512_1023: 0 dev.igc.0.mac_stats.tx_frames_256_511: 0 dev.igc.0.mac_stats.tx_frames_128_255: 0 dev.igc.0.mac_stats.tx_frames_65_127: 0 dev.igc.0.mac_stats.tx_frames_64: 8 dev.igc.0.mac_stats.mcast_pkts_txd: 0 dev.igc.0.mac_stats.bcast_pkts_txd: 8 dev.igc.0.mac_stats.good_pkts_txd: 8 dev.igc.0.mac_stats.total_pkts_txd: 8 dev.igc.0.mac_stats.good_octets_txd: 512 dev.igc.0.mac_stats.good_octets_recvd: 0 dev.igc.0.mac_stats.rx_frames_1024_1522: 0 dev.igc.0.mac_stats.rx_frames_512_1023: 0 dev.igc.0.mac_stats.rx_frames_256_511: 0 dev.igc.0.mac_stats.rx_frames_128_255: 0 dev.igc.0.mac_stats.rx_frames_65_127: 0 dev.igc.0.mac_stats.rx_frames_64: 0 dev.igc.0.mac_stats.mcast_pkts_recvd: 0 dev.igc.0.mac_stats.bcast_pkts_recvd: 0 dev.igc.0.mac_stats.good_pkts_recvd: 0 dev.igc.0.mac_stats.total_pkts_recvd: 0 dev.igc.0.mac_stats.xoff_txd: 0 dev.igc.0.mac_stats.xoff_recvd: 0 dev.igc.0.mac_stats.xon_txd: 0 dev.igc.0.mac_stats.xon_recvd: 0 dev.igc.0.mac_stats.alignment_errs: 0 dev.igc.0.mac_stats.crc_errs: 0 dev.igc.0.mac_stats.recv_errs: 0 dev.igc.0.mac_stats.recv_jabber: 0 dev.igc.0.mac_stats.recv_oversize: 0 dev.igc.0.mac_stats.recv_fragmented: 0 dev.igc.0.mac_stats.recv_undersize: 0 dev.igc.0.mac_stats.recv_no_buff: 0 dev.igc.0.mac_stats.missed_packets: 0 dev.igc.0.mac_stats.defer_count: 0 dev.igc.0.mac_stats.sequence_errors: 0 dev.igc.0.mac_stats.symbol_errors: 0 dev.igc.0.mac_stats.collision_count: 0 dev.igc.0.mac_stats.late_coll: 0 dev.igc.0.mac_stats.multiple_coll: 0 dev.igc.0.mac_stats.single_coll: 0 dev.igc.0.mac_stats.excess_coll: 0
@lra that is a good idea, but I don't have a spare system to give this a try on at the moment. I will be building a TrueNAS SCALE box in the next month or so and can give it a try then. In the mean-time I'll probably try picking up another NIC to test.
-
Hmm, there it's showing 0 packets received at all not just bad packets as it was before.
Was it actually connected when that was taken? -
@stephenw10 said in Intel Ethernet Controller I225-LM Support?:
Hmm, there it's showing 0 packets received at all not just bad packets as it was before.
Was it actually connected when that was taken?Yes, the port was actually connected to a test device and had received a few ARP replies from the test device when this was taken, but the system had been recently restarted resetting the counters and had only been online a few minutes at that point.
As another experiment, I modified the interface settings to use the second physical interface on the dual I225-LM card and it was exhibiting the same issues, but I let it sit overnight, and it does appear to have accumulated errors after all:
dev.igc.1.mac_stats.tso_txd: 0 dev.igc.1.mac_stats.tx_frames_1024_1522: 0 dev.igc.1.mac_stats.tx_frames_512_1023: 0 dev.igc.1.mac_stats.tx_frames_256_511: 0 dev.igc.1.mac_stats.tx_frames_128_255: 0 dev.igc.1.mac_stats.tx_frames_65_127: 0 dev.igc.1.mac_stats.tx_frames_64: 17 dev.igc.1.mac_stats.mcast_pkts_txd: 0 dev.igc.1.mac_stats.bcast_pkts_txd: 17 dev.igc.1.mac_stats.good_pkts_txd: 17 dev.igc.1.mac_stats.total_pkts_txd: 2860 dev.igc.1.mac_stats.good_octets_txd: 1088 dev.igc.1.mac_stats.good_octets_recvd: 32321 dev.igc.1.mac_stats.rx_frames_1024_1522: 0 dev.igc.1.mac_stats.rx_frames_512_1023: 28 dev.igc.1.mac_stats.rx_frames_256_511: 0 dev.igc.1.mac_stats.rx_frames_128_255: 37 dev.igc.1.mac_stats.rx_frames_65_127: 34 dev.igc.1.mac_stats.rx_frames_64: 26 dev.igc.1.mac_stats.mcast_pkts_recvd: 100 dev.igc.1.mac_stats.bcast_pkts_recvd: 3 dev.igc.1.mac_stats.good_pkts_recvd: 125 dev.igc.1.mac_stats.total_pkts_recvd: 2967 dev.igc.1.mac_stats.xoff_txd: 2843 dev.igc.1.mac_stats.xoff_recvd: 0 dev.igc.1.mac_stats.xon_txd: 0 dev.igc.1.mac_stats.xon_recvd: 0 dev.igc.1.mac_stats.alignment_errs: 0 dev.igc.1.mac_stats.crc_errs: 0 dev.igc.1.mac_stats.recv_errs: 0 dev.igc.1.mac_stats.recv_jabber: 0 dev.igc.1.mac_stats.recv_oversize: 0 dev.igc.1.mac_stats.recv_fragmented: 0 dev.igc.1.mac_stats.recv_undersize: 0 dev.igc.1.mac_stats.recv_no_buff: 0 dev.igc.1.mac_stats.missed_packets: 2842 dev.igc.1.mac_stats.defer_count: 0 dev.igc.1.mac_stats.sequence_errors: 0 dev.igc.1.mac_stats.symbol_errors: 0 dev.igc.1.mac_stats.collision_count: 0 dev.igc.1.mac_stats.late_coll: 0 dev.igc.1.mac_stats.multiple_coll: 0 dev.igc.1.mac_stats.single_coll: 0 dev.igc.1.mac_stats.excess_coll: 0
I decided to go a different route and picked up an X710-T2L and will be returning the QNAP QXG-2G2T-I225 as my return window will have closed by the time I have a chance to test this card on a Linux box to see if the issues persist. That said, I will still have the I225-LM card installed and available for testing through early next week so if you would like me to do any additional testing beforehand, please let me know.
-
I'm not sure what else we can do there. It's just rejecting almost all the traffic it sees at some low level. It 'feels' like a hardware off loading issue to me. It all reports as disabled but maybe on that particular chip some register is set/not set that the driver doesn't see? No easy way to tell.
-
@stephenw10 Not sure if it's 100% relevant but I am using two of the single-port versions of the QNAP 2.5Gbe card, and could not get the DNS resolver to work at all. After disabling hardward crc offloading, the issue was resolved, so there's definitely something wonky with this driver/card combo.
-
@jerseymike said in Intel Ethernet Controller I225-LM Support?:
@stephenw10 Not sure if it's 100% relevant but I am using two of the single-port versions of the QNAP 2.5Gbe card, and could not get the DNS resolver to work at all. After disabling hardward crc offloading, the issue was resolved, so there's definitely something wonky with this driver/card combo.
This seems to align with @slk2k 's findings in the thread here, however, it seems to have no effect with the dual port QNAP QXG-2G2T-I225 card I have been testing with. I had initially tried disabling TX and RX CRC offloading from the UI, but later did so directly with ifconfig and both yielded the same results (no inbound packets are making it through).
-
Hmm, have either of you tried FreeBSD directly?
That should be no different but....