summaryrefslogtreecommitdiff
path: root/drivers/net/ethernet/microchip/vcap/vcap_api_client.h
diff options
context:
space:
mode:
authorSteen Hegelund <steen.hegelund@microchip.com>2022-11-09 12:41:13 +0100
committerDavid S. Miller <davem@davemloft.net>2022-11-11 10:39:12 +0000
commitabc4010d1f6ec6a112bc273c41db13a8fb272d6b (patch)
tree189fb305866f71727577615e219f66e31eb33cf7 /drivers/net/ethernet/microchip/vcap/vcap_api_client.h
parent392d0ab048273c4d121a431de8fe030421794d9e (diff)
downloadlinux-abc4010d1f6ec6a112bc273c41db13a8fb272d6b.tar.gz
linux-abc4010d1f6ec6a112bc273c41db13a8fb272d6b.tar.bz2
linux-abc4010d1f6ec6a112bc273c41db13a8fb272d6b.zip
net: microchip: sparx5: Match keys in configured port keysets
This tries to match the keys in a rule with the keysets supported by the VCAP instance, and generate a list of keysets. This list is then validated against the list of keysets that is currently selected for the lookups (per port) in the VCAP configuration. The Sparx5 IS2 only has one actionset, so there is no actionset matching performed for now. Signed-off-by: Steen Hegelund <steen.hegelund@microchip.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/microchip/vcap/vcap_api_client.h')
-rw-r--r--drivers/net/ethernet/microchip/vcap/vcap_api_client.h11
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 5cecb12edec2..077e49c4f3be 100644
--- a/drivers/net/ethernet/microchip/vcap/vcap_api_client.h
+++ b/drivers/net/ethernet/microchip/vcap/vcap_api_client.h
@@ -205,4 +205,15 @@ void vcap_set_tc_exterr(struct flow_cls_offload *fco, struct vcap_rule *vrule);
/* Cleanup a VCAP instance */
int vcap_del_rules(struct vcap_control *vctrl, struct vcap_admin *admin);
+/* Add a keyset to a keyset list */
+bool vcap_keyset_list_add(struct vcap_keyset_list *keysetlist,
+ enum vcap_keyfield_set keyset);
+
+/* map keyset id to a string with the keyset name */
+const char *vcap_keyset_name(struct vcap_control *vctrl,
+ enum vcap_keyfield_set keyset);
+/* map key field id to a string with the key name */
+const char *vcap_keyfield_name(struct vcap_control *vctrl,
+ enum vcap_key_field key);
+
#endif /* __VCAP_API_CLIENT__ */