Thanks Norman for your suggestion. I modified the sculpt.run as you said but still the uplink session is not getting created may be because of the label mismatch.
[init] Warning: drivers: no route to service "Uplink" (label="drivers -> virtio_mmio_nic -> ") [init -> drivers -> virtio_mmio_nic] Error: Uplink-session creation failed (ram_quota=3538944, cap_quota=8, mac_address="52:54:00:12:34:56", tx_buf_size=1638400, rx_buf_size=1638400, label="") [init -> drivers -> virtio_mmio_nic] Error: Uncaught exception of type 'Genode::Service_denied'
I tried to figure it out by inspecting the run scripts and runtime configuration working behind the scenes but I am not able to provide that route to nic_router.So,Is there anything that needs to be changed in [1] to give the route to the uplink session. Also as you said that by default Sculpt labels the nic driver as "nic_drv" so is there any way to make it to virtio_mmio_nic by modifying these .cc files [2],[3],[4].Maybe i could be wrong for it.
Then kindly guide me towards it. Also i am sharing the modification that i did to scripts.
[1] https://github.com/genodelabs/genode/blob/master/repos/gems/run/sculpt.run#L... [2] https://github.com/genodelabs/genode/blob/master/repos/gems/src/app/sculpt_m... [3] https://github.com/genodelabs/genode/blob/master/repos/gems/src/app/sculpt_m... [4] https://github.com/genodelabs/genode/blob/master/repos/gems/src/app/sculpt_m...
Best Divya.
On Wed, Mar 15, 2023 at 4:53 PM Norman Feske norman.feske@genode-labs.com wrote:
Hello Divya,
On 2023-03-15 11:27, Divya Sharma wrote:
As you said i launched only [init -> runtime -> virtio_mmio_nic] component,but still the runtime version is not getting the mac address,as seen in the log ,don't why.Is there anything left for routing the uplink request from nic driver to virtio_mmio_nic.
may [1] be the missing piece of the puzzle?
[1]
https://github.com/genodelabs/genode/blob/master/repos/gems/run/sculpt.run#L...
By convention, Sculpt labels the nic driver as "nic_drv". When the sculpt manager generates the <start> node for runtime, it uses this generic name as binary name. Also, the <policy> node generated for the nic router takes this name as key for selecting the network domain.
If the label does not match, the nic router leaves the uplink session unused because it has no matching policy.
To bridge the gap between the generic convention and the platform- specific driver name, the sculpt.run script uses the 'nic_drv' and 'nic_drv_dtb' functions to rewrite the labels for the ROM sessions for the binary and dtb to the corresponding platform-specific names of the ROM modules at core.
Cheers Norman
-- Dr.-Ing. Norman Feske Genode Labs
https://www.genode-labs.com · https://genode.org
Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth
Genode users mailing list users@lists.genode.org https://lists.genode.org/listinfo/users