Hi,



"So I understand that you configured one L4Linux with two l4shmnet
network interfaces and one of those two did not work? Hard to tell for
me what's wrong without more info."

 I added printf lines to shmc.c file and the output I get the following output while a connection is created btw. the server and the first client.

//*************************************//
client1 |    l4shmc_create : starting  
client1 |    l4shmc_create : l4re_ns_register_obj_srv returned error  
client1 |    l4shmc_attach_to : starting  
client1 |    l4shmc_attach_to : no problem, returning L4_OK  
client1 |    l4shmc_add_chunk : starting  
client1 |    l4shmc_add_chunk : executing chunk_get  
client1 |    l4shmc_add_chunk : in the else side due to offs  
client1 |    l4shmc_add_chunk : returning L4_OK  
client1 |    l4shmc_add_signal : starting   
client1 |    l4shmc_add_signal : returning L4_EOK  
client1 |    l4shmc_get_chunk_to :starting  
server  |    l4shmc_get_chunk_to :starting  

net shm0: shm0: L4ShmNet established, with 54:42:00:00:ff:01, IRQ 66
client1 net shm0: shm0: L4ShmNet established, with  54:42:00:00:ff:02, IRQ 65


And the following output between the server and the second client:

//*************************************//
client2 |     l4shmc_create : starting
client2 |     l4shmc_create : l4re_ns_register_obj_srv returned error 
client2 |     l4shmc_attach_to : starting 
client2 |     l4shmc_attach_to : no problem, returning L4_OK 
client2 |     l4shmc_add_chunk : starting 
client2 |     l4shmc_add_chunk : executing chunk_get 
client2 |     l4shmc_add_chunk : in the else side due to offs 
client2 |     l4shmc_add_chunk : returning L4_OK 
client2 |     l4shmc_add_signal : starting 
client2 |     l4shmc_add_signal : returning L4_EOK 
client2 |     l4shmc_get_chunk_to :starting 
server  |     l4shmc_get_chunk_to :starting 
net shm1: shm1: L4ShmNet established, with 54:42:00:00:ff:04, IRQ 67
//*************************************//

As you can see, the second client does not respond after the connection established message from the server. I have two questions regarding this problem:

1) Is the message "l4re_ns_register_obj_srv returned error" the source of the problem? If so, then what might be the reason for this error? And also, why does the connection work properly between the first server and the client if that is the source of the problem?

2) Could it be the case that the second client obtains the same IRQ number with the first client(IRQ 65) or the server (IRQ66 or 67), and therefore the trigger signal is not received by the second client? How can I detect this problem? Which function is responsible for the IRQ numbering?


As you can see, the second client does not respond after the connection established message from the server. I have two questions regarding this problem:

1) Is the message "l4re_ns_register_obj_srv returned error" the source of the problem? If so, then what might be the reason for this error? And also, why does the connection work properly between the first server and the client if that is the source of the problem?

2) Could it be the case that the second client obtains the same IRQ number with the first client(IRQ 65) or the server (IRQ66 or 67), and therefore the trigger signal is not received by the second client? How can I detect this problem? Which function is responsible for the IRQ numbering?

Thank you very much for your time,


Cem