DPDK usage discussions
 help / color / mirror / Atom feed
* Net/igc's rte_eth_rx_burst() never returns packets
@ 2024-08-01 10:26 Fabio Fernandes
  2024-08-01 12:24 ` Ivan Malov
  0 siblings, 1 reply; 6+ messages in thread
From: Fabio Fernandes @ 2024-08-01 10:26 UTC (permalink / raw)
  To: users


[-- Attachment #1.1: Type: text/plain, Size: 3229 bytes --]

Hi,

I have an issue with rte_eth_rx_burst() for IGC poll mode driver never returning any packets and need some advice.

I have this network port:
09:00.0 Ethernet controller: Intel Corporation Ethernet Controller I225-V (rev 03)

Bound to igb_uio:
Network devices using DPDK-compatible driver
============================================
0000:09:00.0 'Ethernet Controller I225-V 15f3' drv=igb_uio unused=igc

I'm testing this both with testpmd and my own app, which works fine with other drivers such as net/ena and net/i40e. I'm using single RX/TX queue pair with default configs with rte_eth_promiscuous_enable() and rte_eth_allmulticast_enable().

The device seems to rte_eth_dev_start() fine, and rte_eth_stats_get() seem to be detecting inbound packets. Below is the output from testpmd:

> Press enter to exit
> eth_igc_interrupt_action(): Port 0: Link Up - speed 1000 Mbps - full-duplex
>
> Port 0: link state change event
> ^CTelling cores to stop...
> Waiting for lcores to finish...
>
> ---------------------- Forward statistics for port 0 ----------------------
> RX-packets: 129 RX-dropped: 800 RX-total: 929
> TX-packets: 0 TX-dropped: 0 TX-total: 0
> ----------------------------------------------------------------------------
>
> +++++++++++++++ Accumulated forward statistics for all ports+++++++++++++++
> RX-packets: 129 RX-dropped: 800 RX-total: 929
> TX-packets: 0 TX-dropped: 0 TX-total: 0
> ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> Done.

However, rte_eth_rx_burst() never returns anything, neither in testpmd nor in my own app.

In my own app, I log both rte_eth_stats_get() and non-zero xstats from rte_eth_xstats_get_by_id():

> 07:02:13.406873186 INF stats.rx : 0
> 07:02:13.406892616 INF dev_stats.ipackets : 78
> 07:02:13.406903636 INF dev_stats.opackets : 0
> 07:02:13.406914166 INF dev_stats.imissed : 0
> 07:02:13.406924536 INF dev_stats.ierrors : 0
> 07:02:13.406934116 INF dev_stats.oerrors : 0
> 07:02:13.406943956 INF dev_stats.rx_nombuf : 0
> 07:02:13.407247777 INF xstats rx_good_packets : 78
> 07:02:13.407257147 INF xstats rx_good_bytes : 17205
> 07:02:13.407265267 INF xstats rx_size_64_packets : 6
> 07:02:13.407274627 INF xstats rx_size_65_to_127_packets : 31
> 07:02:13.407285757 INF xstats rx_size_128_to_255_packets : 22
> 07:02:13.407297537 INF xstats rx_size_256_to_511_packets : 16
> 07:02:13.407309127 INF xstats rx_size_512_to_1023_packets : 3
> 07:02:13.407321327 INF xstats rx_broadcast_packets : 8
> 07:02:13.407331597 INF xstats rx_multicast_packets : 64
> 07:02:13.407346357 INF xstats rx_total_packets : 78
> 07:02:13.407355547 INF xstats rx_total_bytes : 17205
> 07:02:13.407364127 INF xstats rx_sent_to_host_packets : 7807:02:13.407375347 INF xstats interrupt_assert_count : 1

Still, rte_eth_rx_burst() never returns anything.

It's worthwhile to note that rte_eth_rx_burst() works fine when I, instead of net/igc, use net/ena (with ENA card) or net/i40e (Intel x710 card).

The debug log from EAL and net/igc is attached, in case that helps.
There's a warning "igc_rx_init(): forcing scatter mode", but I've already tried changing my mbuf sizes so that the warning goes away but that also didn't help.

Any advice?

Thanks,
Fabio

[-- Attachment #1.2: Type: text/html, Size: 15438 bytes --]

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: eal_debug.00.log --]
[-- Type: text/x-log; name=eal_debug.00.log, Size: 124514 bytes --]

EAL: lib.eal log level changed from info to debug
EAL: lib.malloc log level changed from info to debug
EAL: lib.ring log level changed from info to debug
EAL: lib.mempool log level changed from info to debug
EAL: lib.timer log level changed from info to debug
EAL: pmd log level changed from info to debug
EAL: lib.hash log level changed from info to debug
EAL: lib.lpm log level changed from info to debug
EAL:  log level changed from disabled to debug
EAL: lib.acl log level changed from info to debug
EAL: lib.power log level changed from info to debug
EAL: lib.meter log level changed from info to debug
EAL: lib.sched log level changed from info to debug
EAL: lib.port log level changed from info to debug
EAL: lib.table log level changed from info to debug
EAL: lib.pipeline log level changed from info to debug
EAL: lib.mbuf log level changed from info to debug
EAL: lib.cryptodev log level changed from info to debug
EAL: lib.efd log level changed from info to debug
EAL: lib.eventdev log level changed from info to debug
EAL: lib.gso log level changed from info to debug
EAL:  log level changed from disabled to debug
EAL:  log level changed from disabled to debug
EAL:  log level changed from disabled to debug
EAL: user1 log level changed from info to debug
EAL: user2 log level changed from info to debug
EAL: user3 log level changed from info to debug
EAL: user4 log level changed from info to debug
EAL: user5 log level changed from info to debug
EAL: user6 log level changed from info to debug
EAL: user7 log level changed from info to debug
EAL: user8 log level changed from info to debug
EAL: pmd.net.ena.init log level changed from notice to debug
EAL: pmd.net.ena.driver log level changed from notice to debug
EAL: pmd.net.ena.com log level changed from warning to debug
EAL: pmd.net.i40e.init log level changed from notice to debug
EAL: pmd.net.i40e.driver log level changed from notice to debug
EAL: pmd.net.igc.init log level changed from info to debug
EAL: pmd.net.igc.driver log level changed from info to debug
global log level is debug
id 0: lib.eal, level is debug
id 1: lib.malloc, level is debug
id 2: lib.ring, level is debug
id 3: lib.mempool, level is debug
id 4: lib.timer, level is debug
id 5: pmd, level is debug
id 6: lib.hash, level is debug
id 7: lib.lpm, level is debug
id 9: lib.acl, level is debug
id 10: lib.power, level is debug
id 11: lib.meter, level is debug
id 12: lib.sched, level is debug
id 13: lib.port, level is debug
id 14: lib.table, level is debug
id 15: lib.pipeline, level is debug
id 16: lib.mbuf, level is debug
id 17: lib.cryptodev, level is debug
id 18: lib.efd, level is debug
id 19: lib.eventdev, level is debug
id 20: lib.gso, level is debug
id 24: user1, level is debug
id 25: user2, level is debug
id 26: user3, level is debug
id 27: user4, level is debug
id 28: user5, level is debug
id 29: user6, level is debug
id 30: user7, level is debug
id 31: user8, level is debug
id 32: pmd.net.ena.init, level is debug
id 33: pmd.net.ena.driver, level is debug
id 34: pmd.net.ena.com, level is debug
id 35: pmd.net.i40e.init, level is debug
id 36: pmd.net.i40e.driver, level is debug
id 37: pmd.net.igc.init, level is debug
id 38: pmd.net.igc.driver, level is debug
id 39: lib.telemetry, level is warning
id 40: lib.ethdev, level is info
id 41: lib.rcu, level is error
EAL: Detected lcore 0 as core 0 on socket 0
EAL: Detected lcore 1 as core 1 on socket 0
EAL: Detected lcore 2 as core 2 on socket 0
EAL: Detected lcore 3 as core 3 on socket 0
EAL: Detected lcore 4 as core 4 on socket 0
EAL: Detected lcore 5 as core 5 on socket 0
EAL: Detected lcore 6 as core 6 on socket 0
EAL: Detected lcore 7 as core 7 on socket 0
EAL: Detected lcore 8 as core 8 on socket 0
EAL: Detected lcore 9 as core 9 on socket 0
EAL: Detected lcore 10 as core 10 on socket 0
EAL: Detected lcore 11 as core 11 on socket 0
EAL: Detected lcore 12 as core 12 on socket 0
EAL: Detected lcore 13 as core 13 on socket 0
EAL: Detected lcore 14 as core 14 on socket 0
EAL: Detected lcore 15 as core 15 on socket 0
EAL: Detected lcore 16 as core 0 on socket 0
EAL: Detected lcore 17 as core 1 on socket 0
EAL: Detected lcore 18 as core 2 on socket 0
EAL: Detected lcore 19 as core 3 on socket 0
EAL: Detected lcore 20 as core 4 on socket 0
EAL: Detected lcore 21 as core 5 on socket 0
EAL: Detected lcore 22 as core 6 on socket 0
EAL: Detected lcore 23 as core 7 on socket 0
EAL: Detected lcore 24 as core 8 on socket 0
EAL: Detected lcore 25 as core 9 on socket 0
EAL: Detected lcore 26 as core 10 on socket 0
EAL: Detected lcore 27 as core 11 on socket 0
EAL: Detected lcore 28 as core 12 on socket 0
EAL: Detected lcore 29 as core 13 on socket 0
EAL: Detected lcore 30 as core 14 on socket 0
EAL: Detected lcore 31 as core 15 on socket 0
EAL: Maximum logical cores by configuration: 32
EAL: Detected CPU lcores: 32
EAL: Detected NUMA nodes: 1
EAL: Checking presence of .so 'librte_eal.so.24.0'
EAL: Checking presence of .so 'librte_eal.so.24'
EAL: Checking presence of .so 'librte_eal.so'
EAL: Detected static linkage of DPDK
EAL: Ask a virtual area of 0x7000 bytes
EAL: WARNING! Base virtual address hint (0x100005000 != 0x7ffff7ed0000) not respected!
EAL:    This may cause issues with mapping memory into secondary processes
EAL: Virtual area found at 0x7ffff7ed0000 (size = 0x7000)
EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
EAL: PCI driver net_igc for device 0000:09:00.0 wants IOVA as 'PA'
EAL: Bus pci wants IOVA as 'PA'
EAL: Selected IOVA mode 'PA'
EAL: Probing VFIO support...
EAL: Module /sys/module/vfio not found! error 2 (No such file or directory)
EAL: VFIO modules not loaded, skipping VFIO support...
EAL: Ask a virtual area of 0x2e000 bytes
EAL: WARNING! Base virtual address hint (0x10000b000 != 0x7ffff74c5000) not respected!
EAL:    This may cause issues with mapping memory into secondary processes
EAL: Virtual area found at 0x7ffff74c5000 (size = 0x2e000)
EAL: Setting up physically contiguous memory...
EAL: Setting maximum number of open files to 524288
EAL: Detected memory type: socket_id:0 hugepage_sz:2097152
EAL: Creating 4 segment lists: n_segs:8192 socket_id:0 hugepage_sz:2097152
EAL: Ask a virtual area of 0x61000 bytes
EAL: WARNING! Base virtual address hint (0x100011000 != 0x7ffff7464000) not respected!
EAL:    This may cause issues with mapping memory into secondary processes
EAL: Virtual area found at 0x7ffff7464000 (size = 0x61000)
EAL: Memseg list allocated at socket 0, page size 0x800kB
EAL: Ask a virtual area of 0x400000000 bytes
EAL: WARNING! Base virtual address hint (0x100a12000 != 0x7fc9efe00000) not respected!
EAL:    This may cause issues with mapping memory into secondary processes
EAL: Virtual area found at 0x7fc9efe00000 (size = 0x400000000)
EAL: VA reserved for memseg list at 0x7fc9efe00000, size 400000000
EAL: Ask a virtual area of 0x61000 bytes
EAL: WARNING! Base virtual address hint (0x100c17000 != 0x7ffff719f000) not respected!
EAL:    This may cause issues with mapping memory into secondary processes
EAL: Virtual area found at 0x7ffff719f000 (size = 0x61000)
EAL: Memseg list allocated at socket 0, page size 0x800kB
EAL: Ask a virtual area of 0x400000000 bytes
EAL: WARNING! Base virtual address hint (0x101618000 != 0x7fc5efc00000) not respected!
EAL:    This may cause issues with mapping memory into secondary processes
EAL: Virtual area found at 0x7fc5efc00000 (size = 0x400000000)
EAL: VA reserved for memseg list at 0x7fc5efc00000, size 400000000
EAL: Ask a virtual area of 0x61000 bytes
EAL: WARNING! Base virtual address hint (0x10181d000 != 0x7ffff6b9f000) not respected!
EAL:    This may cause issues with mapping memory into secondary processes
EAL: Virtual area found at 0x7ffff6b9f000 (size = 0x61000)
EAL: Memseg list allocated at socket 0, page size 0x800kB
EAL: Ask a virtual area of 0x400000000 bytes
EAL: WARNING! Base virtual address hint (0x10221e000 != 0x7fc1efa00000) not respected!
EAL:    This may cause issues with mapping memory into secondary processes
EAL: Virtual area found at 0x7fc1efa00000 (size = 0x400000000)
EAL: VA reserved for memseg list at 0x7fc1efa00000, size 400000000
EAL: Ask a virtual area of 0x61000 bytes
EAL: WARNING! Base virtual address hint (0x102423000 != 0x7ffff6b3e000) not respected!
EAL:    This may cause issues with mapping memory into secondary processes
EAL: Virtual area found at 0x7ffff6b3e000 (size = 0x61000)
EAL: Memseg list allocated at socket 0, page size 0x800kB
EAL: Ask a virtual area of 0x400000000 bytes
EAL: WARNING! Base virtual address hint (0x102e24000 != 0x7fbdef800000) not respected!
EAL:    This may cause issues with mapping memory into secondary processes
EAL: Virtual area found at 0x7fbdef800000 (size = 0x400000000)
EAL: VA reserved for memseg list at 0x7fbdef800000, size 400000000
EAL: TSC frequency is ~4500000 KHz
EAL: Main lcore 0 is ready (tid=7ffff7f719c0;cpuset=[0])
EAL: lcore 2 is ready (tid=7fbdef6006c0;cpuset=[2])
EAL: lcore 3 is ready (tid=7fbdeec006c0;cpuset=[3])
EAL: lcore 4 is ready (tid=7fbded6006c0;cpuset=[4])
EAL: lcore 5 is ready (tid=7fbdeb4006c0;cpuset=[5])
EAL: lcore 6 is ready (tid=7fbdeaa006c0;cpuset=[6])
EAL: lcore 7 is ready (tid=7fbde94006c0;cpuset=[7])
EAL: Trying to obtain current memory policy.
EAL: Setting policy MPOL_PREFERRED for socket 0
EAL: Restoring previous memory policy: 0
EAL: request: mp_malloc_sync
EAL: Heap on socket 0 was expanded by 2MB
EAL: PCI device 0000:09:00.0 on NUMA socket -1
EAL:   probe driver: 8086:15f3 net_igc
EAL:   PCI memory mapped at 0x7fcdefe00000
EAL:   PCI memory mapped at 0x7fcdeff00000
EAL: Probe PCI driver: net_igc (8086:15f3) device: 0000:09:00.0 (socket -1)
eth_igc_pci_probe():  >>
eth_igc_dev_init():  >>
igc_set_mac_type(): igc_set_mac_type
igc_init_mac_ops_generic(): igc_init_mac_ops_generic
igc_init_phy_ops_generic(): igc_init_phy_ops_generic
igc_init_nvm_ops_generic(): igc_init_nvm_ops_generic
igc_init_mac_ops_generic(): igc_init_mac_ops_generic
igc_init_phy_ops_generic(): igc_init_phy_ops_generic
igc_init_nvm_ops_generic(): igc_init_nvm_ops_generic
igc_null_ops_generic(): igc_null_ops_generic
igc_init_mac_params_i225(): igc_init_mac_params_i225
igc_init_mac_ops_generic(): igc_init_mac_ops_generic
igc_get_hw_semaphore_generic(): igc_get_hw_semaphore_generic
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_set_mac_type(): igc_set_mac_type
igc_init_mac_ops_generic(): igc_init_mac_ops_generic
igc_init_phy_ops_generic(): igc_init_phy_ops_generic
igc_init_nvm_ops_generic(): igc_init_nvm_ops_generic
igc_init_mac_ops_generic(): igc_init_mac_ops_generic
igc_init_phy_ops_generic(): igc_init_phy_ops_generic
igc_init_nvm_ops_generic(): igc_init_nvm_ops_generic
igc_init_mac_params_i225(): igc_init_mac_params_i225
igc_init_mac_ops_generic(): igc_init_mac_ops_generic
igc_init_nvm_params_i225(): igc_init_nvm_params_i225
igc_get_flash_presence_i225(): igc_get_flash_presence_i225
igc_init_phy_params_i225(): igc_init_phy_params_i225
igc_null_ops_generic(): igc_null_ops_generic
igc_get_phy_id(): igc_get_phy_id
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_reset_hw_i225(): igc_reset_hw_i225
igc_disable_pcie_master_generic(): igc_disable_pcie_master_generic
igc_reset_hw_i225(): Masking off all interrupts
igc_reset_hw_i225(): Issuing a global reset to MAC
igc_get_auto_rd_done_generic(): igc_get_auto_rd_done_generic
igc_check_alt_mac_addr_generic(): igc_check_alt_mac_addr_generic
igc_read_nvm_srrd_i225(): igc_read_nvm_srrd_i225
igc_acquire_nvm_i225(): igc_acquire_nvm_i225
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_nvm_eerd(): igc_read_nvm_eerd
igc_poll_eerd_eewr_done(): igc_poll_eerd_eewr_done
igc_release_nvm_i225(): igc_release_nvm_i225
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_validate_nvm_checksum_i225(): igc_validate_nvm_checksum_i225
igc_acquire_nvm_i225(): igc_acquire_nvm_i225
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_validate_nvm_checksum_generic(): igc_validate_nvm_checksum_generic
igc_read_nvm_eerd(): igc_read_nvm_eerd
igc_poll_eerd_eewr_done(): igc_poll_eerd_eewr_done
igc_read_nvm_eerd(): igc_read_nvm_eerd
igc_poll_eerd_eewr_done(): igc_poll_eerd_eewr_done
igc_read_nvm_eerd(): igc_read_nvm_eerd
igc_poll_eerd_eewr_done(): igc_poll_eerd_eewr_done
igc_read_nvm_eerd(): igc_read_nvm_eerd
igc_poll_eerd_eewr_done(): igc_poll_eerd_eewr_done
igc_read_nvm_eerd(): igc_read_nvm_eerd
igc_poll_eerd_eewr_done(): igc_poll_eerd_eewr_done
igc_read_nvm_eerd(): igc_read_nvm_eerd
igc_poll_eerd_eewr_done(): igc_poll_eerd_eewr_done
igc_read_nvm_eerd(): igc_read_nvm_eerd
igc_poll_eerd_eewr_done(): igc_poll_eerd_eewr_done
igc_read_nvm_eerd(): igc_read_nvm_eerd
igc_poll_eerd_eewr_done(): igc_poll_eerd_eewr_done
igc_read_nvm_eerd(): igc_read_nvm_eerd
igc_poll_eerd_eewr_done(): igc_poll_eerd_eewr_done
igc_read_nvm_eerd(): igc_read_nvm_eerd
igc_poll_eerd_eewr_done(): igc_poll_eerd_eewr_done
igc_read_nvm_eerd(): igc_read_nvm_eerd
igc_poll_eerd_eewr_done(): igc_poll_eerd_eewr_done
igc_read_nvm_eerd(): igc_read_nvm_eerd
igc_poll_eerd_eewr_done(): igc_poll_eerd_eewr_done
igc_read_nvm_eerd(): igc_read_nvm_eerd
igc_poll_eerd_eewr_done(): igc_poll_eerd_eewr_done
igc_read_nvm_eerd(): igc_read_nvm_eerd
igc_poll_eerd_eewr_done(): igc_poll_eerd_eewr_done
igc_read_nvm_eerd(): igc_read_nvm_eerd
igc_poll_eerd_eewr_done(): igc_poll_eerd_eewr_done
igc_read_nvm_eerd(): igc_read_nvm_eerd
igc_poll_eerd_eewr_done(): igc_poll_eerd_eewr_done
igc_read_nvm_eerd(): igc_read_nvm_eerd
igc_poll_eerd_eewr_done(): igc_poll_eerd_eewr_done
igc_read_nvm_eerd(): igc_read_nvm_eerd
igc_poll_eerd_eewr_done(): igc_poll_eerd_eewr_done
igc_read_nvm_eerd(): igc_read_nvm_eerd
igc_poll_eerd_eewr_done(): igc_poll_eerd_eewr_done
igc_read_nvm_eerd(): igc_read_nvm_eerd
igc_poll_eerd_eewr_done(): igc_poll_eerd_eewr_done
igc_read_nvm_eerd(): igc_read_nvm_eerd
igc_poll_eerd_eewr_done(): igc_poll_eerd_eewr_done
igc_read_nvm_eerd(): igc_read_nvm_eerd
igc_poll_eerd_eewr_done(): igc_poll_eerd_eewr_done
igc_read_nvm_eerd(): igc_read_nvm_eerd
igc_poll_eerd_eewr_done(): igc_poll_eerd_eewr_done
igc_read_nvm_eerd(): igc_read_nvm_eerd
igc_poll_eerd_eewr_done(): igc_poll_eerd_eewr_done
igc_read_nvm_eerd(): igc_read_nvm_eerd
igc_poll_eerd_eewr_done(): igc_poll_eerd_eewr_done
igc_read_nvm_eerd(): igc_read_nvm_eerd
igc_poll_eerd_eewr_done(): igc_poll_eerd_eewr_done
igc_read_nvm_eerd(): igc_read_nvm_eerd
igc_poll_eerd_eewr_done(): igc_poll_eerd_eewr_done
igc_read_nvm_eerd(): igc_read_nvm_eerd
igc_poll_eerd_eewr_done(): igc_poll_eerd_eewr_done
igc_read_nvm_eerd(): igc_read_nvm_eerd
igc_poll_eerd_eewr_done(): igc_poll_eerd_eewr_done
igc_read_nvm_eerd(): igc_read_nvm_eerd
igc_poll_eerd_eewr_done(): igc_poll_eerd_eewr_done
igc_read_nvm_eerd(): igc_read_nvm_eerd
igc_poll_eerd_eewr_done(): igc_poll_eerd_eewr_done
igc_read_nvm_eerd(): igc_read_nvm_eerd
igc_poll_eerd_eewr_done(): igc_poll_eerd_eewr_done
igc_read_nvm_eerd(): igc_read_nvm_eerd
igc_poll_eerd_eewr_done(): igc_poll_eerd_eewr_done
igc_read_nvm_eerd(): igc_read_nvm_eerd
igc_poll_eerd_eewr_done(): igc_poll_eerd_eewr_done
igc_read_nvm_eerd(): igc_read_nvm_eerd
igc_poll_eerd_eewr_done(): igc_poll_eerd_eewr_done
igc_read_nvm_eerd(): igc_read_nvm_eerd
igc_poll_eerd_eewr_done(): igc_poll_eerd_eewr_done
igc_read_nvm_eerd(): igc_read_nvm_eerd
igc_poll_eerd_eewr_done(): igc_poll_eerd_eewr_done
igc_read_nvm_eerd(): igc_read_nvm_eerd
igc_poll_eerd_eewr_done(): igc_poll_eerd_eewr_done
igc_read_nvm_eerd(): igc_read_nvm_eerd
igc_poll_eerd_eewr_done(): igc_poll_eerd_eewr_done
igc_read_nvm_eerd(): igc_read_nvm_eerd
igc_poll_eerd_eewr_done(): igc_poll_eerd_eewr_done
igc_read_nvm_eerd(): igc_read_nvm_eerd
igc_poll_eerd_eewr_done(): igc_poll_eerd_eewr_done
igc_read_nvm_eerd(): igc_read_nvm_eerd
igc_poll_eerd_eewr_done(): igc_poll_eerd_eewr_done
igc_read_nvm_eerd(): igc_read_nvm_eerd
igc_poll_eerd_eewr_done(): igc_poll_eerd_eewr_done
igc_read_nvm_eerd(): igc_read_nvm_eerd
igc_poll_eerd_eewr_done(): igc_poll_eerd_eewr_done
igc_read_nvm_eerd(): igc_read_nvm_eerd
igc_poll_eerd_eewr_done(): igc_poll_eerd_eewr_done
igc_read_nvm_eerd(): igc_read_nvm_eerd
igc_poll_eerd_eewr_done(): igc_poll_eerd_eewr_done
igc_read_nvm_eerd(): igc_read_nvm_eerd
igc_poll_eerd_eewr_done(): igc_poll_eerd_eewr_done
igc_read_nvm_eerd(): igc_read_nvm_eerd
igc_poll_eerd_eewr_done(): igc_poll_eerd_eewr_done
igc_read_nvm_eerd(): igc_read_nvm_eerd
igc_poll_eerd_eewr_done(): igc_poll_eerd_eewr_done
igc_read_nvm_eerd(): igc_read_nvm_eerd
igc_poll_eerd_eewr_done(): igc_poll_eerd_eewr_done
igc_read_nvm_eerd(): igc_read_nvm_eerd
igc_poll_eerd_eewr_done(): igc_poll_eerd_eewr_done
igc_read_nvm_eerd(): igc_read_nvm_eerd
igc_poll_eerd_eewr_done(): igc_poll_eerd_eewr_done
igc_read_nvm_eerd(): igc_read_nvm_eerd
igc_poll_eerd_eewr_done(): igc_poll_eerd_eewr_done
igc_read_nvm_eerd(): igc_read_nvm_eerd
igc_poll_eerd_eewr_done(): igc_poll_eerd_eewr_done
igc_read_nvm_eerd(): igc_read_nvm_eerd
igc_poll_eerd_eewr_done(): igc_poll_eerd_eewr_done
igc_read_nvm_eerd(): igc_read_nvm_eerd
igc_poll_eerd_eewr_done(): igc_poll_eerd_eewr_done
igc_read_nvm_eerd(): igc_read_nvm_eerd
igc_poll_eerd_eewr_done(): igc_poll_eerd_eewr_done
igc_read_nvm_eerd(): igc_read_nvm_eerd
igc_poll_eerd_eewr_done(): igc_poll_eerd_eewr_done
igc_read_nvm_eerd(): igc_read_nvm_eerd
igc_poll_eerd_eewr_done(): igc_poll_eerd_eewr_done
igc_read_nvm_eerd(): igc_read_nvm_eerd
igc_poll_eerd_eewr_done(): igc_poll_eerd_eewr_done
igc_read_nvm_eerd(): igc_read_nvm_eerd
igc_poll_eerd_eewr_done(): igc_poll_eerd_eewr_done
igc_read_nvm_eerd(): igc_read_nvm_eerd
igc_poll_eerd_eewr_done(): igc_poll_eerd_eewr_done
igc_read_nvm_eerd(): igc_read_nvm_eerd
igc_poll_eerd_eewr_done(): igc_poll_eerd_eewr_done
igc_read_nvm_eerd(): igc_read_nvm_eerd
igc_poll_eerd_eewr_done(): igc_poll_eerd_eewr_done
igc_release_nvm_i225(): igc_release_nvm_i225
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_reset_hw_i225(): igc_reset_hw_i225
igc_disable_pcie_master_generic(): igc_disable_pcie_master_generic
igc_reset_hw_i225(): Masking off all interrupts
igc_reset_hw_i225(): Issuing a global reset to MAC
igc_get_auto_rd_done_generic(): igc_get_auto_rd_done_generic
igc_check_alt_mac_addr_generic(): igc_check_alt_mac_addr_generic
igc_read_nvm_srrd_i225(): igc_read_nvm_srrd_i225
igc_acquire_nvm_i225(): igc_acquire_nvm_i225
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_nvm_eerd(): igc_read_nvm_eerd
igc_poll_eerd_eewr_done(): igc_poll_eerd_eewr_done
igc_release_nvm_i225(): igc_release_nvm_i225
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_init_hw_i225(): igc_init_hw_i225
igc_init_hw_base(): igc_init_hw_base
igc_init_rx_addrs_generic(): igc_init_rx_addrs_generic
igc_init_rx_addrs_generic(): Programming MAC Address into RAR[0]
igc_rar_set_generic(): igc_rar_set_generic
igc_init_rx_addrs_generic(): Clearing RAR[1-15]
igc_rar_set_generic(): igc_rar_set_generic
igc_rar_set_generic(): igc_rar_set_generic
igc_rar_set_generic(): igc_rar_set_generic
igc_rar_set_generic(): igc_rar_set_generic
igc_rar_set_generic(): igc_rar_set_generic
igc_rar_set_generic(): igc_rar_set_generic
igc_rar_set_generic(): igc_rar_set_generic
igc_rar_set_generic(): igc_rar_set_generic
igc_rar_set_generic(): igc_rar_set_generic
igc_rar_set_generic(): igc_rar_set_generic
igc_rar_set_generic(): igc_rar_set_generic
igc_rar_set_generic(): igc_rar_set_generic
igc_rar_set_generic(): igc_rar_set_generic
igc_rar_set_generic(): igc_rar_set_generic
igc_rar_set_generic(): igc_rar_set_generic
igc_init_hw_base(): Zeroing the MTA
igc_init_hw_base(): Zeroing the UTA
igc_setup_link_generic(): igc_setup_link_generic
igc_check_reset_block_generic(): igc_check_reset_block
igc_setup_link_generic(): After fix-ups FlowControl is now = 3
igc_setup_copper_link_i225(): igc_setup_copper_link_i225
igc_setup_copper_link_generic(): igc_setup_copper_link_generic
igc_copper_link_autoneg(): igc_copper_link_autoneg
igc_copper_link_autoneg(): Reconfiguring auto-neg advertisement params
igc_phy_setup_autoneg(): igc_phy_setup_autoneg
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_read_xmdio_reg(): igc_read_xmdio_reg
__igc_access_xmdio_reg(): __igc_access_xmdio_reg
igc_write_phy_reg_gpy(): igc_write_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_write_phy_reg_mdic(): igc_write_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_write_phy_reg_gpy(): igc_write_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_write_phy_reg_mdic(): igc_write_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_write_phy_reg_gpy(): igc_write_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_write_phy_reg_mdic(): igc_write_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_write_phy_reg_gpy(): igc_write_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_write_phy_reg_mdic(): igc_write_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_phy_setup_autoneg(): autoneg_advertised af
igc_phy_setup_autoneg(): Advertise 10mb Half duplex
igc_phy_setup_autoneg(): Advertise 10mb Full duplex
igc_phy_setup_autoneg(): Advertise 100mb Half duplex
igc_phy_setup_autoneg(): Advertise 100mb Full duplex
igc_phy_setup_autoneg(): Advertise 1000mb Full duplex
igc_phy_setup_autoneg(): Advertise 2500mb Full duplex
igc_write_phy_reg_gpy(): igc_write_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_write_phy_reg_mdic(): igc_write_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_phy_setup_autoneg(): Auto-Neg Advertising de1
igc_write_phy_reg_gpy(): igc_write_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_write_phy_reg_mdic(): igc_write_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_write_phy_reg_gpy(): igc_write_phy_reg_gpy
igc_write_xmdio_reg(): igc_write_xmdio_reg
__igc_access_xmdio_reg(): __igc_access_xmdio_reg
igc_write_phy_reg_gpy(): igc_write_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_write_phy_reg_mdic(): igc_write_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_write_phy_reg_gpy(): igc_write_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_write_phy_reg_mdic(): igc_write_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_write_phy_reg_gpy(): igc_write_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_write_phy_reg_mdic(): igc_write_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_write_phy_reg_gpy(): igc_write_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_write_phy_reg_mdic(): igc_write_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_write_phy_reg_gpy(): igc_write_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_write_phy_reg_mdic(): igc_write_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_copper_link_autoneg(): Restarting Auto-Neg
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_write_phy_reg_gpy(): igc_write_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_write_phy_reg_mdic(): igc_write_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_phy_has_link_generic(): igc_phy_has_link_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_setup_copper_link_generic(): Unable to establish link!!!
igc_setup_link_generic(): Initializing the Flow Control address, type and timer regs
igc_set_fc_watermarks_generic(): igc_set_fc_watermarks_generic
igc_clear_hw_cntrs_base_generic(): igc_clear_hw_cntrs_base_generic
igc_set_eee_i225(): igc_set_eee_i225
igc_null_ops_generic(): igc_null_ops_generic
igc_check_for_link_i225(): igc_check_for_link_i225
igc_phy_has_link_generic(): igc_phy_has_link_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_set_ltr_i225(): igc_set_ltr_i225
igc_check_reset_block_generic(): igc_check_reset_block
eth_igc_dev_init(): port_id 0 vendorID=0x8086 deviceID=0x15f3
EAL: Module /sys/module/vfio not found! error 2 (No such file or directory)
TELEMETRY: No legacy callbacks, legacy socket not created
lcore 0, socket 0, role RTE, cpuset 0
lcore 2, socket 0, role RTE, cpuset 2
lcore 3, socket 0, role RTE, cpuset 3
lcore 4, socket 0, role RTE, cpuset 4
lcore 5, socket 0, role RTE, cpuset 5
lcore 6, socket 0, role RTE, cpuset 6
lcore 7, socket 0, role RTE, cpuset 7
Services Summary
Service Cores Summary
eth_igc_configure():  >>
EAL: Trying to obtain current memory policy.
EAL: Setting policy MPOL_PREFERRED for socket 0
EAL: Restoring previous memory policy: 0
EAL: request: mp_malloc_sync
EAL: Heap on socket 0 was expanded by 2MB
eth_igc_rx_queue_setup(): sw_ring=0x7fc9f0009700 hw_ring=0x7fc9eff41a00 dma_addr=0x116141a00
EAL: Trying to obtain current memory policy.
EAL: Setting policy MPOL_PREFERRED for socket 0
EAL: Restoring previous memory policy: 0
EAL: request: mp_malloc_sync
EAL: Heap on socket 0 was expanded by 4MB
eth_igc_tx_queue_setup(): The tx_free_thresh parameter is not used for the 2.5G driver
eth_igc_tx_queue_setup(): sw_ring=0x7fc9f0000e00 hw_ring=0x7fc9f037ff00 dma_addr=0x11657ff00
eth_igc_start():  >>
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_write_phy_reg_gpy(): igc_write_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_write_phy_reg_mdic(): igc_write_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_setup_link_generic(): igc_setup_link_generic
igc_check_reset_block_generic(): igc_check_reset_block
igc_setup_link_generic(): After fix-ups FlowControl is now = 3
igc_setup_copper_link_i225(): igc_setup_copper_link_i225
igc_setup_copper_link_generic(): igc_setup_copper_link_generic
igc_copper_link_autoneg(): igc_copper_link_autoneg
igc_copper_link_autoneg(): Reconfiguring auto-neg advertisement params
igc_phy_setup_autoneg(): igc_phy_setup_autoneg
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_read_xmdio_reg(): igc_read_xmdio_reg
__igc_access_xmdio_reg(): __igc_access_xmdio_reg
igc_write_phy_reg_gpy(): igc_write_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_write_phy_reg_mdic(): igc_write_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_write_phy_reg_gpy(): igc_write_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_write_phy_reg_mdic(): igc_write_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_write_phy_reg_gpy(): igc_write_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_write_phy_reg_mdic(): igc_write_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_write_phy_reg_gpy(): igc_write_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_write_phy_reg_mdic(): igc_write_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_phy_setup_autoneg(): autoneg_advertised af
igc_phy_setup_autoneg(): Advertise 10mb Half duplex
igc_phy_setup_autoneg(): Advertise 10mb Full duplex
igc_phy_setup_autoneg(): Advertise 100mb Half duplex
igc_phy_setup_autoneg(): Advertise 100mb Full duplex
igc_phy_setup_autoneg(): Advertise 1000mb Full duplex
igc_phy_setup_autoneg(): Advertise 2500mb Full duplex
igc_write_phy_reg_gpy(): igc_write_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_write_phy_reg_mdic(): igc_write_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_phy_setup_autoneg(): Auto-Neg Advertising de1
igc_write_phy_reg_gpy(): igc_write_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_write_phy_reg_mdic(): igc_write_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_write_phy_reg_gpy(): igc_write_phy_reg_gpy
igc_write_xmdio_reg(): igc_write_xmdio_reg
__igc_access_xmdio_reg(): __igc_access_xmdio_reg
igc_write_phy_reg_gpy(): igc_write_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_write_phy_reg_mdic(): igc_write_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_write_phy_reg_gpy(): igc_write_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_write_phy_reg_mdic(): igc_write_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_write_phy_reg_gpy(): igc_write_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_write_phy_reg_mdic(): igc_write_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_write_phy_reg_gpy(): igc_write_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_write_phy_reg_mdic(): igc_write_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_write_phy_reg_gpy(): igc_write_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_write_phy_reg_mdic(): igc_write_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_copper_link_autoneg(): Restarting Auto-Neg
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_write_phy_reg_gpy(): igc_write_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_write_phy_reg_mdic(): igc_write_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_phy_has_link_generic(): igc_phy_has_link_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_setup_copper_link_generic(): Unable to establish link!!!
igc_setup_link_generic(): Initializing the Flow Control address, type and timer regs
igc_set_fc_watermarks_generic(): igc_set_fc_watermarks_generic
igc_rar_set_generic(): igc_rar_set_generic
igc_reset_hw_i225(): igc_reset_hw_i225
igc_disable_pcie_master_generic(): igc_disable_pcie_master_generic
igc_reset_hw_i225(): Masking off all interrupts
igc_reset_hw_i225(): Issuing a global reset to MAC
igc_get_auto_rd_done_generic(): igc_get_auto_rd_done_generic
igc_check_alt_mac_addr_generic(): igc_check_alt_mac_addr_generic
igc_read_nvm_srrd_i225(): igc_read_nvm_srrd_i225
igc_acquire_nvm_i225(): igc_acquire_nvm_i225
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_nvm_eerd(): igc_read_nvm_eerd
igc_poll_eerd_eewr_done(): igc_poll_eerd_eewr_done
igc_release_nvm_i225(): igc_release_nvm_i225
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_init_hw_i225(): igc_init_hw_i225
igc_init_hw_base(): igc_init_hw_base
igc_init_rx_addrs_generic(): igc_init_rx_addrs_generic
igc_init_rx_addrs_generic(): Programming MAC Address into RAR[0]
igc_rar_set_generic(): igc_rar_set_generic
igc_init_rx_addrs_generic(): Clearing RAR[1-15]
igc_rar_set_generic(): igc_rar_set_generic
igc_rar_set_generic(): igc_rar_set_generic
igc_rar_set_generic(): igc_rar_set_generic
igc_rar_set_generic(): igc_rar_set_generic
igc_rar_set_generic(): igc_rar_set_generic
igc_rar_set_generic(): igc_rar_set_generic
igc_rar_set_generic(): igc_rar_set_generic
igc_rar_set_generic(): igc_rar_set_generic
igc_rar_set_generic(): igc_rar_set_generic
igc_rar_set_generic(): igc_rar_set_generic
igc_rar_set_generic(): igc_rar_set_generic
igc_rar_set_generic(): igc_rar_set_generic
igc_rar_set_generic(): igc_rar_set_generic
igc_rar_set_generic(): igc_rar_set_generic
igc_rar_set_generic(): igc_rar_set_generic
igc_init_hw_base(): Zeroing the MTA
igc_init_hw_base(): Zeroing the UTA
igc_setup_link_generic(): igc_setup_link_generic
igc_check_reset_block_generic(): igc_check_reset_block
igc_setup_link_generic(): After fix-ups FlowControl is now = 3
igc_setup_copper_link_i225(): igc_setup_copper_link_i225
igc_setup_copper_link_generic(): igc_setup_copper_link_generic
igc_copper_link_autoneg(): igc_copper_link_autoneg
igc_copper_link_autoneg(): Reconfiguring auto-neg advertisement params
igc_phy_setup_autoneg(): igc_phy_setup_autoneg
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_read_xmdio_reg(): igc_read_xmdio_reg
__igc_access_xmdio_reg(): __igc_access_xmdio_reg
igc_write_phy_reg_gpy(): igc_write_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_write_phy_reg_mdic(): igc_write_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_write_phy_reg_gpy(): igc_write_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_write_phy_reg_mdic(): igc_write_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_write_phy_reg_gpy(): igc_write_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_write_phy_reg_mdic(): igc_write_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_write_phy_reg_gpy(): igc_write_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_write_phy_reg_mdic(): igc_write_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_phy_setup_autoneg(): autoneg_advertised af
igc_phy_setup_autoneg(): Advertise 10mb Half duplex
igc_phy_setup_autoneg(): Advertise 10mb Full duplex
igc_phy_setup_autoneg(): Advertise 100mb Half duplex
igc_phy_setup_autoneg(): Advertise 100mb Full duplex
igc_phy_setup_autoneg(): Advertise 1000mb Full duplex
igc_phy_setup_autoneg(): Advertise 2500mb Full duplex
igc_write_phy_reg_gpy(): igc_write_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_write_phy_reg_mdic(): igc_write_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_phy_setup_autoneg(): Auto-Neg Advertising de1
igc_write_phy_reg_gpy(): igc_write_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_write_phy_reg_mdic(): igc_write_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_write_phy_reg_gpy(): igc_write_phy_reg_gpy
igc_write_xmdio_reg(): igc_write_xmdio_reg
__igc_access_xmdio_reg(): __igc_access_xmdio_reg
igc_write_phy_reg_gpy(): igc_write_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_write_phy_reg_mdic(): igc_write_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_write_phy_reg_gpy(): igc_write_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_write_phy_reg_mdic(): igc_write_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_write_phy_reg_gpy(): igc_write_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_write_phy_reg_mdic(): igc_write_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_write_phy_reg_gpy(): igc_write_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_write_phy_reg_mdic(): igc_write_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_write_phy_reg_gpy(): igc_write_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_write_phy_reg_mdic(): igc_write_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_copper_link_autoneg(): Restarting Auto-Neg
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_write_phy_reg_gpy(): igc_write_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_write_phy_reg_mdic(): igc_write_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_phy_has_link_generic(): igc_phy_has_link_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_setup_copper_link_generic(): Unable to establish link!!!
igc_setup_link_generic(): Initializing the Flow Control address, type and timer regs
igc_set_fc_watermarks_generic(): igc_set_fc_watermarks_generic
igc_clear_hw_cntrs_base_generic(): igc_clear_hw_cntrs_base_generic
igc_set_eee_i225(): igc_set_eee_i225
igc_null_ops_generic(): igc_null_ops_generic
igc_check_for_link_i225(): igc_check_for_link_i225
igc_phy_has_link_generic(): igc_phy_has_link_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_set_ltr_i225(): igc_set_ltr_i225
igc_config_collision_dist_generic(): igc_config_collision_dist_generic
07:01:27.357978734 INF DPDK initiated: consumed 4 arguments, log level: 8
07:01:27.358102544 DBG DPDK cores: 7
07:01:27.358141234 DBG DPDK ports: available 1/ total 1
07:01:27.358351264 DBG DPDK nic port/device [  0] name: 0000:09:00.0, driver: net_igc, MTU: [68-9702], rx_queues: 0/4, tx_queues: 0/4, min_rx_bufsize: 256, mac_addrs: 16, speed_capa: 10M_HD, 10M, 100M_HD, 100M, 1G, 2_5G, dev_capa: NONE, rx_offload_capa: VLAN_STRIP, IPV4_CKSUM, UDP_CKSUM, TCP_CKSUM, VLAN_FILTER, VLAN_EXTEND, SCATTER, TIMESTAMP, KEEP_CRC, SCTP_CKSUM, RSS_HASH (per-q:VLAN_STRIP),tx_offload_capa: VLAN_INSERT, IPV4_CKSUM, UDP_CKSUM, TCP_CKSUM, SCTP_CKSUM, TCP_TSO, UDP_TSO, MULTI_SEGS, SEND_ON_TIMESTAMP (per-q:NONE), flow_type_rss_offloads: IPV4, NONFRAG_IPV4_TCP, NONFRAG_IPV4_UDP, IPV6, NONFRAG_IPV6_TCP, NONFRAG_IPV6_UDP, IPV6_EX, IPV6_TCP_EX, IPV6_UDP_EX, reta_size: 128, hash_key_size: 40, rss_algo_capa: DEFAULT, pref.burst/ring/ques, rx: 0/0/0, tx: 0/0/0
07:01:27.358562145 INF RX queues left: 1
07:01:27.358596435 INF TX queues left: 1
07:01:27.360637306 DBG Queue [dev0.RX000], ring_len:1024+8, skt:-1, mpool: dev0_q000_rx, ring_mp_mc
07:01:27.361914657 DBG Queue [dev0.TX000], ring_len:1024+32, skt:-1, mpool: dev0_q000_tx, ring_mp_mc
07:01:27.361978777 INF xstat [ 0]: rx_good_packets
07:01:27.361988767 INF xstat [ 1]: tx_good_packets
07:01:27.362001137 INF xstat [ 2]: rx_good_bytes
07:01:27.362009877 INF xstat [ 3]: tx_good_bytes
07:01:27.362017697 INF xstat [ 4]: rx_missed_errors
07:01:27.362025997 INF xstat [ 5]: rx_errors
07:01:27.362038607 INF xstat [ 6]: tx_errors
07:01:27.362045437 INF xstat [ 7]: rx_mbuf_allocation_errors
07:01:27.362058337 INF xstat [ 8]: rx_q0_packets
07:01:27.362066817 INF xstat [ 9]: rx_q0_bytes
07:01:27.362074717 INF xstat [10]: rx_q0_errors
07:01:27.362083777 INF xstat [11]: tx_q0_packets
07:01:27.362093357 INF xstat [12]: tx_q0_bytes
07:01:27.362098817 INF xstat [13]: rx_crc_errors
07:01:27.362109477 INF xstat [14]: rx_align_errors
07:01:27.362118787 INF xstat [15]: rx_errors
07:01:27.362126807 INF xstat [16]: rx_missed_packets
07:01:27.362134987 INF xstat [17]: tx_single_collision_packets
07:01:27.362142567 INF xstat [18]: tx_multiple_collision_packets
07:01:27.362152827 INF xstat [19]: tx_excessive_collision_packets
07:01:27.362168507 INF xstat [20]: tx_late_collisions
07:01:27.362174977 INF xstat [21]: tx_total_collisions
07:01:27.362184037 INF xstat [22]: tx_deferred_packets
07:01:27.362193987 INF xstat [23]: tx_no_carrier_sense_packets
07:01:27.362202667 INF xstat [24]: tx_discarded_packets
07:01:27.362210377 INF xstat [25]: rx_length_errors
07:01:27.362218077 INF xstat [26]: rx_xon_packets
07:01:27.362229417 INF xstat [27]: tx_xon_packets
07:01:27.362237687 INF xstat [28]: rx_xoff_packets
07:01:27.362243387 INF xstat [29]: tx_xoff_packets
07:01:27.362252517 INF xstat [30]: rx_flow_control_unsupported_packets
07:01:27.362261867 INF xstat [31]: rx_size_64_packets
07:01:27.362269907 INF xstat [32]: rx_size_65_to_127_packets
07:01:27.362281407 INF xstat [33]: rx_size_128_to_255_packets
07:01:27.362290217 INF xstat [34]: rx_size_256_to_511_packets
07:01:27.362298767 INF xstat [35]: rx_size_512_to_1023_packets
07:01:27.362307767 INF xstat [36]: rx_size_1024_to_max_packets
07:01:27.362315267 INF xstat [37]: rx_broadcast_packets
07:01:27.362325037 INF xstat [38]: rx_multicast_packets
07:01:27.362335717 INF xstat [39]: rx_undersize_errors
07:01:27.362344677 INF xstat [40]: rx_fragment_errors
07:01:27.362353357 INF xstat [41]: rx_oversize_errors
07:01:27.362361137 INF xstat [42]: rx_jabber_errors
07:01:27.362373047 INF xstat [43]: rx_no_buffers
07:01:27.362383237 INF xstat [44]: rx_management_packets
07:01:27.362391297 INF xstat [45]: rx_management_dropped
07:01:27.362399917 INF xstat [46]: tx_management_packets
07:01:27.362408087 INF xstat [47]: rx_total_packets
07:01:27.362416397 INF xstat [48]: tx_total_packets
07:01:27.362425067 INF xstat [49]: rx_total_bytes
07:01:27.362432747 INF xstat [50]: tx_total_bytes
07:01:27.362444137 INF xstat [51]: tx_size_64_packets
07:01:27.362452667 INF xstat [52]: tx_size_65_to_127_packets
07:01:27.362459317 INF xstat [53]: tx_size_128_to_255_packets
07:01:27.362467837 INF xstat [54]: tx_size_256_to_511_packets
07:01:27.362477657 INF xstat [55]: tx_size_512_to_1023_packets
07:01:27.362486347 INF xstat [56]: tx_size_1023_to_max_packets
07:01:27.362496317 INF xstat [57]: tx_multicast_packets
07:01:27.362506167 INF xstat [58]: tx_broadcast_packets
07:01:27.362518417 INF xstat [59]: tx_tso_packets
07:01:27.362526617 INF xstat [60]: rx_sent_to_host_packets
07:01:27.362532197 INF xstat [61]: tx_sent_by_host_packets
07:01:27.362541487 INF xstat [62]: interrupt_assert_count
07:01:27.362550607 INF xstat [63]: rx_descriptor_lower_threshold
igc_rx_init(): forcing scatter mode
igc_clear_hw_cntrs_base_generic(): igc_clear_hw_cntrs_base_generic
igc_setup_link_generic(): igc_setup_link_generic
igc_check_reset_block_generic(): igc_check_reset_block
igc_setup_link_generic(): After fix-ups FlowControl is now = 3
igc_setup_copper_link_i225(): igc_setup_copper_link_i225
igc_setup_copper_link_generic(): igc_setup_copper_link_generic
igc_copper_link_autoneg(): igc_copper_link_autoneg
igc_copper_link_autoneg(): Reconfiguring auto-neg advertisement params
igc_phy_setup_autoneg(): igc_phy_setup_autoneg
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_read_xmdio_reg(): igc_read_xmdio_reg
__igc_access_xmdio_reg(): __igc_access_xmdio_reg
igc_write_phy_reg_gpy(): igc_write_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_write_phy_reg_mdic(): igc_write_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_write_phy_reg_gpy(): igc_write_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_write_phy_reg_mdic(): igc_write_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_write_phy_reg_gpy(): igc_write_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_write_phy_reg_mdic(): igc_write_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_write_phy_reg_gpy(): igc_write_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_write_phy_reg_mdic(): igc_write_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_phy_setup_autoneg(): autoneg_advertised af
igc_phy_setup_autoneg(): Advertise 10mb Half duplex
igc_phy_setup_autoneg(): Advertise 10mb Full duplex
igc_phy_setup_autoneg(): Advertise 100mb Half duplex
igc_phy_setup_autoneg(): Advertise 100mb Full duplex
igc_phy_setup_autoneg(): Advertise 1000mb Full duplex
igc_phy_setup_autoneg(): Advertise 2500mb Full duplex
igc_write_phy_reg_gpy(): igc_write_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_write_phy_reg_mdic(): igc_write_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_phy_setup_autoneg(): Auto-Neg Advertising de1
igc_write_phy_reg_gpy(): igc_write_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_write_phy_reg_mdic(): igc_write_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_write_phy_reg_gpy(): igc_write_phy_reg_gpy
igc_write_xmdio_reg(): igc_write_xmdio_reg
__igc_access_xmdio_reg(): __igc_access_xmdio_reg
igc_write_phy_reg_gpy(): igc_write_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_write_phy_reg_mdic(): igc_write_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_write_phy_reg_gpy(): igc_write_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_write_phy_reg_mdic(): igc_write_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_write_phy_reg_gpy(): igc_write_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_write_phy_reg_mdic(): igc_write_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_write_phy_reg_gpy(): igc_write_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_write_phy_reg_mdic(): igc_write_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_write_phy_reg_gpy(): igc_write_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_write_phy_reg_mdic(): igc_write_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_copper_link_autoneg(): Restarting Auto-Neg
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_write_phy_reg_gpy(): igc_write_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_write_phy_reg_mdic(): igc_write_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_phy_has_link_generic(): igc_phy_has_link_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_setup_copper_link_generic(): Unable to establish link!!!
igc_setup_link_generic(): Initializing the Flow Control address, type and timer regs
igc_set_fc_watermarks_generic(): igc_set_fc_watermarks_generic
igc_check_for_link_i225(): igc_check_for_link_i225
igc_phy_has_link_generic(): igc_phy_has_link_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_set_ltr_i225(): igc_set_ltr_i225
igc_rar_set_generic(): igc_rar_set_generic
igc_check_for_link_i225(): igc_check_for_link_i225
igc_phy_has_link_generic(): igc_phy_has_link_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_check_downshift_generic(): igc_check_downshift_generic
igc_config_collision_dist_generic(): igc_config_collision_dist_generic
igc_config_fc_after_link_up_generic(): igc_config_fc_after_link_up_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_gpy(): igc_read_phy_reg_gpy
igc_acquire_phy_base(): igc_acquire_phy_base
igc_acquire_swfw_sync_i225(): igc_acquire_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_read_phy_reg_mdic(): igc_read_phy_reg_mdic
igc_release_phy_base(): igc_release_phy_base
igc_release_swfw_sync_i225(): igc_release_swfw_sync_i225
igc_get_hw_semaphore_i225(): igc_get_hw_semaphore_i225
igc_put_hw_semaphore_generic(): igc_put_hw_semaphore_generic
igc_config_fc_after_link_up_generic(): Flow Control = FULL.
igc_get_speed_and_duplex_copper_generic(): igc_get_speed_and_duplex_copper_generic
igc_get_speed_and_duplex_copper_generic(): 1000 Mbs, igc_get_speed_and_duplex_copper_generic(): Full Duplex
igc_force_mac_fc_generic(): igc_force_mac_fc_generic
igc_force_mac_fc_generic(): hw->fc.current_mode = 3
igc_set_ltr_i225(): igc_set_ltr_i225
igc_get_speed_and_duplex_copper_generic(): igc_get_speed_and_duplex_copper_generic
igc_get_speed_and_duplex_copper_generic(): 1000 Mbs, igc_get_speed_and_duplex_copper_generic(): Full Duplex
igc_get_speed_and_duplex_copper_generic(): igc_get_speed_and_duplex_copper_generic
igc_get_speed_and_duplex_copper_generic(): 1000 Mbs, igc_get_speed_and_duplex_copper_generic(): Full Duplex
eth_igc_interrupt_action():  Port 0: Link Up - speed 1000 Mbps - full-duplex
eth_igc_interrupt_action(): PCI Address: 0000:09:00.0

DPDK port[0] event: RTE_ETH_EVENT_INTR_LSC
07:01:31.406996248 WAR Online : [0] {e8:9c:25:c7:16:e6, 0000:09:00.0} - speed: 1 Gbps; link 2.39778 s, but MAX supported speed: 2.5 Gbps
07:01:31.407245069 INF ================================================
07:01:31.407263239 INF stats.rx                                : 0
07:01:31.407295339 INF dev_stats.ipackets                      : 0
07:01:31.407321749 INF dev_stats.opackets                      : 0
07:01:31.407346779 INF dev_stats.imissed                       : 0
07:01:31.407366669 INF dev_stats.ierrors                       : 0
07:01:31.407395909 INF dev_stats.oerrors                       : 0
07:01:31.407421589 INF dev_stats.rx_nombuf                     : 0
07:01:31.407742719 INF xstats interrupt_assert_count           : 1
07:01:32.407224304 INF ================================================
07:01:32.407240454 INF stats.rx                                : 0
07:01:32.407258884 INF dev_stats.ipackets                      : 1
07:01:32.407271424 INF dev_stats.opackets                      : 0
07:01:32.407281484 INF dev_stats.imissed                       : 0
07:01:32.407292584 INF dev_stats.ierrors                       : 0
07:01:32.407302154 INF dev_stats.oerrors                       : 0
07:01:32.407312994 INF dev_stats.rx_nombuf                     : 0
07:01:32.407616804 INF xstats rx_good_packets                  : 1
07:01:32.407629864 INF xstats rx_good_bytes                    : 242
07:01:32.407638124 INF xstats rx_size_128_to_255_packets       : 1
07:01:32.407652454 INF xstats rx_multicast_packets             : 1
07:01:32.407662014 INF xstats rx_total_packets                 : 1
07:01:32.407671784 INF xstats rx_total_bytes                   : 242
07:01:32.407679844 INF xstats rx_sent_to_host_packets          : 1
07:01:32.407691354 INF xstats interrupt_assert_count           : 1
07:01:33.407211899 INF ================================================
07:01:33.407225959 INF stats.rx                                : 0
07:01:33.407242429 INF dev_stats.ipackets                      : 3
07:01:33.407254259 INF dev_stats.opackets                      : 0
07:01:33.407266709 INF dev_stats.imissed                       : 0
07:01:33.407277520 INF dev_stats.ierrors                       : 0
07:01:33.407286900 INF dev_stats.oerrors                       : 0
07:01:33.407297140 INF dev_stats.rx_nombuf                     : 0
07:01:33.407600030 INF xstats rx_good_packets                  : 3
07:01:33.407612120 INF xstats rx_good_bytes                    : 362
07:01:33.407620000 INF xstats rx_size_64_packets               : 2
07:01:33.407630200 INF xstats rx_size_128_to_255_packets       : 1
07:01:33.407641750 INF xstats rx_multicast_packets             : 1
07:01:33.407652950 INF xstats rx_total_packets                 : 3
07:01:33.407661360 INF xstats rx_total_bytes                   : 362
07:01:33.407670630 INF xstats rx_sent_to_host_packets          : 3
07:01:33.407680950 INF xstats interrupt_assert_count           : 1

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Net/igc's rte_eth_rx_burst() never returns packets
  2024-08-01 10:26 Net/igc's rte_eth_rx_burst() never returns packets Fabio Fernandes
@ 2024-08-01 12:24 ` Ivan Malov
  2024-08-01 17:40   ` Fabio Fernandes
  0 siblings, 1 reply; 6+ messages in thread
From: Ivan Malov @ 2024-08-01 12:24 UTC (permalink / raw)
  To: Fabio Fernandes; +Cc: users

[-- Attachment #1: Type: text/plain, Size: 4846 bytes --]

Hi Fabio,

Have you tried to specify EAL option --log-level="pmd.net.igc,debug"
or --log-level='.*',8 when running the application? Perhaps doing
so can trigger printouts [1], [2]. See if you can't observe those.

Perhaps consider posting a brief excerpt of your code where
rte_eth_rx_burst() is invoked and return value is verified.

Also, albeit unrelated, it's rather peculiar that the code
does CPU-to-LE conversion [3] of descriptor status, but
the field itslef is declared as __le32 already: [4].

[1] https://github.com/DPDK/dpdk/blob/v24.03/drivers/net/igc/igc_txrx.c#L296
[2] https://github.com/DPDK/dpdk/blob/v24.03/drivers/net/igc/igc_txrx.c#L455
[3] https://github.com/DPDK/dpdk/blob/v24.03/drivers/net/igc/igc_txrx.c#L264
[4] https://github.com/DPDK/dpdk/blob/v24.03/drivers/net/igc/base/igc_base.h#L109

Thank you.

On Thu, 1 Aug 2024, Fabio Fernandes wrote:

> 
> Hi, 
> 
> I have an issue with rte_eth_rx_burst() for IGC poll mode driver never returning any packets and need some advice.
> I have this network port:
> 09:00.0 Ethernet controller: Intel Corporation Ethernet Controller I225-V (rev 03)
> 
> Bound to igb_uio:
> Network devices using DPDK-compatible driver
> ============================================
> 0000:09:00.0 'Ethernet Controller I225-V 15f3' drv=igb_uio unused=igc
> 
> I'm testing this both with testpmd and my own app, which works fine with other drivers such as net/ena and net/i40e. I'm using single RX/TX queue pair with default configs
> with rte_eth_promiscuous_enable() and rte_eth_allmulticast_enable().
> 
> The device seems to rte_eth_dev_start() fine, and rte_eth_stats_get() seem to be detecting inbound packets. Below is the output from testpmd:
>
>       Press enter to exiteth_igc_interrupt_action():  Port 0: Link Up - speed 1000 Mbps - full-duplex
> 
> Port 0: link state change event
> ^CTelling cores to stop...
> Waiting for lcores to finish...
> 
>   ---------------------- Forward statistics for port 0  ----------------------
>   RX-packets: 129            RX-dropped: 800           RX-total: 929
>   TX-packets: 0              TX-dropped: 0             TX-total: 0
>   ----------------------------------------------------------------------------
> 
>   +++++++++++++++ Accumulated forward statistics for all ports+++++++++++++++
>   RX-packets: 129            RX-dropped: 800           RX-total: 929
>   TX-packets: 0              TX-dropped: 0             TX-total: 0
>   ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> 
> Done.
> 
> 
> However, rte_eth_rx_burst() never returns anything, neither in testpmd nor in my own app.
> 
> In my own app, I log both rte_eth_stats_get() and non-zero xstats from rte_eth_xstats_get_by_id():
>
>       07:02:13.406873186 INF stats.rx                                : 0
> 07:02:13.406892616 INF dev_stats.ipackets                      : 78
> 07:02:13.406903636 INF dev_stats.opackets                      : 0
> 07:02:13.406914166 INF dev_stats.imissed                       : 0
> 07:02:13.406924536 INF dev_stats.ierrors                       : 0
> 07:02:13.406934116 INF dev_stats.oerrors                       : 0
> 07:02:13.406943956 INF dev_stats.rx_nombuf                     : 0
> 07:02:13.407247777 INF xstats rx_good_packets                  : 78
> 07:02:13.407257147 INF xstats rx_good_bytes                    : 17205
> 07:02:13.407265267 INF xstats rx_size_64_packets               : 6
> 07:02:13.407274627 INF xstats rx_size_65_to_127_packets        : 31
> 07:02:13.407285757 INF xstats rx_size_128_to_255_packets       : 22
> 07:02:13.407297537 INF xstats rx_size_256_to_511_packets       : 16
> 07:02:13.407309127 INF xstats rx_size_512_to_1023_packets      : 3
> 07:02:13.407321327 INF xstats rx_broadcast_packets             : 8
> 07:02:13.407331597 INF xstats rx_multicast_packets             : 64
> 07:02:13.407346357 INF xstats rx_total_packets                 : 78
> 07:02:13.407355547 INF xstats rx_total_bytes                   : 17205
> 07:02:13.407364127 INF xstats rx_sent_to_host_packets          : 78
> 07:02:13.407375347 INF xstats interrupt_assert_count           : 1
> 
> 
> Still, rte_eth_rx_burst() never returns anything. 
> 
> It's worthwhile to note that rte_eth_rx_burst() works fine when I, instead of net/igc, use net/ena (with ENA card) or net/i40e (Intel x710 card).
> 
> The debug log from EAL and net/igc is attached, in case that helps.
> There's a warning "igc_rx_init(): forcing scatter mode", but I've already tried changing my mbuf sizes so that the warning goes away but that also didn't help.
> 
> Any advice?
> 
> Thanks,
> Fabio
> 
> 
>

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Net/igc's rte_eth_rx_burst() never returns packets
  2024-08-01 12:24 ` Ivan Malov
