Skip to content

Commit 8585fc8

Browse files
prsunnylguohan
authored andcommitted
SAI 1.3 changes (sonic-net#327)
* Sync to SAI 1.3 header * SAI v1.3 pointer update * Updated queue deadlock to enque notification * Update SAI pointer
1 parent 9846397 commit 8585fc8

19 files changed

+370
-44
lines changed

.gitmodules

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@
22
path = SAI
33
url = https://github.com/opencomputeproject/SAI.git
44
ignore = dirty
5-
branch = v1.2
5+
branch = v1.3

lib/src/sai_redis_bridge.cpp

+30
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,34 @@ sai_status_t redis_get_bridge_port_stats(
3838
return SAI_STATUS_NOT_IMPLEMENTED;
3939
}
4040

41+
sai_status_t redis_get_bridge_port_stats_ext(
42+
_In_ sai_object_id_t bridge_port_id,
43+
_In_ uint32_t number_of_counters,
44+
_In_ const sai_bridge_port_stat_t *counter_ids,
45+
_In_ sai_stats_mode_t mode,
46+
_Out_ uint64_t *counters)
47+
{
48+
MUTEX();
49+
50+
SWSS_LOG_ENTER();
51+
52+
return SAI_STATUS_NOT_IMPLEMENTED;
53+
}
54+
55+
sai_status_t redis_get_bridge_stats_ext(
56+
_In_ sai_object_id_t bridge_id,
57+
_In_ uint32_t number_of_counters,
58+
_In_ const sai_bridge_stat_t *counter_ids,
59+
_In_ sai_stats_mode_t mode,
60+
_Out_ uint64_t *counters)
61+
{
62+
MUTEX();
63+
64+
SWSS_LOG_ENTER();
65+
66+
return SAI_STATUS_NOT_IMPLEMENTED;
67+
}
68+
4169
sai_status_t redis_clear_bridge_port_stats(
4270
_In_ sai_object_id_t bridge_port_id,
4371
_In_ uint32_t number_of_counters,
@@ -58,10 +86,12 @@ const sai_bridge_api_t redis_bridge_api =
5886
REDIS_GENERIC_QUAD_API(bridge)
5987

6088
redis_get_bridge_stats,
89+
redis_get_bridge_stats_ext,
6190
redis_clear_bridge_stats,
6291

6392
REDIS_GENERIC_QUAD_API(bridge_port)
6493

6594
redis_get_bridge_port_stats,
95+
redis_get_bridge_port_stats_ext,
6696
redis_clear_bridge_port_stats,
6797
};

lib/src/sai_redis_buffer.cpp

+30
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,20 @@ sai_status_t redis_clear_ingress_priority_group_stats(
1212
return SAI_STATUS_NOT_IMPLEMENTED;
1313
}
1414

15+
sai_status_t redis_get_ingress_priority_group_stats_ext(
16+
_In_ sai_object_id_t ingress_priority_group_id,
17+
_In_ uint32_t number_of_counters,
18+
_In_ const sai_ingress_priority_group_stat_t *counter_ids,
19+
_In_ sai_stats_mode_t mode,
20+
_Out_ uint64_t *counters)
21+
{
22+
MUTEX();
23+
24+
SWSS_LOG_ENTER();
25+
26+
return SAI_STATUS_NOT_IMPLEMENTED;
27+
}
28+
1529
sai_status_t redis_get_buffer_pool_stats(
1630
_In_ sai_object_id_t pool_id,
1731
_In_ uint32_t number_of_counters,
@@ -25,6 +39,20 @@ sai_status_t redis_get_buffer_pool_stats(
2539
return SAI_STATUS_NOT_IMPLEMENTED;
2640
}
2741

42+
sai_status_t redis_get_buffer_pool_stats_ext(
43+
_In_ sai_object_id_t buffer_pool_id,
44+
_In_ uint32_t number_of_counters,
45+
_In_ const sai_buffer_pool_stat_t *counter_ids,
46+
_In_ sai_stats_mode_t mode,
47+
_Out_ uint64_t *counters)
48+
{
49+
MUTEX();
50+
51+
SWSS_LOG_ENTER();
52+
53+
return SAI_STATUS_NOT_IMPLEMENTED;
54+
}
55+
2856
sai_status_t redis_clear_buffer_pool_stats(
2957
_In_ sai_object_id_t pool_id,
3058
_In_ uint32_t number_of_counters,
@@ -48,11 +76,13 @@ const sai_buffer_api_t redis_buffer_api = {
4876
REDIS_GENERIC_QUAD_API(buffer_pool)
4977

5078
redis_get_buffer_pool_stats,
79+
redis_get_buffer_pool_stats_ext,
5180
redis_clear_buffer_pool_stats,
5281

5382
REDIS_GENERIC_QUAD_API(ingress_priority_group)
5483

5584
redis_get_ingress_priority_group_stats,
85+
redis_get_ingress_priority_group_stats_ext,
5686
redis_clear_ingress_priority_group_stats,
5787

5888
REDIS_GENERIC_QUAD_API(buffer_profile)

lib/src/sai_redis_hostintf.cpp

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
#include "sai_redis.h"
22

33
sai_status_t redis_recv_hostif_packet(
4-
_In_ sai_object_id_t hif_id,
5-
_Out_ void *buffer,
4+
_In_ sai_object_id_t hostif_id,
65
_Inout_ sai_size_t *buffer_size,
6+
_Out_ void *buffer,
77
_Inout_ uint32_t *attr_count,
88
_Out_ sai_attribute_t *attr_list)
99
{
@@ -15,11 +15,11 @@ sai_status_t redis_recv_hostif_packet(
1515
}
1616

1717
sai_status_t redis_send_hostif_packet(
18-
_In_ sai_object_id_t hif_id,
19-
_In_ void *buffer,
18+
_In_ sai_object_id_t hostif_id,
2019
_In_ sai_size_t buffer_size,
20+
_In_ const void *buffer,
2121
_In_ uint32_t attr_count,
22-
_In_ sai_attribute_t *attr_list)
22+
_In_ const sai_attribute_t *attr_list)
2323
{
2424
MUTEX();
2525

lib/src/sai_redis_policer.cpp

+15
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,20 @@ sai_status_t redis_get_policer_stats(
1313
return SAI_STATUS_NOT_IMPLEMENTED;
1414
}
1515

16+
sai_status_t redis_sai_get_policer_stats_ext(
17+
_In_ sai_object_id_t policer_id,
18+
_In_ uint32_t number_of_counters,
19+
_In_ const sai_policer_stat_t *counter_ids,
20+
_In_ sai_stats_mode_t mode,
21+
_Out_ uint64_t *counters)
22+
{
23+
MUTEX();
24+
25+
SWSS_LOG_ENTER();
26+
27+
return SAI_STATUS_NOT_IMPLEMENTED;
28+
}
29+
1630
sai_status_t redis_clear_policer_stats(
1731
_In_ sai_object_id_t policer_id,
1832
_In_ uint32_t number_of_counters,
@@ -32,5 +46,6 @@ const sai_policer_api_t redis_policer_api = {
3246
REDIS_GENERIC_QUAD_API(policer)
3347

3448
redis_get_policer_stats,
49+
redis_sai_get_policer_stats_ext,
3550
redis_clear_policer_stats,
3651
};

lib/src/sai_redis_port.cpp

+30
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,20 @@ sai_status_t redis_clear_port_stats(
1212
return SAI_STATUS_NOT_IMPLEMENTED;
1313
}
1414

15+
sai_status_t redis_get_port_stats_ext(
16+
_In_ sai_object_id_t port_id,
17+
_In_ uint32_t number_of_counters,
18+
_In_ const sai_port_stat_t *counter_ids,
19+
_In_ sai_stats_mode_t mode,
20+
_Out_ uint64_t *counters)
21+
{
22+
MUTEX();
23+
24+
SWSS_LOG_ENTER();
25+
26+
return SAI_STATUS_NOT_IMPLEMENTED;
27+
}
28+
1529
sai_status_t redis_clear_port_all_stats(
1630
_In_ sai_object_id_t port_id)
1731
{
@@ -22,6 +36,20 @@ sai_status_t redis_clear_port_all_stats(
2236
return SAI_STATUS_NOT_IMPLEMENTED;
2337
}
2438

39+
sai_status_t redis_get_port_pool_stats_ext(
40+
_In_ sai_object_id_t port_pool_id,
41+
_In_ uint32_t number_of_counters,
42+
_In_ const sai_port_pool_stat_t *counter_ids,
43+
_In_ sai_stats_mode_t mode,
44+
_Out_ uint64_t *counters)
45+
{
46+
MUTEX();
47+
48+
SWSS_LOG_ENTER();
49+
50+
return SAI_STATUS_NOT_IMPLEMENTED;
51+
}
52+
2553
sai_status_t redis_clear_port_pool_stats(
2654
_In_ sai_object_id_t port_pool_id,
2755
_In_ uint32_t number_of_counters,
@@ -46,11 +74,13 @@ const sai_port_api_t redis_port_api = {
4674
REDIS_GENERIC_QUAD_API(port)
4775

4876
redis_get_port_stats,
77+
redis_get_port_stats_ext,
4978
redis_clear_port_stats,
5079
redis_clear_port_all_stats,
5180

5281
REDIS_GENERIC_QUAD_API(port_pool)
5382

5483
redis_get_port_pool_stats,
84+
redis_get_port_pool_stats_ext,
5585
redis_clear_port_pool_stats
5686
};

lib/src/sai_redis_queue.cpp

+15
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,20 @@ sai_status_t redis_clear_queue_stats(
1313
return SAI_STATUS_NOT_IMPLEMENTED;
1414
}
1515

16+
sai_status_t redis_get_queue_stats_ext(
17+
_In_ sai_object_id_t queue_id,
18+
_In_ uint32_t number_of_counters,
19+
_In_ const sai_queue_stat_t *counter_ids,
20+
_In_ sai_stats_mode_t mode,
21+
_Out_ uint64_t *counters)
22+
{
23+
MUTEX();
24+
25+
SWSS_LOG_ENTER();
26+
27+
return SAI_STATUS_NOT_IMPLEMENTED;
28+
}
29+
1630
REDIS_GENERIC_QUAD(QUEUE,queue);
1731

1832
REDIS_GENERIC_GET_STATS(QUEUE, queue);
@@ -22,5 +36,6 @@ const sai_queue_api_t redis_queue_api = {
2236
REDIS_GENERIC_QUAD_API(queue)
2337

2438
redis_get_queue_stats,
39+
redis_get_queue_stats_ext,
2540
redis_clear_queue_stats,
2641
};

lib/src/sai_redis_tunnel.cpp

+14
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,19 @@ sai_status_t redis_clear_tunnel_stats(
1212
return SAI_STATUS_NOT_IMPLEMENTED;
1313
}
1414

15+
sai_status_t redis_get_tunnel_stats_ext(
16+
_In_ sai_object_id_t tunnel_id,
17+
_In_ uint32_t number_of_counters,
18+
_In_ const sai_tunnel_stat_t *counter_ids,
19+
_In_ sai_stats_mode_t mode,
20+
_Out_ uint64_t *counters)
21+
{
22+
MUTEX();
23+
24+
SWSS_LOG_ENTER();
25+
26+
return SAI_STATUS_NOT_IMPLEMENTED;
27+
}
1528

1629
REDIS_GENERIC_QUAD(TUNNEL_MAP,tunnel_map);
1730
REDIS_GENERIC_QUAD(TUNNEL,tunnel);
@@ -25,6 +38,7 @@ const sai_tunnel_api_t redis_tunnel_api = {
2538
REDIS_GENERIC_QUAD_API(tunnel)
2639

2740
redis_get_tunnel_stats,
41+
redis_get_tunnel_stats_ext,
2842
redis_clear_tunnel_stats,
2943

3044
REDIS_GENERIC_QUAD_API(tunnel_term_table_entry)

lib/src/sai_redis_vlan.cpp

+15
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,20 @@ sai_status_t redis_get_vlan_stats(
4242
return SAI_STATUS_NOT_IMPLEMENTED;
4343
}
4444

45+
sai_status_t redis_get_vlan_stats_ext(
46+
_In_ sai_object_id_t vlan_id,
47+
_In_ uint32_t number_of_counters,
48+
_In_ const sai_vlan_stat_t *counter_ids,
49+
_In_ sai_stats_mode_t mode,
50+
_Out_ uint64_t *counters)
51+
{
52+
MUTEX();
53+
54+
SWSS_LOG_ENTER();
55+
56+
return SAI_STATUS_NOT_IMPLEMENTED;
57+
}
58+
4559
sai_status_t redis_clear_vlan_stats(
4660
_In_ sai_object_id_t vlan_id,
4761
_In_ uint32_t number_of_counters,
@@ -65,5 +79,6 @@ const sai_vlan_api_t redis_vlan_api = {
6579
redis_create_vlan_members,
6680
redis_remove_vlan_members,
6781
redis_get_vlan_stats,
82+
redis_get_vlan_stats_ext,
6883
redis_clear_vlan_stats,
6984
};

0 commit comments

Comments
 (0)