Lines Matching refs:rule

780 hash_parent(const struct ipfw_flow_id *id, const void *rule)  in hash_parent()  argument
783 return (hash_packet(id) ^ ((uintptr_t)rule)); in hash_parent()
876 hash_parent(const struct ipfw_flow_id *id, const void *rule) in hash_parent() argument
879 return (jenkins_hash32((const uint32_t *)&rule, in hash_parent()
880 sizeof(rule) / sizeof(uint32_t), hash_packet(id))); in hash_parent()
1111 dyn_lookup_ipv4_parent(const struct ipfw_flow_id *pkt, const void *rule, in dyn_lookup_ipv4_parent() argument
1129 if (s->limit->parent == rule && in dyn_lookup_ipv4_parent()
1148 const void *rule, uint32_t ruleid, uint16_t rulenum, uint32_t bucket) in dyn_lookup_ipv4_parent_locked() argument
1154 if (s->limit->parent == rule && in dyn_lookup_ipv4_parent_locked()
1261 const void *rule, uint32_t ruleid, uint16_t rulenum, uint32_t hashval) in dyn_lookup_ipv6_parent() argument
1278 if (s->limit->parent == rule && in dyn_lookup_ipv6_parent()
1298 const void *rule, uint32_t ruleid, uint16_t rulenum, uint32_t bucket) in dyn_lookup_ipv6_parent_locked() argument
1304 if (s->limit->parent == rule && in dyn_lookup_ipv6_parent_locked()
1333 struct ip_fw *rule; in ipfw_dyn_lookup_state() local
1338 rule = NULL; in ipfw_dyn_lookup_state()
1357 rule = s->limit->parent; in ipfw_dyn_lookup_state()
1359 rule = data->parent; in ipfw_dyn_lookup_state()
1372 rule = s->limit->parent; in ipfw_dyn_lookup_state()
1374 rule = data->parent; in ipfw_dyn_lookup_state()
1412 if (V_layer3_chain.map[data->f_pos] == rule) { in ipfw_dyn_lookup_state()
1426 rule = NULL; in ipfw_dyn_lookup_state()
1429 "invalid in data %p", rule, data->ruleid, in ipfw_dyn_lookup_state()
1446 if (rule != NULL && (V_set_disable & (1 << rule->set))) { in ipfw_dyn_lookup_state()
1447 rule = NULL; in ipfw_dyn_lookup_state()
1451 return (rule); in ipfw_dyn_lookup_state()
1536 dyn_add_ipv4_parent(void *rule, uint32_t ruleid, uint16_t rulenum, in dyn_add_ipv4_parent() argument
1551 s = dyn_lookup_ipv4_parent_locked(pkt, rule, ruleid, in dyn_add_ipv4_parent()
1565 limit = dyn_alloc_parent(rule, ruleid, rulenum, hashval); in dyn_add_ipv4_parent()
1667 dyn_add_ipv6_parent(void *rule, uint32_t ruleid, uint16_t rulenum, in dyn_add_ipv6_parent() argument
1682 s = dyn_lookup_ipv6_parent_locked(pkt, zoneid, rule, ruleid, in dyn_add_ipv6_parent()
1696 limit = dyn_alloc_parent(rule, ruleid, rulenum, hashval); in dyn_add_ipv6_parent()
1771 struct ip_fw *rule, uint32_t hashval, uint32_t limit, uint16_t kidx) in dyn_get_parent_state() argument
1786 s = dyn_lookup_ipv4_parent(pkt, rule, rule->id, in dyn_get_parent_state()
1787 rule->rulenum, bucket); in dyn_get_parent_state()
1795 s = dyn_add_ipv4_parent(rule, rule->id, in dyn_get_parent_state()
1796 rule->rulenum, pkt, hashval, version, kidx); in dyn_get_parent_state()
1809 s = dyn_lookup_ipv6_parent(pkt, zoneid, rule, rule->id, in dyn_get_parent_state()
1810 rule->rulenum, bucket); in dyn_get_parent_state()
1818 s = dyn_add_ipv6_parent(rule, rule->id, in dyn_get_parent_state()
1819 rule->rulenum, pkt, zoneid, hashval, version, in dyn_get_parent_state()
1840 rule->rulenum); in dyn_get_parent_state()
1863 uint16_t fibnum, const void *ulp, int pktlen, struct ip_fw *rule, in dyn_install_state() argument
1873 ruleid = rule->id; in dyn_install_state()
1874 rulenum = rule->rulenum; in dyn_install_state()
1905 parent_hashval = hash_parent(&id, rule); in dyn_install_state()
1906 rule = dyn_get_parent_state(&id, zoneid, rule, parent_hashval, in dyn_install_state()
1908 if (rule == NULL) { in dyn_install_state()
1913 "%u drop session", rule->rulenum); in dyn_install_state()
1929 ret = dyn_add_ipv4_state(rule, ruleid, rulenum, pkt, in dyn_install_state()
1933 ret = dyn_add_ipv6_state(rule, ruleid, rulenum, pkt, in dyn_install_state()
1953 ((struct dyn_ipv4_state *)rule)->limit); in dyn_install_state()
1957 ((struct dyn_ipv6_state *)rule)->limit); in dyn_install_state()
1987 ipfw_dyn_install_state(struct ip_fw_chain *chain, struct ip_fw *rule, in ipfw_dyn_install_state() argument
2006 0, M_GETFIB(args->m), ulp, pktlen, rule, info, limit, in ipfw_dyn_install_state()
2133 struct ip_fw *rule, uint16_t kidx) in dyn_acquire_rule() argument
2155 rule->refcnt++; in dyn_acquire_rule()
2160 struct ip_fw *rule, uint16_t kidx) in dyn_release_rule() argument
2173 if (--rule->refcnt == 1) in dyn_release_rule()
2174 ipfw_free_rule(rule); in dyn_release_rule()
2189 struct ip_fw *rule; in dyn_match_ipv4_state() local
2193 rule = s->limit->parent; in dyn_match_ipv4_state()
2194 return (dyn_match_range(s->limit->rulenum, rule->set, rt)); in dyn_match_ipv4_state()
2197 rule = s->data->parent; in dyn_match_ipv4_state()
2199 rule = ((struct dyn_ipv4_state *)rule)->limit->parent; in dyn_match_ipv4_state()
2201 ret = dyn_match_range(s->data->rulenum, rule->set, rt); in dyn_match_ipv4_state()
2205 dyn_acquire_rule(ch, s->data, rule, s->kidx); in dyn_match_ipv4_state()
2214 struct ip_fw *rule; in dyn_match_ipv6_state() local
2218 rule = s->limit->parent; in dyn_match_ipv6_state()
2219 return (dyn_match_range(s->limit->rulenum, rule->set, rt)); in dyn_match_ipv6_state()
2222 rule = s->data->parent; in dyn_match_ipv6_state()
2224 rule = ((struct dyn_ipv6_state *)rule)->limit->parent; in dyn_match_ipv6_state()
2226 ret = dyn_match_range(s->data->rulenum, rule->set, rt); in dyn_match_ipv6_state()
2230 dyn_acquire_rule(ch, s->data, rule, s->kidx); in dyn_match_ipv6_state()
2248 void *rule; in dyn_expire_states() local
2291 rule = s->data->parent; \ in dyn_expire_states()
2293 rule = ((__typeof(s)) \ in dyn_expire_states()
2294 rule)->limit->parent;\ in dyn_expire_states()
2296 rule, s->kidx); \ in dyn_expire_states()
2829 struct ip_fw *rule; in ipfw_dyn_reset_eaction() local
2836 rule = s->data->parent; \ in ipfw_dyn_reset_eaction()
2838 rule = ((__typeof(s))rule)->limit->parent; \ in ipfw_dyn_reset_eaction()
2839 ipfw_reset_eaction(ch, rule, eaction_id, \ in ipfw_dyn_reset_eaction()
2910 ipfw_is_dyn_rule(struct ip_fw *rule) in ipfw_is_dyn_rule() argument
2915 l = rule->cmd_len; in ipfw_is_dyn_rule()
2916 cmd = rule->cmd; in ipfw_is_dyn_rule()
2945 memcpy(&dst->rule, &p->rulenum, sizeof(p->rulenum)); in dyn_export_parent()
2948 memcpy((char *)&dst->rule + sizeof(p->rulenum), &set, sizeof(set)); in dyn_export_parent()
2978 memcpy(&dst->rule, &data->rulenum, sizeof(data->rulenum)); in dyn_export_data()
2981 memcpy((char *)&dst->rule + sizeof(data->rulenum), &set, sizeof(set)); in dyn_export_data()
3003 struct ip_fw *rule; in dyn_export_ipv4_state() local
3007 rule = s->limit->parent; in dyn_export_ipv4_state()
3008 dyn_export_parent(s->limit, s->kidx, rule->set, dst); in dyn_export_ipv4_state()
3011 rule = s->data->parent; in dyn_export_ipv4_state()
3013 rule = ((struct dyn_ipv4_state *)rule)->limit->parent; in dyn_export_ipv4_state()
3014 dyn_export_data(s->data, s->kidx, s->type, rule->set, dst); in dyn_export_ipv4_state()
3035 struct ip_fw *rule; in dyn_export_ipv6_state() local
3039 rule = s->limit->parent; in dyn_export_ipv6_state()
3040 dyn_export_parent(s->limit, s->kidx, rule->set, dst); in dyn_export_ipv6_state()
3043 rule = s->data->parent; in dyn_export_ipv6_state()
3045 rule = ((struct dyn_ipv6_state *)rule)->limit->parent; in dyn_export_ipv6_state()
3046 dyn_export_data(s->data, s->kidx, s->type, rule->set, dst); in dyn_export_ipv6_state()