Lines Matching refs:key
110 static int pack_key(struct tc_u32_sel *sel, __u32 key, __u32 mask, int off, int offmask)
115 key &= mask;
121 if ((key^sel->keys[i].val) & intersect)
123 sel->keys[i].val |= key;
133 sel->keys[hwm].val = key;
141 static int pack_key32(struct tc_u32_sel *sel, __u32 key, __u32 mask, int off, int offmask)
143 key = htonl(key);
145 return pack_key(sel, key, mask, off, offmask);
148 static int pack_key16(struct tc_u32_sel *sel, __u32 key, __u32 mask, int off, int offmask)
150 if (key > 0xFFFF || mask > 0xFFFF)
154 key <<= 16;
158 key = htonl(key);
161 return pack_key(sel, key, mask, off, offmask);
164 static int pack_key8(struct tc_u32_sel *sel, __u32 key, __u32 mask, int off, int offmask)
166 if (key > 0xFF || mask > 0xFF)
170 key <<= 24;
173 key <<= 16;
176 key <<= 8;
180 key = htonl(key);
183 return pack_key(sel, key, mask, off, offmask);
221 __u32 key;
227 if (get_u32(&key, *argv, 0))
241 res = pack_key32(sel, key, mask, off, offmask);
252 __u32 key;
258 if (get_u32(&key, *argv, 0))
271 res = pack_key16(sel, key, mask, off, offmask);
282 __u32 key;
288 if (get_u32(&key, *argv, 0))
296 if (key > 0xFF || mask > 0xFF)
305 res = pack_key8(sel, key, mask, off, offmask);
845 fprintf(stderr, "\"sample\" must contain exactly ONE key.\n");
919 fprintf(f, "key ht %x bkt %x ", TC_U32_USERHTID(htid), TC_U32_HASH(htid));
942 struct tc_u32_key *key = sel->keys;
945 for (i=0; i<sel->nkeys; i++, key++)
947 (unsigned int)ntohl(key->val),
948 (unsigned int)ntohl(key->mask),
949 key->offmask ? "nexthdr+" : "",
950 key->off);