erpc-io / eRPC

Efficient RPCs for datacenter networks
Other
851 stars 138 forks source link

The code is always using NIC port number 1. #27

Closed remajin closed 5 years ago

remajin commented 5 years ago

I’m trying to build the provided apps with eRPC. I have three machines with dual port connect X5 Mellanox cards running Ubuntu 18.04. Following is the configuration of the machines.

Quads1:Port1(192.168.12.1) ---> Quads2:Port2(192.168.12.2); Quads2:Port1(192.168.23.1) ---> Quads3:Port2(192.168.23.2); Quads3:Port1(192.168.31.1) ---> Quads1:Port2(192.168.31.2);

I am trying to run the app “small_rpc_tput” on “quads1” and “quads2”. For some reason even though I provided IPs (192.168.12.1) and (192.168.12.2) in “scripts/autorun_process_file”, It uses port 1 (counting from 0) on both machines for connection. As you can see in the attached screenshot, on quads1 it should be using IP “192.168.12.1” but instead it is using “192.168.31.2”. The printed results also seem to imply that the connection is not established correctly.

Screen Shot 2019-04-30 at 5 00 47 PM Screen Shot 2019-04-30 at 5 02 05 PM
anujkaliaiitd commented 5 years ago

The NIC port is determined by the phy_port argument passed to the Rpc constructor. See documentation. I will try to make this clearer.

The IP addresses in autorun_process_file are used only as control net IPs.

remajin commented 5 years ago

Thanks. That solved the issue.