Hello Genodians
I'm back to working on the integration of the Intel IGC driver in to the pc_nic_drv.
I have rebased my work tree to latest master. I can run the driver and it starts up. The log output is as follows:
[init -> nic_drv_igc] NR_IRQS: 4352, nr_irqs: 4352, preallocated irqs: 256 [init -> nic_drv_igc] time-clocksource: dde_counter: mask: 0xffffffffffffff max_cycles: 0x1d854df40, max_idle_ns: 3526361616960 ns [init -> nic_drv_igc] time-clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns [init -> nic_drv_igc] time-clocksource: Switched to clocksource dde_counter [init -> nic_drv_igc] e1000-e1000_main: Intel(R) PRO/1000 Network Driver [init -> nic_drv_igc] e1000-e1000_main: Copyright (c) 1999-2006 Intel Corporation. [init -> nic_drv_igc] e1000e-netdev: Intel(R) PRO/1000 Network Driver [init -> nic_drv_igc] e1000e-netdev: Copyright(c) 1999 - 2015 Intel Corporation. [init -> nic_drv_igc] Intel(R) 2.5G Ethernet Linux Driver [init -> nic_drv_igc] Copyright(c) 2018 Intel Corporation. [init -> nic_drv_igc] igc 04:00.0: PCIe PTM not supported by PCIe bus/controller [init -> nic_drv_igc] igc 04:00.0 eth0: MAC: d8:bb:c1:5b:3a:18 [init -> nic_drv_igc] sched_clock: Marking stable (144026000, 246486000)->(405777000, -15265000) [init -> mac_report_rom] report 'nic_drv_igc -> devices' [init -> mac_report_rom] <devices> [init -> mac_report_rom] <nic name="eth0" mac_address="d8:bb:c1:5b:3a:18"/> [init -> mac_report_rom] </devices> [init -> nic_drv_igc] igc 04:00.0 eth0: NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX/TX [init -> nic_drv_igc] create uplink for net device eth0 [init -> nic_router] [uplink_igc] NIC sessions: 1 [init -> nic_router] [uplink_igc] snd ETH d8:bb:c1:5b:3a:18 > ff:ff:ff:ff:ff:ff IPV4 0.0.0.0 > 255.255.255.255 UDP 68 > 67 DHCP DISCOVER d8:bb:c1:5b:3a:18 > 0.0.0.0 [init -> nic_router] [uplink_igc] rcv ETH b4:2e:99:f9:18:72 > d8:bb:c1:5b:3a:18 IPV4 0.0.0.0 > 0.0.0.0
The last two lines get repeated.
In Wireshark I see that the DHCP server offers an IP to the MAC of the Intel IGC, but nic_router doesn't see that.
To be sure, that nothing is missing from the binary I would like to test the Linux kernel Image that get built by run make pc_linux. From what I understand, this wouldn't even need a root filesystem, as the kernel can do DHCP on its own.
Before I start piecing something together, I'd like to ask, if someone does have a ready solution which allows to boot that image via iPXE?
Regards, Pirmin