@ 2024-08-01 17:40   ` Fabio Fernandes
  2024-08-01 19:16     ` Ivan Malov
  0 siblings, 1 reply; 6+ messages in thread
From: Fabio Fernandes @ 2024-08-01 17:40 UTC (permalink / raw)
  To: Ivan Malov; +Cc: users

[-- Attachment #1: Type: text/plain, Size: 6960 bytes --]

Hi Ivan,

Thank you for your response.

I've ran it with the flags you suggested and attached the produced log.

{ sudo ./dpdk-testpmd  --log-level=pmd.net.igc,debug 2>&1; } > testpmd_with_debug_and_rx_print.log;

testpmd_with_debug_and_rx_print.log.zip

However, the driver never reaches point[1] (nor [2]) and this debug line never got logged. I've placed break points to confirm that the loop always exits just before [1], at this check:
```
if (!(staterr & IGC_RXD_STAT_DD))
			break;
```

I've also instrumented testpmd.h as below, to confirm in the log file that RX is called many times and never returns anything but zeros:
```
static inline uint16_t
common_fwd_stream_receive(struct fwd_stream *fs, struct rte_mbuf **burst,
	unsigned int nb_pkts)
{
	uint16_t nb_rx;

	nb_rx = rte_eth_rx_burst(fs->rx_port, fs->rx_queue, burst, nb_pkts);

	// Instrumentation Begin
	{
		static uint64_t g_call_count = 0;
		static uint64_t g_rx_sum = 0;
		g_rx_sum += nb_rx;
		++g_call_count;
		if (nb_rx)
			fprintf(stderr, "rte_eth_rx_burst: %u\n", nb_rx);
		if ((g_call_count % 100000000UL) == 0)
			fprintf(stderr, "g_rx_sum: %lu, g_call_count: %lu\n",
					g_rx_sum, g_call_count);
	}
	// Instrumentation End

	if (record_burst_stats)
		fs->rx_burst_stats.pkt_burst_spread[nb_rx]++;
	fs->rx_packets += nb_rx;
	return nb_rx;
}

```

In regards to [3], I've changed that to use rte_cpu_to_be_32() instead and rebuilt DPDK, but with same results and the loop still always exits there.

I did, however, noticed something strange and this is probably a clue:

Every time I step over this line of `igc_rx_init()` in the debugger:
https://github.com/DPDK/dpdk/blob/v24.03/drivers/net/igc/igc_txrx.c#L1204

```
IGC_WRITE_REG(hw, IGC_RDT(rxq->reg_idx), rxq->nb_rx_desc - 1);
```

I get this in `dmesg` kernel, coming from the igb_uio kernel I've bound to the device I'm testing:

```
[26185.005945] igb_uio 0000:09:00.0: AMD-Vi: Event logged [IO_PAGE_FAULT domain=0x0011 address=0x116141a00 flags=0x0000]
```

The address matches this in the debugger:

```
	rxq->rx_ring_phys_addr
	$1 = 0x116141a00	
	
	rxq->reg_idx
	0

	rxq->nb_rx_desc
	1024	
```

What do you think?

For more info, I'm on this exact DPDK commit:
commit eeb0605f118dae66e80faa44f7b3e88748032353 (HEAD -> v23.11, tag: v23.11

Thanks,
Fabio


Sent with Proton Mail secure email.

On Thursday, August 1st, 2024 at 3:24 PM, Ivan Malov <ivan.malov@arknetworks.am> wrote:

> Hi Fabio,
> 
> Have you tried to specify EAL option --log-level="pmd.net.igc,debug"
> or --log-level='.*',8 when running the application? Perhaps doing
> so can trigger printouts [1], [2]. See if you can't observe those.
> 
> Perhaps consider posting a brief excerpt of your code where
> rte_eth_rx_burst() is invoked and return value is verified.
> 
> Also, albeit unrelated, it's rather peculiar that the code
> does CPU-to-LE conversion [3] of descriptor status, but
> the field itslef is declared as __le32 already: [4].
> 
> [1] https://github.com/DPDK/dpdk/blob/v24.03/drivers/net/igc/igc_txrx.c#L296
> [2] https://github.com/DPDK/dpdk/blob/v24.03/drivers/net/igc/igc_txrx.c#L455
> [3] https://github.com/DPDK/dpdk/blob/v24.03/drivers/net/igc/igc_txrx.c#L264
> [4] https://github.com/DPDK/dpdk/blob/v24.03/drivers/net/igc/base/igc_base.h#L109
> 
> Thank you.
> 
> On Thu, 1 Aug 2024, Fabio Fernandes wrote:
> 
> > Hi,
> > 
> > I have an issue with rte_eth_rx_burst() for IGC poll mode driver never returning any packets and need some advice.
> > I have this network port:
> > 09:00.0 Ethernet controller: Intel Corporation Ethernet Controller I225-V (rev 03)
> > 
> > Bound to igb_uio:
> > Network devices using DPDK-compatible driver
> > ============================================
> > 0000:09:00.0 'Ethernet Controller I225-V 15f3' drv=igb_uio unused=igc
> > 
> > I'm testing this both with testpmd and my own app, which works fine with other drivers such as net/ena and net/i40e. I'm using single RX/TX queue pair with default configs
> > with rte_eth_promiscuous_enable() and rte_eth_allmulticast_enable().
> > 
> > The device seems to rte_eth_dev_start() fine, and rte_eth_stats_get() seem to be detecting inbound packets. Below is the output from testpmd:
> > 
> > Press enter to exiteth_igc_interrupt_action(): Port 0: Link Up - speed 1000 Mbps - full-duplex
> > 
> > Port 0: link state change event
> > ^CTelling cores to stop...
> > Waiting for lcores to finish...
> > 
> > ---------------------- Forward statistics for port 0 ----------------------
> > RX-packets: 129 RX-dropped: 800 RX-total: 929
> > TX-packets: 0 TX-dropped: 0 TX-total: 0
> > ----------------------------------------------------------------------------
> > 
> > +++++++++++++++ Accumulated forward statistics for all ports+++++++++++++++
> > RX-packets: 129 RX-dropped: 800 RX-total: 929
> > TX-packets: 0 TX-dropped: 0 TX-total: 0
> > ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> > 
> > Done.
> > 
> > However, rte_eth_rx_burst() never returns anything, neither in testpmd nor in my own app.
> > 
> > In my own app, I log both rte_eth_stats_get() and non-zero xstats from rte_eth_xstats_get_by_id():
> > 
> > 07:02:13.406873186 INF stats.rx : 0
> > 07:02:13.406892616 INF dev_stats.ipackets : 78
> > 07:02:13.406903636 INF dev_stats.opackets : 0
> > 07:02:13.406914166 INF dev_stats.imissed : 0
> > 07:02:13.406924536 INF dev_stats.ierrors : 0
> > 07:02:13.406934116 INF dev_stats.oerrors : 0
> > 07:02:13.406943956 INF dev_stats.rx_nombuf : 0
> > 07:02:13.407247777 INF xstats rx_good_packets : 78
> > 07:02:13.407257147 INF xstats rx_good_bytes : 17205
> > 07:02:13.407265267 INF xstats rx_size_64_packets : 6
> > 07:02:13.407274627 INF xstats rx_size_65_to_127_packets : 31
> > 07:02:13.407285757 INF xstats rx_size_128_to_255_packets : 22
> > 07:02:13.407297537 INF xstats rx_size_256_to_511_packets : 16
> > 07:02:13.407309127 INF xstats rx_size_512_to_1023_packets : 3
> > 07:02:13.407321327 INF xstats rx_broadcast_packets : 8
> > 07:02:13.407331597 INF xstats rx_multicast_packets : 64
> > 07:02:13.407346357 INF xstats rx_total_packets : 78
> > 07:02:13.407355547 INF xstats rx_total_bytes : 17205
> > 07:02:13.407364127 INF xstats rx_sent_to_host_packets : 78
> > 07:02:13.407375347 INF xstats interrupt_assert_count : 1
> > 
> > Still, rte_eth_rx_burst() never returns anything.
> > 
> > It's worthwhile to note that rte_eth_rx_burst() works fine when I, instead of net/igc, use net/ena (with ENA card) or net/i40e (Intel x710 card).
> > 
> > The debug log from EAL and net/igc is attached, in case that helps.
> > There's a warning "igc_rx_init(): forcing scatter mode", but I've already tried changing my mbuf sizes so that the warning goes away but that also didn't help.
> > 
> > Any advice?
> > 
> > Thanks,
> > Fabio

[-- Attachment #2: testpmd_with_debug_and_rx_print.log.zip --]
[-- Type: application/zip, Size: 4297 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Net/igc's rte_eth_rx_burst() never returns packets
  2024-08-01 17:40   ` Fabio Fernandes
@ 2024-08-01 19:16     ` Ivan Malov
  2024-08-02 12:57       ` Fabio Fernandes
  0 siblings, 1 reply; 6+ messages in thread
From: Ivan Malov @ 2024-08-01 19:16 UTC (permalink / raw)
  To: Fabio Fernandes; +Cc: users

Hi Fabio,

With regard to endianness conversion, I'd rather expect that line
to be something like rte_le_to_cpu_32 as the source value is
declared __le32. But, as I noted before, this is likely a
don't care as your machine is probably little-endian, and
rte_cpu_to_le_32 thus might simply do nothing.

Whereas your observation of the error in dmesg is indeed a
valuable clue. Since it comes from igb_uio, my question is:
why at all use igb_uio? People say it's an outdated driver.
Have you considered using vfio-pci or uio_pci_generic
instead? I suggest you try binding to vfio-pci and
re-check with unmodified PMD source first.

Thank you.

On Thu, 1 Aug 2024, Fabio Fernandes wrote:

> Hi Ivan,
>
> Thank you for your response.
>
> I've ran it with the flags you suggested and attached the produced log.
>
> { sudo ./dpdk-testpmd  --log-level=pmd.net.igc,debug 2>&1; } > testpmd_with_debug_and_rx_print.log;
>
> testpmd_with_debug_and_rx_print.log.zip
>
> However, the driver never reaches point[1] (nor [2]) and this debug line never got logged. I've placed break points to confirm that the loop always exits just before [1], at this check:
> ```
> if (!(staterr & IGC_RXD_STAT_DD))
> 			break;
> ```
>
> I've also instrumented testpmd.h as below, to confirm in the log file that RX is called many times and never returns anything but zeros:
> ```
> static inline uint16_t
> common_fwd_stream_receive(struct fwd_stream *fs, struct rte_mbuf **burst,
> 	unsigned int nb_pkts)
> {
> 	uint16_t nb_rx;
>
> 	nb_rx = rte_eth_rx_burst(fs->rx_port, fs->rx_queue, burst, nb_pkts);
>
> 	// Instrumentation Begin
> 	{
> 		static uint64_t g_call_count = 0;
> 		static uint64_t g_rx_sum = 0;
> 		g_rx_sum += nb_rx;
> 		++g_call_count;
> 		if (nb_rx)
> 			fprintf(stderr, "rte_eth_rx_burst: %u\n", nb_rx);
> 		if ((g_call_count % 100000000UL) == 0)
> 			fprintf(stderr, "g_rx_sum: %lu, g_call_count: %lu\n",
> 					g_rx_sum, g_call_count);
> 	}
> 	// Instrumentation End
>
> 	if (record_burst_stats)
> 		fs->rx_burst_stats.pkt_burst_spread[nb_rx]++;
> 	fs->rx_packets += nb_rx;
> 	return nb_rx;
> }
>
> ```
>
> In regards to [3], I've changed that to use rte_cpu_to_be_32() instead and rebuilt DPDK, but with same results and the loop still always exits there.
>
> I did, however, noticed something strange and this is probably a clue:
>
> Every time I step over this line of `igc_rx_init()` in the debugger:
> https://github.com/DPDK/dpdk/blob/v24.03/drivers/net/igc/igc_txrx.c#L1204
>
> ```
> IGC_WRITE_REG(hw, IGC_RDT(rxq->reg_idx), rxq->nb_rx_desc - 1);
> ```
>
> I get this in `dmesg` kernel, coming from the igb_uio kernel I've bound to the device I'm testing:
>
> ```
> [26185.005945] igb_uio 0000:09:00.0: AMD-Vi: Event logged [IO_PAGE_FAULT domain=0x0011 address=0x116141a00 flags=0x0000]
> ```
>
> The address matches this in the debugger:
>
> ```
> 	rxq->rx_ring_phys_addr
> 	$1 = 0x116141a00
>
> 	rxq->reg_idx
> 	0
>
> 	rxq->nb_rx_desc
> 	1024
> ```
>
> What do you think?
>
> For more info, I'm on this exact DPDK commit:
> commit eeb0605f118dae66e80faa44f7b3e88748032353 (HEAD -> v23.11, tag: v23.11
>
> Thanks,
> Fabio
>
>
> Sent with Proton Mail secure email.
>
> On Thursday, August 1st, 2024 at 3:24 PM, Ivan Malov <ivan.malov@arknetworks.am> wrote:
>
>> Hi Fabio,
>>
>> Have you tried to specify EAL option --log-level="pmd.net.igc,debug"
>> or --log-level='.*',8 when running the application? Perhaps doing
>> so can trigger printouts [1], [2]. See if you can't observe those.
>>
>> Perhaps consider posting a brief excerpt of your code where
>> rte_eth_rx_burst() is invoked and return value is verified.
>>
>> Also, albeit unrelated, it's rather peculiar that the code
>> does CPU-to-LE conversion [3] of descriptor status, but
>> the field itslef is declared as __le32 already: [4].
>>
>> [1] https://github.com/DPDK/dpdk/blob/v24.03/drivers/net/igc/igc_txrx.c#L296
>> [2] https://github.com/DPDK/dpdk/blob/v24.03/drivers/net/igc/igc_txrx.c#L455
>> [3] https://github.com/DPDK/dpdk/blob/v24.03/drivers/net/igc/igc_txrx.c#L264
>> [4] https://github.com/DPDK/dpdk/blob/v24.03/drivers/net/igc/base/igc_base.h#L109
>>
>> Thank you.
>>
>> On Thu, 1 Aug 2024, Fabio Fernandes wrote:
>>
>>> Hi,
>>>
>>> I have an issue with rte_eth_rx_burst() for IGC poll mode driver never returning any packets and need some advice.
>>> I have this network port:
>>> 09:00.0 Ethernet controller: Intel Corporation Ethernet Controller I225-V (rev 03)
>>>
>>> Bound to igb_uio:
>>> Network devices using DPDK-compatible driver
>>> ============================================
>>> 0000:09:00.0 'Ethernet Controller I225-V 15f3' drv=igb_uio unused=igc
>>>
>>> I'm testing this both with testpmd and my own app, which works fine with other drivers such as net/ena and net/i40e. I'm using single RX/TX queue pair with default configs
>>> with rte_eth_promiscuous_enable() and rte_eth_allmulticast_enable().
>>>
>>> The device seems to rte_eth_dev_start() fine, and rte_eth_stats_get() seem to be detecting inbound packets. Below is the output from testpmd:
>>>
>>> Press enter to exiteth_igc_interrupt_action(): Port 0: Link Up - speed 1000 Mbps - full-duplex
>>>
>>> Port 0: link state change event
>>> ^CTelling cores to stop...
>>> Waiting for lcores to finish...
>>>
>>> ---------------------- Forward statistics for port 0 ----------------------
>>> RX-packets: 129 RX-dropped: 800 RX-total: 929
>>> TX-packets: 0 TX-dropped: 0 TX-total: 0
>>> ----------------------------------------------------------------------------
>>>
>>> +++++++++++++++ Accumulated forward statistics for all ports+++++++++++++++
>>> RX-packets: 129 RX-dropped: 800 RX-total: 929
>>> TX-packets: 0 TX-dropped: 0 TX-total: 0
>>> ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
>>>
>>> Done.
>>>
>>> However, rte_eth_rx_burst() never returns anything, neither in testpmd nor in my own app.
>>>
>>> In my own app, I log both rte_eth_stats_get() and non-zero xstats from rte_eth_xstats_get_by_id():
>>>
>>> 07:02:13.406873186 INF stats.rx : 0
>>> 07:02:13.406892616 INF dev_stats.ipackets : 78
>>> 07:02:13.406903636 INF dev_stats.opackets : 0
>>> 07:02:13.406914166 INF dev_stats.imissed : 0
>>> 07:02:13.406924536 INF dev_stats.ierrors : 0
>>> 07:02:13.406934116 INF dev_stats.oerrors : 0
>>> 07:02:13.406943956 INF dev_stats.rx_nombuf : 0
>>> 07:02:13.407247777 INF xstats rx_good_packets : 78
>>> 07:02:13.407257147 INF xstats rx_good_bytes : 17205
>>> 07:02:13.407265267 INF xstats rx_size_64_packets : 6
>>> 07:02:13.407274627 INF xstats rx_size_65_to_127_packets : 31
>>> 07:02:13.407285757 INF xstats rx_size_128_to_255_packets : 22
>>> 07:02:13.407297537 INF xstats rx_size_256_to_511_packets : 16
>>> 07:02:13.407309127 INF xstats rx_size_512_to_1023_packets : 3
>>> 07:02:13.407321327 INF xstats rx_broadcast_packets : 8
>>> 07:02:13.407331597 INF xstats rx_multicast_packets : 64
>>> 07:02:13.407346357 INF xstats rx_total_packets : 78
>>> 07:02:13.407355547 INF xstats rx_total_bytes : 17205
>>> 07:02:13.407364127 INF xstats rx_sent_to_host_packets : 78
>>> 07:02:13.407375347 INF xstats interrupt_assert_count : 1
>>>
>>> Still, rte_eth_rx_burst() never returns anything.
>>>
>>> It's worthwhile to note that rte_eth_rx_burst() works fine when I, instead of net/igc, use net/ena (with ENA card) or net/i40e (Intel x710 card).
>>>
>>> The debug log from EAL and net/igc is attached, in case that helps.
>>> There's a warning "igc_rx_init(): forcing scatter mode", but I've already tried changing my mbuf sizes so that the warning goes away but that also didn't help.
>>>
>>> Any advice?
>>>
>>> Thanks,
>>> Fabio

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Net/igc's rte_eth_rx_burst() never returns packets
  2024-08-01 19:16     ` Ivan Malov
@ 2024-08-02 12:57       ` Fabio Fernandes
  2024-08-02 15:14         ` Ivan Malov
  0 siblings, 1 reply; 6+ messages in thread
From: Fabio Fernandes @ 2024-08-02 12:57 UTC (permalink / raw)
  To: Ivan Malov; +Cc: users

Hi Ivan,

I'm using igb_uio because it's the one recommended for my target network card net/ena.

I've tried both vfio-pci and uio_pci_generic, but they fail for different reasons.

With vfio-pci, EAL tells me:

```
EAL: PCI device 0000:09:00.0 on NUMA socket -1
EAL:   probe driver: 8086:15f3 net_igc
EAL: 0000:09:00.0 VFIO group is not viable! Not all devices in IOMMU group bound to VFIO or unbound
EAL: Requested device 0000:09:00.0 cannot be used
```

I tried adding kernel boot parameter `iommu=on` with no luck.
I also tried unbinding my other cards:

```
Network devices using DPDK-compatible driver
============================================
0000:09:00.0 'Ethernet Controller I225-V 15f3' drv=vfio-pci unused=igc,uio_pci_generic

Other Network devices
=====================
0000:08:00.0 'MT7922 802.11ax PCI Express Wireless Network Adapter 0616' unused=mt7921e,vfio-pci,uio_pci_generic
0000:0a:00.0 'AQtion AQC113CS NBase-T/IEEE 802.3an Ethernet Controller [Antigua 10G] 94c0' unused=atlantic,vfio-pci,uio_pci_generic
```

Resulting rte_eth_dev_count_total() == 0, so nothing starts.


Finally, I also tried `uio_pci_generic`:

```
Network devices using DPDK-compatible driver
============================================
0000:09:00.0 'Ethernet Controller I225-V 15f3' drv=uio_pci_generic unused=igc,vfio-pci
```

This time DPDK accepts the device, however, I see the same old dmesg error appearing again:

```
[ 1449.570184] uio_pci_generic 0000:09:00.0: AMD-Vi: Event logged [IO_PAGE_FAULT domain=0x0011 address=0x13397ff80 flags=0x0000]
```

If you do have any further suggestions, please let me know.
In any case, thank you for your feedback so far!

Regards,
Fabio


Sent with Proton Mail secure email.

On Thursday, August 1st, 2024 at 10:16 PM, Ivan Malov <ivan.malov@arknetworks.am> wrote:

> Hi Fabio,
> 
> With regard to endianness conversion, I'd rather expect that line
> to be something like rte_le_to_cpu_32 as the source value is
> declared __le32. But, as I noted before, this is likely a
> don't care as your machine is probably little-endian, and
> rte_cpu_to_le_32 thus might simply do nothing.
> 
> Whereas your observation of the error in dmesg is indeed a
> valuable clue. Since it comes from igb_uio, my question is:
> why at all use igb_uio? People say it's an outdated driver.
> Have you considered using vfio-pci or uio_pci_generic
> instead? I suggest you try binding to vfio-pci and
> re-check with unmodified PMD source first.
> 
> Thank you.
> 
> On Thu, 1 Aug 2024, Fabio Fernandes wrote:
> 
> > Hi Ivan,
> > 
> > Thank you for your response.
> > 
> > I've ran it with the flags you suggested and attached the produced log.
> > 
> > { sudo ./dpdk-testpmd --log-level=pmd.net.igc,debug 2>&1; } > testpmd_with_debug_and_rx_print.log;
> > 
> > testpmd_with_debug_and_rx_print.log.zip
> > 
> > However, the driver never reaches point[1] (nor [2]) and this debug line never got logged. I've placed break points to confirm that the loop always exits just before [1], at this check:
> > `if (!(staterr & IGC_RXD_STAT_DD)) break;`
> > 
> > I've also instrumented testpmd.h as below, to confirm in the log file that RX is called many times and never returns anything but zeros:
> > ```
> > static inline uint16_t
> > common_fwd_stream_receive(struct fwd_stream *fs, struct rte_mbuf **burst,
> > unsigned int nb_pkts)
> > {
> > uint16_t nb_rx;
> > 
> > nb_rx = rte_eth_rx_burst(fs->rx_port, fs->rx_queue, burst, nb_pkts);
> > 
> > // Instrumentation Begin
> > {
> > static uint64_t g_call_count = 0;
> > static uint64_t g_rx_sum = 0;
> > g_rx_sum += nb_rx;
> > ++g_call_count;
> > if (nb_rx)
> > fprintf(stderr, "rte_eth_rx_burst: %u\n", nb_rx);
> > if ((g_call_count % 100000000UL) == 0)
> > fprintf(stderr, "g_rx_sum: %lu, g_call_count: %lu\n",
> > g_rx_sum, g_call_count);
> > }
> > // Instrumentation End
> > 
> > if (record_burst_stats)
> > fs->rx_burst_stats.pkt_burst_spread[nb_rx]++;
> > fs->rx_packets += nb_rx;
> > return nb_rx;
> > }
> > 
> > ```
> > 
> > In regards to [3], I've changed that to use rte_cpu_to_be_32() instead and rebuilt DPDK, but with same results and the loop still always exits there.
> > 
> > I did, however, noticed something strange and this is probably a clue:
> > 
> > Every time I step over this line of `igc_rx_init()` in the debugger:
> > https://github.com/DPDK/dpdk/blob/v24.03/drivers/net/igc/igc_txrx.c#L1204
> > 
> > `IGC_WRITE_REG(hw, IGC_RDT(rxq->reg_idx), rxq->nb_rx_desc - 1);`
> > 
> > I get this in `dmesg` kernel, coming from the igb_uio kernel I've bound to the device I'm testing:
> > 
> > `[26185.005945] igb_uio 0000:09:00.0: AMD-Vi: Event logged [IO_PAGE_FAULT domain=0x0011 address=0x116141a00 flags=0x0000]`
> > 
> > The address matches this in the debugger:
> > 
> > ```
> > rxq->rx_ring_phys_addr
> > $1 = 0x116141a00
> > 
> > rxq->reg_idx
> > 0
> > 
> > rxq->nb_rx_desc
> > 1024
> > ```
> > 
> > What do you think?
> > 
> > For more info, I'm on this exact DPDK commit:
> > commit eeb0605f118dae66e80faa44f7b3e88748032353 (HEAD -> v23.11, tag: v23.11
> > 
> > Thanks,
> > Fabio
> > 
> > Sent with Proton Mail secure email.
> > 
> > On Thursday, August 1st, 2024 at 3:24 PM, Ivan Malov ivan.malov@arknetworks.am wrote:
> > 
> > > Hi Fabio,
> > > 
> > > Have you tried to specify EAL option --log-level="pmd.net.igc,debug"
> > > or --log-level='.*',8 when running the application? Perhaps doing
> > > so can trigger printouts [1], [2]. See if you can't observe those.
> > > 
> > > Perhaps consider posting a brief excerpt of your code where
> > > rte_eth_rx_burst() is invoked and return value is verified.
> > > 
> > > Also, albeit unrelated, it's rather peculiar that the code
> > > does CPU-to-LE conversion [3] of descriptor status, but
> > > the field itslef is declared as __le32 already: [4].
> > > 
> > > [1] https://github.com/DPDK/dpdk/blob/v24.03/drivers/net/igc/igc_txrx.c#L296
> > > [2] https://github.com/DPDK/dpdk/blob/v24.03/drivers/net/igc/igc_txrx.c#L455
> > > [3] https://github.com/DPDK/dpdk/blob/v24.03/drivers/net/igc/igc_txrx.c#L264
> > > [4] https://github.com/DPDK/dpdk/blob/v24.03/drivers/net/igc/base/igc_base.h#L109
> > > 
> > > Thank you.
> > > 
> > > On Thu, 1 Aug 2024, Fabio Fernandes wrote:
> > > 
> > > > Hi,
> > > > 
> > > > I have an issue with rte_eth_rx_burst() for IGC poll mode driver never returning any packets and need some advice.
> > > > I have this network port:
> > > > 09:00.0 Ethernet controller: Intel Corporation Ethernet Controller I225-V (rev 03)
> > > > 
> > > > Bound to igb_uio:
> > > > Network devices using DPDK-compatible driver
> > > > ============================================
> > > > 0000:09:00.0 'Ethernet Controller I225-V 15f3' drv=igb_uio unused=igc
> > > > 
> > > > I'm testing this both with testpmd and my own app, which works fine with other drivers such as net/ena and net/i40e. I'm using single RX/TX queue pair with default configs
> > > > with rte_eth_promiscuous_enable() and rte_eth_allmulticast_enable().
> > > > 
> > > > The device seems to rte_eth_dev_start() fine, and rte_eth_stats_get() seem to be detecting inbound packets. Below is the output from testpmd:
> > > > 
> > > > Press enter to exiteth_igc_interrupt_action(): Port 0: Link Up - speed 1000 Mbps - full-duplex
> > > > 
> > > > Port 0: link state change event
> > > > ^CTelling cores to stop...
> > > > Waiting for lcores to finish...
> > > > 
> > > > ---------------------- Forward statistics for port 0 ----------------------
> > > > RX-packets: 129 RX-dropped: 800 RX-total: 929
> > > > TX-packets: 0 TX-dropped: 0 TX-total: 0
> > > > ----------------------------------------------------------------------------
> > > > 
> > > > +++++++++++++++ Accumulated forward statistics for all ports+++++++++++++++
> > > > RX-packets: 129 RX-dropped: 800 RX-total: 929
> > > > TX-packets: 0 TX-dropped: 0 TX-total: 0
> > > > ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> > > > 
> > > > Done.
> > > > 
> > > > However, rte_eth_rx_burst() never returns anything, neither in testpmd nor in my own app.
> > > > 
> > > > In my own app, I log both rte_eth_stats_get() and non-zero xstats from rte_eth_xstats_get_by_id():
> > > > 
> > > > 07:02:13.406873186 INF stats.rx : 0
> > > > 07:02:13.406892616 INF dev_stats.ipackets : 78
> > > > 07:02:13.406903636 INF dev_stats.opackets : 0
> > > > 07:02:13.406914166 INF dev_stats.imissed : 0
> > > > 07:02:13.406924536 INF dev_stats.ierrors : 0
> > > > 07:02:13.406934116 INF dev_stats.oerrors : 0
> > > > 07:02:13.406943956 INF dev_stats.rx_nombuf : 0
> > > > 07:02:13.407247777 INF xstats rx_good_packets : 78
> > > > 07:02:13.407257147 INF xstats rx_good_bytes : 17205
> > > > 07:02:13.407265267 INF xstats rx_size_64_packets : 6
> > > > 07:02:13.407274627 INF xstats rx_size_65_to_127_packets : 31
> > > > 07:02:13.407285757 INF xstats rx_size_128_to_255_packets : 22
> > > > 07:02:13.407297537 INF xstats rx_size_256_to_511_packets : 16
> > > > 07:02:13.407309127 INF xstats rx_size_512_to_1023_packets : 3
> > > > 07:02:13.407321327 INF xstats rx_broadcast_packets : 8
> > > > 07:02:13.407331597 INF xstats rx_multicast_packets : 64
> > > > 07:02:13.407346357 INF xstats rx_total_packets : 78
> > > > 07:02:13.407355547 INF xstats rx_total_bytes : 17205
> > > > 07:02:13.407364127 INF xstats rx_sent_to_host_packets : 78
> > > > 07:02:13.407375347 INF xstats interrupt_assert_count : 1
> > > > 
> > > > Still, rte_eth_rx_burst() never returns anything.
> > > > 
> > > > It's worthwhile to note that rte_eth_rx_burst() works fine when I, instead of net/igc, use net/ena (with ENA card) or net/i40e (Intel x710 card).
> > > > 
> > > > The debug log from EAL and net/igc is attached, in case that helps.
> > > > There's a warning "igc_rx_init(): forcing scatter mode", but I've already tried changing my mbuf sizes so that the warning goes away but that also didn't help.
> > > > 
> > > > Any advice?
> > > > 
> > > > Thanks,
> > > > Fabio

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Net/igc's rte_eth_rx_burst() never returns packets
  2024-08-02 12:57       ` Fabio Fernandes
@ 2024-08-02 15:14         ` Ivan Malov
  0 siblings, 0 replies; 6+ messages in thread
From: Ivan Malov @ 2024-08-02 15:14 UTC (permalink / raw)
  To: Fabio Fernandes; +Cc: users

Hi Fabio,

How about running
find /sys/kernel/iommu_groups/ -type l
to identify devices that are in the same IOMMU group as 0000:09:00.0 ?

Thank you.

On Fri, 2 Aug 2024, Fabio Fernandes wrote:

> Hi Ivan,
>
> I'm using igb_uio because it's the one recommended for my target network card net/ena.
>
> I've tried both vfio-pci and uio_pci_generic, but they fail for different reasons.
>
> With vfio-pci, EAL tells me:
>
> ```
> EAL: PCI device 0000:09:00.0 on NUMA socket -1
> EAL:   probe driver: 8086:15f3 net_igc
> EAL: 0000:09:00.0 VFIO group is not viable! Not all devices in IOMMU group bound to VFIO or unbound
> EAL: Requested device 0000:09:00.0 cannot be used
> ```
>
> I tried adding kernel boot parameter `iommu=on` with no luck.
> I also tried unbinding my other cards:
>
> ```
> Network devices using DPDK-compatible driver
> ============================================
> 0000:09:00.0 'Ethernet Controller I225-V 15f3' drv=vfio-pci unused=igc,uio_pci_generic
>
> Other Network devices
> =====================
> 0000:08:00.0 'MT7922 802.11ax PCI Express Wireless Network Adapter 0616' unused=mt7921e,vfio-pci,uio_pci_generic
> 0000:0a:00.0 'AQtion AQC113CS NBase-T/IEEE 802.3an Ethernet Controller [Antigua 10G] 94c0' unused=atlantic,vfio-pci,uio_pci_generic
> ```
>
> Resulting rte_eth_dev_count_total() == 0, so nothing starts.
>
>
> Finally, I also tried `uio_pci_generic`:
>
> ```
> Network devices using DPDK-compatible driver
> ============================================
> 0000:09:00.0 'Ethernet Controller I225-V 15f3' drv=uio_pci_generic unused=igc,vfio-pci
> ```
>
> This time DPDK accepts the device, however, I see the same old dmesg error appearing again:
>
> ```
> [ 1449.570184] uio_pci_generic 0000:09:00.0: AMD-Vi: Event logged [IO_PAGE_FAULT domain=0x0011 address=0x13397ff80 flags=0x0000]
> ```
>
> If you do have any further suggestions, please let me know.
> In any case, thank you for your feedback so far!
>
> Regards,
> Fabio
>
>
> Sent with Proton Mail secure email.
>
> On Thursday, August 1st, 2024 at 10:16 PM, Ivan Malov <ivan.malov@arknetworks.am> wrote:
>
>> Hi Fabio,
>>
>> With regard to endianness conversion, I'd rather expect that line
>> to be something like rte_le_to_cpu_32 as the source value is
>> declared __le32. But, as I noted before, this is likely a
>> don't care as your machine is probably little-endian, and
>> rte_cpu_to_le_32 thus might simply do nothing.
>>
>> Whereas your observation of the error in dmesg is indeed a
>> valuable clue. Since it comes from igb_uio, my question is:
>> why at all use igb_uio? People say it's an outdated driver.
>> Have you considered using vfio-pci or uio_pci_generic
>> instead? I suggest you try binding to vfio-pci and
>> re-check with unmodified PMD source first.
>>
>> Thank you.
>>
>> On Thu, 1 Aug 2024, Fabio Fernandes wrote:
>>
>>> Hi Ivan,
>>>
>>> Thank you for your response.
>>>
>>> I've ran it with the flags you suggested and attached the produced log.
>>>
>>> { sudo ./dpdk-testpmd --log-level=pmd.net.igc,debug 2>&1; } > testpmd_with_debug_and_rx_print.log;
>>>
>>> testpmd_with_debug_and_rx_print.log.zip
>>>
>>> However, the driver never reaches point[1] (nor [2]) and this debug line never got logged. I've placed break points to confirm that the loop always exits just before [1], at this check:
>>> `if (!(staterr & IGC_RXD_STAT_DD)) break;`
>>>
>>> I've also instrumented testpmd.h as below, to confirm in the log file that RX is called many times and never returns anything but zeros:
>>> ```
>>> static inline uint16_t
>>> common_fwd_stream_receive(struct fwd_stream *fs, struct rte_mbuf **burst,
>>> unsigned int nb_pkts)
>>> {
>>> uint16_t nb_rx;
>>>
>>> nb_rx = rte_eth_rx_burst(fs->rx_port, fs->rx_queue, burst, nb_pkts);
>>>
>>> // Instrumentation Begin
>>> {
>>> static uint64_t g_call_count = 0;
>>> static uint64_t g_rx_sum = 0;
>>> g_rx_sum += nb_rx;
>>> ++g_call_count;
>>> if (nb_rx)
>>> fprintf(stderr, "rte_eth_rx_burst: %u\n", nb_rx);
>>> if ((g_call_count % 100000000UL) == 0)
>>> fprintf(stderr, "g_rx_sum: %lu, g_call_count: %lu\n",
>>> g_rx_sum, g_call_count);
>>> }
>>> // Instrumentation End
>>>
>>> if (record_burst_stats)
>>> fs->rx_burst_stats.pkt_burst_spread[nb_rx]++;
>>> fs->rx_packets += nb_rx;
>>> return nb_rx;
>>> }
>>>
>>> ```
>>>
>>> In regards to [3], I've changed that to use rte_cpu_to_be_32() instead and rebuilt DPDK, but with same results and the loop still always exits there.
>>>
>>> I did, however, noticed something strange and this is probably a clue:
>>>
>>> Every time I step over this line of `igc_rx_init()` in the debugger:
>>> https://github.com/DPDK/dpdk/blob/v24.03/drivers/net/igc/igc_txrx.c#L1204
>>>
>>> `IGC_WRITE_REG(hw, IGC_RDT(rxq->reg_idx), rxq->nb_rx_desc - 1);`
>>>
>>> I get this in `dmesg` kernel, coming from the igb_uio kernel I've bound to the device I'm testing:
>>>
>>> `[26185.005945] igb_uio 0000:09:00.0: AMD-Vi: Event logged [IO_PAGE_FAULT domain=0x0011 address=0x116141a00 flags=0x0000]`
>>>
>>> The address matches this in the debugger:
>>>
>>> ```
>>> rxq->rx_ring_phys_addr
>>> $1 = 0x116141a00
>>>
>>> rxq->reg_idx
>>> 0
>>>
>>> rxq->nb_rx_desc
>>> 1024
>>> ```
>>>
>>> What do you think?
>>>
>>> For more info, I'm on this exact DPDK commit:
>>> commit eeb0605f118dae66e80faa44f7b3e88748032353 (HEAD -> v23.11, tag: v23.11
>>>
>>> Thanks,
>>> Fabio
>>>
>>> Sent with Proton Mail secure email.
>>>
>>> On Thursday, August 1st, 2024 at 3:24 PM, Ivan Malov ivan.malov@arknetworks.am wrote:
>>>
>>>> Hi Fabio,
>>>>
>>>> Have you tried to specify EAL option --log-level="pmd.net.igc,debug"
>>>> or --log-level='.*',8 when running the application? Perhaps doing
>>>> so can trigger printouts [1], [2]. See if you can't observe those.
>>>>
>>>> Perhaps consider posting a brief excerpt of your code where
>>>> rte_eth_rx_burst() is invoked and return value is verified.
>>>>
>>>> Also, albeit unrelated, it's rather peculiar that the code
>>>> does CPU-to-LE conversion [3] of descriptor status, but
>>>> the field itslef is declared as __le32 already: [4].
>>>>
>>>> [1] https://github.com/DPDK/dpdk/blob/v24.03/drivers/net/igc/igc_txrx.c#L296
>>>> [2] https://github.com/DPDK/dpdk/blob/v24.03/drivers/net/igc/igc_txrx.c#L455
>>>> [3] https://github.com/DPDK/dpdk/blob/v24.03/drivers/net/igc/igc_txrx.c#L264
>>>> [4] https://github.com/DPDK/dpdk/blob/v24.03/drivers/net/igc/base/igc_base.h#L109
>>>>
>>>> Thank you.
>>>>
>>>> On Thu, 1 Aug 2024, Fabio Fernandes wrote:
>>>>
>>>>> Hi,
>>>>>
>>>>> I have an issue with rte_eth_rx_burst() for IGC poll mode driver never returning any packets and need some advice.
>>>>> I have this network port:
>>>>> 09:00.0 Ethernet controller: Intel Corporation Ethernet Controller I225-V (rev 03)
>>>>>
>>>>> Bound to igb_uio:
>>>>> Network devices using DPDK-compatible driver
>>>>> ============================================
>>>>> 0000:09:00.0 'Ethernet Controller I225-V 15f3' drv=igb_uio unused=igc
>>>>>
>>>>> I'm testing this both with testpmd and my own app, which works fine with other drivers such as net/ena and net/i40e. I'm using single RX/TX queue pair with default configs
>>>>> with rte_eth_promiscuous_enable() and rte_eth_allmulticast_enable().
>>>>>
>>>>> The device seems to rte_eth_dev_start() fine, and rte_eth_stats_get() seem to be detecting inbound packets. Below is the output from testpmd:
>>>>>
>>>>> Press enter to exiteth_igc_interrupt_action(): Port 0: Link Up - speed 1000 Mbps - full-duplex
>>>>>
>>>>> Port 0: link state change event
>>>>> ^CTelling cores to stop...
>>>>> Waiting for lcores to finish...
>>>>>
>>>>> ---------------------- Forward statistics for port 0 ----------------------
>>>>> RX-packets: 129 RX-dropped: 800 RX-total: 929
>>>>> TX-packets: 0 TX-dropped: 0 TX-total: 0
>>>>> ----------------------------------------------------------------------------
>>>>>
>>>>> +++++++++++++++ Accumulated forward statistics for all ports+++++++++++++++
>>>>> RX-packets: 129 RX-dropped: 800 RX-total: 929
>>>>> TX-packets: 0 TX-dropped: 0 TX-total: 0
>>>>> ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
>>>>>
>>>>> Done.
>>>>>
>>>>> However, rte_eth_rx_burst() never returns anything, neither in testpmd nor in my own app.
>>>>>
>>>>> In my own app, I log both rte_eth_stats_get() and non-zero xstats from rte_eth_xstats_get_by_id():
>>>>>
>>>>> 07:02:13.406873186 INF stats.rx : 0
>>>>> 07:02:13.406892616 INF dev_stats.ipackets : 78
>>>>> 07:02:13.406903636 INF dev_stats.opackets : 0
>>>>> 07:02:13.406914166 INF dev_stats.imissed : 0
>>>>> 07:02:13.406924536 INF dev_stats.ierrors : 0
>>>>> 07:02:13.406934116 INF dev_stats.oerrors : 0
>>>>> 07:02:13.406943956 INF dev_stats.rx_nombuf : 0
>>>>> 07:02:13.407247777 INF xstats rx_good_packets : 78
>>>>> 07:02:13.407257147 INF xstats rx_good_bytes : 17205
>>>>> 07:02:13.407265267 INF xstats rx_size_64_packets : 6
>>>>> 07:02:13.407274627 INF xstats rx_size_65_to_127_packets : 31
>>>>> 07:02:13.407285757 INF xstats rx_size_128_to_255_packets : 22
>>>>> 07:02:13.407297537 INF xstats rx_size_256_to_511_packets : 16
>>>>> 07:02:13.407309127 INF xstats rx_size_512_to_1023_packets : 3
>>>>> 07:02:13.407321327 INF xstats rx_broadcast_packets : 8
>>>>> 07:02:13.407331597 INF xstats rx_multicast_packets : 64
>>>>> 07:02:13.407346357 INF xstats rx_total_packets : 78
>>>>> 07:02:13.407355547 INF xstats rx_total_bytes : 17205
>>>>> 07:02:13.407364127 INF xstats rx_sent_to_host_packets : 78
>>>>> 07:02:13.407375347 INF xstats interrupt_assert_count : 1
>>>>>
>>>>> Still, rte_eth_rx_burst() never returns anything.
>>>>>
>>>>> It's worthwhile to note that rte_eth_rx_burst() works fine when I, instead of net/igc, use net/ena (with ENA card) or net/i40e (Intel x710 card).
>>>>>
>>>>> The debug log from EAL and net/igc is attached, in case that helps.
>>>>> There's a warning "igc_rx_init(): forcing scatter mode", but I've already tried changing my mbuf sizes so that the warning goes away but that also didn't help.
>>>>>
>>>>> Any advice?
>>>>>
>>>>> Thanks,
>>>>> Fabio
>

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2024-08-02 15:14 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-08-01 10:26 Net/igc's rte_eth_rx_burst() never returns packets Fabio Fernandes
2024-08-01 12:24 ` Ivan Malov
2024-08-01 17:40   ` Fabio Fernandes
2024-08-01 19:16     ` Ivan Malov
2024-08-02 12:57       ` Fabio Fernandes
2024-08-02 15:14         ` Ivan Malov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).