<div dir="ltr">I have tried the <if-arg> mechanism. It is work fine for my case. Thanks Norman.</div><div class="gmail_extra"><br clear="all"><div>--<br>Ivan Loskutov<br><br></div>
<br><br><div class="gmail_quote">2013/1/29 Ivan Loskutov <span dir="ltr"><<a href="mailto:loskutov.ivan@...9..." target="_blank">loskutov.ivan@...9...</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr"><div>Hello Norman,</div><div class="im"><div><br></div><div>> have you had a look at conditional session routes using '<if-args>'?</div><div>> Admittedly, it is not very well documented. Let's have a look at the the</div>

<div>> example given here:</div><div>> </div><div>>  <a href="http://genode.org/documentation/release-notes/11.11#Stub-driver_support" target="_blank">http://genode.org/documentation/release-notes/11.11#Stub-driver_support</a></div>

<div>></div><div>> In this example, one instance of L4Linux uses two block sessions that</div><div>> should be routed to different servers. Using the '<if-arg>' node, the</div><div>> routing is made depending on the label of the session ("l4android -></div>

<div>> sda" versus "l4android -> sdb"). L4Linux just passes the label "sda" or</div><div>>"sdb" as argument to the 'Block::Connection' constructor. Couldn't a</div>
<div>
> similar scheme work also for routing multiple Nic sessions to different</div><div>> Nic services? If you think so, we could add a label constructor argument</div><div>>to 'Nic::Connection', too.</div></div>
<div class="gmail_extra">
<div class="gmail_quote"><div><br></div><div>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.</div><div class="im">
<div><br></div><div>
<br></div><div>> There is currently no support for more than one NIC. In the presence of</div><div>> multiple networking adapters, we need a way to tell the driver, which</div><div>> NIC to use (e.g., using <config> parameters).</div>

<div><br></div></div><div>Yes, I have implemented selecting NIC device by driver <config>.</div><div class="im"><div> </div><div>> I wonder about your IRQ problems. Having multiple devices to share one</div><div>
> IRQ is expected to work. Maybe, your IRQ issues stem from a missing ACPI</div>
<div>> driver?</div><div><br></div></div><div>I have tried ACPI driver, but it didn't work in qemu and on my test PC.</div></div></div></div><div class="gmail_extra"><br clear="all"><div>--<br>Ivan Loskutov<br><br>
</div><div><div class="h5">

<br><br><div class="gmail_quote">2013/1/28 Norman Feske <span dir="ltr"><<a href="mailto:norman.feske@...1..." target="_blank">norman.feske@...1...</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

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