From fa3ed7a5e6cab5e75654e931d169d8bb28d9d2d0 Mon Sep 17 00:00:00 2001 From: Komal Shah Date: Tue, 1 Jul 2025 14:28:05 +0530 Subject: [PATCH] Support for Next Hop Meta Data Signed-off-by: Komal Shah --- inc/saiacl.h | 25 +++++++++++++++++++++++-- inc/sainexthop.h | 11 +++++++++++ inc/saiswitch.h | 8 ++++++++ 3 files changed, 42 insertions(+), 2 deletions(-) diff --git a/inc/saiacl.h b/inc/saiacl.h index c1f2d274f..5ebfd6cb8 100644 --- a/inc/saiacl.h +++ b/inc/saiacl.h @@ -1579,10 +1579,19 @@ typedef enum _sai_acl_table_attr_t */ SAI_ACL_TABLE_ATTR_FIELD_DST_PREFIX_META = SAI_ACL_TABLE_ATTR_FIELD_START + 0x161, + /** + * @brief Nexthop DST User metadata + * + * @type bool + * @flags CREATE_ONLY + * @default false + */ + SAI_ACL_TABLE_ATTR_FIELD_NEXT_HOP_USER_META = SAI_ACL_TABLE_ATTR_FIELD_START + 0x162, + /** * @brief End of ACL Table Match Field */ - SAI_ACL_TABLE_ATTR_FIELD_END = SAI_ACL_TABLE_ATTR_FIELD_DST_PREFIX_META, + SAI_ACL_TABLE_ATTR_FIELD_END = SAI_ACL_TABLE_ATTR_FIELD_NEXT_HOP_USER_META, /** * @brief ACL table entries associated with this table. @@ -2707,10 +2716,22 @@ typedef enum _sai_acl_entry_attr_t */ SAI_ACL_ENTRY_ATTR_FIELD_DST_PREFIX_META = SAI_ACL_ENTRY_ATTR_FIELD_START + 0x161, + /** + * @brief Match user meta data in Next Hop Table + * + * Value must be in the range defined in + * #SAI_SWITCH_ATTR_NEXT_HOP_USER_META_DATA_RANGE + * + * @type sai_acl_field_data_t sai_uint32_t + * @flags CREATE_AND_SET + * @default disabled + */ + SAI_ACL_ENTRY_ATTR_FIELD_NEXT_HOP_USER_META = SAI_ACL_ENTRY_ATTR_FIELD_START + 0x162, + /** * @brief End of Rule Match Fields */ - SAI_ACL_ENTRY_ATTR_FIELD_END = SAI_ACL_ENTRY_ATTR_FIELD_DST_PREFIX_META, + SAI_ACL_ENTRY_ATTR_FIELD_END = SAI_ACL_ENTRY_ATTR_FIELD_NEXT_HOP_USER_META, /* * Actions [sai_acl_action_data_t] diff --git a/inc/sainexthop.h b/inc/sainexthop.h index b9eb40730..b87490da2 100644 --- a/inc/sainexthop.h +++ b/inc/sainexthop.h @@ -258,6 +258,17 @@ typedef enum _sai_next_hop_attr_t */ SAI_NEXT_HOP_ATTR_DISABLE_VLAN_REWRITE, + /** + * @brief User based Meta Data + * + * Value Range #SAI_SWITCH_ATTR_NEXT_HOP_USER_META_DATA_RANGE + * + * @type sai_uint32_t + * @flags CREATE_AND_SET + * @default 0 + */ + SAI_NEXT_HOP_ATTR_META_DATA, + /** * @brief End of attributes */ diff --git a/inc/saiswitch.h b/inc/saiswitch.h index cff553cbe..d26390381 100644 --- a/inc/saiswitch.h +++ b/inc/saiswitch.h @@ -3460,6 +3460,14 @@ typedef enum _sai_switch_attr_t */ SAI_SWITCH_ATTR_DEFAULT_CPU_EGRESS_BUFFER_POOL, + /** + * @brief Nexthop DST Table user-based meta data range + * + * @type sai_u32_range_t + * @flags READ_ONLY + */ + SAI_SWITCH_ATTR_NEXT_HOP_USER_META_DATA_RANGE, + /** * @brief End of attributes */