Shared RAM or virtual Ethernet over PCIe to transfer video frames data from RP to EP

By reference to PCIe Endpoint Mode — NVIDIA Jetson Linux Developer Guide 1 documentation, I want to transfer video frames data from Root Port (RP) Orin to Endpoint (EP) Orin.
The above URL provides 2 sample ways: Shared RAM and Ethernet over PCIe.

1, Shared RAM
1.1, x4 lanes performance
RP writer performance: 15.75 MBps
EP reader performance: 42.46 MBps
1.2, How to sync between RP/EP?
The following post did not recommend using shared RAM way.

2, Ethernet over PCIe
2.1, iperf3 performance

iperf3 -c 192.168.2.1
Connecting to host 192.168.2.1, port 5201
[  5] local 192.168.2.2 port 54886 connected to 192.168.2.1 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec   386 MBytes  3.23 Gbits/sec    0   1.17 MBytes
[  5]   1.00-2.00   sec   385 MBytes  3.23 Gbits/sec    0   1.17 MBytes
[  5]   2.00-3.00   sec   411 MBytes  3.46 Gbits/sec    0   1.17 MBytes
[  5]   3.00-4.00   sec   410 MBytes  3.44 Gbits/sec    0   1.17 MBytes
[  5]   4.00-5.00   sec   381 MBytes  3.20 Gbits/sec    0   1.17 MBytes
[  5]   5.00-6.00   sec   385 MBytes  3.23 Gbits/sec    0   1.17 MBytes
[  5]   6.00-7.00   sec   380 MBytes  3.18 Gbits/sec    0   1.17 MBytes
[  5]   7.00-8.00   sec   381 MBytes  3.20 Gbits/sec    0   1.17 MBytes
[  5]   8.00-9.00   sec   401 MBytes  3.37 Gbits/sec    0   1.17 MBytes
[  5]   9.00-10.00  sec   396 MBytes  3.33 Gbits/sec    0   1.17 MBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec  3.83 GBytes  3.29 Gbits/sec    0             sender
[  5]   0.00-10.00  sec  3.83 GBytes  3.29 Gbits/sec                  receiver

iperf Done.

2.2, Drawbacks
2.2.1, Bringing up both interfaces requires strict operation order on RP/EP, it’s hard to automate;
2.2.2, The virtual ethernet interface conflicts with real 10Gb NIC.

So, which way is recommended to fulfill my task?

In the case of virtual Ethernet over PCIe x4:
Manually adjusted network card name/ip route, etc., so that virtual Ethernet and real network cards can coexist.

EP serves as iperf server, RP serves as iperf client,
the common speed is 3.25 Gbits/sec;
RP serves as iperf server, EP serves as iperf client,
the common speed is 8.16 Gbits/sec

Basically, virtual Ethernet over PCIe will be chosen.

FYI, virtual Ethernet over PCIe x1 performance:
EP serves as iperf server, RP serves as iperf client,
the common speed is 2.74 Gbits/sec;
RP serves as iperf server, EP serves as iperf client,
the common speed is 5.31 Gbits/sec

Orin A as RP, Orin B / C as EP.
Can I connect A to B and C by virtual ethernet over PCIe at the same time?

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.