Lines Matching refs:rule
270 struct vcap_rule *rule,
287 lookup = lan966x_vcap_is1_cid_to_lookup(rule->vcap_chain_id);
292 lookup = lan966x_vcap_is2_cid_to_lookup(rule->vcap_chain_id);
316 static bool lan966x_vcap_is2_is_first_chain(struct vcap_rule *rule)
318 return (rule->vcap_chain_id >= LAN966X_VCAP_CID_IS2_L0 &&
319 rule->vcap_chain_id < LAN966X_VCAP_CID_IS2_L1);
324 struct vcap_rule *rule)
329 if (vcap_rule_get_key_u32(rule, VCAP_KF_IF_IGR_PORT_MASK,
331 vcap_rule_add_key_u32(rule, VCAP_KF_IF_IGR_PORT_MASK, 0,
334 lookup = lan966x_vcap_is1_cid_to_lookup(rule->vcap_chain_id);
335 vcap_rule_add_key_u32(rule, VCAP_KF_LOOKUP_INDEX, lookup, 0x3);
340 struct vcap_rule *rule)
344 if (vcap_rule_get_key_u32(rule, VCAP_KF_IF_IGR_PORT_MASK,
346 vcap_rule_add_key_u32(rule, VCAP_KF_IF_IGR_PORT_MASK, 0,
349 if (lan966x_vcap_is2_is_first_chain(rule))
350 vcap_rule_add_key_bit(rule, VCAP_KF_LOOKUP_FIRST_IS,
353 vcap_rule_add_key_bit(rule, VCAP_KF_LOOKUP_FIRST_IS,
359 struct vcap_rule *rule)
361 vcap_rule_add_key_u32(rule, VCAP_KF_IF_EGR_PORT_NO,
367 struct vcap_rule *rule)
373 lan966x_vcap_is1_add_default_fields(port, admin, rule);
376 lan966x_vcap_is2_add_default_fields(port, admin, rule);
379 lan966x_vcap_es0_add_default_fields(port, admin, rule);
397 * with an ISDX > 0 (e.g by a rule in IS0). This is not mentioned in the