We all know RoCEv1/v2 are server-side technical. It can be compatibility work with L2 enabled switch with PFC/ECN/DCBx. Here is a question. do I really need to enable PFC on switch? If not, does RoCE still work?
First, RoCEv2 is a protocol above OSI layer-4, so it is explicitly off-topic here.
You want things like PFC because the frames could arrive out of order or frames be dropped due to congestion, and this would cause serious problems for RoCEv1, but PFC will mitigate a lot of the lost or out-of-order frame problems by striving to be lossless. If you don't run it, your RoCE could be a real mess.