-
Notifications
You must be signed in to change notification settings - Fork 475
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Added function prototype that hides initialization of service method table. #33
Added function prototype that hides initialization of service method table. #33
Conversation
… table. This function just universalizes service method table initialization in host adapter and moves platform specific initialization outside host adapter(to bsp/platform adapter). Signed-off-by: Rostyslav Ivasiv <[email protected]>
can you provide example here? Method table that contains function pointers for services exposed by adapter host for adapter. The adapter host supply the functions so that SAI library can use the functions to get initial KV pairs. What does this sai_service_method_table_initialize do? |
Let's have a host adapter running over a single ASIC_X SAI adapter but two different boards called PlatformA and PlatformB. Each board uses the same ASIC_X but has its own profile which must be chosen when host runs over board A or B respectively. The profile functions for the boards could look as follows:
Now when the host initializes service method table itself it would need to assign profileA... functions in case it works over boardA and profileB... ones over boardB to sai_service_method_table_t instance. This would mean that the whole universality of SAI interface is lost here since host adapter has to call platform(i.e. customer) specific code for service method table initialization. Thus the universality SAI provides will be limited. If we add sai_service_method_table_initialize() function we move platform specific service method table initialization into it. Then sai_service_method_table_initialize() will be implemented for platforms A and B and will do the service method table initialization described above for each of them so it will be hidden from the host agent code. It can be placed to a small platform specific lib which will implement profileX... functions together with sai_service_method_table_initialize(). This lib can have common name and linked to a host agent. With such an approach host agent will just create an instance of service_method_table_t and call sai_service_method_table_initialize() with a pointer to that instance. This will work for any platform host agent will work over without calls of any platform specific code since we will have a unified interface function provided by SAI. |
Hi @lguohan , Could we refresh this discussion, as it looks this approach will be very useful for any SAI client PTF/SoNIC/FBOSS etc... and will allow to provide binary with platform configuration instead of inventing work around each time. Regards, |
Ok, looks this is not relevant anymore. Closed |
Signed-off-by: zhoudongxu <[email protected]>
* Add VLAN and PortChannel test plan For vlan, it includes: 1. Vlan functionalities - Flooding - Forwarding - Trunk/Access - Tagging/Untagging(802.1Q) - VLAN interface (RIF/SVI) 2. SAI APIs operations - Vlan Counters - Vlan and member list operations For PortChannel, it includes: 1. Lag functionalities - Loadbalance 2. Lag SAI APIs - create/check/remove lag and lag member Signed-off-by: richardyu-ms <[email protected]> * Update lag_test_plan.md Signed-off-by: richardyu-ms <[email protected]> * Update lag_test_plan.md Signed-off-by: richardyu-ms <[email protected]> * remove cases not related to T0 Signed-off-by: richardyu-ms <[email protected]> * Update lag_test_plan.md Signed-off-by: richardyu-ms <[email protected]> * Add VLAN and Lag test plan and put topo config in seperated files Signed-off-by: richardyu <[email protected]> * fix typo and more description more clear Signed-off-by: richardyu-ms <[email protected]> * fix lag test typo (#29) Signed-off-by: zhoudongxu <[email protected]> * refactor vlan test plan and config Signed-off-by: richardyu-ms <[email protected]> * refactor lag test plan (#33) Signed-off-by: zhoudongxu <[email protected]> * refactor pc and vlan test Signed-off-by: zhoudongxu <[email protected]> * Improve pc and vlan test Doc (#35) * fix typo Signed-off-by: zhoudongxu <[email protected]> * remove some unnecessary comments Signed-off-by: zhoudongxu <[email protected]> * reformat and adjust the description of the tests Signed-off-by: richardyu-ms <[email protected]> * set hash algorithm (#36) Signed-off-by: zhoudongxu <[email protected]> * refine lag test (#37) Signed-off-by: zhoudongxu <[email protected]> * correct vlan interface test (#38) Signed-off-by: zhoudongxu <[email protected]> * workaround for the sequence number issue in github and correct typo standardise the ip and mac naming in config add lag test for ingress port indifferenate in lag hash redesign the mac and ip namin convention and reformat Signed-off-by: richardyu-ms <[email protected]> * adjust the case numbers and vlan id Signed-off-by: richardyu-ms <[email protected]> Co-authored-by: zhoudongxu <[email protected]> Co-authored-by: richardyu <[email protected]> Co-authored-by: zhoudongxu <[email protected]>
* Add VLAN and PortChannel test plan For vlan, it includes: 1. Vlan functionalities - Flooding - Forwarding - Trunk/Access - Tagging/Untagging(802.1Q) - VLAN interface (RIF/SVI) 2. SAI APIs operations - Vlan Counters - Vlan and member list operations For PortChannel, it includes: 1. Lag functionalities - Loadbalance 2. Lag SAI APIs - create/check/remove lag and lag member Signed-off-by: richardyu-ms <[email protected]> * Update lag_test_plan.md Signed-off-by: richardyu-ms <[email protected]> * Update lag_test_plan.md Signed-off-by: richardyu-ms <[email protected]> * remove cases not related to T0 Signed-off-by: richardyu-ms <[email protected]> * Update lag_test_plan.md Signed-off-by: richardyu-ms <[email protected]> * Add VLAN and Lag test plan and put topo config in seperated files Signed-off-by: richardyu <[email protected]> * fix typo and more description more clear Signed-off-by: richardyu-ms <[email protected]> * fix lag test typo (opencomputeproject#29) Signed-off-by: zhoudongxu <[email protected]> * refactor vlan test plan and config Signed-off-by: richardyu-ms <[email protected]> * refactor lag test plan (opencomputeproject#33) Signed-off-by: zhoudongxu <[email protected]> * refactor pc and vlan test Signed-off-by: zhoudongxu <[email protected]> * Improve pc and vlan test Doc (opencomputeproject#35) * fix typo Signed-off-by: zhoudongxu <[email protected]> * remove some unnecessary comments Signed-off-by: zhoudongxu <[email protected]> * reformat and adjust the description of the tests Signed-off-by: richardyu-ms <[email protected]> * set hash algorithm (opencomputeproject#36) Signed-off-by: zhoudongxu <[email protected]> * refine lag test (opencomputeproject#37) Signed-off-by: zhoudongxu <[email protected]> * correct vlan interface test (opencomputeproject#38) Signed-off-by: zhoudongxu <[email protected]> * workaround for the sequence number issue in github and correct typo standardise the ip and mac naming in config add lag test for ingress port indifferenate in lag hash redesign the mac and ip namin convention and reformat Signed-off-by: richardyu-ms <[email protected]> * adjust the case numbers and vlan id Signed-off-by: richardyu-ms <[email protected]> Co-authored-by: zhoudongxu <[email protected]> Co-authored-by: richardyu <[email protected]> Co-authored-by: zhoudongxu <[email protected]> Signed-off-by: Chris Sommers <[email protected]>
* [doc] Add SAI metadata introduction presentation (#1487) Small presentation about SAI metadata features added in last time. Signed-off-by: Chris Sommers <[email protected]> * Add GEN_SAIRPC_OPTS to pass flags to gensairpc.pl from top-level Makefile or meta/Makefile Signed-off-by: Chris Sommers <[email protected]> * Add static_cast<> to sairpcgen templates to avoid type mismatches for SAI extensions. Signed-off-by: Chris Sommers <[email protected]> * Add new env variable SAIRPC_EXTRA_LIBS which gets passed to final linkage of saiserver, so user can pass in additional libraries. Signed-off-by: Chris Sommers <[email protected]> * Add experimental to include path. Signed-off-by: Chris Sommers <[email protected]> * Add experimental headers to CPPFLAGS passed to ctypesgen. Signed-off-by: Chris Sommers <[email protected]> * Add VLAN and PortChannel test plan (#1480) * Add VLAN and PortChannel test plan For vlan, it includes: 1. Vlan functionalities - Flooding - Forwarding - Trunk/Access - Tagging/Untagging(802.1Q) - VLAN interface (RIF/SVI) 2. SAI APIs operations - Vlan Counters - Vlan and member list operations For PortChannel, it includes: 1. Lag functionalities - Loadbalance 2. Lag SAI APIs - create/check/remove lag and lag member Signed-off-by: richardyu-ms <[email protected]> * Update lag_test_plan.md Signed-off-by: richardyu-ms <[email protected]> * Update lag_test_plan.md Signed-off-by: richardyu-ms <[email protected]> * remove cases not related to T0 Signed-off-by: richardyu-ms <[email protected]> * Update lag_test_plan.md Signed-off-by: richardyu-ms <[email protected]> * Add VLAN and Lag test plan and put topo config in seperated files Signed-off-by: richardyu <[email protected]> * fix typo and more description more clear Signed-off-by: richardyu-ms <[email protected]> * fix lag test typo (#29) Signed-off-by: zhoudongxu <[email protected]> * refactor vlan test plan and config Signed-off-by: richardyu-ms <[email protected]> * refactor lag test plan (#33) Signed-off-by: zhoudongxu <[email protected]> * refactor pc and vlan test Signed-off-by: zhoudongxu <[email protected]> * Improve pc and vlan test Doc (#35) * fix typo Signed-off-by: zhoudongxu <[email protected]> * remove some unnecessary comments Signed-off-by: zhoudongxu <[email protected]> * reformat and adjust the description of the tests Signed-off-by: richardyu-ms <[email protected]> * set hash algorithm (#36) Signed-off-by: zhoudongxu <[email protected]> * refine lag test (#37) Signed-off-by: zhoudongxu <[email protected]> * correct vlan interface test (#38) Signed-off-by: zhoudongxu <[email protected]> * workaround for the sequence number issue in github and correct typo standardise the ip and mac naming in config add lag test for ingress port indifferenate in lag hash redesign the mac and ip namin convention and reformat Signed-off-by: richardyu-ms <[email protected]> * adjust the case numbers and vlan id Signed-off-by: richardyu-ms <[email protected]> Co-authored-by: zhoudongxu <[email protected]> Co-authored-by: richardyu <[email protected]> Co-authored-by: zhoudongxu <[email protected]> Signed-off-by: Chris Sommers <[email protected]> * [SAI-PTF] SAI PTF test structure for T0 test and VLAN,FDB sample cases (#1499) * [SAI-PTF] Add SAI ptf test structure for T0 test Create SAI PTF test structure for T0 1. Create configuration structure for different components configu 2. Add FDB, PORT, switch, vlan configurations 3. Create Test structure base on PTF 4. Add T0 test case samples for FDB Test Done: Checked the ports functionality with port flooding Checked port forwarding base on FDB configurations Signed-off-by: richardyu-ms <[email protected]> * add vlan config and vlan test sample case Signed-off-by: richardyu-ms <[email protected]> * add dx010 config Signed-off-by: richardyu-ms <[email protected]> Signed-off-by: Chris Sommers <[email protected]> * [meta] Add sai_status_t to ancestry check (#1501) Signed-off-by: Chris Sommers <[email protected]> * reset sleep time during turning up ports (#1502) Signed-off-by: Yang Wang <[email protected]> Signed-off-by: Chris Sommers <[email protected]> * [saineighbor] Bulk API support for Neighbor entries (#1504) * Bulk support for Neighbor entries Signed-off-by: Chris Sommers <[email protected]> * add vlan testcases from Group6 to Group10 (#1506) Signed-off-by: Yang Wang <[email protected]> Signed-off-by: Chris Sommers <[email protected]> * Support counters on IP MC route entries. This is similar to the support added earlier for Route counters. (#1497) Support counters on IP MC route entries. This is similar to the support added earlier for Route counters. API sequence: sai_attribute_t counter_attr; attr.id = SAI_COUNTER_ATTR_TYPE; attr.value.s32 = SAI_COUNTER_TYPE_REGULAR; sai_object_id_t counter_id; sai_status_t rc = sai_counter_api->create_counter(&counter_id, g_switch_id, 1, &attr); sai_attribute_t ipmc_attr; attr.id = SAI_IPMC_ENTRY_ATTR_COUNTER_ID; attr.value.oid = counter_id; rc = sai_ipmc_api->set_ipmc_entry_attribute(route_entry, ipmc_attr); sai_stat_id_t stat_ids[] = { SAI_COUNTER_STAT_PACKETS, SAI_COUNTER_STAT_BYTES }; uint64_t stats[2]; rc = sai_counter_api->sai_get_counter_stats_ext(counter_id, 2, stat_ids, stats); Signed-off-by: rck-innovium <[email protected]> Signed-off-by: Chris Sommers <[email protected]> * Add thr missing API into saithriftv2 missing for syncd (#1484) saithriftv1 offers start_sai_thrift_rpc_server API to start the saithrift server and syncd is currently using that API https://github.com/Azure/sonic-sairedis/blob/master/syncd/syncd_main.cpp#L60 But this API is missing from the for saithriftv2. Made the relevant changes to provide a similar API for saithriftv2 library The start_sai_thrift_rpc_server API currently resides in saiserver.cpp which is not included in librpcserver.a and is not available for the users of the static library. Thus moved the function definition into sai_rpc_frontend.cpp for including it in the static library. Signed-off-by: Vivek Reddy Karri <[email protected]> Signed-off-by: Chris Sommers <[email protected]> * add vlan test case (#1510) Signed-off-by: ms-junyi <[email protected]> add vlan test case edit FilteringTest Signed-off-by: ms-junyi <[email protected]> edit vlan test case Signed-off-by: ms-junyi <[email protected]> Signed-off-by: Chris Sommers <[email protected]> * add more waiting time for test (#1511) * add more waiting time for test Signed-off-by: richardyu-ms <[email protected]> * Update fdb_configer.py increase the waiting time for fdb entries update Signed-off-by: richardyu-ms <[email protected]> * remove useless change Signed-off-by: richardyu-ms <[email protected]> Signed-off-by: Chris Sommers <[email protected]> * add read config_db.json (#1519) Signed-off-by: ms-junyi <[email protected]> format Signed-off-by: ms-junyi <[email protected]> addomment for each function Signed-off-by: ms-junyi <[email protected]> add comment for each function Signed-off-by: ms-junyi <[email protected]> Signed-off-by: Chris Sommers <[email protected]> * [Fix]Add necessary test data file for sai test (#1520) In order to set up the port on different platforms, need to read the data for port configuration when turning on the admin state This PR is a bug fix for adding the config_db into test resources folder. Test Done: Test within SONiC mgmt container Signed-off-by: richardyu-ms <[email protected]> Signed-off-by: Chris Sommers <[email protected]> * Zitingguo/add lag test (#1522) * add lag config Signed-off-by: Ziting Guo <[email protected]> Signed-off-by: zitingguo <[email protected]> * enable lag config in test base Signed-off-by: Ziting Guo <[email protected]> Signed-off-by: zitingguo <[email protected]> * fix lag config Signed-off-by: Ziting Guo <[email protected]> Signed-off-by: zitingguo <[email protected]> * add remove_lag_member in lag_configer Signed-off-by: Ziting Guo <[email protected]> Signed-off-by: zitingguo <[email protected]> * add sai_ipprefix() in utils Signed-off-by: Ziting Guo <[email protected]> Signed-off-by: zitingguo <[email protected]> * fix typo Signed-off-by: zitingguo <[email protected]> * import LagConfiger in sai_test_base Signed-off-by: Ziting Guo <[email protected]> Signed-off-by: zitingguo <[email protected]> * add a simple lag test Signed-off-by: Ziting Guo <[email protected]> Signed-off-by: zitingguo <[email protected]> * fix typo Signed-off-by: zitingguo <[email protected]> * fix a config error in lag Signed-off-by: Ziting Guo <[email protected]> Signed-off-by: zitingguo <[email protected]> * add lag lb test based on scr port Signed-off-by: Ziting Guo <[email protected]> Signed-off-by: zitingguo <[email protected]> * fix Signed-off-by: zitingguo <[email protected]> * set lag v4 hash Signed-off-by: Ziting Guo <[email protected]> Signed-off-by: zitingguo <[email protected]> * add lag disable egress test case Signed-off-by: Ziting Guo <[email protected]> Signed-off-by: zitingguo <[email protected]> * add IndifferenceIngressPortTest Signed-off-by: Ziting Guo <[email protected]> Signed-off-by: zitingguo <[email protected]> * fix set hash function Signed-off-by: Ziting Guo <[email protected]> Signed-off-by: zitingguo <[email protected]> * separate route configuration from lag Signed-off-by: Ziting Guo <[email protected]> Signed-off-by: zitingguo <[email protected]> * disable setting lag hash Signed-off-by: Ziting Guo <[email protected]> Signed-off-by: zitingguo <[email protected]> * add virtual interface Signed-off-by: Ziting Guo <[email protected]> Signed-off-by: zitingguo <[email protected]> * Config default v4&v6 route Signed-off-by: zitingguo <[email protected]> Signed-off-by: Chris Sommers <[email protected]> * add teardown for testing multiple cases at a time (#1521) * add read config_db.json Signed-off-by: ms-junyi <[email protected]> format Signed-off-by: ms-junyi <[email protected]> addomment for each function Signed-off-by: ms-junyi <[email protected]> add comment for each function Signed-off-by: ms-junyi <[email protected]> * tear down Signed-off-by: ms-junyi <[email protected]> Signed-off-by: Chris Sommers <[email protected]> * Added missing dependencies required to run gensairpc.pl (#1492) Fixes #1490 Co-authored-by: Chris Sommers <[email protected]> Signed-off-by: Chris Sommers <[email protected]> * Update saitam.h (#1496) Attribute is introduced to configure IPFIX template reporting interval as per the RFC7011. https://datatracker.ietf.org/doc/html/rfc7011#section-8.4 Signed-off-by: Jai Kumar <[email protected]> Signed-off-by: Chris Sommers <[email protected]> * Pass SAIRPC_EXTRA_LIBS flag in Makefile Signed-off-by: Chris Sommers <[email protected]> * Removed changes to include paths for SAI extension headers; as it turns out these changes were not required as originally reported in #1531. Signed-off-by: Chris Sommers <[email protected]> Co-authored-by: Kamil Cudnik <[email protected]> Co-authored-by: Chris Sommers <[email protected]> Co-authored-by: Richard.Yu <[email protected]> Co-authored-by: zhoudongxu <[email protected]> Co-authored-by: richardyu <[email protected]> Co-authored-by: zhoudongxu <[email protected]> Co-authored-by: Yang Wang <[email protected]> Co-authored-by: Prince Sunny <[email protected]> Co-authored-by: Ravindranath C K <[email protected]> Co-authored-by: Vivek R <[email protected]> Co-authored-by: ms-junyi <[email protected]> Co-authored-by: zitingguo-ms <[email protected]> Co-authored-by: Jai Kumar <[email protected]>
* [doc] Add SAI metadata introduction presentation (opencomputeproject#1487) Small presentation about SAI metadata features added in last time. Signed-off-by: Chris Sommers <[email protected]> * Add GEN_SAIRPC_OPTS to pass flags to gensairpc.pl from top-level Makefile or meta/Makefile Signed-off-by: Chris Sommers <[email protected]> * Add static_cast<> to sairpcgen templates to avoid type mismatches for SAI extensions. Signed-off-by: Chris Sommers <[email protected]> * Add new env variable SAIRPC_EXTRA_LIBS which gets passed to final linkage of saiserver, so user can pass in additional libraries. Signed-off-by: Chris Sommers <[email protected]> * Add experimental to include path. Signed-off-by: Chris Sommers <[email protected]> * Add experimental headers to CPPFLAGS passed to ctypesgen. Signed-off-by: Chris Sommers <[email protected]> * Add VLAN and PortChannel test plan (opencomputeproject#1480) * Add VLAN and PortChannel test plan For vlan, it includes: 1. Vlan functionalities - Flooding - Forwarding - Trunk/Access - Tagging/Untagging(802.1Q) - VLAN interface (RIF/SVI) 2. SAI APIs operations - Vlan Counters - Vlan and member list operations For PortChannel, it includes: 1. Lag functionalities - Loadbalance 2. Lag SAI APIs - create/check/remove lag and lag member Signed-off-by: richardyu-ms <[email protected]> * Update lag_test_plan.md Signed-off-by: richardyu-ms <[email protected]> * Update lag_test_plan.md Signed-off-by: richardyu-ms <[email protected]> * remove cases not related to T0 Signed-off-by: richardyu-ms <[email protected]> * Update lag_test_plan.md Signed-off-by: richardyu-ms <[email protected]> * Add VLAN and Lag test plan and put topo config in seperated files Signed-off-by: richardyu <[email protected]> * fix typo and more description more clear Signed-off-by: richardyu-ms <[email protected]> * fix lag test typo (opencomputeproject#29) Signed-off-by: zhoudongxu <[email protected]> * refactor vlan test plan and config Signed-off-by: richardyu-ms <[email protected]> * refactor lag test plan (opencomputeproject#33) Signed-off-by: zhoudongxu <[email protected]> * refactor pc and vlan test Signed-off-by: zhoudongxu <[email protected]> * Improve pc and vlan test Doc (opencomputeproject#35) * fix typo Signed-off-by: zhoudongxu <[email protected]> * remove some unnecessary comments Signed-off-by: zhoudongxu <[email protected]> * reformat and adjust the description of the tests Signed-off-by: richardyu-ms <[email protected]> * set hash algorithm (opencomputeproject#36) Signed-off-by: zhoudongxu <[email protected]> * refine lag test (opencomputeproject#37) Signed-off-by: zhoudongxu <[email protected]> * correct vlan interface test (opencomputeproject#38) Signed-off-by: zhoudongxu <[email protected]> * workaround for the sequence number issue in github and correct typo standardise the ip and mac naming in config add lag test for ingress port indifferenate in lag hash redesign the mac and ip namin convention and reformat Signed-off-by: richardyu-ms <[email protected]> * adjust the case numbers and vlan id Signed-off-by: richardyu-ms <[email protected]> Co-authored-by: zhoudongxu <[email protected]> Co-authored-by: richardyu <[email protected]> Co-authored-by: zhoudongxu <[email protected]> Signed-off-by: Chris Sommers <[email protected]> * [SAI-PTF] SAI PTF test structure for T0 test and VLAN,FDB sample cases (opencomputeproject#1499) * [SAI-PTF] Add SAI ptf test structure for T0 test Create SAI PTF test structure for T0 1. Create configuration structure for different components configu 2. Add FDB, PORT, switch, vlan configurations 3. Create Test structure base on PTF 4. Add T0 test case samples for FDB Test Done: Checked the ports functionality with port flooding Checked port forwarding base on FDB configurations Signed-off-by: richardyu-ms <[email protected]> * add vlan config and vlan test sample case Signed-off-by: richardyu-ms <[email protected]> * add dx010 config Signed-off-by: richardyu-ms <[email protected]> Signed-off-by: Chris Sommers <[email protected]> * [meta] Add sai_status_t to ancestry check (opencomputeproject#1501) Signed-off-by: Chris Sommers <[email protected]> * reset sleep time during turning up ports (opencomputeproject#1502) Signed-off-by: Yang Wang <[email protected]> Signed-off-by: Chris Sommers <[email protected]> * [saineighbor] Bulk API support for Neighbor entries (opencomputeproject#1504) * Bulk support for Neighbor entries Signed-off-by: Chris Sommers <[email protected]> * add vlan testcases from Group6 to Group10 (opencomputeproject#1506) Signed-off-by: Yang Wang <[email protected]> Signed-off-by: Chris Sommers <[email protected]> * Support counters on IP MC route entries. This is similar to the support added earlier for Route counters. (opencomputeproject#1497) Support counters on IP MC route entries. This is similar to the support added earlier for Route counters. API sequence: sai_attribute_t counter_attr; attr.id = SAI_COUNTER_ATTR_TYPE; attr.value.s32 = SAI_COUNTER_TYPE_REGULAR; sai_object_id_t counter_id; sai_status_t rc = sai_counter_api->create_counter(&counter_id, g_switch_id, 1, &attr); sai_attribute_t ipmc_attr; attr.id = SAI_IPMC_ENTRY_ATTR_COUNTER_ID; attr.value.oid = counter_id; rc = sai_ipmc_api->set_ipmc_entry_attribute(route_entry, ipmc_attr); sai_stat_id_t stat_ids[] = { SAI_COUNTER_STAT_PACKETS, SAI_COUNTER_STAT_BYTES }; uint64_t stats[2]; rc = sai_counter_api->sai_get_counter_stats_ext(counter_id, 2, stat_ids, stats); Signed-off-by: rck-innovium <[email protected]> Signed-off-by: Chris Sommers <[email protected]> * Add thr missing API into saithriftv2 missing for syncd (opencomputeproject#1484) saithriftv1 offers start_sai_thrift_rpc_server API to start the saithrift server and syncd is currently using that API https://github.com/Azure/sonic-sairedis/blob/master/syncd/syncd_main.cpp#L60 But this API is missing from the for saithriftv2. Made the relevant changes to provide a similar API for saithriftv2 library The start_sai_thrift_rpc_server API currently resides in saiserver.cpp which is not included in librpcserver.a and is not available for the users of the static library. Thus moved the function definition into sai_rpc_frontend.cpp for including it in the static library. Signed-off-by: Vivek Reddy Karri <[email protected]> Signed-off-by: Chris Sommers <[email protected]> * add vlan test case (opencomputeproject#1510) Signed-off-by: ms-junyi <[email protected]> add vlan test case edit FilteringTest Signed-off-by: ms-junyi <[email protected]> edit vlan test case Signed-off-by: ms-junyi <[email protected]> Signed-off-by: Chris Sommers <[email protected]> * add more waiting time for test (opencomputeproject#1511) * add more waiting time for test Signed-off-by: richardyu-ms <[email protected]> * Update fdb_configer.py increase the waiting time for fdb entries update Signed-off-by: richardyu-ms <[email protected]> * remove useless change Signed-off-by: richardyu-ms <[email protected]> Signed-off-by: Chris Sommers <[email protected]> * add read config_db.json (opencomputeproject#1519) Signed-off-by: ms-junyi <[email protected]> format Signed-off-by: ms-junyi <[email protected]> addomment for each function Signed-off-by: ms-junyi <[email protected]> add comment for each function Signed-off-by: ms-junyi <[email protected]> Signed-off-by: Chris Sommers <[email protected]> * [Fix]Add necessary test data file for sai test (opencomputeproject#1520) In order to set up the port on different platforms, need to read the data for port configuration when turning on the admin state This PR is a bug fix for adding the config_db into test resources folder. Test Done: Test within SONiC mgmt container Signed-off-by: richardyu-ms <[email protected]> Signed-off-by: Chris Sommers <[email protected]> * Zitingguo/add lag test (opencomputeproject#1522) * add lag config Signed-off-by: Ziting Guo <[email protected]> Signed-off-by: zitingguo <[email protected]> * enable lag config in test base Signed-off-by: Ziting Guo <[email protected]> Signed-off-by: zitingguo <[email protected]> * fix lag config Signed-off-by: Ziting Guo <[email protected]> Signed-off-by: zitingguo <[email protected]> * add remove_lag_member in lag_configer Signed-off-by: Ziting Guo <[email protected]> Signed-off-by: zitingguo <[email protected]> * add sai_ipprefix() in utils Signed-off-by: Ziting Guo <[email protected]> Signed-off-by: zitingguo <[email protected]> * fix typo Signed-off-by: zitingguo <[email protected]> * import LagConfiger in sai_test_base Signed-off-by: Ziting Guo <[email protected]> Signed-off-by: zitingguo <[email protected]> * add a simple lag test Signed-off-by: Ziting Guo <[email protected]> Signed-off-by: zitingguo <[email protected]> * fix typo Signed-off-by: zitingguo <[email protected]> * fix a config error in lag Signed-off-by: Ziting Guo <[email protected]> Signed-off-by: zitingguo <[email protected]> * add lag lb test based on scr port Signed-off-by: Ziting Guo <[email protected]> Signed-off-by: zitingguo <[email protected]> * fix Signed-off-by: zitingguo <[email protected]> * set lag v4 hash Signed-off-by: Ziting Guo <[email protected]> Signed-off-by: zitingguo <[email protected]> * add lag disable egress test case Signed-off-by: Ziting Guo <[email protected]> Signed-off-by: zitingguo <[email protected]> * add IndifferenceIngressPortTest Signed-off-by: Ziting Guo <[email protected]> Signed-off-by: zitingguo <[email protected]> * fix set hash function Signed-off-by: Ziting Guo <[email protected]> Signed-off-by: zitingguo <[email protected]> * separate route configuration from lag Signed-off-by: Ziting Guo <[email protected]> Signed-off-by: zitingguo <[email protected]> * disable setting lag hash Signed-off-by: Ziting Guo <[email protected]> Signed-off-by: zitingguo <[email protected]> * add virtual interface Signed-off-by: Ziting Guo <[email protected]> Signed-off-by: zitingguo <[email protected]> * Config default v4&v6 route Signed-off-by: zitingguo <[email protected]> Signed-off-by: Chris Sommers <[email protected]> * add teardown for testing multiple cases at a time (opencomputeproject#1521) * add read config_db.json Signed-off-by: ms-junyi <[email protected]> format Signed-off-by: ms-junyi <[email protected]> addomment for each function Signed-off-by: ms-junyi <[email protected]> add comment for each function Signed-off-by: ms-junyi <[email protected]> * tear down Signed-off-by: ms-junyi <[email protected]> Signed-off-by: Chris Sommers <[email protected]> * Added missing dependencies required to run gensairpc.pl (opencomputeproject#1492) Fixes opencomputeproject#1490 Co-authored-by: Chris Sommers <[email protected]> Signed-off-by: Chris Sommers <[email protected]> * Update saitam.h (opencomputeproject#1496) Attribute is introduced to configure IPFIX template reporting interval as per the RFC7011. https://datatracker.ietf.org/doc/html/rfc7011#section-8.4 Signed-off-by: Jai Kumar <[email protected]> Signed-off-by: Chris Sommers <[email protected]> * Pass SAIRPC_EXTRA_LIBS flag in Makefile Signed-off-by: Chris Sommers <[email protected]> * Removed changes to include paths for SAI extension headers; as it turns out these changes were not required as originally reported in opencomputeproject#1531. Signed-off-by: Chris Sommers <[email protected]> Co-authored-by: Kamil Cudnik <[email protected]> Co-authored-by: Chris Sommers <[email protected]> Co-authored-by: Richard.Yu <[email protected]> Co-authored-by: zhoudongxu <[email protected]> Co-authored-by: richardyu <[email protected]> Co-authored-by: zhoudongxu <[email protected]> Co-authored-by: Yang Wang <[email protected]> Co-authored-by: Prince Sunny <[email protected]> Co-authored-by: Ravindranath C K <[email protected]> Co-authored-by: Vivek R <[email protected]> Co-authored-by: ms-junyi <[email protected]> Co-authored-by: zitingguo-ms <[email protected]> Co-authored-by: Jai Kumar <[email protected]> Signed-off-by: Chris Sommers <[email protected]>
…#1552) (#1533) (#1514) (#1492) (#1558) (#1557) * Added missing dependencies required to run gensairpc.pl (#1492) Fixes #1490 Co-authored-by: Chris Sommers <[email protected]> * Add GEN_SAIRPC_OPTS to pass flags to gensairpc.pl from top-level Make… (#1514) * [doc] Add SAI metadata introduction presentation (#1487) Small presentation about SAI metadata features added in last time. Signed-off-by: Chris Sommers <[email protected]> * Add GEN_SAIRPC_OPTS to pass flags to gensairpc.pl from top-level Makefile or meta/Makefile Signed-off-by: Chris Sommers <[email protected]> Co-authored-by: Kamil Cudnik <[email protected]> Co-authored-by: Chris Sommers <[email protected]> * Saithriftv2 fixes for extensions (#1533) * [doc] Add SAI metadata introduction presentation (#1487) Small presentation about SAI metadata features added in last time. Signed-off-by: Chris Sommers <[email protected]> * Add GEN_SAIRPC_OPTS to pass flags to gensairpc.pl from top-level Makefile or meta/Makefile Signed-off-by: Chris Sommers <[email protected]> * Add static_cast<> to sairpcgen templates to avoid type mismatches for SAI extensions. Signed-off-by: Chris Sommers <[email protected]> * Add new env variable SAIRPC_EXTRA_LIBS which gets passed to final linkage of saiserver, so user can pass in additional libraries. Signed-off-by: Chris Sommers <[email protected]> * Add experimental to include path. Signed-off-by: Chris Sommers <[email protected]> * Add experimental headers to CPPFLAGS passed to ctypesgen. Signed-off-by: Chris Sommers <[email protected]> * Add VLAN and PortChannel test plan (#1480) * Add VLAN and PortChannel test plan For vlan, it includes: 1. Vlan functionalities - Flooding - Forwarding - Trunk/Access - Tagging/Untagging(802.1Q) - VLAN interface (RIF/SVI) 2. SAI APIs operations - Vlan Counters - Vlan and member list operations For PortChannel, it includes: 1. Lag functionalities - Loadbalance 2. Lag SAI APIs - create/check/remove lag and lag member Signed-off-by: richardyu-ms <[email protected]> * Update lag_test_plan.md Signed-off-by: richardyu-ms <[email protected]> * Update lag_test_plan.md Signed-off-by: richardyu-ms <[email protected]> * remove cases not related to T0 Signed-off-by: richardyu-ms <[email protected]> * Update lag_test_plan.md Signed-off-by: richardyu-ms <[email protected]> * Add VLAN and Lag test plan and put topo config in seperated files Signed-off-by: richardyu <[email protected]> * fix typo and more description more clear Signed-off-by: richardyu-ms <[email protected]> * fix lag test typo (#29) Signed-off-by: zhoudongxu <[email protected]> * refactor vlan test plan and config Signed-off-by: richardyu-ms <[email protected]> * refactor lag test plan (#33) Signed-off-by: zhoudongxu <[email protected]> * refactor pc and vlan test Signed-off-by: zhoudongxu <[email protected]> * Improve pc and vlan test Doc (#35) * fix typo Signed-off-by: zhoudongxu <[email protected]> * remove some unnecessary comments Signed-off-by: zhoudongxu <[email protected]> * reformat and adjust the description of the tests Signed-off-by: richardyu-ms <[email protected]> * set hash algorithm (#36) Signed-off-by: zhoudongxu <[email protected]> * refine lag test (#37) Signed-off-by: zhoudongxu <[email protected]> * correct vlan interface test (#38) Signed-off-by: zhoudongxu <[email protected]> * workaround for the sequence number issue in github and correct typo standardise the ip and mac naming in config add lag test for ingress port indifferenate in lag hash redesign the mac and ip namin convention and reformat Signed-off-by: richardyu-ms <[email protected]> * adjust the case numbers and vlan id Signed-off-by: richardyu-ms <[email protected]> Co-authored-by: zhoudongxu <[email protected]> Co-authored-by: richardyu <[email protected]> Co-authored-by: zhoudongxu <[email protected]> Signed-off-by: Chris Sommers <[email protected]> * [SAI-PTF] SAI PTF test structure for T0 test and VLAN,FDB sample cases (#1499) * [SAI-PTF] Add SAI ptf test structure for T0 test Create SAI PTF test structure for T0 1. Create configuration structure for different components configu 2. Add FDB, PORT, switch, vlan configurations 3. Create Test structure base on PTF 4. Add T0 test case samples for FDB Test Done: Checked the ports functionality with port flooding Checked port forwarding base on FDB configurations Signed-off-by: richardyu-ms <[email protected]> * add vlan config and vlan test sample case Signed-off-by: richardyu-ms <[email protected]> * add dx010 config Signed-off-by: richardyu-ms <[email protected]> Signed-off-by: Chris Sommers <[email protected]> * [meta] Add sai_status_t to ancestry check (#1501) Signed-off-by: Chris Sommers <[email protected]> * reset sleep time during turning up ports (#1502) Signed-off-by: Yang Wang <[email protected]> Signed-off-by: Chris Sommers <[email protected]> * [saineighbor] Bulk API support for Neighbor entries (#1504) * Bulk support for Neighbor entries Signed-off-by: Chris Sommers <[email protected]> * add vlan testcases from Group6 to Group10 (#1506) Signed-off-by: Yang Wang <[email protected]> Signed-off-by: Chris Sommers <[email protected]> * Support counters on IP MC route entries. This is similar to the support added earlier for Route counters. (#1497) Support counters on IP MC route entries. This is similar to the support added earlier for Route counters. API sequence: sai_attribute_t counter_attr; attr.id = SAI_COUNTER_ATTR_TYPE; attr.value.s32 = SAI_COUNTER_TYPE_REGULAR; sai_object_id_t counter_id; sai_status_t rc = sai_counter_api->create_counter(&counter_id, g_switch_id, 1, &attr); sai_attribute_t ipmc_attr; attr.id = SAI_IPMC_ENTRY_ATTR_COUNTER_ID; attr.value.oid = counter_id; rc = sai_ipmc_api->set_ipmc_entry_attribute(route_entry, ipmc_attr); sai_stat_id_t stat_ids[] = { SAI_COUNTER_STAT_PACKETS, SAI_COUNTER_STAT_BYTES }; uint64_t stats[2]; rc = sai_counter_api->sai_get_counter_stats_ext(counter_id, 2, stat_ids, stats); Signed-off-by: rck-innovium <[email protected]> Signed-off-by: Chris Sommers <[email protected]> * Add thr missing API into saithriftv2 missing for syncd (#1484) saithriftv1 offers start_sai_thrift_rpc_server API to start the saithrift server and syncd is currently using that API https://github.com/Azure/sonic-sairedis/blob/master/syncd/syncd_main.cpp#L60 But this API is missing from the for saithriftv2. Made the relevant changes to provide a similar API for saithriftv2 library The start_sai_thrift_rpc_server API currently resides in saiserver.cpp which is not included in librpcserver.a and is not available for the users of the static library. Thus moved the function definition into sai_rpc_frontend.cpp for including it in the static library. Signed-off-by: Vivek Reddy Karri <[email protected]> Signed-off-by: Chris Sommers <[email protected]> * add vlan test case (#1510) Signed-off-by: ms-junyi <[email protected]> add vlan test case edit FilteringTest Signed-off-by: ms-junyi <[email protected]> edit vlan test case Signed-off-by: ms-junyi <[email protected]> Signed-off-by: Chris Sommers <[email protected]> * add more waiting time for test (#1511) * add more waiting time for test Signed-off-by: richardyu-ms <[email protected]> * Update fdb_configer.py increase the waiting time for fdb entries update Signed-off-by: richardyu-ms <[email protected]> * remove useless change Signed-off-by: richardyu-ms <[email protected]> Signed-off-by: Chris Sommers <[email protected]> * add read config_db.json (#1519) Signed-off-by: ms-junyi <[email protected]> format Signed-off-by: ms-junyi <[email protected]> addomment for each function Signed-off-by: ms-junyi <[email protected]> add comment for each function Signed-off-by: ms-junyi <[email protected]> Signed-off-by: Chris Sommers <[email protected]> * [Fix]Add necessary test data file for sai test (#1520) In order to set up the port on different platforms, need to read the data for port configuration when turning on the admin state This PR is a bug fix for adding the config_db into test resources folder. Test Done: Test within SONiC mgmt container Signed-off-by: richardyu-ms <[email protected]> Signed-off-by: Chris Sommers <[email protected]> * Zitingguo/add lag test (#1522) * add lag config Signed-off-by: Ziting Guo <[email protected]> Signed-off-by: zitingguo <[email protected]> * enable lag config in test base Signed-off-by: Ziting Guo <[email protected]> Signed-off-by: zitingguo <[email protected]> * fix lag config Signed-off-by: Ziting Guo <[email protected]> Signed-off-by: zitingguo <[email protected]> * add remove_lag_member in lag_configer Signed-off-by: Ziting Guo <[email protected]> Signed-off-by: zitingguo <[email protected]> * add sai_ipprefix() in utils Signed-off-by: Ziting Guo <[email protected]> Signed-off-by: zitingguo <[email protected]> * fix typo Signed-off-by: zitingguo <[email protected]> * import LagConfiger in sai_test_base Signed-off-by: Ziting Guo <[email protected]> Signed-off-by: zitingguo <[email protected]> * add a simple lag test Signed-off-by: Ziting Guo <[email protected]> Signed-off-by: zitingguo <[email protected]> * fix typo Signed-off-by: zitingguo <[email protected]> * fix a config error in lag Signed-off-by: Ziting Guo <[email protected]> Signed-off-by: zitingguo <[email protected]> * add lag lb test based on scr port Signed-off-by: Ziting Guo <[email protected]> Signed-off-by: zitingguo <[email protected]> * fix Signed-off-by: zitingguo <[email protected]> * set lag v4 hash Signed-off-by: Ziting Guo <[email protected]> Signed-off-by: zitingguo <[email protected]> * add lag disable egress test case Signed-off-by: Ziting Guo <[email protected]> Signed-off-by: zitingguo <[email protected]> * add IndifferenceIngressPortTest Signed-off-by: Ziting Guo <[email protected]> Signed-off-by: zitingguo <[email protected]> * fix set hash function Signed-off-by: Ziting Guo <[email protected]> Signed-off-by: zitingguo <[email protected]> * separate route configuration from lag Signed-off-by: Ziting Guo <[email protected]> Signed-off-by: zitingguo <[email protected]> * disable setting lag hash Signed-off-by: Ziting Guo <[email protected]> Signed-off-by: zitingguo <[email protected]> * add virtual interface Signed-off-by: Ziting Guo <[email protected]> Signed-off-by: zitingguo <[email protected]> * Config default v4&v6 route Signed-off-by: zitingguo <[email protected]> Signed-off-by: Chris Sommers <[email protected]> * add teardown for testing multiple cases at a time (#1521) * add read config_db.json Signed-off-by: ms-junyi <[email protected]> format Signed-off-by: ms-junyi <[email protected]> addomment for each function Signed-off-by: ms-junyi <[email protected]> add comment for each function Signed-off-by: ms-junyi <[email protected]> * tear down Signed-off-by: ms-junyi <[email protected]> Signed-off-by: Chris Sommers <[email protected]> * Added missing dependencies required to run gensairpc.pl (#1492) Fixes #1490 Co-authored-by: Chris Sommers <[email protected]> Signed-off-by: Chris Sommers <[email protected]> * Update saitam.h (#1496) Attribute is introduced to configure IPFIX template reporting interval as per the RFC7011. https://datatracker.ietf.org/doc/html/rfc7011#section-8.4 Signed-off-by: Jai Kumar <[email protected]> Signed-off-by: Chris Sommers <[email protected]> * Pass SAIRPC_EXTRA_LIBS flag in Makefile Signed-off-by: Chris Sommers <[email protected]> * Removed changes to include paths for SAI extension headers; as it turns out these changes were not required as originally reported in #1531. Signed-off-by: Chris Sommers <[email protected]> Co-authored-by: Kamil Cudnik <[email protected]> Co-authored-by: Chris Sommers <[email protected]> Co-authored-by: Richard.Yu <[email protected]> Co-authored-by: zhoudongxu <[email protected]> Co-authored-by: richardyu <[email protected]> Co-authored-by: zhoudongxu <[email protected]> Co-authored-by: Yang Wang <[email protected]> Co-authored-by: Prince Sunny <[email protected]> Co-authored-by: Ravindranath C K <[email protected]> Co-authored-by: Vivek R <[email protected]> Co-authored-by: ms-junyi <[email protected]> Co-authored-by: zitingguo-ms <[email protected]> Co-authored-by: Jai Kumar <[email protected]> * [SAI-PTF]Align the sai rpc front name with swss and syncd (#1552) In Syncd starting process, it will try to start the switch and assign the gSwtichId to the sai implementation. In the syncd rpc container, in order to get the swtich id after syncd initalization, we need to get and check the switch id. Signed-off-by: richardyu-ms <[email protected]> * Check for NULL APIs returned by sai_api_query() before calling. (#1558) Signed-off-by: Chris Sommers <[email protected]> Co-authored-by: Chris Sommers <[email protected]> Signed-off-by: richardyu-ms <[email protected]> Co-authored-by: Chris Sommers <[email protected]> Co-authored-by: Chris Sommers <[email protected]> Co-authored-by: Kamil Cudnik <[email protected]> Co-authored-by: zhoudongxu <[email protected]> Co-authored-by: richardyu <[email protected]> Co-authored-by: zhoudongxu <[email protected]> Co-authored-by: Yang Wang <[email protected]> Co-authored-by: Prince Sunny <[email protected]> Co-authored-by: Ravindranath C K <[email protected]> Co-authored-by: Vivek R <[email protected]> Co-authored-by: ms-junyi <[email protected]> Co-authored-by: zitingguo-ms <[email protected]> Co-authored-by: Jai Kumar <[email protected]>
…#1552) (#1533) (#1514) (#1492) (#1558) (#1557) (#1589) * Added missing dependencies required to run gensairpc.pl (#1492) Fixes #1490 Co-authored-by: Chris Sommers <[email protected]> * Add GEN_SAIRPC_OPTS to pass flags to gensairpc.pl from top-level Make… (#1514) * [doc] Add SAI metadata introduction presentation (#1487) Small presentation about SAI metadata features added in last time. Signed-off-by: Chris Sommers <[email protected]> * Add GEN_SAIRPC_OPTS to pass flags to gensairpc.pl from top-level Makefile or meta/Makefile Signed-off-by: Chris Sommers <[email protected]> Co-authored-by: Kamil Cudnik <[email protected]> Co-authored-by: Chris Sommers <[email protected]> * Saithriftv2 fixes for extensions (#1533) * [doc] Add SAI metadata introduction presentation (#1487) Small presentation about SAI metadata features added in last time. Signed-off-by: Chris Sommers <[email protected]> * Add GEN_SAIRPC_OPTS to pass flags to gensairpc.pl from top-level Makefile or meta/Makefile Signed-off-by: Chris Sommers <[email protected]> * Add static_cast<> to sairpcgen templates to avoid type mismatches for SAI extensions. Signed-off-by: Chris Sommers <[email protected]> * Add new env variable SAIRPC_EXTRA_LIBS which gets passed to final linkage of saiserver, so user can pass in additional libraries. Signed-off-by: Chris Sommers <[email protected]> * Add experimental to include path. Signed-off-by: Chris Sommers <[email protected]> * Add experimental headers to CPPFLAGS passed to ctypesgen. Signed-off-by: Chris Sommers <[email protected]> * Add VLAN and PortChannel test plan (#1480) * Add VLAN and PortChannel test plan For vlan, it includes: 1. Vlan functionalities - Flooding - Forwarding - Trunk/Access - Tagging/Untagging(802.1Q) - VLAN interface (RIF/SVI) 2. SAI APIs operations - Vlan Counters - Vlan and member list operations For PortChannel, it includes: 1. Lag functionalities - Loadbalance 2. Lag SAI APIs - create/check/remove lag and lag member Signed-off-by: richardyu-ms <[email protected]> * Update lag_test_plan.md Signed-off-by: richardyu-ms <[email protected]> * Update lag_test_plan.md Signed-off-by: richardyu-ms <[email protected]> * remove cases not related to T0 Signed-off-by: richardyu-ms <[email protected]> * Update lag_test_plan.md Signed-off-by: richardyu-ms <[email protected]> * Add VLAN and Lag test plan and put topo config in seperated files Signed-off-by: richardyu <[email protected]> * fix typo and more description more clear Signed-off-by: richardyu-ms <[email protected]> * fix lag test typo (#29) Signed-off-by: zhoudongxu <[email protected]> * refactor vlan test plan and config Signed-off-by: richardyu-ms <[email protected]> * refactor lag test plan (#33) Signed-off-by: zhoudongxu <[email protected]> * refactor pc and vlan test Signed-off-by: zhoudongxu <[email protected]> * Improve pc and vlan test Doc (#35) * fix typo Signed-off-by: zhoudongxu <[email protected]> * remove some unnecessary comments Signed-off-by: zhoudongxu <[email protected]> * reformat and adjust the description of the tests Signed-off-by: richardyu-ms <[email protected]> * set hash algorithm (#36) Signed-off-by: zhoudongxu <[email protected]> * refine lag test (#37) Signed-off-by: zhoudongxu <[email protected]> * correct vlan interface test (#38) Signed-off-by: zhoudongxu <[email protected]> * workaround for the sequence number issue in github and correct typo standardise the ip and mac naming in config add lag test for ingress port indifferenate in lag hash redesign the mac and ip namin convention and reformat Signed-off-by: richardyu-ms <[email protected]> * adjust the case numbers and vlan id Signed-off-by: richardyu-ms <[email protected]> Co-authored-by: zhoudongxu <[email protected]> Co-authored-by: richardyu <[email protected]> Co-authored-by: zhoudongxu <[email protected]> Signed-off-by: Chris Sommers <[email protected]> * [SAI-PTF] SAI PTF test structure for T0 test and VLAN,FDB sample cases (#1499) * [SAI-PTF] Add SAI ptf test structure for T0 test Create SAI PTF test structure for T0 1. Create configuration structure for different components configu 2. Add FDB, PORT, switch, vlan configurations 3. Create Test structure base on PTF 4. Add T0 test case samples for FDB Test Done: Checked the ports functionality with port flooding Checked port forwarding base on FDB configurations Signed-off-by: richardyu-ms <[email protected]> * add vlan config and vlan test sample case Signed-off-by: richardyu-ms <[email protected]> * add dx010 config Signed-off-by: richardyu-ms <[email protected]> Signed-off-by: Chris Sommers <[email protected]> * [meta] Add sai_status_t to ancestry check (#1501) Signed-off-by: Chris Sommers <[email protected]> * reset sleep time during turning up ports (#1502) Signed-off-by: Yang Wang <[email protected]> Signed-off-by: Chris Sommers <[email protected]> * [saineighbor] Bulk API support for Neighbor entries (#1504) * Bulk support for Neighbor entries Signed-off-by: Chris Sommers <[email protected]> * add vlan testcases from Group6 to Group10 (#1506) Signed-off-by: Yang Wang <[email protected]> Signed-off-by: Chris Sommers <[email protected]> * Support counters on IP MC route entries. This is similar to the support added earlier for Route counters. (#1497) Support counters on IP MC route entries. This is similar to the support added earlier for Route counters. API sequence: sai_attribute_t counter_attr; attr.id = SAI_COUNTER_ATTR_TYPE; attr.value.s32 = SAI_COUNTER_TYPE_REGULAR; sai_object_id_t counter_id; sai_status_t rc = sai_counter_api->create_counter(&counter_id, g_switch_id, 1, &attr); sai_attribute_t ipmc_attr; attr.id = SAI_IPMC_ENTRY_ATTR_COUNTER_ID; attr.value.oid = counter_id; rc = sai_ipmc_api->set_ipmc_entry_attribute(route_entry, ipmc_attr); sai_stat_id_t stat_ids[] = { SAI_COUNTER_STAT_PACKETS, SAI_COUNTER_STAT_BYTES }; uint64_t stats[2]; rc = sai_counter_api->sai_get_counter_stats_ext(counter_id, 2, stat_ids, stats); Signed-off-by: rck-innovium <[email protected]> Signed-off-by: Chris Sommers <[email protected]> * Add thr missing API into saithriftv2 missing for syncd (#1484) saithriftv1 offers start_sai_thrift_rpc_server API to start the saithrift server and syncd is currently using that API https://github.com/Azure/sonic-sairedis/blob/master/syncd/syncd_main.cpp#L60 But this API is missing from the for saithriftv2. Made the relevant changes to provide a similar API for saithriftv2 library The start_sai_thrift_rpc_server API currently resides in saiserver.cpp which is not included in librpcserver.a and is not available for the users of the static library. Thus moved the function definition into sai_rpc_frontend.cpp for including it in the static library. Signed-off-by: Vivek Reddy Karri <[email protected]> Signed-off-by: Chris Sommers <[email protected]> * add vlan test case (#1510) Signed-off-by: ms-junyi <[email protected]> add vlan test case edit FilteringTest Signed-off-by: ms-junyi <[email protected]> edit vlan test case Signed-off-by: ms-junyi <[email protected]> Signed-off-by: Chris Sommers <[email protected]> * add more waiting time for test (#1511) * add more waiting time for test Signed-off-by: richardyu-ms <[email protected]> * Update fdb_configer.py increase the waiting time for fdb entries update Signed-off-by: richardyu-ms <[email protected]> * remove useless change Signed-off-by: richardyu-ms <[email protected]> Signed-off-by: Chris Sommers <[email protected]> * add read config_db.json (#1519) Signed-off-by: ms-junyi <[email protected]> format Signed-off-by: ms-junyi <[email protected]> addomment for each function Signed-off-by: ms-junyi <[email protected]> add comment for each function Signed-off-by: ms-junyi <[email protected]> Signed-off-by: Chris Sommers <[email protected]> * [Fix]Add necessary test data file for sai test (#1520) In order to set up the port on different platforms, need to read the data for port configuration when turning on the admin state This PR is a bug fix for adding the config_db into test resources folder. Test Done: Test within SONiC mgmt container Signed-off-by: richardyu-ms <[email protected]> Signed-off-by: Chris Sommers <[email protected]> * Zitingguo/add lag test (#1522) * add lag config Signed-off-by: Ziting Guo <[email protected]> Signed-off-by: zitingguo <[email protected]> * enable lag config in test base Signed-off-by: Ziting Guo <[email protected]> Signed-off-by: zitingguo <[email protected]> * fix lag config Signed-off-by: Ziting Guo <[email protected]> Signed-off-by: zitingguo <[email protected]> * add remove_lag_member in lag_configer Signed-off-by: Ziting Guo <[email protected]> Signed-off-by: zitingguo <[email protected]> * add sai_ipprefix() in utils Signed-off-by: Ziting Guo <[email protected]> Signed-off-by: zitingguo <[email protected]> * fix typo Signed-off-by: zitingguo <[email protected]> * import LagConfiger in sai_test_base Signed-off-by: Ziting Guo <[email protected]> Signed-off-by: zitingguo <[email protected]> * add a simple lag test Signed-off-by: Ziting Guo <[email protected]> Signed-off-by: zitingguo <[email protected]> * fix typo Signed-off-by: zitingguo <[email protected]> * fix a config error in lag Signed-off-by: Ziting Guo <[email protected]> Signed-off-by: zitingguo <[email protected]> * add lag lb test based on scr port Signed-off-by: Ziting Guo <[email protected]> Signed-off-by: zitingguo <[email protected]> * fix Signed-off-by: zitingguo <[email protected]> * set lag v4 hash Signed-off-by: Ziting Guo <[email protected]> Signed-off-by: zitingguo <[email protected]> * add lag disable egress test case Signed-off-by: Ziting Guo <[email protected]> Signed-off-by: zitingguo <[email protected]> * add IndifferenceIngressPortTest Signed-off-by: Ziting Guo <[email protected]> Signed-off-by: zitingguo <[email protected]> * fix set hash function Signed-off-by: Ziting Guo <[email protected]> Signed-off-by: zitingguo <[email protected]> * separate route configuration from lag Signed-off-by: Ziting Guo <[email protected]> Signed-off-by: zitingguo <[email protected]> * disable setting lag hash Signed-off-by: Ziting Guo <[email protected]> Signed-off-by: zitingguo <[email protected]> * add virtual interface Signed-off-by: Ziting Guo <[email protected]> Signed-off-by: zitingguo <[email protected]> * Config default v4&v6 route Signed-off-by: zitingguo <[email protected]> Signed-off-by: Chris Sommers <[email protected]> * add teardown for testing multiple cases at a time (#1521) * add read config_db.json Signed-off-by: ms-junyi <[email protected]> format Signed-off-by: ms-junyi <[email protected]> addomment for each function Signed-off-by: ms-junyi <[email protected]> add comment for each function Signed-off-by: ms-junyi <[email protected]> * tear down Signed-off-by: ms-junyi <[email protected]> Signed-off-by: Chris Sommers <[email protected]> * Added missing dependencies required to run gensairpc.pl (#1492) Fixes #1490 Co-authored-by: Chris Sommers <[email protected]> Signed-off-by: Chris Sommers <[email protected]> * Update saitam.h (#1496) Attribute is introduced to configure IPFIX template reporting interval as per the RFC7011. https://datatracker.ietf.org/doc/html/rfc7011#section-8.4 Signed-off-by: Jai Kumar <[email protected]> Signed-off-by: Chris Sommers <[email protected]> * Pass SAIRPC_EXTRA_LIBS flag in Makefile Signed-off-by: Chris Sommers <[email protected]> * Removed changes to include paths for SAI extension headers; as it turns out these changes were not required as originally reported in #1531. Signed-off-by: Chris Sommers <[email protected]> Co-authored-by: Kamil Cudnik <[email protected]> Co-authored-by: Chris Sommers <[email protected]> Co-authored-by: Richard.Yu <[email protected]> Co-authored-by: zhoudongxu <[email protected]> Co-authored-by: richardyu <[email protected]> Co-authored-by: zhoudongxu <[email protected]> Co-authored-by: Yang Wang <[email protected]> Co-authored-by: Prince Sunny <[email protected]> Co-authored-by: Ravindranath C K <[email protected]> Co-authored-by: Vivek R <[email protected]> Co-authored-by: ms-junyi <[email protected]> Co-authored-by: zitingguo-ms <[email protected]> Co-authored-by: Jai Kumar <[email protected]> * [SAI-PTF]Align the sai rpc front name with swss and syncd (#1552) In Syncd starting process, it will try to start the switch and assign the gSwtichId to the sai implementation. In the syncd rpc container, in order to get the swtich id after syncd initalization, we need to get and check the switch id. Signed-off-by: richardyu-ms <[email protected]> * Check for NULL APIs returned by sai_api_query() before calling. (#1558) Signed-off-by: Chris Sommers <[email protected]> Co-authored-by: Chris Sommers <[email protected]> Signed-off-by: richardyu-ms <[email protected]> Co-authored-by: Chris Sommers <[email protected]> Co-authored-by: Chris Sommers <[email protected]> Co-authored-by: Kamil Cudnik <[email protected]> Co-authored-by: zhoudongxu <[email protected]> Co-authored-by: richardyu <[email protected]> Co-authored-by: zhoudongxu <[email protected]> Co-authored-by: Yang Wang <[email protected]> Co-authored-by: Prince Sunny <[email protected]> Co-authored-by: Ravindranath C K <[email protected]> Co-authored-by: Vivek R <[email protected]> Co-authored-by: ms-junyi <[email protected]> Co-authored-by: zitingguo-ms <[email protected]> Co-authored-by: Jai Kumar <[email protected]> Signed-off-by: richardyu-ms <[email protected]> Co-authored-by: Chris Sommers <[email protected]> Co-authored-by: Chris Sommers <[email protected]> Co-authored-by: Kamil Cudnik <[email protected]> Co-authored-by: zhoudongxu <[email protected]> Co-authored-by: richardyu <[email protected]> Co-authored-by: zhoudongxu <[email protected]> Co-authored-by: Yang Wang <[email protected]> Co-authored-by: Prince Sunny <[email protected]> Co-authored-by: Ravindranath C K <[email protected]> Co-authored-by: Vivek R <[email protected]> Co-authored-by: ms-junyi <[email protected]> Co-authored-by: zitingguo-ms <[email protected]> Co-authored-by: Jai Kumar <[email protected]>
This function just universalizes service method table initialization in host adapter
and moves platform specific initialization outside host adapter(to bsp/platform adapter).
Signed-off-by: Rostyslav Ivasiv [email protected]