X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fnet%2Fbnxt%2Ftf_core%2Ftf_device.h;h=fce7f25a85b959bff1e4e26d3279ab95052d1b31;hb=7eec575a223daf436ee68a91642ffb7ed8cdbd49;hp=3c56ab34886b8573a388914ae07a1c2b008d4391;hpb=ca5e61bd562dd08389c4dcc23d13916304494946;p=dpdk.git diff --git a/drivers/net/bnxt/tf_core/tf_device.h b/drivers/net/bnxt/tf_core/tf_device.h index 3c56ab3488..fce7f25a85 100644 --- a/drivers/net/bnxt/tf_core/tf_device.h +++ b/drivers/net/bnxt/tf_core/tf_device.h @@ -8,8 +8,10 @@ #include "tf_core.h" #include "tf_identifier.h" -#include "tf_tbl_type.h" +#include "tf_tbl.h" #include "tf_tcam.h" +#include "tf_if_tbl.h" +#include "tf_global_cfg.h" struct tf; struct tf_session; @@ -196,6 +198,26 @@ struct tf_dev_ops { int (*tf_dev_free_ident)(struct tf *tfp, struct tf_ident_free_parms *parms); + /** + * Search of an identifier element. + * + * This API search the specified identifier element from a + * device specific identifier shadow DB. The allocated element + * is returned. + * + * [in] tfp + * Pointer to TF handle + * + * [in] parms + * Pointer to identifier search parameters + * + * Returns + * - (0) if successful. + * - (-EINVAL) on failure. + */ + int (*tf_dev_search_ident)(struct tf *tfp, + struct tf_ident_search_parms *parms); + /** * Allocation of a table type element. * @@ -216,6 +238,26 @@ struct tf_dev_ops { int (*tf_dev_alloc_tbl)(struct tf *tfp, struct tf_tbl_alloc_parms *parms); + /** + * Allocation of a external table type element. + * + * This API allocates the specified table type element from a + * device specific table type DB. The allocated element is + * returned. + * + * [in] tfp + * Pointer to TF handle + * + * [in] parms + * Pointer to table allocation parameters + * + * Returns + * - (0) if successful. + * - (-EINVAL) on failure. + */ + int (*tf_dev_alloc_ext_tbl)(struct tf *tfp, + struct tf_tbl_alloc_parms *parms); + /** * Free of a table type element. * @@ -235,6 +277,25 @@ struct tf_dev_ops { int (*tf_dev_free_tbl)(struct tf *tfp, struct tf_tbl_free_parms *parms); + /** + * Free of a external table type element. + * + * This API free's a previous allocated table type element from a + * device specific table type DB. + * + * [in] tfp + * Pointer to TF handle + * + * [in] parms + * Pointer to table free parameters + * + * Returns + * - (0) if successful. + * - (-EINVAL) on failure. + */ + int (*tf_dev_free_ext_tbl)(struct tf *tfp, + struct tf_tbl_free_parms *parms); + /** * Searches for the specified table type element in a shadow DB. * @@ -276,6 +337,25 @@ struct tf_dev_ops { int (*tf_dev_set_tbl)(struct tf *tfp, struct tf_tbl_set_parms *parms); + /** + * Sets the specified external table type element. + * + * This API sets the specified element data by invoking the + * firmware. + * + * [in] tfp + * Pointer to TF handle + * + * [in] parms + * Pointer to table set parameters + * + * Returns + * - (0) if successful. + * - (-EINVAL) on failure. + */ + int (*tf_dev_set_ext_tbl)(struct tf *tfp, + struct tf_tbl_set_parms *parms); + /** * Retrieves the specified table type element. * @@ -293,7 +373,27 @@ struct tf_dev_ops { * - (-EINVAL) on failure. */ int (*tf_dev_get_tbl)(struct tf *tfp, - struct tf_tbl_get_parms *parms); + struct tf_tbl_get_parms *parms); + + /** + * Retrieves the specified table type element using 'bulk' + * mechanism. + * + * This API retrieves the specified element data by invoking the + * firmware. + * + * [in] tfp + * Pointer to TF handle + * + * [in] parms + * Pointer to table get bulk parameters + * + * Returns + * - (0) if successful. + * - (-EINVAL) on failure. + */ + int (*tf_dev_get_bulk_tbl)(struct tf *tfp, + struct tf_tbl_get_bulk_parms *parms); /** * Allocation of a tcam element. @@ -489,6 +589,76 @@ struct tf_dev_ops { */ int (*tf_dev_free_tbl_scope)(struct tf *tfp, struct tf_free_tbl_scope_parms *parms); + + /** + * Sets the specified interface table type element. + * + * This API sets the specified element data by invoking the + * firmware. + * + * [in] tfp + * Pointer to TF handle + * + * [in] parms + * Pointer to interface table set parameters + * + * Returns + * - (0) if successful. + * - (-EINVAL) on failure. + */ + int (*tf_dev_set_if_tbl)(struct tf *tfp, + struct tf_if_tbl_set_parms *parms); + + /** + * Retrieves the specified interface table type element. + * + * This API retrieves the specified element data by invoking the + * firmware. + * + * [in] tfp + * Pointer to TF handle + * + * [in] parms + * Pointer to table get parameters + * + * Returns + * - (0) if successful. + * - (-EINVAL) on failure. + */ + int (*tf_dev_get_if_tbl)(struct tf *tfp, + struct tf_if_tbl_get_parms *parms); + + /** + * Update global cfg + * + * [in] tfp + * Pointer to TF handle + * + * [in] parms + * Pointer to global cfg parameters + * + * returns: + * 0 - Success + * -EINVAL - Error + */ + int (*tf_dev_set_global_cfg)(struct tf *tfp, + struct tf_dev_global_cfg_parms *parms); + + /** + * Get global cfg + * + * [in] tfp + * Pointer to TF handle + * + * [in] parms + * Pointer to global cfg parameters + * + * returns: + * 0 - Success + * -EINVAL - Error + */ + int (*tf_dev_get_global_cfg)(struct tf *tfp, + struct tf_dev_global_cfg_parms *parms); }; /**