I have tried the <if-arg> mechanism. It is work fine for my case. Thanks Norman.
-- Ivan Loskutov
2013/1/29 Ivan Loskutov <loskutov.ivan@...9...>
Hello Norman,
have you had a look at conditional session routes using '<if-args>'? Admittedly, it is not very well documented. Let's have a look at the the example given here:
http://genode.org/documentation/release-notes/11.11#Stub-driver_support
In this example, one instance of L4Linux uses two block sessions that should be routed to different servers. Using the '<if-arg>' node, the routing is made depending on the label of the session ("l4android -> sda" versus "l4android -> sdb"). L4Linux just passes the label "sda" or "sdb" as argument to the 'Block::Connection' constructor. Couldn't a similar scheme work also for routing multiple Nic sessions to different Nic services? If you think so, we could add a label constructor argument to 'Nic::Connection', too.
Thank you for reference. I think '<if-arg>' mechanism is the good solution and it can be solve my issue. I'll try to implement it today.
There is currently no support for more than one NIC. In the presence of multiple networking adapters, we need a way to tell the driver, which NIC to use (e.g., using <config> parameters).
Yes, I have implemented selecting NIC device by driver <config>.
I wonder about your IRQ problems. Having multiple devices to share one IRQ is expected to work. Maybe, your IRQ issues stem from a missing ACPI driver?
I have tried ACPI driver, but it didn't work in qemu and on my test PC.
-- Ivan Loskutov
2013/1/28 Norman Feske <norman.feske@...1...>
Hi Ivan,
have you had a look at conditional session routes using '<if-args>'? Admittedly, it is not very well documented. Let's have a look at the the example given here:
http://genode.org/documentation/release-notes/11.11#Stub-driver_support
In this example, one instance of L4Linux uses two block sessions that should be routed to different servers. Using the '<if-arg>' node, the routing is made depending on the label of the session ("l4android -> sda" versus "l4android -> sdb"). L4Linux just passes the label "sda" or "sdb" as argument to the 'Block::Connection' constructor. Couldn't a similar scheme work also for routing multiple Nic sessions to different Nic services? If you think so, we could add a label constructor argument to 'Nic::Connection', too.
Heads-up warning: Recently, I slightly changed the label matching implementation of the '<if-arg>' mechanism. See here:
https://github.com/genodelabs/genode/commit/277af913765f7e82b0f2a236e6b390ba...
So with the new version, the matching string would be just "sda" instead of "l4andriod -> sda".
*I’m trying to implement virtual network between two instances of the L4Linux. Moreover, each L4Linux has access to own ethernet controller. Genode hasn’t support two NIC drivers yet. It not work because each NIC
try
to use one IRQ and interrupt handler doesn't work correct. It can be
solved
by remapping PCI interrupts. The interrupt handler was temporarily
moved to
PCI driver. But it isn’t a good solution.
There is currently no support for more than one NIC. In the presence of multiple networking adapters, we need a way to tell the driver, which NIC to use (e.g., using <config> parameters).
I wonder about your IRQ problems. Having multiple devices to share one IRQ is expected to work. Maybe, your IRQ issues stem from a missing ACPI driver?
... I think it would be nice to have session name can be changed in the
config
like binary executable name and session name for connection can be specified at runtime. This may look like: config: <provides> <service name=”Nic2” base_name=”Nic”/></provides> and source: Nic::Connection nic(“Nic2”); Is it possible? Maybe you have another solution?*
I would appreciate your feedback on how the '<if-arg>' mechanism works for you. At the first glance, I looks simpler than the introduction of aliases for service names. What do you think?
Cheers Norman
-- Dr.-Ing. Norman Feske Genode Labs
http://www.genode-labs.com · http://genode.org
Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth
Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS, MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft MVPs and experts. ON SALE this month only -- learn more at: http://p.sf.net/sfu/learnnow-d2d _______________________________________________ Genode-main mailing list Genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main