On (01/02/17 17:31), Willem de Bruijn wrote: > > Thanks for adding this. > > walk_v3_tx is almost identical to walk_v1_v2_tx. That function can > just be extended to add a v3 case where it already multiplexes between > v1 and v2.
I looked at that, but the sticky point is that v1/v2 sets up the ring->rd* related variables based on frames (e.g., rd_num is tp_frame_nr) whereas V3 sets these up based on blocks (e.g, rd_num is tp_block_nr) so this impacts the core sending loop a bit. I suppose we could change the walk_v2_v2_tx to be something like while (total_packets > 0) { if (ring->version) { /* V3 send, that takes above difference into account */ } else { /* existing code */ } /* status_bar_update(), user_ready update frame_num */ } I can change it as above, if you think this would help. --Sowmini