@@ -131,6 +131,65 @@ typedef void (*sai_ha_scope_event_notification_fn)(
131131 _In_ uint32_t count ,
132132 _In_ const sai_ha_scope_event_data_t * data );
133133
134+ /**
135+ * @brief Flow bulk get session event type
136+ */
137+ typedef enum _sai_flow_bulk_get_session_event_t
138+ {
139+ /** Bulk get session finished */
140+ SAI_FLOW_BULK_GET_SESSION_EVENT_FINISHED ,
141+
142+ /** Flow entry received */
143+ SAI_FLOW_BULK_GET_SESSION_EVENT_FLOW_ENTRY ,
144+
145+ } sai_flow_bulk_get_session_event_t ;
146+
147+ /**
148+ * @brief Notification data format received from SAI flow bulk get session callback
149+ *
150+ * @count attr[attr_count]
151+ */
152+ typedef struct _sai_flow_bulk_get_session_event_data_t
153+ {
154+ /** Flow entry */
155+ sai_flow_entry_t flow_entry ;
156+
157+ /** Attributes count */
158+ uint32_t attr_count ;
159+
160+ /**
161+ * @brief Event type
162+ *
163+ * If event_type is SAI_FLOW_BULK_GET_SESSION_EVENT_FINISHED, attr is NULL, flow_entry is invalid.
164+ * If event_type is SAI_FLOW_BULK_GET_SESSION_EVENT_FLOW_ENTRY, attr is not NULL.
165+ */
166+ sai_flow_bulk_get_session_event_t event_type ;
167+
168+ /**
169+ * @brief Attributes
170+ *
171+ * @objects SAI_OBJECT_TYPE_FLOW_ENTRY
172+ */
173+ sai_attribute_t * attr ;
174+
175+ } sai_flow_bulk_get_session_event_data_t ;
176+
177+ /**
178+ * @brief Flow bulk get session event notification
179+ *
180+ * Passed as a parameter into sai_initialize_switch()
181+ *
182+ * @count data[count]
183+ *
184+ * @param[in] flow_bulk_session_id ID of the flow bulk session
185+ * @param[in] count Number of notifications
186+ * @param[in] data Array of flow bulk get session events
187+ */
188+ typedef void (* sai_flow_bulk_get_session_event_notification_fn )(
189+ _In_ sai_object_id_t flow_bulk_session_id ,
190+ _In_ uint32_t count ,
191+ _In_ const sai_flow_bulk_get_session_event_data_t * data );
192+
134193/**
135194 * @brief SAI switch attribute extensions.
136195 *
@@ -191,6 +250,17 @@ typedef enum _sai_switch_attr_extensions_t
191250 */
192251 SAI_SWITCH_ATTR_HA_SCOPE_EVENT_NOTIFY ,
193252
253+ /**
254+ * @brief DASH flow bulk get session event notification
255+ *
256+ * Use sai_flow_bulk_get_session_event_notification_fn as notification function.
257+ *
258+ * @type sai_pointer_t sai_flow_bulk_get_session_event_notification_fn
259+ * @flags CREATE_AND_SET
260+ * @default NULL
261+ */
262+ SAI_SWITCH_ATTR_FLOW_BULK_GET_SESSION_EVENT_NOTIFY ,
263+
194264 SAI_SWITCH_ATTR_EXTENSIONS_RANGE_END
195265
196266} sai_switch_attr_extensions_t ;
0 commit comments