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