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

Reply via email to