Lines Matching refs:htid
687 static u32 gen_new_kid(struct tc_u_hnode *ht, u32 htid)
689 u32 index = htid | 0x800;
690 u32 max = htid | 0xFFF;
693 index = htid + 1;
857 u32 htid, flags = 0;
980 htid = nla_get_u32(tb[TCA_U32_HASH]);
981 if (TC_U32_HTID(htid) == TC_U32_ROOT) {
983 htid = ht->handle;
985 ht = u32_lookup_ht(tp->data, TC_U32_HTID(htid));
993 htid = ht->handle;
996 if (ht->divisor < TC_U32_HASH(htid)) {
1004 * htid(12b):bucketid(8b):node/entryid(12b)
1007 * entry. We carry the table's id in variable "htid".
1009 * providing the htid specified via TCA_U32_HASH attribute or b) when
1012 * If OTOH the user passed us the htid, they may also pass a bucketid of
1013 * choice. 0 is fine. For example a user htid is 0x[600][01][000] it is
1015 * passed via the htid, so even if it was non-zero it will be ignored.
1018 * carries the same addressing of htid(12b):bucketid(8b):node/entryid(12b).
1020 * rather the value on "htid" is always assumed to be the bucketid.
1023 /* Rule: The htid from handle and tableid from htid must match */
1024 if (TC_U32_HTID(handle) && TC_U32_HTID(handle ^ htid)) {
1028 /* Ok, so far we have a valid htid(12b):bucketid(8b) but we
1034 * htid).
1043 handle = gen_new_kid(ht, htid);
1045 handle = htid | TC_U32_NODE(handle);
1055 handle = gen_new_kid(ht, htid);
1349 u32 htid = n->handle & 0xFFFFF000;
1350 if (nla_put_u32(skb, TCA_U32_HASH, htid))