Lines Matching defs:htbl
1254 static u32 ipoib_addr_hash(struct ipoib_neigh_hash *htbl, u8 *daddr)
1267 return hv & htbl->mask;
1274 struct ipoib_neigh_hash *htbl;
1280 htbl = rcu_dereference_bh(ntbl->htbl);
1282 if (!htbl)
1285 hash_val = ipoib_addr_hash(htbl, daddr);
1286 for (neigh = rcu_dereference_bh(htbl->buckets[hash_val]);
1311 struct ipoib_neigh_hash *htbl;
1320 htbl = rcu_dereference_protected(ntbl->htbl,
1323 if (!htbl)
1330 for (i = 0; i < htbl->size; i++) {
1332 struct ipoib_neigh __rcu **np = &htbl->buckets[i];
1396 struct ipoib_neigh_hash *htbl;
1400 htbl = rcu_dereference_protected(ntbl->htbl,
1402 if (!htbl) {
1410 hash_val = ipoib_addr_hash(htbl, daddr);
1411 for (neigh = rcu_dereference_protected(htbl->buckets[hash_val],
1437 rcu_dereference_protected(htbl->buckets[hash_val],
1439 rcu_assign_pointer(htbl->buckets[hash_val], neigh);
1485 struct ipoib_neigh_hash *htbl;
1490 htbl = rcu_dereference_protected(ntbl->htbl,
1492 if (!htbl)
1495 hash_val = ipoib_addr_hash(htbl, neigh->daddr);
1496 np = &htbl->buckets[hash_val];
1520 struct ipoib_neigh_hash *htbl;
1525 ntbl->htbl = NULL;
1526 htbl = kzalloc(sizeof(*htbl), GFP_KERNEL);
1527 if (!htbl)
1532 kfree(htbl);
1535 htbl->size = size;
1536 htbl->mask = (size - 1);
1537 htbl->buckets = buckets;
1538 RCU_INIT_POINTER(ntbl->htbl, htbl);
1539 htbl->ntbl = ntbl;
1551 struct ipoib_neigh_hash *htbl = container_of(head,
1554 struct ipoib_neigh __rcu **buckets = htbl->buckets;
1555 struct ipoib_neigh_table *ntbl = htbl->ntbl;
1558 kfree(htbl);
1566 struct ipoib_neigh_hash *htbl;
1573 htbl = rcu_dereference_protected(ntbl->htbl,
1576 if (!htbl)
1579 for (i = 0; i < htbl->size; i++) {
1581 struct ipoib_neigh __rcu **np = &htbl->buckets[i];
1606 struct ipoib_neigh_hash *htbl;
1615 htbl = rcu_dereference_protected(ntbl->htbl,
1617 if (!htbl)
1624 for (i = 0; i < htbl->size; i++) {
1626 struct ipoib_neigh __rcu **np = &htbl->buckets[i];
1640 rcu_assign_pointer(ntbl->htbl, NULL);
1641 call_rcu(&htbl->rcu, neigh_hash_free_rcu);