diff options
Diffstat (limited to 'drivers/net/ethernet/microchip/vcap/vcap_api.c')
| -rw-r--r-- | drivers/net/ethernet/microchip/vcap/vcap_api.c | 16 | 
1 files changed, 14 insertions, 2 deletions
diff --git a/drivers/net/ethernet/microchip/vcap/vcap_api.c b/drivers/net/ethernet/microchip/vcap/vcap_api.c index ef980e4e5bc2..2687765abe52 100644 --- a/drivers/net/ethernet/microchip/vcap/vcap_api.c +++ b/drivers/net/ethernet/microchip/vcap/vcap_api.c @@ -327,7 +327,7 @@ static int vcap_find_keystream_typegroup_sw(struct vcap_control *vctrl,  }  /* Verify that the typegroup information, subword count, keyset and type id - * are in sync and correct, return the list of matchin keysets + * are in sync and correct, return the list of matching keysets   */  int  vcap_find_keystream_keysets(struct vcap_control *vctrl, @@ -2907,6 +2907,18 @@ int vcap_rule_add_action_u32(struct vcap_rule *rule,  }  EXPORT_SYMBOL_GPL(vcap_rule_add_action_u32); +/* Add a 72 bit action field with value to the rule */ +int vcap_rule_add_action_u72(struct vcap_rule *rule, +			     enum vcap_action_field action, +			     struct vcap_u72_action *fieldval) +{ +	struct vcap_client_actionfield_data data; + +	memcpy(&data.u72, fieldval, sizeof(data.u72)); +	return vcap_rule_add_action(rule, action, VCAP_FIELD_U72, &data); +} +EXPORT_SYMBOL_GPL(vcap_rule_add_action_u72); +  static int vcap_read_counter(struct vcap_rule_internal *ri,  			     struct vcap_counter *ctr)  { @@ -2931,7 +2943,7 @@ void vcap_netbytes_copy(u8 *dst, u8 *src, int count)  }  EXPORT_SYMBOL_GPL(vcap_netbytes_copy); -/* Convert validation error code into tc extact error message */ +/* Convert validation error code into tc extack error message */  void vcap_set_tc_exterr(struct flow_cls_offload *fco, struct vcap_rule *vrule)  {  	switch (vrule->exterr) {  |