> From: dev [mailto:dev-boun...@dpdk.org] On Behalf Of
> long...@viettel.com.vn
> 
> Also for the bulk API, another option would be passing in a `uint64_t
> malformed_mask` and let the bulk function set the correspond bit (1 <<
> pos) of that mask if the packet at position pos is malformed.
> 
> void rte_hdr_parse_bulk(struct rte_mbuf **pkts, uint64_t
> *malformed_mask, uint_fast16_t nb_pkts);
> 
> The packet mask idea is used extensively in the packet framework
> (rte_pipeline, rte_port, rte_table).
> 

A key property of the bulk function is to make it easy passing on the resulting 
array of non-malformed packets to the next bulk function, e.g. GRO. A 
malformed_mask would require an intermediate step of processing before the 
resulting array can be passed on.

For functions like GRO, either the MBUF must contain a valid/malformed 
indication, or the array provided to them must contain only valid packets.

Med venlig hilsen / kind regards
- Morten Brørup



Reply via email to