On Fri, Feb 17, 2017 at 3:14 PM, Verma, Shally <shally.ve...@cavium.com> wrote: > Hi > > I was looking at linux-generic/odp_crypto.c implementation and it looks like > that each odp_crypto_operation() call assumes that each Packet is contained > within 1-segment or user passing either packet or segment len, whichever is > smaller. > > As I understand ODP Packet structure, it is scattered across segments and > that segments may not be contiguous. So let's say if App sets Segment Length > as 32k and pass packet of length 64k with cipher_range.len = 64K, then > current linux-generic/ODP_Crypto implementation may not work correct.
It appears you are correct. +cc Nikhil to confirm. Sounds like this is a bug. Crypto operations should work on multi-segment packets. However, if we want to restrict crypto ops to single-segment packets then these routines need to fail rather than risk segfaults when passed multi-segment packets. > > Could anyone please confirm it? Or Am I missing any baseline assumption here > on how packets are supposed to pass for linux-generic/crypto ops? > > Thanks > Shally