bool spb_drop_ena;
/* End of Input parameters */
struct roc_nix *roc_nix;
- bool inl_dev_ref;
+ uint16_t inl_dev_refs;
};
struct roc_nix_cq {
uint8_t lock_rx_ctx;
uint32_t outb_nb_desc;
uint16_t outb_nb_crypto_qs;
- uint16_t ipsec_in_max_spi;
- uint16_t ipsec_out_max_sa;
+ uint32_t ipsec_in_min_spi;
+ uint32_t ipsec_in_max_spi;
+ uint32_t ipsec_out_max_sa;
+ bool ipsec_out_sso_pffunc;
/* End of input parameters */
/* LMT line base for "Per Core Tx LMT line" mode*/
uintptr_t lmt_base;
bool io_enabled;
bool rx_ptp_ena;
uint16_t cints;
+ bool custom_sa_action;
#define ROC_NIX_MEM_SZ (6 * 1024)
uint8_t reserved[ROC_NIX_MEM_SZ] __plt_cache_aligned;
uint64_t stats[ROC_NIX_TM_NODE_STATS_MAX];
};
+enum roc_nix_tm_mark {
+ ROC_NIX_TM_MARK_VLAN_DEI,
+ ROC_NIX_TM_MARK_IPV4_DSCP,
+ ROC_NIX_TM_MARK_IPV4_ECN,
+ ROC_NIX_TM_MARK_IPV6_DSCP,
+ ROC_NIX_TM_MARK_IPV6_ECN,
+ ROC_NIX_TM_MARK_MAX
+};
+
+enum roc_nix_tm_mark_color {
+ ROC_NIX_TM_MARK_COLOR_Y,
+ ROC_NIX_TM_MARK_COLOR_R,
+ ROC_NIX_TM_MARK_COLOR_Y_R,
+ ROC_NIX_TM_MARK_COLOR_MAX
+};
+
int __roc_api roc_nix_tm_node_add(struct roc_nix *roc_nix,
struct roc_nix_tm_node *roc_node);
int __roc_api roc_nix_tm_node_delete(struct roc_nix *roc_nix, uint32_t node_id,
int __roc_api roc_nix_tm_pfc_prepare_tree(struct roc_nix *roc_nix);
bool __roc_api roc_nix_tm_is_user_hierarchy_enabled(struct roc_nix *nix);
int __roc_api roc_nix_tm_tree_type_get(struct roc_nix *nix);
+int __roc_api roc_nix_tm_mark_config(struct roc_nix *roc_nix,
+ enum roc_nix_tm_mark type, int mark_yellow,
+ int mark_red);
+uint64_t __roc_api roc_nix_tm_mark_format_get(struct roc_nix *roc_nix,
+ uint64_t *flags);
/* Ingress Policer API */
int __roc_api roc_nix_bpf_timeunit_get(struct roc_nix *roc_nix,
int __roc_api roc_nix_ptp_info_cb_register(struct roc_nix *roc_nix,
ptp_info_update_t ptp_update);
void __roc_api roc_nix_ptp_info_cb_unregister(struct roc_nix *roc_nix);
+bool __roc_api roc_nix_ptp_is_enable(struct roc_nix *roc_nix);
/* VLAN */
int __roc_api