diff options
Diffstat (limited to 'net/xfrm/xfrm_policy.c')
-rw-r--r-- | net/xfrm/xfrm_policy.c | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/net/xfrm/xfrm_policy.c b/net/xfrm/xfrm_policy.c index 762926009c04..dbf9d96a2f0b 100644 --- a/net/xfrm/xfrm_policy.c +++ b/net/xfrm/xfrm_policy.c | |||
@@ -579,8 +579,22 @@ static inline int xfrm_byidx_should_resize(int total) | |||
579 | return 0; | 579 | return 0; |
580 | } | 580 | } |
581 | 581 | ||
582 | static DEFINE_MUTEX(hash_resize_mutex); | 582 | void xfrm_spd_getinfo(struct xfrm_spdinfo *si) |
583 | { | ||
584 | read_lock_bh(&xfrm_policy_lock); | ||
585 | si->incnt = xfrm_policy_count[XFRM_POLICY_IN]; | ||
586 | si->outcnt = xfrm_policy_count[XFRM_POLICY_OUT]; | ||
587 | si->fwdcnt = xfrm_policy_count[XFRM_POLICY_FWD]; | ||
588 | si->inscnt = xfrm_policy_count[XFRM_POLICY_IN+XFRM_POLICY_MAX]; | ||
589 | si->outscnt = xfrm_policy_count[XFRM_POLICY_OUT+XFRM_POLICY_MAX]; | ||
590 | si->fwdscnt = xfrm_policy_count[XFRM_POLICY_FWD+XFRM_POLICY_MAX]; | ||
591 | si->spdhcnt = xfrm_idx_hmask; | ||
592 | si->spdhmcnt = xfrm_policy_hashmax; | ||
593 | read_unlock_bh(&xfrm_policy_lock); | ||
594 | } | ||
595 | EXPORT_SYMBOL(xfrm_spd_getinfo); | ||
583 | 596 | ||
597 | static DEFINE_MUTEX(hash_resize_mutex); | ||
584 | static void xfrm_hash_resize(struct work_struct *__unused) | 598 | static void xfrm_hash_resize(struct work_struct *__unused) |
585 | { | 599 | { |
586 | int dir, total; | 600 | int dir, total; |