I would like to clarify that the endpoint to endpoint transactions (peer to peer transaction) of two PCIE endpoints behind a PCIE switch are not forwarded to the root complex.
I googled around and understand that if the transaction from Endpoint #1 targeted to the PCIE address space which the root port assigned to the Endpoint #2, the switch will forward the transaction to the downstream port where Endpoint #2 located.
Please correct me if I misunderstand this point. Is this forwarding feature mandatory according to the PCIE spec or implementation-specific?