On 9 May 2017 at 23:03, Bogdan Pricope <bogdan.pric...@linaro.org> wrote:
> You mean: generating ONE event in SA lifetime vs. carring around 5
> bits for each packet (result) (+ validation), bits that will be mostly
> 0 and once in SA lifetime will be 1 (if ever. e.g. if soft/hard limits
> supported/enabled). I see it as a inefficient design.

packet results are needed in all scenario and we might add expiry
notification only for packets and bytes count and remove for rest.
Having a different event will need additional pool configuration since
these events cannot be allocated from the same packet pool and if you
send them to a specific control core/queue then it would cause a
bottleneck. IMO it is better to have them as part of the packet
result.

Regards,
Bala

>
> On 9 May 2017 at 21:37, Bala Manoharan <bala.manoha...@linaro.org> wrote:
>> On 9 May 2017 at 00:04, Bogdan Pricope <bogdan.pric...@linaro.org> wrote:
>>> Hi,
>>>
>>> Can we have this event for all cases: sync/async/inline,
>>> inbound/outbound, soft/hard limits? Lifetime expiration is destined to
>>> control part of the application... we should be able to process it on
>>> a different thread/queue.
>>
>> In the other cases you have mentioned the packet has to be still sent
>> to the application, generating an event will be an additional work and
>> there is an additional buffer allocated for the event which could have
>> been avoided. I believe there will always be use cases where the data
>> thread will have to communicate with control path.
>>
>> Regards,
>> Bala
>>>
>>> Soft limit - will not affect normal processing of packets - no need
>>> for flags as worker does not need to know this; control should
>>> renegotiate/cleanup/etc.
>>> Hard limits - worker should drop the packet (if platform will not drop
>>> the packet for it); control should renegotiate/cleanup/etc.
>>>
>>> BR,
>>> Bogdan
>>>
>>>
>>> On 9 May 2017 at 03:00, Github ODP bot <odp...@yandex.ru> wrote:
>>>> From: Dmitry Eremin-Solenikov <dmitry.ereminsoleni...@linaro.org>
>>>>
>>>> If outbound packet was processed in inline mode, soft limit expiration
>>>> event is not reported, as packet goes to the interface. Instead report
>>>> this as an ODP_IPSEC_STATUS_SA_SOFT_EXPIRED.
>>>>
>>>> Signed-off-by: Dmitry Eremin-Solenikov <dmitry.ereminsoleni...@linaro.org>
>>>> ---
>>>> /** Email created from pull request 22 (lumag:ipsec-limits)
>>>>  ** https://github.com/Linaro/odp/pull/22
>>>>  ** Patch: https://github.com/Linaro/odp/pull/22.patch
>>>>  ** Base sha: 3ea9c1dac34e0fb4785b0d643056c731daa55e85
>>>>  ** Merge commit sha: 85b927011c941f816b853da7284c0c3a939c5efb
>>>>  **/
>>>>  include/odp/api/spec/ipsec.h | 9 ++++++++-
>>>>  1 file changed, 8 insertions(+), 1 deletion(-)
>>>>
>>>> diff --git a/include/odp/api/spec/ipsec.h b/include/odp/api/spec/ipsec.h
>>>> index e83494d..c4fe6cb 100644
>>>> --- a/include/odp/api/spec/ipsec.h
>>>> +++ b/include/odp/api/spec/ipsec.h
>>>> @@ -1080,7 +1080,14 @@ typedef struct odp_ipsec_op_result_t {
>>>>   */
>>>>  typedef enum odp_ipsec_status_id_t {
>>>>         /** Response to SA disable command */
>>>> -       ODP_IPSEC_STATUS_SA_DISABLE = 0
>>>> +       ODP_IPSEC_STATUS_SA_DISABLE = 0,
>>>> +
>>>> +       /**
>>>> +        * Soft limit expired on this SA
>>>> +        *
>>>> +        * This event is sent only if SA was configured in OUT INLINE mode.
>>>> +        */
>>>> +       ODP_IPSEC_STATUS_SA_SOFT_EXPIRED
>>>>
>>>>  } odp_ipsec_status_id_t;
>>>>
>>>>

Reply via email to