12/10/2020 11:56, Slava Ovsiienko: > Hi, Andrew > > Thank you for the comments. > > We have two approaches how to specify multiple segments to split Rx packets: > 1. update queue configuration structure > 2. introduce new rx_queue_setup_ex() routine with extra parameters. > > For [1] my only actual dislike is that we would have multiple places to > specify > the pool - in rx_queue_setup() and in the config structure. So, we should > implement some checking (if we have offload flag set we should check > whether mp parameter is NULL and segment descriptions array pointer/size > is provided, if no offload flag set - we must check the description array is > empty). > > > @Thomas, @Ferruh: I'd like to hear what other ethdev maintainers think > > about it. > > Yes, it would be very nice to hear extra opinions. Do we think the providing > of extra API function is worse than extending existing structure, introducing > some conditional ambiguity and complicating the parameter compliance > check?
Let's try listing pros and cons of each approach, so we can conclude. 1/ update queue config struct 1.1 pro: keep same queue setup function 1.2 con: two mempool pointers (struct or function) 1.3 con: variable size of segment description array 2/ new queue setup function 2.1 con: two functions for queue setup 2.2 pro: mempool pointer is not redundant 2.3 pro: segment description array size defined by the caller What else I'm missing?