https://bugs.dpdk.org/show_bug.cgi?id=721
Bug ID: 721 Summary: Wrong event pointer in rx adapter Product: DPDK Version: 20.11 Hardware: All OS: All Status: UNCONFIRMED Severity: major Priority: Normal Component: eventdev Assignee: dev@dpdk.org Reporter: heng.w...@ericsson.com Target Milestone: --- Problem: In the function rxa_buffer_mbufs the ev is not reset to the array's first element before passing to a user call back function. Workaround: In the user callback, we must decrement ev by number of event before we can use it. Fix: I think we should pass &buf->events[buf->count] to dev_info->cb_fn instead of ev. 773 for (i = 0; i < num; i++) { 774 m = mbufs[i]; 775 776 rss = do_rss ? 777 rxa_do_softrss(m, rx_adapter->rss_key_be) : 778 m->hash.rss; 779 ev->event = event; 780 ev->flow_id = (rss & ~flow_id_mask) | 781 (ev->flow_id & flow_id_mask); 782 ev->mbuf = m; 783 ev++; 784 } 785 786 if (dev_info->cb_fn) { 787 788 dropped = 0; 789 nb_cb = dev_info->cb_fn(eth_dev_id, rx_queue_id, 790 ETH_EVENT_BUFFER_SIZE, buf->count, ev, 791 num, dev_info->cb_arg, &dropped); 792 if (unlikely(nb_cb > num)) 793 RTE_EDEV_LOG_ERR("Rx CB returned %d (> %d) events", 794 nb_cb, num); 795 else 796 num = nb_cb; 797 if (dropped) 798 rx_adapter->stats.rx_dropped += dropped; 799 } -- You are receiving this mail because: You are the assignee for the bug.