Strange behaviour of GLOO tcp transport

Hi @mrshenli,

Thank you very much for your answers before, and I recently countered another problem with the GLOO Backend. In one of my servers, I have 2 network interfaces: eno2 ( and enp94s0f1 (, and both of them can talk to a remote master node @, using

ping -I
ping -I

Then in my PyTorch code, I want to use eno2 for my process group in this slave node, so I did in terminal
before launching the python code that executes:
** backend=‘gloo’,**
** init_method=‘tcp://’,**
** world_size=2,**
** rank=1,**
However, it turned out that the slave node was actually using enp94s0f1 ( instead of the eno2 as I wanted.

If I turned down enp94s0f1 and just use eno2, the init_process_group will use eno2.

Could you help to solve this issue? My ultimate goal is that I want to specify a network interface to be used in a process and specify another network interface to be used in another process.

Thank you very much!