Lines Matching full:mask
119 static int pack_key(struct tc_u32_sel *sel, __u32 key, __u32 mask,
125 key &= mask;
129 __u32 intersect = mask&sel->keys[i].mask;
134 sel->keys[i].mask |= mask;
144 sel->keys[hwm].mask = mask;
151 static int pack_key32(struct tc_u32_sel *sel, __u32 key, __u32 mask,
155 mask = htonl(mask);
156 return pack_key(sel, key, mask, off, offmask);
159 static int pack_key16(struct tc_u32_sel *sel, __u32 key, __u32 mask,
162 if (key > 0xFFFF || mask > 0xFFFF)
167 mask <<= 16;
171 mask = htonl(mask);
173 return pack_key(sel, key, mask, off, offmask);
176 static int pack_key8(struct tc_u32_sel *sel, __u32 key, __u32 mask, int off, int offmask)
178 if (key > 0xFF || mask > 0xFF)
183 mask <<= 24;
186 mask <<= 16;
189 mask <<= 8;
193 mask = htonl(mask);
195 return pack_key(sel, key, mask, off, offmask);
235 __u32 mask;
244 if (get_u32(&mask, *argv, 16))
254 res = pack_key32(sel, key, mask, off, offmask);
267 __u32 mask;
276 if (get_u32(&mask, *argv, 16))
285 res = pack_key16(sel, key, mask, off, offmask);
298 __u32 mask;
307 if (get_u32(&mask, *argv, 16))
311 if (key > 0xFF || mask > 0xFF)
320 res = pack_key8(sel, key, mask, off, offmask);
333 __u32 mask;
349 mask = 0;
351 mask = htonl(0xFFFFFFFF<<(32-addr.bitlen));
352 if (pack_key(sel, addr.data[0], mask, off, offmask) < 0)
394 __u32 mask = htonl(0xFFFFFFFF << (32 - (plen -i )));
396 mask, off+4*(i/32), offmask);
643 if (get_u32(&mark.mask, *argv, 0)) {
644 fprintf(stderr, "Illegal \"mark\" mask\n");
649 if ((mark.val & mark.mask) != mark.val) {
734 } else if (matches(*argv, "mask") == 0) {
735 __u16 mask;
737 if (get_u16(&mask, *argv, 16))
739 sel->offmask = htons(mask);
767 if (matches(*argv, "mask") == 0) {
768 __u32 mask;
770 if (get_u32(&mask, *argv, 16))
772 sel->hmask = htonl(mask);
798 switch (ntohl(key->mask)) {
808 if (ntohl(key->mask) == 0x00ff0000) {
815 int bits = mask2bits(key->mask);
828 switch (ntohl(key->mask)) {
854 switch (ntohl(key->mask)) {
864 if (ntohl(key->mask) == 0x00ff0000) {
871 int bits = mask2bits(key->mask);
884 switch (ntohl(key->mask)) {
908 (unsigned int)ntohl(key->mask),
1073 hash = sel2.sel.keys[0].val&sel2.sel.keys[0].mask;
1209 mark->val, mark->mask, mark->success);
1237 fprintf(f, "\n hash mask %08x at %d ",