On Tue, Jul 04, 2017 at 01:58:51PM +0000, Ilan Tayari wrote:
> Hi Paul, Antony, and all,
> 
> I want to discuss an improvement to the basic Libreswan nic-offload feature.
> 
> We (Mellanox) propose the following change:
> * Upgrade the nic-offload configuration option from bool to tristate enum:
>       * Never – old behavior, never attempt to perform nic-offload.
>       * Always – current "nic-offload=yes" behavior, e.g. always attempt to
>                  perform nic-offload and fail if it doesn't work.
>       * Auto – new behavior: 
>               * Attempt nic-offload only if the NIC has the capability
>                 (NETIF_F_HW_ESP). If NIC doesn't have the capability then 
> don't
>                 attempt nic offload.
>               * Fallback to regular SA if NIC offload fails (and log this)

If this is accessible from userland it is a good idea.
How does a process, pluto, check NETIF_F_HW_ESP support for an interface. 

> This would work with the existing kernel interface.

Also would NETIF_F_HW_ESP work on older kernels atleast CentOS 6.x? Or need 
ifdef for newer version?

> If in the future we will have an API to query algos/modes supported, we 
> can
> extend "Auto" mode to use it, and not attempt something that is bound to fail.
> 
> Also, I believe we can have "Auto" as the default. 
> 
> Please reply with your comments,

I had a similar thought before readinu about NETIF_F_HW_ESP.
A tristate option yes|no|only

yes - offload and if add_sa return -EINVAL fallback without XFRMA_OFFLOAD_DEV. 

no  - don't send XFRMA_OFFLOAD_DEV in add_sa
always - sed XFRMA_OFFLOAD_DEV in add_sa and if this fails don't attempt 
install SA without  XFRM_OFFLOAD.

I am not sure what would be the good default. I guess it depends what older
kerenl will do with XFRMA_OFFLOAD_DEV in add_sa and when probing 
NETIF_F_HW_ESP. I didn't test this yet.

-antony
_______________________________________________
Swan-dev mailing list
[email protected]
https://lists.libreswan.org/mailman/listinfo/swan-dev

Reply via email to