> >>    switch (odp_event_type(event)) {
> >> diff --git a/platform/linux-generic/odp_packet.c b/platform/linux-
> >> generic/odp_packet.c
> >> index eb66af2d3b9c..3789feca45f9 100644
> >> --- a/platform/linux-generic/odp_packet.c
> >> +++ b/platform/linux-generic/odp_packet.c
> >> @@ -268,6 +268,7 @@ static inline void packet_init(odp_packet_hdr_t
> >> *pkt_hdr, uint32_t len)
> >>                         CONFIG_PACKET_TAILROOM;
> >>
> >>    pkt_hdr->input = ODP_PKTIO_INVALID;
> >> +  pkt_hdr->buf_hdr.event_subtype = ODP_EVENT_PACKET_BASIC;
> >
> >
> > This is not needed if you update crypto.c with
> _odp_buffer_event_subtype_set() calls, where _odp_buffer_event_type_set()
> is done already -right?  Packet_init() is done for every alloc and should
> avoid setting constant data.
> 
> I gave this idea a thought. I will update crypto.c (thanks for the
> point!), but I still insist that packet_init should set subtype.
> Otherwise subtype resetting should go into packet free code (which is
> uglier) in my opinion. Consider ODP application receiving IPsec packets
> from queue then freeing them for some reason before doing
> odp_ipsec_result() call. Packet will be freed, but event_subtype will be
> left as PACKET_IPSEC.

OK. We will optimize it later if needed: either set subtype to basic only when 
it's not already basic, or add subtype as packet_init() argument (to avoid 
first setting it to basic and then to ipsec).

-Petri

Reply via email to