nh_res_bucket
nh = &info->nh_res_bucket->new_nh;
u16 bucket_index = info->nh_res_bucket->bucket_index;
bool force = info->nh_res_bucket->force;
if (!force && info->nh_res_bucket->idle_timer_ms <
u16 bucket_index = info->nh_res_bucket->bucket_index;
nh_obj = &info->nh_res_bucket->new_nh;
nh_obj = &info->nh_res_bucket->old_nh;
info->nh_res_bucket->bucket_index,
struct nh_notifier_res_bucket_info *nh_res_bucket;
struct nh_res_bucket nh_buckets[] __counted_by(num_nh_buckets);
static unsigned long nh_res_bucket_used_time(const struct nh_res_bucket *bucket)
const struct nh_res_bucket *bucket,
struct nh_res_bucket *bucket)
static void nh_res_bucket_set_busy(struct nh_res_bucket *bucket)
static clock_t nh_res_bucket_idle_time(const struct nh_res_bucket *bucket)
struct nh_res_bucket *bucket, u16 bucket_index,
struct nh_res_bucket *bucket = &res_table->nh_buckets[bucket_index];
struct nh_res_bucket *bucket;
static void nh_res_bucket_unset_nh(struct nh_res_bucket *bucket)
static void nh_res_bucket_set_nh(struct nh_res_bucket *bucket,
struct nh_res_bucket *bucket,
struct nh_res_bucket *bucket = &res_table->nh_buckets[bucket_index];
struct nh_res_bucket *bucket = &res_table->nh_buckets[i];
struct nh_res_bucket *bucket = &res_table->nh_buckets[i];
struct nh_res_bucket *bucket = &res_table->nh_buckets[i];
struct nh_res_bucket *bucket = &res_table->nh_buckets[i];
struct nh_res_bucket *bucket = &res_table->nh_buckets[i];
info->nh_res_bucket = kzalloc_obj(*info->nh_res_bucket);
if (!info->nh_res_bucket)
info->nh_res_bucket->bucket_index = bucket_index;
info->nh_res_bucket->idle_timer_ms = idle_timer_ms;
info->nh_res_bucket->force = force;
__nh_notifier_single_info_init(&info->nh_res_bucket->old_nh, oldi);
__nh_notifier_single_info_init(&info->nh_res_bucket->new_nh, newi);
kfree(info->nh_res_bucket);
struct nh_res_bucket *bucket;
struct nh_res_bucket *bucket;