mirror of
https://github.com/torvalds/linux.git
synced 2024-11-26 06:02:05 +00:00
bonding: support xfrm state update
The patch add xfrm statistics update for bonding IPsec offload. Reviewed-by: Nikolay Aleksandrov <razor@blackwall.org> Acked-by: Jay Vosburgh <jv@jvosburgh.net> Signed-off-by: Hangbin Liu <liuhangbin@gmail.com> Signed-off-by: Paolo Abeni <pabeni@redhat.com>
This commit is contained in:
parent
96d30bf941
commit
68db604e16
@ -718,12 +718,37 @@ out:
|
||||
rcu_read_unlock();
|
||||
}
|
||||
|
||||
/**
|
||||
* bond_xfrm_update_stats - Update xfrm state
|
||||
* @xs: pointer to transformer state struct
|
||||
**/
|
||||
static void bond_xfrm_update_stats(struct xfrm_state *xs)
|
||||
{
|
||||
struct net_device *real_dev;
|
||||
|
||||
rcu_read_lock();
|
||||
real_dev = bond_ipsec_dev(xs);
|
||||
if (!real_dev)
|
||||
goto out;
|
||||
|
||||
if (!real_dev->xfrmdev_ops ||
|
||||
!real_dev->xfrmdev_ops->xdo_dev_state_update_stats) {
|
||||
pr_warn_ratelimited("%s: %s doesn't support xdo_dev_state_update_stats\n", __func__, real_dev->name);
|
||||
goto out;
|
||||
}
|
||||
|
||||
real_dev->xfrmdev_ops->xdo_dev_state_update_stats(xs);
|
||||
out:
|
||||
rcu_read_unlock();
|
||||
}
|
||||
|
||||
static const struct xfrmdev_ops bond_xfrmdev_ops = {
|
||||
.xdo_dev_state_add = bond_ipsec_add_sa,
|
||||
.xdo_dev_state_delete = bond_ipsec_del_sa,
|
||||
.xdo_dev_state_free = bond_ipsec_free_sa,
|
||||
.xdo_dev_offload_ok = bond_ipsec_offload_ok,
|
||||
.xdo_dev_state_advance_esn = bond_advance_esn_state,
|
||||
.xdo_dev_state_update_stats = bond_xfrm_update_stats,
|
||||
};
|
||||
#endif /* CONFIG_XFRM_OFFLOAD */
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user