Change of session name at runtime

Ivan Loskutov loskutov.ivan at ...9...
Mon Jan 28 15:18:15 CET 2013


*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.

I have used a Nic interface for internal network drivers and I have
implemented two drivers, the first driver has implementation Nic server and
the second - Nic client. But I need one L4Linux would have two connection
to different Nic session. As I understand it cannot be solved in current
Genode implementation. For solve it I have made copy of the nic_session
headers with announce Nic2 session name.
Part of my config:
...
<start name="l4linux.1">
<binary name="l4linux-srv"/>
<resource name="RAM" quantum="200M"/>
<config args="mem=128M console=tty1 console=ttyS0 l4x_rd=rootfs1.cpio.gz
l4x_cpus=1 l4x_cpus_map=0"/>
<provides>
 <service name="Nic2"/>
</provides>
<route>
 <service name="Input">       <child name="linux.1"/> </service>
 <service name="Framebuffer"> <child name="linux.1"/> </service>
 <service name="Nic">         <child name="nic_drv.1"/> </service>
 <any-service> <parent/> <any-child/> </any-service>
</route>
</start>
<start name="l4linux.2">
<binary name="l4linux-clnt"/>
<resource name="RAM" quantum="200M"/>
<config args="mem=128M console=tty1 l4x_rd=rootfs2.cpio.gz l4x_cpus=1
l4x_cpus_map=1"/>
<route>
 <service name="Input">       <child name="linux.2"/> </service>
 <service name="Framebuffer"> <child name="linux.2"/> </service>
 <service name="Nic">         <child name="nic_drv.2"/> </service>
 <service name="Nic2">        <child name="l4linux.1"/> </service>
 <any-service> <parent/> <any-child/> </any-service>
</route>
</start>
...
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?*

--
Ivan Loskutov
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.genode.org/pipermail/users/attachments/20130128/ca495198/attachment.html>


More information about the users mailing list