SAI Metadata
Loading...
Searching...
No Matches
saitwamp.h
Go to the documentation of this file.
1
25#if !defined (__SAITWAMP_H_)
26#define __SAITWAMP_H_
27
28#include <saitypes.h>
29
41{
44
47
50
52
57{
60
63
65
70{
75
80
82
87{
90
93
96
98
103{
108
113
115
120{
125
130
135
140
142
147{
152
160
168
177
186
198
207
216
226
236
246
256
264
272
280
288
297
306
316
326
337
347
357
367
377
387
397
407
417
427
436
445
455
464
475
486
496
506
516
526
536
546
556
561
564
567
569
574{
577
580
583
586
589
592
595
598
601
604
607
610
613
616
618
623{
626
629
631
639{
641 uint32_t index;
642
645
648
650 uint64_t *counters;
651
653
658{
664 sai_object_id_t twamp_session_id;
665
668
671
673
685typedef sai_status_t (*sai_create_twamp_session_fn)(
686 _Out_ sai_object_id_t *twamp_session_id,
687 _In_ sai_object_id_t switch_id,
688 _In_ uint32_t attr_count,
689 _In_ const sai_attribute_t *attr_list);
690
699typedef sai_status_t (*sai_remove_twamp_session_fn)(
700 _In_ sai_object_id_t twamp_session_id);
701
712 _In_ sai_object_id_t twamp_session_id,
713 _In_ const sai_attribute_t *attr);
714
726 _In_ sai_object_id_t twamp_session_id,
727 _In_ uint32_t attr_count,
728 _Inout_ sai_attribute_t *attr_list);
729
740typedef sai_status_t (*sai_get_twamp_session_stats_fn)(
741 _In_ sai_object_id_t twamp_session_id,
742 _In_ uint32_t number_of_counters,
743 _In_ const sai_stat_id_t *counter_ids,
744 _Out_ uint64_t *counters);
745
758 _In_ sai_object_id_t twamp_session_id,
759 _In_ uint32_t number_of_counters,
760 _In_ const sai_stat_id_t *counter_ids,
761 _In_ sai_stats_mode_t mode,
762 _Out_ uint64_t *counters);
763
773typedef sai_status_t (*sai_clear_twamp_session_stats_fn)(
774 _In_ sai_object_id_t twamp_session_id,
775 _In_ uint32_t number_of_counters,
776 _In_ const sai_stat_id_t *counter_ids);
777
787 _In_ uint32_t count,
789
793typedef struct _sai_twamp_api_t
794{
795 sai_create_twamp_session_fn create_twamp_session;
796 sai_remove_twamp_session_fn remove_twamp_session;
797 sai_set_twamp_session_attribute_fn set_twamp_session_attribute;
798 sai_get_twamp_session_attribute_fn get_twamp_session_attribute;
799 sai_get_twamp_session_stats_fn get_twamp_session_stats;
800 sai_get_twamp_session_stats_ext_fn get_twamp_session_stats_ext;
801 sai_clear_twamp_session_stats_fn clear_twamp_session_stats;
802
804
808#endif
struct _sai_twamp_session_stats_data_t sai_twamp_session_stats_data_t
Notification data format received from SAI TWAMP callback.
_sai_twamp_session_stat_t
Two-Way Active Measurement Protocol Session counter IDs in sai_get_twamp_session_stats() call.
Definition saitwamp.h:574
_sai_twamp_pkt_tx_mode_t
SAI Two-Way Active Measurement transmitting mode.
Definition saitwamp.h:87
sai_status_t(* sai_get_twamp_session_stats_ext_fn)(_In_ sai_object_id_t twamp_session_id, _In_ uint32_t number_of_counters, _In_ const sai_stat_id_t *counter_ids, _In_ sai_stats_mode_t mode, _Out_ uint64_t *counters)
Get Two-Way Active Measurement Protocol session statistics counters extended.
Definition saitwamp.h:757
_sai_twamp_timestamp_format_t
SAI Two-Way Active Measurement format of timestamp.
Definition saitwamp.h:103
enum _sai_twamp_session_attr_t sai_twamp_session_attr_t
SAI attributes for Two-Way Active Measurement Protocol session.
enum _sai_twamp_mode_t sai_twamp_mode_t
SAI Two-Way Active Measurement Protocol mode.
enum _sai_twamp_session_state_t sai_twamp_session_state_t
SAI TWAMP session state.
sai_status_t(* sai_get_twamp_session_stats_fn)(_In_ sai_object_id_t twamp_session_id, _In_ uint32_t number_of_counters, _In_ const sai_stat_id_t *counter_ids, _Out_ uint64_t *counters)
Get Two-Way Active Measurement Protocol session statistics counters.
Definition saitwamp.h:740
enum _sai_twamp_encapsulation_type_t sai_twamp_encapsulation_type_t
SAI Two-Way Active Measurement Protocol type of encapsulation.
_sai_twamp_encapsulation_type_t
SAI Two-Way Active Measurement Protocol type of encapsulation.
Definition saitwamp.h:120
sai_status_t(* sai_remove_twamp_session_fn)(_In_ sai_object_id_t twamp_session_id)
Remove Two-Way Active Measurement Protocol session.
Definition saitwamp.h:699
void(* sai_twamp_session_event_notification_fn)(_In_ uint32_t count, _In_ const sai_twamp_session_event_notification_data_t *data)
TWAMP session notification.
Definition saitwamp.h:786
_sai_twamp_session_state_t
SAI TWAMP session state.
Definition saitwamp.h:623
sai_status_t(* sai_set_twamp_session_attribute_fn)(_In_ sai_object_id_t twamp_session_id, _In_ const sai_attribute_t *attr)
Set Two-Way Active Measurement Protocol session attributes.
Definition saitwamp.h:711
_sai_twamp_session_role_t
SAI Two-Way Active Measurement Protocol role.
Definition saitwamp.h:57
enum _sai_twamp_session_stat_t sai_twamp_session_stat_t
Two-Way Active Measurement Protocol Session counter IDs in sai_get_twamp_session_stats() call.
sai_status_t(* sai_get_twamp_session_attribute_fn)(_In_ sai_object_id_t twamp_session_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)
Get Two-Way Active Measurement Protocol session attributes.
Definition saitwamp.h:725
enum _sai_twamp_timestamp_format_t sai_twamp_timestamp_format_t
SAI Two-Way Active Measurement format of timestamp.
enum _sai_twamp_session_auth_mode_t sai_twamp_session_auth_mode_t
SAI Two-Way Active Measurement Protocol session authentication mode, there are three modes: unauthent...
_sai_twamp_session_attr_t
SAI attributes for Two-Way Active Measurement Protocol session.
Definition saitwamp.h:147
struct _sai_twamp_session_event_notification_data_t sai_twamp_session_event_notification_data_t
Defines the operational status of the TWAMP session.
struct _sai_twamp_api_t sai_twamp_api_t
Two-Way Active Measurement Protocol method table retrieved with sai_api_query()
enum _sai_twamp_pkt_tx_mode_t sai_twamp_pkt_tx_mode_t
SAI Two-Way Active Measurement transmitting mode.
enum _sai_twamp_session_role_t sai_twamp_session_role_t
SAI Two-Way Active Measurement Protocol role.
sai_status_t(* sai_create_twamp_session_fn)(_Out_ sai_object_id_t *twamp_session_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)
Create Two-Way Active Measurement Protocol session.
Definition saitwamp.h:685
sai_status_t(* sai_clear_twamp_session_stats_fn)(_In_ sai_object_id_t twamp_session_id, _In_ uint32_t number_of_counters, _In_ const sai_stat_id_t *counter_ids)
Clear Two-Way Active Measurement Protocol session statistics counters.
Definition saitwamp.h:773
_sai_twamp_session_auth_mode_t
SAI Two-Way Active Measurement Protocol session authentication mode, there are three modes: unauthent...
Definition saitwamp.h:41
_sai_twamp_mode_t
SAI Two-Way Active Measurement Protocol mode.
Definition saitwamp.h:70
@ SAI_TWAMP_SESSION_STAT_AVG_JITTER
Definition saitwamp.h:606
@ SAI_TWAMP_SESSION_STAT_TX_PACKETS
Definition saitwamp.h:582
@ SAI_TWAMP_SESSION_STAT_RX_BYTE
Definition saitwamp.h:579
@ SAI_TWAMP_SESSION_STAT_TX_BYTE
Definition saitwamp.h:585
@ SAI_TWAMP_SESSION_STAT_MAX_LATENCY
Definition saitwamp.h:591
@ SAI_TWAMP_SESSION_STAT_LAST_TS
Definition saitwamp.h:612
@ SAI_TWAMP_SESSION_STAT_DURATION_TS
Definition saitwamp.h:615
@ SAI_TWAMP_SESSION_STAT_AVG_LATENCY
Definition saitwamp.h:597
@ SAI_TWAMP_SESSION_STAT_MIN_JITTER
Definition saitwamp.h:603
@ SAI_TWAMP_SESSION_STAT_MAX_JITTER
Definition saitwamp.h:600
@ SAI_TWAMP_SESSION_STAT_RX_PACKETS
Definition saitwamp.h:576
@ SAI_TWAMP_SESSION_STAT_DROP_PACKETS
Definition saitwamp.h:588
@ SAI_TWAMP_SESSION_STAT_MIN_LATENCY
Definition saitwamp.h:594
@ SAI_TWAMP_SESSION_STAT_FIRST_TS
Definition saitwamp.h:609
@ SAI_TWAMP_PKT_TX_MODE_CONTINUOUS
Continue to send Two-Way Active Measurement Protocol test packet.
Definition saitwamp.h:89
@ SAI_TWAMP_PKT_TX_MODE_PACKET_COUNT
Only send Two-Way Active Measurement Protocol test packets with assigned number.
Definition saitwamp.h:92
@ SAI_TWAMP_PKT_TX_MODE_PERIOD
Send Two-Way Active Measurement Protocol test packets during period time.
Definition saitwamp.h:95
@ SAI_TWAMP_TIMESTAMP_FORMAT_NTP
Packet timestamp format is Network Time Protocol format, 32 bit second and 32 bit fractional part of ...
Definition saitwamp.h:107
@ SAI_TWAMP_TIMESTAMP_FORMAT_PTP
Packet timestamp format is PTP format, 32 bit second and 32 bit nanosecond.
Definition saitwamp.h:112
@ SAI_TWAMP_ENCAPSULATION_TYPE_IP
IP Encapsulation, L2 header | IP(v4/v6) header | UDP header | Two-Way Active Measurement Protocol tes...
Definition saitwamp.h:124
@ SAI_TWAMP_ENCAPSULATION_TYPE_MPLS_L2VPN
L2 Virtual Private Network Encapsulation, L2 header | MPLS Label List | L2 header | IP(v4/v6) header ...
Definition saitwamp.h:129
@ SAI_TWAMP_ENCAPSULATION_TYPE_VXLAN
VXLAN Network Encapsulation, L2 header | IP(v4/v6) header | UDP header | VXLAN header | L2 header | I...
Definition saitwamp.h:139
@ SAI_TWAMP_ENCAPSULATION_TYPE_MPLS_L3VPN
L3 Virtual Private Network Encapsulation, L2 header | MPLS Label List | IP(v4/v6) header | UDP header...
Definition saitwamp.h:134
@ SAI_TWAMP_SESSION_STATE_ACTIVE
Definition saitwamp.h:628
@ SAI_TWAMP_SESSION_STATE_INACTIVE
Definition saitwamp.h:625
@ SAI_TWAMP_SESSION_ROLE_SENDER
Definition saitwamp.h:59
@ SAI_TWAMP_SESSION_ROLE_REFLECTOR
Definition saitwamp.h:62
@ SAI_TWAMP_SESSION_ATTR_RECEIVE_PORT
Receiving port of Two-Way Active Measurement Protocol sender and reflector, enable ACL lookup on this...
Definition saitwamp.h:495
@ SAI_TWAMP_SESSION_ATTR_TIMEOUT
Timeout of receiving test packets.
Definition saitwamp.h:545
@ SAI_TWAMP_SESSION_ATTR_TUNNEL_OUTER_VLAN_PRI
MPLS L2 Virtual Private Network, MPLS L3 Virtual Private Network or VXLAN tunnel L2 header outer Vlan...
Definition saitwamp.h:346
@ SAI_TWAMP_SESSION_ATTR_UDP_SRC_PORT
UDP Source port.
Definition saitwamp.h:279
@ SAI_TWAMP_SESSION_ATTR_VLAN_CFI
L2 header Vlan CFI (1 bit).
Definition saitwamp.h:245
@ SAI_TWAMP_SESSION_ATTR_DST_MAC
L2 destination MAC address.
Definition saitwamp.h:215
@ SAI_TWAMP_SESSION_ATTR_TUNNEL_OUTER_VLAN_CFI
MPLS L2 Virtual Private Network, MPLS L3 Virtual Private Network or VXLAN tunnel L2 header outer Vlan...
Definition saitwamp.h:356
@ SAI_TWAMP_SESSION_ATTR_CUSTOM_RANGE_END
Definition saitwamp.h:566
@ SAI_TWAMP_SESSION_ATTR_TUNNEL_DST_IP
VXLAN tunnel L3 header Dst IPv4 Address, when hardware lookup is disable.
Definition saitwamp.h:396
@ SAI_TWAMP_SESSION_ATTR_TUNNEL_VNI
VXLAN tunnel VNI, when hardware lookup is disable.
Definition saitwamp.h:406
@ SAI_TWAMP_SESSION_ATTR_START
Start of attributes.
Definition saitwamp.h:151
@ SAI_TWAMP_SESSION_ATTR_TTL
TTL of IP header.
Definition saitwamp.h:305
@ SAI_TWAMP_SESSION_ATTR_TUNNEL_SRC_MAC
MPLS L2 Virtual Private Network, MPLS L3 Virtual Private Network or VXLAN tunnel L2 header Src MAC Ad...
Definition saitwamp.h:315
@ SAI_TWAMP_SESSION_ATTR_DSCP
DSCP of IP header.
Definition saitwamp.h:296
@ SAI_TWAMP_SESSION_ATTR_TUNNEL_DST_MAC
MPLS L2 Virtual Private Network, MPLS L3 Virtual Private Network or VXLAN tunnel L2 header Dst MAC Ad...
Definition saitwamp.h:325
@ SAI_TWAMP_SESSION_ATTR_TX_INTERVAL
Interval of transmitting test packets.
Definition saitwamp.h:535
@ SAI_TWAMP_SESSION_ATTR_TUNNEL_UDP_DST_PORT
VXLAN tunnel L4 header UDP Destination port, when hardware lookup is disable.
Definition saitwamp.h:426
@ SAI_TWAMP_SESSION_ATTR_VIRTUAL_ROUTER
Virtual router object.
Definition saitwamp.h:197
@ SAI_TWAMP_SESSION_ATTR_TUNNEL_UDP_SRC_PORT
VXLAN tunnel L4 header UDP Source port, when hardware lookup is disable.
Definition saitwamp.h:416
@ SAI_TWAMP_SESSION_ATTR_TWAMP_TIMESTAMP_FORMAT
The format of timestamp in test packets.
Definition saitwamp.h:444
@ SAI_TWAMP_SESSION_ATTR_VLAN_HEADER_VALID
Vlan header valid.
Definition saitwamp.h:255
@ SAI_TWAMP_SESSION_ATTR_CUSTOM_RANGE_START
Definition saitwamp.h:563
@ SAI_TWAMP_SESSION_ATTR_STATISTICS_INTERVAL
Interval of getting statistics and measurement data.
Definition saitwamp.h:555
@ SAI_TWAMP_SESSION_ATTR_TX_PKT_PERIOD
Period duration of transmitting test packets.
Definition saitwamp.h:525
@ SAI_TWAMP_SESSION_ATTR_VLAN_PRI
L2 header packet priority (3 bits).
Definition saitwamp.h:235
@ SAI_TWAMP_SESSION_ATTR_TRANSMIT_PORT
Two-Way Active Measurement Protocol egress port.
Definition saitwamp.h:485
@ SAI_TWAMP_SESSION_ATTR_SESSION_ENABLE_TRANSMIT
To enable Two-Way Active Measurement Protocol session transmitting packets.
Definition saitwamp.h:454
@ SAI_TWAMP_SESSION_ATTR_TUNNEL_LABELSTACK
MPLS L2 Virtual Private Network, MPLS L3 Virtual Private Network tunnel push label,...
Definition saitwamp.h:376
@ SAI_TWAMP_SESSION_ATTR_SRC_IP
Local source IP address.
Definition saitwamp.h:263
@ SAI_TWAMP_SESSION_ATTR_TUNNEL_SRC_IP
VXLAN tunnel L3 header Src IPv4 Address, when hardware lookup is disable.
Definition saitwamp.h:386
@ SAI_TWAMP_SESSION_ATTR_SRC_MAC
L2 source MAC address.
Definition saitwamp.h:206
@ SAI_TWAMP_SESSION_ATTR_TUNNEL_OUTER_VLAN_HEADER_VALID
Tunnel outer vlan header valid.
Definition saitwamp.h:366
@ SAI_TWAMP_SESSION_ATTR_PORT
Two-Way Active Measurement Protocol test port.
Definition saitwamp.h:474
@ SAI_TWAMP_SESSION_ATTR_TUNNEL_OUTER_VLAN_ID
MPLS L2 Virtual Private Network, MPLS L3 Virtual Private Network or VXLAN tunnel L2 header outer VLAN...
Definition saitwamp.h:336
@ SAI_TWAMP_SESSION_ATTR_TWAMP_ENCAPSULATION_TYPE
Encapsulation type.
Definition saitwamp.h:435
@ SAI_TWAMP_SESSION_ATTR_TWAMP_PKT_TX_MODE
Two-Way Active Measurement Protocol packets transmitting mode: CONTINUOUS, PACKET_COUNT,...
Definition saitwamp.h:505
@ SAI_TWAMP_SESSION_ATTR_HW_LOOKUP_VALID
Hardware lookup valid.
Definition saitwamp.h:185
@ SAI_TWAMP_SESSION_ATTR_SESSION_ROLE
Two-Way Active Measurement Protocol session role of sender or reflector.
Definition saitwamp.h:167
@ SAI_TWAMP_SESSION_ATTR_TX_PKT_CNT
Packet count of transmitting test packets.
Definition saitwamp.h:515
@ SAI_TWAMP_SESSION_ATTR_UDP_DST_PORT
UDP Destination port.
Definition saitwamp.h:287
@ SAI_TWAMP_SESSION_ATTR_PACKET_LENGTH
Two-Way Active Measurement Protocol packet length.
Definition saitwamp.h:463
@ SAI_TWAMP_SESSION_ATTR_VLAN_ID
L2 header VLAN Id.
Definition saitwamp.h:225
@ SAI_TWAMP_SESSION_ATTR_AUTH_MODE
Two-Way Active Measurement Protocol Session mode: unauthenticated, authenticated, and encrypted.
Definition saitwamp.h:176
@ SAI_TWAMP_SESSION_ATTR_END
End of attributes.
Definition saitwamp.h:560
@ SAI_TWAMP_SESSION_ATTR_TWAMP_MODE
Two-Way Active Measurement Protocol mode: light mode and full mode.
Definition saitwamp.h:159
@ SAI_TWAMP_SESSION_ATTR_DST_IP
Remote Destination IP address.
Definition saitwamp.h:271
@ SAI_TWAMP_SESSION_AUTH_MODE_UNAUTHENTICATED
Definition saitwamp.h:43
@ SAI_TWAMP_SESSION_AUTH_MODE_ENCRYPTED
Definition saitwamp.h:49
@ SAI_TWAMP_SESSION_AUTH_MODE_AUTHENTICATED
Definition saitwamp.h:46
@ SAI_TWAMP_MODE_FULL
Means TWAMP protocol when enabling Two-Way Active Measurement Protocol full mode.
Definition saitwamp.h:74
@ SAI_TWAMP_MODE_LIGHT
Means TWAMP Light protocol when enabling Two-Way Active Measurement Protocol light mode.
Definition saitwamp.h:79
enum _sai_stats_mode_t sai_stats_mode_t
SAI statistics modes.
This module defines SAI portable types.
Two-Way Active Measurement Protocol method table retrieved with sai_api_query()
Definition saitwamp.h:794
Defines the operational status of the TWAMP session.
Definition saitwamp.h:658
sai_object_id_t twamp_session_id
TWAMP session id.
Definition saitwamp.h:664
sai_twamp_session_state_t session_state
Definition saitwamp.h:667
sai_twamp_session_stats_data_t session_stats
Definition saitwamp.h:670
Notification data format received from SAI TWAMP callback.
Definition saitwamp.h:639
sai_twamp_session_stat_t * counters_ids
Definition saitwamp.h:647