diff options
Diffstat (limited to 'drivers/net/ethernet/microchip/vcap/vcap_api_client.h')
| -rw-r--r-- | drivers/net/ethernet/microchip/vcap/vcap_api_client.h | 11 | 
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/net/ethernet/microchip/vcap/vcap_api_client.h b/drivers/net/ethernet/microchip/vcap/vcap_api_client.h index 417af9754bcc..d9d1f7c9d762 100644 --- a/drivers/net/ethernet/microchip/vcap/vcap_api_client.h +++ b/drivers/net/ethernet/microchip/vcap/vcap_api_client.h @@ -201,6 +201,9 @@ int vcap_rule_add_action_bit(struct vcap_rule *rule,  int vcap_rule_add_action_u32(struct vcap_rule *rule,  			     enum vcap_action_field action, u32 value); +/* Get number of rules in a vcap instance lookup chain id range */ +int vcap_admin_rule_count(struct vcap_admin *admin, int cid); +  /* VCAP rule counter operations */  int vcap_get_rule_count_by_cookie(struct vcap_control *vctrl,  				  struct vcap_counter *ctr, u64 cookie); @@ -269,6 +272,14 @@ int vcap_rule_mod_action_u32(struct vcap_rule *rule,  int vcap_rule_get_key_u32(struct vcap_rule *rule, enum vcap_key_field key,  			  u32 *value, u32 *mask); +/* Remove a key field with value and mask in the rule */ +int vcap_rule_rem_key(struct vcap_rule *rule, enum vcap_key_field key); + +/* Select the keyset from the list that results in the smallest rule size */ +enum vcap_keyfield_set +vcap_select_min_rule_keyset(struct vcap_control *vctrl, enum vcap_type vtype, +			    struct vcap_keyset_list *kslist); +  struct vcap_client_actionfield *  vcap_find_actionfield(struct vcap_rule *rule, enum vcap_action_field act);  #endif /* __VCAP_API_CLIENT__ */  |