SAI Metadata
Loading...
Searching...
No Matches
saidtel.h
Go to the documentation of this file.
1
27#if !defined (__SAIDTEL_H_)
28#define __SAIDTEL_H_
29
30#include <saitypes.h>
31
45typedef enum _sai_dtel_attr_t
46{
51
62
73
84
95
106
117
129
140
152
163
168
173
178
180
187{
192
203
214
225
236
247
252
257
262
264
271{
276
290
301
312
323
334
345
350
355
360
362
369{
374
385
396
409
421
433
438
443
448
450
457{
460
463
466
469
472
475
476 SAI_DTEL_EVENT_TYPE_MAX
477
479
486{
491
501
514
525
530
535
540
542
555typedef sai_status_t (*sai_create_dtel_fn)(
556 _Out_ sai_object_id_t *dtel_id,
557 _In_ sai_object_id_t switch_id,
558 _In_ uint32_t attr_count,
559 _In_ const sai_attribute_t *attr_list);
560
570typedef sai_status_t (*sai_remove_dtel_fn)(
571 _In_ sai_object_id_t dtel_id);
572
583typedef sai_status_t (*sai_set_dtel_attribute_fn)(
584 _In_ sai_object_id_t dtel_id,
585 _In_ const sai_attribute_t *attr);
586
598typedef sai_status_t (*sai_get_dtel_attribute_fn)(
599 _In_ sai_object_id_t dtel_id,
600 _In_ uint32_t attr_count,
601 _Inout_ sai_attribute_t *attr_list);
602
615typedef sai_status_t (*sai_create_dtel_queue_report_fn)(
616 _Out_ sai_object_id_t *dtel_queue_report_id,
617 _In_ sai_object_id_t switch_id,
618 _In_ uint32_t attr_count,
619 _In_ const sai_attribute_t *attr_list);
620
630typedef sai_status_t (*sai_remove_dtel_queue_report_fn)(
631 _In_ sai_object_id_t dtel_queue_report_id);
632
644 _In_ sai_object_id_t dtel_queue_report_id,
645 _In_ const sai_attribute_t *attr);
646
659 _In_ sai_object_id_t dtel_queue_report_id,
660 _In_ uint32_t attr_count,
661 _Inout_ sai_attribute_t *attr_list);
662
675typedef sai_status_t (*sai_create_dtel_int_session_fn)(
676 _Out_ sai_object_id_t *dtel_int_session_id,
677 _In_ sai_object_id_t switch_id,
678 _In_ uint32_t attr_count,
679 _In_ const sai_attribute_t *attr_list);
680
690typedef sai_status_t (*sai_remove_dtel_int_session_fn)(
691 _In_ sai_object_id_t dtel_int_session_id);
692
704 _In_ sai_object_id_t dtel_int_session_id,
705 _In_ const sai_attribute_t *attr);
706
719 _In_ sai_object_id_t dtel_int_session_id,
720 _In_ uint32_t attr_count,
721 _Inout_ sai_attribute_t *attr_list);
722
735typedef sai_status_t (*sai_create_dtel_report_session_fn)(
736 _Out_ sai_object_id_t *dtel_report_session_id,
737 _In_ sai_object_id_t switch_id,
738 _In_ uint32_t attr_count,
739 _In_ const sai_attribute_t *attr_list);
740
750typedef sai_status_t (*sai_remove_dtel_report_session_fn)(
751 _In_ sai_object_id_t dtel_report_session_id);
752
764 _In_ sai_object_id_t dtel_report_session_id,
765 _In_ const sai_attribute_t *attr);
766
779 _In_ sai_object_id_t dtel_report_session_id,
780 _In_ uint32_t attr_count,
781 _Inout_ sai_attribute_t *attr_list);
782
795typedef sai_status_t (*sai_create_dtel_event_fn)(
796 _Out_ sai_object_id_t *dtel_event_id,
797 _In_ sai_object_id_t switch_id,
798 _In_ uint32_t attr_count,
799 _In_ const sai_attribute_t *attr_list);
800
810typedef sai_status_t (*sai_remove_dtel_event_fn)(
811 _In_ sai_object_id_t dtel_event_id);
812
823typedef sai_status_t (*sai_set_dtel_event_attribute_fn)(
824 _In_ sai_object_id_t dtel_event_id,
825 _In_ const sai_attribute_t *attr);
826
838typedef sai_status_t (*sai_get_dtel_event_attribute_fn)(
839 _In_ sai_object_id_t dtel_event_id,
840 _In_ uint32_t attr_count,
841 _Inout_ sai_attribute_t *attr_list);
842
843typedef struct _sai_dtel_api_t
844{
845 sai_create_dtel_fn create_dtel;
846 sai_remove_dtel_fn remove_dtel;
847 sai_set_dtel_attribute_fn set_dtel_attribute;
848 sai_get_dtel_attribute_fn get_dtel_attribute;
849
850 sai_create_dtel_queue_report_fn create_dtel_queue_report;
851 sai_remove_dtel_queue_report_fn remove_dtel_queue_report;
852 sai_set_dtel_queue_report_attribute_fn set_dtel_queue_report_attribute;
853 sai_get_dtel_queue_report_attribute_fn get_dtel_queue_report_attribute;
854
855 sai_create_dtel_int_session_fn create_dtel_int_session;
856 sai_remove_dtel_int_session_fn remove_dtel_int_session;
857 sai_set_dtel_int_session_attribute_fn set_dtel_int_session_attribute;
858 sai_get_dtel_int_session_attribute_fn get_dtel_int_session_attribute;
859
860 sai_create_dtel_report_session_fn create_dtel_report_session;
861 sai_remove_dtel_report_session_fn remove_dtel_report_session;
862 sai_set_dtel_report_session_attribute_fn set_dtel_report_session_attribute;
863 sai_get_dtel_report_session_attribute_fn get_dtel_report_session_attribute;
864
865 sai_create_dtel_event_fn create_dtel_event;
866 sai_remove_dtel_event_fn remove_dtel_event;
867 sai_set_dtel_event_attribute_fn set_dtel_event_attribute;
868 sai_get_dtel_event_attribute_fn get_dtel_event_attribute;
869
871
875#endif
enum _sai_dtel_report_session_attr_t sai_dtel_report_session_attr_t
DTEL report session attributes.
sai_status_t(* sai_create_dtel_queue_report_fn)(_Out_ sai_object_id_t *dtel_queue_report_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)
Create and return a DTEL queue report object.
Definition saidtel.h:615
sai_status_t(* sai_remove_dtel_event_fn)(_In_ sai_object_id_t dtel_event_id)
Delete a DTEL event.
Definition saidtel.h:810
sai_status_t(* sai_set_dtel_int_session_attribute_fn)(_In_ sai_object_id_t dtel_int_session_id, _In_ const sai_attribute_t *attr)
Set DTEL INT session attribute.
Definition saidtel.h:703
sai_status_t(* sai_get_dtel_report_session_attribute_fn)(_In_ sai_object_id_t dtel_report_session_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)
Get DTEL report session attribute.
Definition saidtel.h:778
sai_status_t(* sai_remove_dtel_fn)(_In_ sai_object_id_t dtel_id)
Delete a DTEL object.
Definition saidtel.h:570
_sai_dtel_event_type_t
Enum defining DTEL event types.
Definition saidtel.h:457
enum _sai_dtel_queue_report_attr_t sai_dtel_queue_report_attr_t
Queue report trigger attributes.
sai_status_t(* sai_set_dtel_queue_report_attribute_fn)(_In_ sai_object_id_t dtel_queue_report_id, _In_ const sai_attribute_t *attr)
Set DTEL queue report attribute.
Definition saidtel.h:643
_sai_dtel_attr_t
DTEL attributes for the switch.
Definition saidtel.h:46
sai_status_t(* sai_set_dtel_event_attribute_fn)(_In_ sai_object_id_t dtel_event_id, _In_ const sai_attribute_t *attr)
Set DTEL event attribute.
Definition saidtel.h:823
sai_status_t(* sai_get_dtel_attribute_fn)(_In_ sai_object_id_t dtel_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)
Get DTEL attribute.
Definition saidtel.h:598
enum _sai_dtel_attr_t sai_dtel_attr_t
DTEL attributes for the switch.
sai_status_t(* sai_get_dtel_queue_report_attribute_fn)(_In_ sai_object_id_t dtel_queue_report_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)
Get DTEL queue report attribute.
Definition saidtel.h:658
_sai_dtel_queue_report_attr_t
Queue report trigger attributes.
Definition saidtel.h:187
sai_status_t(* sai_create_dtel_report_session_fn)(_Out_ sai_object_id_t *dtel_report_session_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)
Create and return a DTEL report session object.
Definition saidtel.h:735
sai_status_t(* sai_get_dtel_event_attribute_fn)(_In_ sai_object_id_t dtel_event_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)
Get DTEL event attribute.
Definition saidtel.h:838
sai_status_t(* sai_create_dtel_fn)(_Out_ sai_object_id_t *dtel_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)
Create and return a DTEL object.
Definition saidtel.h:555
sai_status_t(* sai_create_dtel_int_session_fn)(_Out_ sai_object_id_t *dtel_int_session_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)
Create and return a DTEL INT session object.
Definition saidtel.h:675
sai_status_t(* sai_remove_dtel_int_session_fn)(_In_ sai_object_id_t dtel_int_session_id)
Delete a DTEL INT session.
Definition saidtel.h:690
_sai_dtel_int_session_attr_t
INT session attributes.
Definition saidtel.h:271
sai_status_t(* sai_set_dtel_attribute_fn)(_In_ sai_object_id_t dtel_id, _In_ const sai_attribute_t *attr)
Set DTEL attribute.
Definition saidtel.h:583
enum _sai_dtel_int_session_attr_t sai_dtel_int_session_attr_t
INT session attributes.
_sai_dtel_event_attr_t
DTEL events attributes.
Definition saidtel.h:486
sai_status_t(* sai_get_dtel_int_session_attribute_fn)(_In_ sai_object_id_t dtel_int_session_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)
Get DTEL INT session attribute.
Definition saidtel.h:718
sai_status_t(* sai_create_dtel_event_fn)(_Out_ sai_object_id_t *dtel_event_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)
Create and return a DTEL event object.
Definition saidtel.h:795
enum _sai_dtel_event_attr_t sai_dtel_event_attr_t
DTEL events attributes.
sai_status_t(* sai_remove_dtel_report_session_fn)(_In_ sai_object_id_t dtel_report_session_id)
Delete a DTEL report session.
Definition saidtel.h:750
sai_status_t(* sai_remove_dtel_queue_report_fn)(_In_ sai_object_id_t dtel_queue_report_id)
Delete a DTEL queue report.
Definition saidtel.h:630
sai_status_t(* sai_set_dtel_report_session_attribute_fn)(_In_ sai_object_id_t dtel_report_session_id, _In_ const sai_attribute_t *attr)
Set DTEL report session attribute.
Definition saidtel.h:763
_sai_dtel_report_session_attr_t
DTEL report session attributes.
Definition saidtel.h:369
enum _sai_dtel_event_type_t sai_dtel_event_type_t
Enum defining DTEL event types.
@ SAI_DTEL_EVENT_TYPE_DROP_REPORT
Definition saidtel.h:474
@ SAI_DTEL_EVENT_TYPE_FLOW_REPORT_ALL_PACKETS
Definition saidtel.h:462
@ SAI_DTEL_EVENT_TYPE_QUEUE_REPORT_THRESHOLD_BREACH
Definition saidtel.h:468
@ SAI_DTEL_EVENT_TYPE_QUEUE_REPORT_TAIL_DROP
Definition saidtel.h:471
@ SAI_DTEL_EVENT_TYPE_FLOW_TCPFLAG
Definition saidtel.h:465
@ SAI_DTEL_EVENT_TYPE_FLOW_STATE
Definition saidtel.h:459
@ SAI_DTEL_ATTR_POSTCARD_ENABLE
Enable Packet postcard.
Definition saidtel.h:83
@ SAI_DTEL_ATTR_CUSTOM_RANGE_END
End of Custom range base.
Definition saidtel.h:177
@ SAI_DTEL_ATTR_INT_ENDPOINT_ENABLE
Enable DTEL INT endpoint.
Definition saidtel.h:61
@ SAI_DTEL_ATTR_END
End of attributes.
Definition saidtel.h:167
@ SAI_DTEL_ATTR_SWITCH_ID
Globally unique switch ID.
Definition saidtel.h:116
@ SAI_DTEL_ATTR_DROP_REPORT_ENABLE
Enable Drop Report.
Definition saidtel.h:94
@ SAI_DTEL_ATTR_FLOW_STATE_CLEAR_CYCLE
DTEL flow state clear cycle.
Definition saidtel.h:128
@ SAI_DTEL_ATTR_QUEUE_REPORT_ENABLE
Enable Queue Report.
Definition saidtel.h:105
@ SAI_DTEL_ATTR_INT_L4_DSCP
Reserved DSCP value for INT over L4.
Definition saidtel.h:162
@ SAI_DTEL_ATTR_INT_TRANSIT_ENABLE
Enable DTEL INT transit.
Definition saidtel.h:72
@ SAI_DTEL_ATTR_START
Start of attributes.
Definition saidtel.h:50
@ SAI_DTEL_ATTR_LATENCY_SENSITIVITY
Latency sensitivity for flow state change detection.
Definition saidtel.h:139
@ SAI_DTEL_ATTR_SINK_PORT_LIST
DTEL sink ports.
Definition saidtel.h:151
@ SAI_DTEL_ATTR_CUSTOM_RANGE_START
Custom range base value start.
Definition saidtel.h:172
@ SAI_DTEL_QUEUE_REPORT_ATTR_BREACH_QUOTA
Maximum number of continuous reports after threshold breach.
Definition saidtel.h:235
@ SAI_DTEL_QUEUE_REPORT_ATTR_START
Start of attributes.
Definition saidtel.h:191
@ SAI_DTEL_QUEUE_REPORT_ATTR_CUSTOM_RANGE_END
End of Custom range base.
Definition saidtel.h:261
@ SAI_DTEL_QUEUE_REPORT_ATTR_TAIL_DROP
Send report for packets dropped by the queue.
Definition saidtel.h:246
@ SAI_DTEL_QUEUE_REPORT_ATTR_LATENCY_THRESHOLD
Queue latency threshold in nanosecond.
Definition saidtel.h:224
@ SAI_DTEL_QUEUE_REPORT_ATTR_QUEUE_ID
Queue object ID.
Definition saidtel.h:202
@ SAI_DTEL_QUEUE_REPORT_ATTR_CUSTOM_RANGE_START
Custom range base value start.
Definition saidtel.h:256
@ SAI_DTEL_QUEUE_REPORT_ATTR_DEPTH_THRESHOLD
Queue depth threshold in byte.
Definition saidtel.h:213
@ SAI_DTEL_QUEUE_REPORT_ATTR_END
End of attributes.
Definition saidtel.h:251
@ SAI_DTEL_INT_SESSION_ATTR_CUSTOM_RANGE_START
Custom range base value start.
Definition saidtel.h:354
@ SAI_DTEL_INT_SESSION_ATTR_COLLECT_SWITCH_ID
Collect switch ID.
Definition saidtel.h:300
@ SAI_DTEL_INT_SESSION_ATTR_COLLECT_QUEUE_INFO
Collect queue information.
Definition saidtel.h:344
@ SAI_DTEL_INT_SESSION_ATTR_MAX_HOP_COUNT
INT max hop count.
Definition saidtel.h:289
@ SAI_DTEL_INT_SESSION_ATTR_COLLECT_INGRESS_TIMESTAMP
Collect ingress timestamp.
Definition saidtel.h:322
@ SAI_DTEL_INT_SESSION_ATTR_COLLECT_SWITCH_PORTS
Collect ingress and egress ports.
Definition saidtel.h:311
@ SAI_DTEL_INT_SESSION_ATTR_COLLECT_EGRESS_TIMESTAMP
Collect egress timestamp.
Definition saidtel.h:333
@ SAI_DTEL_INT_SESSION_ATTR_START
Start of attributes.
Definition saidtel.h:275
@ SAI_DTEL_INT_SESSION_ATTR_END
End of attributes.
Definition saidtel.h:349
@ SAI_DTEL_INT_SESSION_ATTR_CUSTOM_RANGE_END
End of Custom range base.
Definition saidtel.h:359
@ SAI_DTEL_EVENT_ATTR_CUSTOM_RANGE_END
End of Custom range base.
Definition saidtel.h:539
@ SAI_DTEL_EVENT_ATTR_END
End of attributes.
Definition saidtel.h:529
@ SAI_DTEL_EVENT_ATTR_DSCP_VALUE
DTEL report DSCP value.
Definition saidtel.h:524
@ SAI_DTEL_EVENT_ATTR_START
Start of attributes.
Definition saidtel.h:490
@ SAI_DTEL_EVENT_ATTR_REPORT_SESSION
DTEL report session.
Definition saidtel.h:513
@ SAI_DTEL_EVENT_ATTR_TYPE
DTEL event type.
Definition saidtel.h:500
@ SAI_DTEL_EVENT_ATTR_CUSTOM_RANGE_START
Custom range base value start.
Definition saidtel.h:534
@ SAI_DTEL_REPORT_SESSION_ATTR_TRUNCATE_SIZE
DTEL report truncate size.
Definition saidtel.h:420
@ SAI_DTEL_REPORT_SESSION_ATTR_UDP_DST_PORT
DTEL report UDP destination port.
Definition saidtel.h:432
@ SAI_DTEL_REPORT_SESSION_ATTR_SRC_IP
DTEL report source IP address.
Definition saidtel.h:384
@ SAI_DTEL_REPORT_SESSION_ATTR_CUSTOM_RANGE_END
End of Custom range base.
Definition saidtel.h:447
@ SAI_DTEL_REPORT_SESSION_ATTR_CUSTOM_RANGE_START
Custom range base value start.
Definition saidtel.h:442
@ SAI_DTEL_REPORT_SESSION_ATTR_START
Start of attributes.
Definition saidtel.h:373
@ SAI_DTEL_REPORT_SESSION_ATTR_VIRTUAL_ROUTER_ID
DTEL report virtual router ID.
Definition saidtel.h:408
@ SAI_DTEL_REPORT_SESSION_ATTR_DST_IP_LIST
DTEL report destination IP addresses.
Definition saidtel.h:395
@ SAI_DTEL_REPORT_SESSION_ATTR_END
End of attributes.
Definition saidtel.h:437
This module defines SAI portable types.