Rivermax receive 2022-7 lost count

rivermax version: 1.60.6
system version ubuntu 22.04
cpu: AMD EPYC 7542 32-Core Processor

MST modules:

MST PCI module is not loaded
MST PCI configuration module is not loaded

PCI devices:

DEVICE_TYPE MST PCI RDMA NET NUMA
ConnectX6LX(rev:0) NA a1:00.1 mlx5_1 net-enp161s0f1np1 1

ConnectX6LX(rev:0) NA a1:00.0 mlx5_0 net-enp161s0f0np0 1

Hi,

I‘m tried to receive 2022-7 use rivermax/1.60.6/apps/media_receiver:

sudo numactl --membind=1 ./__cmake/media_receiver/media_receiver --sdp-file sdp_2022-7_2160p50fps.txt -i 192.168.10.20,192.168.20.20 -a 48 -b 49 -r 26

If only one media_receiver process exists,everythings is ok.

But if I run two media_receiver processes

sudo numactl --membind=1 ./__cmake/media_receiver/media_receiver --sdp-file sdp_2022-7_2160p50fps.txt -i 192.168.10.20,192.168.20.20 -a 48 -b 49 -r 26

sdp file:

v=0
o=- 123456 2 IN IP4 192.168.10.20
o=- 123456 2 IN IP4 192.168.20.20
s=SMPTE ST2022-7 DUP streams
i=Includes 1080i@29.97 Hz video, one stereo pair of PCM audio, and ANC
t=0 0
a=recvonly
a=group:DUP one other
m=video 6001 RTP/AVP 96
c=IN IP4 234.0.0.1/64
a=source-filter: incl IN IP4 234.0.0.1 192.168.10.10
a=rtpmap:96 raw/90000
a=fmtp:96 sampling=YCbCr-4:2:2; width=3840; height=2160; exactframerate=50; depth=10; TCS=SDR; colorimetry=BT709; PM=2110GPM; TP=2110TPW; SSN=ST2110-20:2017
a=ts-refclk:ptp=IEEE1588-2008:39-A7-94-FF-FE-07-CB-D0:127
a=mediaclk:direct=0
a=mid:one
m=video 6001 RTP/AVP 96
c=IN IP4 234.0.0.2/64
a=source-filter: incl IN IP4 234.0.0.2 192.168.20.10
a=rtpmap:96 raw/90000
a=fmtp:96 sampling=YCbCr-4:2:2; width=3840; height=2160; exactframerate=50; depth=10; TCS=SDR; colorimetry=BT709; PM=2110GPM; TP=2110TPW; SSN=ST2110-20:2017
a=ts-refclk:ptp=IEEE1588-2008:39-A7-94-FF-FE-07-CB-D0:127
a=mediaclk:direct=0
a=mid:other

sudo numactl --membind=1 ./__cmake/media_receiver/media_receiver --sdp-file sdp_2022-7_2160p50fps.txt -i 192.168.10.20,192.168.20.20 -a 50 -b 51 -r 26

bose media_receiver print lots of Drop packets error message:

ERROR !!! Drop Packets - count: 85899345920

I add sequence number lost count check in class in_2022_7_stream_sw::process_rmax_in_completions

if (0 == get_rtp_param(ptr, sequence_number, rtp_timestamp, m_bit, f_bit)) {
if (m_last_seq[s_index] != -1) {
int64_t last_seq = m_last_seq[s_index] + 1;
uint64_t lost_count = ((uint64_t)sequence_number + 0x100000000 - last_seq) & 0xFFFFFFFF;
if (lost_count) {
printf(“stream %d lost count %lu, cur %u, last %ld, chunk %lu/%lu\n”, s_index, lost_count, sequence_number, m_last_seq[s_index], stride_index, chunk_size);
m_7_statistic.lost_counts[s_index] += lost_count;
}
}
}

and add m_7_statistic.lost_counts to stats print.

I found that total of lost count is about 100 during every stats print(1 second)