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/277af913765f7e82b0f2a236e6b390ba4f450b6c 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 [email protected] https://lists.sourceforge.net/lists/listinfo/genode-main
