Lines Matching full:rule
16 /* Client supplied VCAP rule key control part */
18 struct list_head list; /* For insertion into a rule */
63 /* Client supplied VCAP rule field data */
77 /* Client supplied VCAP rule key (value, mask) */
83 /* Client supplied VCAP rule action control part */
85 struct list_head list; /* For insertion into a rule */
156 /* VCAP rule operations */
157 /* Allocate a rule and fill in the basic information */
164 /* Free mem of a rule owned by client */
165 void vcap_free_rule(struct vcap_rule *rule);
166 /* Validate a rule before adding it to the VCAP */
167 int vcap_val_rule(struct vcap_rule *rule, u16 l3_proto);
168 /* Add rule to a VCAP instance */
169 int vcap_add_rule(struct vcap_rule *rule);
170 /* Delete rule in a VCAP instance */
172 /* Make a full copy of an existing rule with a new rule id */
173 struct vcap_rule *vcap_copy_rule(struct vcap_rule *rule);
174 /* Get rule from a VCAP instance */
176 /* Update existing rule */
177 int vcap_mod_rule(struct vcap_rule *rule);
179 /* Update the keyset for the rule */
180 int vcap_set_rule_set_keyset(struct vcap_rule *rule,
182 /* Update the actionset for the rule */
183 int vcap_set_rule_set_actionset(struct vcap_rule *rule,
185 /* Set a rule counter id (for certain VCAPs only) */
186 void vcap_rule_set_counter_id(struct vcap_rule *rule, u32 counter_id);
188 /* VCAP rule field operations */
189 int vcap_rule_add_key_bit(struct vcap_rule *rule, enum vcap_key_field key,
191 int vcap_rule_add_key_u32(struct vcap_rule *rule, enum vcap_key_field key,
193 int vcap_rule_add_key_u48(struct vcap_rule *rule, enum vcap_key_field key,
195 int vcap_rule_add_key_u72(struct vcap_rule *rule, enum vcap_key_field key,
197 int vcap_rule_add_key_u128(struct vcap_rule *rule, enum vcap_key_field key,
199 int vcap_rule_add_action_bit(struct vcap_rule *rule,
201 int vcap_rule_add_action_u32(struct vcap_rule *rule,
203 int vcap_rule_add_action_u72(struct vcap_rule *rule, enum vcap_action_field action,
209 /* VCAP rule counter operations */
212 int vcap_rule_set_counter(struct vcap_rule *rule, struct vcap_counter *ctr);
213 int vcap_rule_get_counter(struct vcap_rule *rule, struct vcap_counter *ctr);
220 /* Find information on a key field in a rule */
221 const struct vcap_field *vcap_lookup_keyfield(struct vcap_rule *rule,
223 /* Find a rule id with a provided cookie */
232 bool vcap_rule_find_keysets(struct vcap_rule *rule,
251 int vcap_filter_rule_keys(struct vcap_rule *rule,
262 /* Modify a 32 bit key field with value and mask in the rule */
263 int vcap_rule_mod_key_u32(struct vcap_rule *rule, enum vcap_key_field key,
265 /* Modify a 32 bit action field with value in the rule */
266 int vcap_rule_mod_action_u32(struct vcap_rule *rule,
270 /* Get a 32 bit key field value and mask from the rule */
271 int vcap_rule_get_key_u32(struct vcap_rule *rule, enum vcap_key_field key,
274 /* Remove a key field with value and mask in the rule */
275 int vcap_rule_rem_key(struct vcap_rule *rule, enum vcap_key_field key);
277 /* Select the keyset from the list that results in the smallest rule size */
283 vcap_find_actionfield(struct vcap_rule *rule, enum vcap_action_field act);