Lines Matching refs:sel
66 struct tc_u32_sel sel; member
91 static __inline__ unsigned u32_hash_fold(u32 key, struct tc_u32_sel *sel) in u32_hash_fold() argument
93 unsigned h = key & sel->hmask; in u32_hash_fold()
112 int sel = 0; in u32_classify() local
116 n = ht->ht[sel]; in u32_classify()
120 struct tc_u32_key *key = n->sel.keys; in u32_classify()
122 for (i = n->sel.nkeys; i>0; i--, key++) { in u32_classify()
130 if (n->sel.flags&TC_U32_TERMINAL) { in u32_classify()
153 sel = 0; in u32_classify()
155 sel = ht->divisor&u32_hash_fold(*(u32*)(ptr+n->sel.hoff), &n->sel); in u32_classify()
157 if (!(n->sel.flags&(TC_U32_VAROFFSET|TC_U32_OFFSET|TC_U32_EAT))) in u32_classify()
160 if (n->sel.flags&(TC_U32_OFFSET|TC_U32_VAROFFSET)) { in u32_classify()
161 off2 = n->sel.off + 3; in u32_classify()
162 if (n->sel.flags&TC_U32_VAROFFSET) in u32_classify()
163 off2 += ntohs(n->sel.offmask & *(u16*)(ptr+n->sel.offoff)) >>n->sel.offshift; in u32_classify()
166 if (n->sel.flags&TC_U32_EAT) { in u32_classify()
205 unsigned sel; in u32_lookup_key() local
208 sel = TC_U32_HASH(handle); in u32_lookup_key()
209 if (sel > ht->divisor) in u32_lookup_key()
212 for (n = ht->ht[sel]; n; n = n->next) in u32_lookup_key()
580 memcpy(&n->sel, s, sizeof(*s) + s->nkeys*sizeof(struct tc_u32_key)); in u32_change()
658 sizeof(n->sel) + n->sel.nkeys*sizeof(struct tc_u32_key), in u32_dump()
659 &n->sel); in u32_dump()