Closed dgiantsidi closed 4 years ago
Unfortunately, support for session disconnection due to server failure or network issues is incomplete. There's quite a bit of code for it (e.g., the handle_reset
functions, and server_failure_test.cc
), but it doesn't work yet. I'm not sure when I'll get to complete it.
This used to work a long time ago when I relied on an external library called enet for session management. I moved away from enet because I couldn't' configure it to reduce its high CPU use. Funnily, in this case, the price of "saving" CPU cycles turned out to be losing (though not fundamentally) an important feature.
Okay, I see!
Thanks a lot for your reply!
--Dimitra
Hi everyone,
When using eRPC + dpdk:
Let's assume a session between two machines (following the hello world example).
If this session is lost or the client-server gets disconnected, it is possible to re-create it using the same Remote ID?
It seems that it is possible to re-create it and re-connect to the server-machine but when an enqueue_operation() is executed, a seg-fault occurs.
Based on gdb-analysis the error lies ''somewhere'' in dpdk code.
0 0x00000000006eb3a4 in common_ring_mc_dequeue ()
1 0x0000000000811d65 in i40e_recv_scattered_pkts ()
2 0x0000000000a2c674 in rte_eth_rx_burst (nb_pkts=32, rx_pkts=0x7fffffffafb0, queue_id=0, port_id=0) at /home/eRPC/dpdk/x86_64-native-linuxapp-gcc/include/rte_ethdev.h:4097
3 erpc::DpdkTransport::rx_burst (this=0xf2c870) at /home/eRPC/src/transport_impl/dpdk/dpdk_transport_datapath.cc:103
Is such an action normally supported by eRPC?
-- Thanks, Dimitra