Lines Matching refs:htid
689 static u32 gen_new_kid(struct tc_u_hnode *ht, u32 htid)
691 u32 index = htid | 0x800;
692 u32 max = htid | 0xFFF;
695 index = htid + 1;
871 u32 htid, userflags = 0;
1005 htid = nla_get_u32(tb[TCA_U32_HASH]);
1006 if (TC_U32_HTID(htid) == TC_U32_ROOT) {
1008 htid = ht->handle;
1010 ht = u32_lookup_ht(tp->data, TC_U32_HTID(htid));
1018 htid = ht->handle;
1021 if (ht->divisor < TC_U32_HASH(htid)) {
1029 * htid(12b):bucketid(8b):node/entryid(12b)
1032 * entry. We carry the table's id in variable "htid".
1034 * providing the htid specified via TCA_U32_HASH attribute or b) when
1037 * If OTOH the user passed us the htid, they may also pass a bucketid of
1038 * choice. 0 is fine. For example a user htid is 0x[600][01][000] it is
1040 * passed via the htid, so even if it was non-zero it will be ignored.
1043 * carries the same addressing of htid(12b):bucketid(8b):node/entryid(12b).
1045 * rather the value on "htid" is always assumed to be the bucketid.
1048 /* Rule: The htid from handle and tableid from htid must match */
1049 if (TC_U32_HTID(handle) && TC_U32_HTID(handle ^ htid)) {
1053 /* Ok, so far we have a valid htid(12b):bucketid(8b) but we
1059 * htid).
1068 handle = gen_new_kid(ht, htid);
1070 handle = htid | TC_U32_NODE(handle);
1080 handle = gen_new_kid(ht, htid);
1363 u32 htid = n->handle & 0xFFFFF000;
1364 if (nla_put_u32(skb, TCA_U32_HASH, htid))