Can p4runtime controller coexist with root namespace switch?

Hi there, my problem is that the controller I use need to take information from a mininet host (say, H3) so that it can insert or delete corresponding entry to the p4switch.

According to this post Connect mininet hosts to root namespace, in which it suggests that we can use the actual host as H3. So I followed his step, set H2 to be and root-eth0 on my actual host to be Now I can successfully ping between H2 and my actual host. However, if I try to run my p4runtime python code, the connection between H2 and the actual host seems broken.

I don’t know what the cause may be, this problem seems wierd to me. Is it because the controller cannot work with the root namespace scenario?

Hi @gxpy

Did you tried to inspect the table/s of the switches, in other word are you sure that when you connect the controller to the switch the flow rules remain there/are correct

Thanks a lot for your advice! After checking the table I found that if using the p4runtime controller, the previous entry installed by runtime json will be gone. Sorry I didn’t know about that :smile:.

1 Like