Lines Matching defs:htbl
1245 static u32 ipoib_addr_hash(struct ipoib_neigh_hash *htbl, u8 *daddr)
1258 return hv & htbl->mask;
1265 struct ipoib_neigh_hash *htbl;
1271 htbl = rcu_dereference_bh(ntbl->htbl);
1273 if (!htbl)
1276 hash_val = ipoib_addr_hash(htbl, daddr);
1277 for (neigh = rcu_dereference_bh(htbl->buckets[hash_val]);
1302 struct ipoib_neigh_hash *htbl;
1311 htbl = rcu_dereference_protected(ntbl->htbl,
1314 if (!htbl)
1321 for (i = 0; i < htbl->size; i++) {
1323 struct ipoib_neigh __rcu **np = &htbl->buckets[i];
1387 struct ipoib_neigh_hash *htbl;
1391 htbl = rcu_dereference_protected(ntbl->htbl,
1393 if (!htbl) {
1401 hash_val = ipoib_addr_hash(htbl, daddr);
1402 for (neigh = rcu_dereference_protected(htbl->buckets[hash_val],
1428 rcu_dereference_protected(htbl->buckets[hash_val],
1430 rcu_assign_pointer(htbl->buckets[hash_val], neigh);
1476 struct ipoib_neigh_hash *htbl;
1481 htbl = rcu_dereference_protected(ntbl->htbl,
1483 if (!htbl)
1486 hash_val = ipoib_addr_hash(htbl, neigh->daddr);
1487 np = &htbl->buckets[hash_val];
1511 struct ipoib_neigh_hash *htbl;
1516 ntbl->htbl = NULL;
1517 htbl = kzalloc(sizeof(*htbl), GFP_KERNEL);
1518 if (!htbl)
1523 kfree(htbl);
1526 htbl->size = size;
1527 htbl->mask = (size - 1);
1528 htbl->buckets = buckets;
1529 RCU_INIT_POINTER(ntbl->htbl, htbl);
1530 htbl->ntbl = ntbl;
1542 struct ipoib_neigh_hash *htbl = container_of(head,
1545 struct ipoib_neigh __rcu **buckets = htbl->buckets;
1546 struct ipoib_neigh_table *ntbl = htbl->ntbl;
1549 kfree(htbl);
1557 struct ipoib_neigh_hash *htbl;
1564 htbl = rcu_dereference_protected(ntbl->htbl,
1567 if (!htbl)
1570 for (i = 0; i < htbl->size; i++) {
1572 struct ipoib_neigh __rcu **np = &htbl->buckets[i];
1597 struct ipoib_neigh_hash *htbl;
1606 htbl = rcu_dereference_protected(ntbl->htbl,
1608 if (!htbl)
1615 for (i = 0; i < htbl->size; i++) {
1617 struct ipoib_neigh __rcu **np = &htbl->buckets[i];
1631 rcu_assign_pointer(ntbl->htbl, NULL);
1632 call_rcu(&htbl->rcu, neigh_hash_free_rcu);