-#define TF_SESSION_HW_RESC_ALLOC_INPUT_FLAGS_DIR_TX (0x1)
- /* Unused */
- uint8_t unused[2];
- /* Number of L2 CTX TCAM entries to be allocated */
- uint16_t num_l2_ctx_tcam_entries;
- /* Number of profile functions to be allocated */
- uint16_t num_prof_func_entries;
- /* Number of profile TCAM entries to be allocated */
- uint16_t num_prof_tcam_entries;
- /* Number of EM profile ids to be allocated */
- uint16_t num_em_prof_id;
- /* Number of EM records entries to be allocated */
- uint16_t num_em_record_entries;
- /* Number of WC profiles ids to be allocated */
- uint16_t num_wc_tcam_prof_id;
- /* Number of WC TCAM entries to be allocated */
- uint16_t num_wc_tcam_entries;
- /* Number of meter profiles to be allocated */
- uint16_t num_meter_profiles;
- /* Number of meter instances to be allocated */
- uint16_t num_meter_inst;
- /* Number of mirrors to be allocated */
- uint16_t num_mirrors;
- /* Number of UPAR to be allocated */
- uint16_t num_upar;
- /* Number of SP TCAM entries to be allocated */
- uint16_t num_sp_tcam_entries;
- /* Number of L2 functions to be allocated */
- uint16_t num_l2_func;
- /* Number of flexible key templates to be allocated */
- uint16_t num_flex_key_templ;
- /* Number of table scopes to be allocated */
- uint16_t num_tbl_scope;
- /* Number of epoch0 entries to be allocated */
- uint16_t num_epoch0_entries;
- /* Number of epoch1 entries to be allocated */
- uint16_t num_epoch1_entries;
- /* Number of metadata to be allocated */
- uint16_t num_metadata;
- /* Number of CT states to be allocated */
- uint16_t num_ct_state;
- /* Number of range profiles to be allocated */
- uint16_t num_range_prof;
- /* Number of range Entries to be allocated */
- uint16_t num_range_entries;
- /* Number of LAG table entries to be allocated */
- uint16_t num_lag_tbl_entries;
-} tf_session_hw_resc_alloc_input_t, *ptf_session_hw_resc_alloc_input_t;
-
-/* Output params for session resource HW alloc */
-typedef struct tf_session_hw_resc_alloc_output {
- /* Starting index of L2 CTX TCAM entries allocated to the session */
- uint16_t l2_ctx_tcam_entries_start;
- /* Number of L2 CTX TCAM entries allocated */
- uint16_t l2_ctx_tcam_entries_stride;
- /* Starting index of profile functions allocated to the session */
- uint16_t prof_func_start;
- /* Number of profile functions allocated */
- uint16_t prof_func_stride;
- /* Starting index of profile TCAM entries allocated to the session */
- uint16_t prof_tcam_entries_start;
- /* Number of profile TCAM entries allocated */
- uint16_t prof_tcam_entries_stride;
- /* Starting index of EM profile ids allocated to the session */
- uint16_t em_prof_id_start;
- /* Number of EM profile ids allocated */
- uint16_t em_prof_id_stride;
- /* Starting index of EM record entries allocated to the session */
- uint16_t em_record_entries_start;
- /* Number of EM record entries allocated */
- uint16_t em_record_entries_stride;
- /* Starting index of WC TCAM profiles ids allocated to the session */
- uint16_t wc_tcam_prof_id_start;
- /* Number of WC TCAM profile ids allocated */
- uint16_t wc_tcam_prof_id_stride;
- /* Starting index of WC TCAM entries allocated to the session */
- uint16_t wc_tcam_entries_start;
- /* Number of WC TCAM allocated */
- uint16_t wc_tcam_entries_stride;
- /* Starting index of meter profiles allocated to the session */
- uint16_t meter_profiles_start;
- /* Number of meter profiles allocated */
- uint16_t meter_profiles_stride;
- /* Starting index of meter instance allocated to the session */
- uint16_t meter_inst_start;
- /* Number of meter instance allocated */
- uint16_t meter_inst_stride;
- /* Starting index of mirrors allocated to the session */
- uint16_t mirrors_start;
- /* Number of mirrors allocated */
- uint16_t mirrors_stride;
- /* Starting index of UPAR allocated to the session */
- uint16_t upar_start;
- /* Number of UPAR allocated */
- uint16_t upar_stride;
- /* Starting index of SP TCAM entries allocated to the session */
- uint16_t sp_tcam_entries_start;
- /* Number of SP TCAM entries allocated */
- uint16_t sp_tcam_entries_stride;
- /* Starting index of L2 functions allocated to the session */
- uint16_t l2_func_start;
- /* Number of L2 functions allocated */
- uint16_t l2_func_stride;
- /* Starting index of flexible key templates allocated to the session */
- uint16_t flex_key_templ_start;
- /* Number of flexible key templates allocated */
- uint16_t flex_key_templ_stride;
- /* Starting index of table scopes allocated to the session */
- uint16_t tbl_scope_start;
- /* Number of table scopes allocated */
- uint16_t tbl_scope_stride;
- /* Starting index of epoch0 entries allocated to the session */
- uint16_t epoch0_entries_start;
- /* Number of epoch0 entries allocated */
- uint16_t epoch0_entries_stride;
- /* Starting index of epoch1 entries allocated to the session */
- uint16_t epoch1_entries_start;
- /* Number of epoch1 entries allocated */
- uint16_t epoch1_entries_stride;
- /* Starting index of metadata allocated to the session */
- uint16_t metadata_start;
- /* Number of metadata allocated */
- uint16_t metadata_stride;
- /* Starting index of CT states allocated to the session */
- uint16_t ct_state_start;
- /* Number of CT states allocated */
- uint16_t ct_state_stride;
- /* Starting index of range profiles allocated to the session */
- uint16_t range_prof_start;
- /* Number range profiles allocated */
- uint16_t range_prof_stride;
- /* Starting index of range entries allocated to the session */
- uint16_t range_entries_start;
- /* Number of range entries allocated */
- uint16_t range_entries_stride;
- /* Starting index of LAG table entries allocated to the session */
- uint16_t lag_tbl_entries_start;
- /* Number of LAG table entries allocated */
- uint16_t lag_tbl_entries_stride;
-} tf_session_hw_resc_alloc_output_t, *ptf_session_hw_resc_alloc_output_t;
-
-/* Input params for session resource HW free */
-typedef struct tf_session_hw_resc_free_input {
- /* Firmware session id returned when HWRM_TF_SESSION_OPEN is sent */
- uint32_t fw_session_id;
- /* flags */
- uint16_t flags;
- /* When set to 0, indicates the query apply to RX */
-#define TF_SESSION_HW_RESC_FREE_INPUT_FLAGS_DIR_RX (0x0)
- /* When set to 1, indicates the query apply to TX */
-#define TF_SESSION_HW_RESC_FREE_INPUT_FLAGS_DIR_TX (0x1)
- /* Unused */
- uint8_t unused[2];
- /* Starting index of L2 CTX TCAM entries allocated to the session */
- uint16_t l2_ctx_tcam_entries_start;
- /* Number of L2 CTX TCAM entries allocated */
- uint16_t l2_ctx_tcam_entries_stride;
- /* Starting index of profile functions allocated to the session */
- uint16_t prof_func_start;
- /* Number of profile functions allocated */
- uint16_t prof_func_stride;
- /* Starting index of profile TCAM entries allocated to the session */
- uint16_t prof_tcam_entries_start;
- /* Number of profile TCAM entries allocated */
- uint16_t prof_tcam_entries_stride;
- /* Starting index of EM profile ids allocated to the session */
- uint16_t em_prof_id_start;
- /* Number of EM profile ids allocated */
- uint16_t em_prof_id_stride;
- /* Starting index of EM record entries allocated to the session */
- uint16_t em_record_entries_start;
- /* Number of EM record entries allocated */
- uint16_t em_record_entries_stride;
- /* Starting index of WC TCAM profiles ids allocated to the session */
- uint16_t wc_tcam_prof_id_start;
- /* Number of WC TCAM profile ids allocated */
- uint16_t wc_tcam_prof_id_stride;
- /* Starting index of WC TCAM entries allocated to the session */
- uint16_t wc_tcam_entries_start;
- /* Number of WC TCAM allocated */
- uint16_t wc_tcam_entries_stride;
- /* Starting index of meter profiles allocated to the session */
- uint16_t meter_profiles_start;
- /* Number of meter profiles allocated */
- uint16_t meter_profiles_stride;
- /* Starting index of meter instance allocated to the session */
- uint16_t meter_inst_start;
- /* Number of meter instance allocated */
- uint16_t meter_inst_stride;
- /* Starting index of mirrors allocated to the session */
- uint16_t mirrors_start;
- /* Number of mirrors allocated */
- uint16_t mirrors_stride;
- /* Starting index of UPAR allocated to the session */
- uint16_t upar_start;
- /* Number of UPAR allocated */
- uint16_t upar_stride;
- /* Starting index of SP TCAM entries allocated to the session */
- uint16_t sp_tcam_entries_start;
- /* Number of SP TCAM entries allocated */
- uint16_t sp_tcam_entries_stride;
- /* Starting index of L2 functions allocated to the session */
- uint16_t l2_func_start;
- /* Number of L2 functions allocated */
- uint16_t l2_func_stride;
- /* Starting index of flexible key templates allocated to the session */
- uint16_t flex_key_templ_start;
- /* Number of flexible key templates allocated */
- uint16_t flex_key_templ_stride;
- /* Starting index of table scopes allocated to the session */
- uint16_t tbl_scope_start;
- /* Number of table scopes allocated */
- uint16_t tbl_scope_stride;
- /* Starting index of epoch0 entries allocated to the session */
- uint16_t epoch0_entries_start;
- /* Number of epoch0 entries allocated */
- uint16_t epoch0_entries_stride;
- /* Starting index of epoch1 entries allocated to the session */
- uint16_t epoch1_entries_start;
- /* Number of epoch1 entries allocated */
- uint16_t epoch1_entries_stride;
- /* Starting index of metadata allocated to the session */
- uint16_t metadata_start;
- /* Number of metadata allocated */
- uint16_t metadata_stride;
- /* Starting index of CT states allocated to the session */
- uint16_t ct_state_start;
- /* Number of CT states allocated */
- uint16_t ct_state_stride;
- /* Starting index of range profiles allocated to the session */
- uint16_t range_prof_start;
- /* Number range profiles allocated */
- uint16_t range_prof_stride;
- /* Starting index of range entries allocated to the session */
- uint16_t range_entries_start;
- /* Number of range entries allocated */
- uint16_t range_entries_stride;
- /* Starting index of LAG table entries allocated to the session */
- uint16_t lag_tbl_entries_start;
- /* Number of LAG table entries allocated */
- uint16_t lag_tbl_entries_stride;
-} tf_session_hw_resc_free_input_t, *ptf_session_hw_resc_free_input_t;
-
-/* Input params for session resource HW flush */
-typedef struct tf_session_hw_resc_flush_input {
- /* Firmware session id returned when HWRM_TF_SESSION_OPEN is sent */
- uint32_t fw_session_id;
- /* flags */
- uint16_t flags;
- /* When set to 0, indicates the flush apply to RX */
-#define TF_SESSION_HW_RESC_FLUSH_INPUT_FLAGS_DIR_RX (0x0)
- /* When set to 1, indicates the flush apply to TX */
-#define TF_SESSION_HW_RESC_FLUSH_INPUT_FLAGS_DIR_TX (0x1)
- /* Unused */
- uint8_t unused[2];
- /* Starting index of L2 CTX TCAM entries allocated to the session */
- uint16_t l2_ctx_tcam_entries_start;
- /* Number of L2 CTX TCAM entries allocated */
- uint16_t l2_ctx_tcam_entries_stride;
- /* Starting index of profile functions allocated to the session */
- uint16_t prof_func_start;
- /* Number of profile functions allocated */
- uint16_t prof_func_stride;
- /* Starting index of profile TCAM entries allocated to the session */
- uint16_t prof_tcam_entries_start;
- /* Number of profile TCAM entries allocated */
- uint16_t prof_tcam_entries_stride;
- /* Starting index of EM profile ids allocated to the session */
- uint16_t em_prof_id_start;
- /* Number of EM profile ids allocated */
- uint16_t em_prof_id_stride;
- /* Starting index of EM record entries allocated to the session */
- uint16_t em_record_entries_start;
- /* Number of EM record entries allocated */
- uint16_t em_record_entries_stride;
- /* Starting index of WC TCAM profiles ids allocated to the session */
- uint16_t wc_tcam_prof_id_start;
- /* Number of WC TCAM profile ids allocated */
- uint16_t wc_tcam_prof_id_stride;
- /* Starting index of WC TCAM entries allocated to the session */
- uint16_t wc_tcam_entries_start;
- /* Number of WC TCAM allocated */
- uint16_t wc_tcam_entries_stride;
- /* Starting index of meter profiles allocated to the session */
- uint16_t meter_profiles_start;
- /* Number of meter profiles allocated */
- uint16_t meter_profiles_stride;
- /* Starting index of meter instance allocated to the session */
- uint16_t meter_inst_start;
- /* Number of meter instance allocated */
- uint16_t meter_inst_stride;
- /* Starting index of mirrors allocated to the session */
- uint16_t mirrors_start;
- /* Number of mirrors allocated */
- uint16_t mirrors_stride;
- /* Starting index of UPAR allocated to the session */
- uint16_t upar_start;
- /* Number of UPAR allocated */
- uint16_t upar_stride;
- /* Starting index of SP TCAM entries allocated to the session */
- uint16_t sp_tcam_entries_start;
- /* Number of SP TCAM entries allocated */
- uint16_t sp_tcam_entries_stride;
- /* Starting index of L2 functions allocated to the session */
- uint16_t l2_func_start;
- /* Number of L2 functions allocated */
- uint16_t l2_func_stride;
- /* Starting index of flexible key templates allocated to the session */
- uint16_t flex_key_templ_start;
- /* Number of flexible key templates allocated */
- uint16_t flex_key_templ_stride;
- /* Starting index of table scopes allocated to the session */
- uint16_t tbl_scope_start;
- /* Number of table scopes allocated */
- uint16_t tbl_scope_stride;
- /* Starting index of epoch0 entries allocated to the session */
- uint16_t epoch0_entries_start;
- /* Number of epoch0 entries allocated */
- uint16_t epoch0_entries_stride;
- /* Starting index of epoch1 entries allocated to the session */
- uint16_t epoch1_entries_start;
- /* Number of epoch1 entries allocated */
- uint16_t epoch1_entries_stride;
- /* Starting index of metadata allocated to the session */
- uint16_t metadata_start;
- /* Number of metadata allocated */
- uint16_t metadata_stride;
- /* Starting index of CT states allocated to the session */
- uint16_t ct_state_start;
- /* Number of CT states allocated */
- uint16_t ct_state_stride;
- /* Starting index of range profiles allocated to the session */
- uint16_t range_prof_start;
- /* Number range profiles allocated */
- uint16_t range_prof_stride;
- /* Starting index of range entries allocated to the session */
- uint16_t range_entries_start;
- /* Number of range entries allocated */
- uint16_t range_entries_stride;
- /* Starting index of LAG table entries allocated to the session */
- uint16_t lag_tbl_entries_start;
- /* Number of LAG table entries allocated */
- uint16_t lag_tbl_entries_stride;
-} tf_session_hw_resc_flush_input_t, *ptf_session_hw_resc_flush_input_t;