I am hitting an issue where in Tx packet send is received back in sender's Rx queue intermittently. And this behavior is observed both on govpp as well as vpp side.
Setup details : Gomemif in slave mode and vpp in master mode with single pair of queues. Gomemif is latest and VPP release is 21.10.1
Packets are being pumped from both master(from vpp side) and slaves(from gomemif) simultaneously and rate is roughly 100/s each side.
On further digging in the gomemif code, I see that Rx descriptor's buffers offset are set to Tx descriptors buffer offset instead of seperate buffers even though region(shared memory) for sepearte Tx and Rx rings,descriptors and buffers is allocated.
This also leads to use of only half of the total descriptors allocated.
I tried with a minor fix(attached-gomemif-descriptor-fix.txt) with which I was able use separate buffers for Tx and Rx and get around this issue. After this fix, no such issue was observed on even 1000/s rate for longer runs(more than 12 hrs)
I can push this fix for review incase required or can wait for fix from contributors. Either way is fine.
Hi,
I am hitting an issue where in Tx packet send is received back in sender's Rx queue intermittently. And this behavior is observed both on govpp as well as vpp side.
Setup details : Gomemif in slave mode and vpp in master mode with single pair of queues. Gomemif is latest and VPP release is 21.10.1
Packets are being pumped from both master(from vpp side) and slaves(from gomemif) simultaneously and rate is roughly 100/s each side.
On further digging in the gomemif code, I see that Rx descriptor's buffers offset are set to Tx descriptors buffer offset instead of seperate buffers even though region(shared memory) for sepearte Tx and Rx rings,descriptors and buffers is allocated. This also leads to use of only half of the total descriptors allocated.
I tried with a minor fix(attached-gomemif-descriptor-fix.txt) with which I was able use separate buffers for Tx and Rx and get around this issue. After this fix, no such issue was observed on even 1000/s rate for longer runs(more than 12 hrs) I can push this fix for review incase required or can wait for fix from contributors. Either way is fine.
gomemif-descriptor-fix.txt