Skip to content

Commit

Permalink
Moved SAI Header to git tag v1.8.1 (sonic-net#816)
Browse files Browse the repository at this point in the history
What I did:

Moved the SAI header to v1.8.1.
   7cd3a7ed84db3fc9cec13496a5339b6fe1888bb7 (HEAD, tag: v1.8.1, origin/v1.8) Update SAI version to V1.8.1 (sonic-net#1218)
   5913e4cdd0c9c7ae859baa2e18086327b39a94da Fix error when compiling Broadcom SAI with v1.8.0 (sonic-net#1216)
   5a98bc3c7e86c01f3cf702054f9af7c7c5ca6daf (HEAD, tag: v1.8.0, origin/master, origin/HEAD, master) Update version to 1.8.0 (sonic-net#1207)
   b3244ceceb45184ffe37da55bb9a98ef126050ce saineighbor.h: Updated SAI_NEIGHBOR_ENTRY_ATTR_ENCAP_INDEX and deprecated SAI_NEIGHBOR_ENTRY_ATTR_ENCAP_IMPOSE_INDEX (sonic-net#1202)
   8731ca6e09c7ba99b0b009e5821d80598e216756 Add source/dest/double NAPT entry available attributes (sonic-net#1194)
   f053d899feb9517f2db43ee462589a30572b5ed1 Add switch attributes for hash offset configuration. (sonic-net#1195)
   13e5cd6940f9a0da1878d00f08e5941e09f16e7f PRBS RX State Data Type (sonic-net#1179)
   9755845a06525a3c17f03e7b936a70783e8ef068 Packet header based VRF classification (sonic-net#1185)
   2369ecb59fff1a5cae948d41eea06bf8b71330b2 SAI versioning (sonic-net#1183)
   744279839c176e68b19734657975e3f5ec6f1a32 Replaced SAI_SWITCH_ATTR_MACSEC_OBJECT_ID with SAI_SWITCH_ATTR_MACSEC_OBJECT_LIST (sonic-net#1199)
   584c724864fe565357e82d097ddcc7363bddefac [CI] Set up CI&PR with Azure Pipelines (sonic-net#1200)
   08192237963174cc60edae9b4812a39c43b291fd Add attribute to query available packet DMA pool size (sonic-net#1198)
   f092ef1e3ce695fc3f9552721025695312b961a2 Add IPv6 flow label hash attribute. (sonic-net#1192)
   cbc9562bb7a8f2c3a79702b99be55f3b3afa6957 Override VRF (sonic-net#1186)
   1eb35afdb2146baf40e6c2b8f2f8bfe99075eaee Add SAI_SWITCH_ATTR_SWITCH_HARDWARE_INFO format for GB MDIO sysfs access   (sonic-net#1171)
   b2d4c9a57c7f00b2632c35ca5eb3dd6480f7916a Switch scoped tunnel attributes (sonic-net#1173)
   96adc95bf8316e1905143d9ecd21f32a43e80d7f Enhancements for MPLS support (sonic-net#1181)
   3dcf1f2028da4060b345ad78e8a0c87d225bf5d0 Support for ACL extensions in metadata (sonic-net#1178)
   24076be95b871e8f82ecaeb908cad951dc68896c [meta] Add support for allow empty list tag (sonic-net#1190)
   a2b3344cdde0bf5a4f8e98e1c676a658c0c615b0 spell check fixes (sonic-net#1189)
   bf4271bab6e8884bd96050bcba44e3134adaaec3 Do not call sai_metadata_sai get APIs before checking if they are allocated (sonic-net#1182)
   5d5784dc3dbfc713c92ae7d2c472680b837bb002 [macsec]: Separate XPN configuration attribute from read-only attribute (sonic-net#1169)
   6d5a9bf5ad17cb82621cabbe2449524320930606 [macsec]: add SAI_MACSEC_ATTR_SUPPORTED_CIPHER_SUITE_LIST (sonic-net#1172)
   e72c8f3a0cc543cb228554be82c97a63db917740 [meta] Print each tool version in Makefile (sonic-net#1177)
   8f19677da88c7494d563ef7c5acb0529ecbd0b6e [meta] Add check for START, END and RANBE_BASE enums (sonic-net#1175)
   24ad7906f145930b2e25682b6248909289d39e72 [meta] Create sai_switch_pointers_t struct (sonic-net#1174)
   4f5f84df3fcd0e146707df41d3e2837c48f7c760 Tunnel loopback packet action as resource (sonic-net#1163)
   8a0e82c57aa0e22e696158735516904e7dc14052 [meta] Add create only oid attribute check on switch object (sonic-net#1170)
   14cf50772e478551920963ecf11f4fd019a0c106 Remove obsolete stub folder (sonic-net#1168)
   f14f406340e4f5f1b1d674f6fdd5fd861a54c877 [meta] Use safer calloc for integer overflow check (sonic-net#1166)

Also this PR include changes of this sonic-net#815

SAI commit b2d4c9a57c7f00b2632c35ca5eb3dd6480f7916a Switch scoped tunnel attributes (sonic-net#1173) needed change in sai_redis_switch.cpp and sai_vs_switch.cpp for compilation.

How I verify:

Verify Build is fine of libsairedis*.deb, syncd*.deb, swss*.deb

Co-authored-by: Ann Pokora <apokora@juniper.net>
  • Loading branch information
abdosi and qbdwlr authored Apr 9, 2021
1 parent 70fff78 commit 0d3749d
Show file tree
Hide file tree
Showing 36 changed files with 798 additions and 6 deletions.
2 changes: 1 addition & 1 deletion SAI
Submodule SAI updated 62 files
+40 −0 azure-pipelines.yml
+114 −0 doc/Override-VRF.md
+158 −0 doc/Pre-Ingress-ACL.md
+98 −0 doc/SAI-Proposal-versioning.md
+1 −1 experimental/saiextensions.h
+2 −2 flexsai/p4/backend/json_stage/analyzer.h
+1 −1 flexsai/p4/backend/json_stage/expression.h
+1 −1 flexsai/p4/backend/json_stage/lower.cpp
+1 −1 flexsai/p4/backend/json_stage/lower.h
+1 −1 flexsai/p4/backend/json_stage/saiSwitch.cpp
+3 −3 flexsai/p4/backend/output_stage/SAI_templates/sai_template.h
+14 −1 inc/saiacl.h
+3 −0 inc/saihash.h
+39 −8 inc/saimacsec.h
+97 −0 inc/saimpls.h
+4 −2 inc/saineighbor.h
+10 −19 inc/saiport.h
+9 −0 inc/sairouterinterface.h
+344 −20 inc/saiswitch.h
+21 −59 inc/saitunnel.h
+33 −0 inc/saitypes.h
+1 −0 meta/Doxyfile
+10 −1 meta/Makefile
+3 −0 meta/acronyms.txt
+71 −69 meta/aspell.en.pws
+255 −7 meta/parse.pl
+15 −0 meta/saimetadatatypes.h
+2 −2 meta/saimetadatautils.c
+103 −19 meta/saisanitycheck.c
+9 −9 meta/saiserializetest.c
+36 −0 saiversion.h
+0 −6 stub/Makefile.am
+0 −39 stub/README.md
+0 −8 stub/autoclean.sh
+0 −75 stub/autogen.sh
+0 −0 stub/config/.gitignore
+0 −91 stub/configure.ac
+0 −279 stub/inc/stub_sai.h
+0 −9 stub/sai_interface.ver
+0 −39 stub/src/Makefile.am
+0 −380 stub/src/stub_sai_fdb.c
+0 −369 stub/src/stub_sai_host_interface.c
+0 −296 stub/src/stub_sai_interfacequery.c
+0 −298 stub/src/stub_sai_neighbor.c
+0 −295 stub/src/stub_sai_nexthop.c
+0 −682 stub/src/stub_sai_nexthopgroup.c
+0 −1,384 stub/src/stub_sai_port.c
+0 −423 stub/src/stub_sai_rif.c
+0 −315 stub/src/stub_sai_route.c
+0 −370 stub/src/stub_sai_router.c
+0 −1,233 stub/src/stub_sai_switch.c
+0 −869 stub/src/stub_sai_utils.c
+0 −527 stub/src/stub_sai_vlan.c
+3 −3 test/basic_router/basic_router.cpp
+2 −2 test/basic_router/ip.cpp
+1 −1 test/basic_router/nexthopgrp_mgr.cpp
+4 −4 test/basic_router/route_mgr.cpp
+1 −1 test/sai_ut/routing/sai_l3_neighbor_unit_test.cpp
+1 −1 test/sai_ut/routing/sai_l3_nexthop_unit_test.cpp
+1 −1 test/sai_ut/routing/sai_l3_nexthopgroup_unit_test.cpp
+1 −1 test/sai_ut/routing/sai_l3_rif_unit_test.cpp
+1 −1 test/saithrift/src/switch_sai_rpc_server.cpp
3 changes: 3 additions & 0 deletions lib/inc/RedisRemoteSaiInterface.h
Original file line number Diff line number Diff line change
Expand Up @@ -185,18 +185,21 @@ namespace sairedis
public: // bulk create ENTRY

SAIREDIS_REDISREMOTESAIINTERFACE_DECLARE_BULK_CREATE_ENTRY(fdb_entry);
SAIREDIS_REDISREMOTESAIINTERFACE_DECLARE_BULK_CREATE_ENTRY(inseg_entry);
SAIREDIS_REDISREMOTESAIINTERFACE_DECLARE_BULK_CREATE_ENTRY(nat_entry);
SAIREDIS_REDISREMOTESAIINTERFACE_DECLARE_BULK_CREATE_ENTRY(route_entry);

public: // bulk remove ENTRY

SAIREDIS_REDISREMOTESAIINTERFACE_DECLARE_BULK_REMOVE_ENTRY(fdb_entry);
SAIREDIS_REDISREMOTESAIINTERFACE_DECLARE_BULK_REMOVE_ENTRY(inseg_entry);
SAIREDIS_REDISREMOTESAIINTERFACE_DECLARE_BULK_REMOVE_ENTRY(nat_entry);
SAIREDIS_REDISREMOTESAIINTERFACE_DECLARE_BULK_REMOVE_ENTRY(route_entry);

public: // bulk set ENTRY

SAIREDIS_REDISREMOTESAIINTERFACE_DECLARE_BULK_SET_ENTRY(fdb_entry);
SAIREDIS_REDISREMOTESAIINTERFACE_DECLARE_BULK_SET_ENTRY(inseg_entry);
SAIREDIS_REDISREMOTESAIINTERFACE_DECLARE_BULK_SET_ENTRY(nat_entry);
SAIREDIS_REDISREMOTESAIINTERFACE_DECLARE_BULK_SET_ENTRY(route_entry);

Expand Down
3 changes: 3 additions & 0 deletions lib/inc/Sai.h
Original file line number Diff line number Diff line change
Expand Up @@ -177,18 +177,21 @@ namespace sairedis
public: // bulk create ENTRY

SAIREDIS_SAI_DECLARE_BULK_CREATE_ENTRY(fdb_entry);
SAIREDIS_SAI_DECLARE_BULK_CREATE_ENTRY(inseg_entry);
SAIREDIS_SAI_DECLARE_BULK_CREATE_ENTRY(nat_entry);
SAIREDIS_SAI_DECLARE_BULK_CREATE_ENTRY(route_entry);

public: // bulk remove ENTRY

SAIREDIS_SAI_DECLARE_BULK_REMOVE_ENTRY(fdb_entry);
SAIREDIS_SAI_DECLARE_BULK_REMOVE_ENTRY(inseg_entry);
SAIREDIS_SAI_DECLARE_BULK_REMOVE_ENTRY(nat_entry);
SAIREDIS_SAI_DECLARE_BULK_REMOVE_ENTRY(route_entry);

public: // bulk set ENTRY

SAIREDIS_SAI_DECLARE_BULK_SET_ENTRY(fdb_entry);
SAIREDIS_SAI_DECLARE_BULK_SET_ENTRY(inseg_entry);
SAIREDIS_SAI_DECLARE_BULK_SET_ENTRY(nat_entry);
SAIREDIS_SAI_DECLARE_BULK_SET_ENTRY(route_entry);

Expand Down
3 changes: 3 additions & 0 deletions lib/inc/SaiInterface.h
Original file line number Diff line number Diff line change
Expand Up @@ -168,18 +168,21 @@ namespace sairedis
public: // bulk create ENTRY

SAIREDIS_SAIINTERFACE_DECLARE_BULK_CREATE_ENTRY(fdb_entry);
SAIREDIS_SAIINTERFACE_DECLARE_BULK_CREATE_ENTRY(inseg_entry);
SAIREDIS_SAIINTERFACE_DECLARE_BULK_CREATE_ENTRY(nat_entry);
SAIREDIS_SAIINTERFACE_DECLARE_BULK_CREATE_ENTRY(route_entry);

public: // bulk remove ENTRY

SAIREDIS_SAIINTERFACE_DECLARE_BULK_REMOVE_ENTRY(fdb_entry);
SAIREDIS_SAIINTERFACE_DECLARE_BULK_REMOVE_ENTRY(inseg_entry);
SAIREDIS_SAIINTERFACE_DECLARE_BULK_REMOVE_ENTRY(nat_entry);
SAIREDIS_SAIINTERFACE_DECLARE_BULK_REMOVE_ENTRY(route_entry);

public: // bulk set ENTRY

SAIREDIS_SAIINTERFACE_DECLARE_BULK_SET_ENTRY(fdb_entry);
SAIREDIS_SAIINTERFACE_DECLARE_BULK_SET_ENTRY(inseg_entry);
SAIREDIS_SAIINTERFACE_DECLARE_BULK_SET_ENTRY(nat_entry);
SAIREDIS_SAIINTERFACE_DECLARE_BULK_SET_ENTRY(route_entry);

Expand Down
76 changes: 76 additions & 0 deletions lib/src/RedisRemoteSaiInterface.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1410,6 +1410,24 @@ sai_status_t RedisRemoteSaiInterface::bulkRemove(
return bulkRemove(SAI_OBJECT_TYPE_NAT_ENTRY, serializedObjectIds, mode, object_statuses);
}

sai_status_t RedisRemoteSaiInterface::bulkRemove(
_In_ uint32_t object_count,
_In_ const sai_inseg_entry_t *inseg_entry,
_In_ sai_bulk_op_error_mode_t mode,
_Out_ sai_status_t *object_statuses)
{
SWSS_LOG_ENTER();

std::vector<std::string> serializedObjectIds;

for (uint32_t idx = 0; idx < object_count; idx++)
{
serializedObjectIds.emplace_back(sai_serialize_inseg_entry(inseg_entry[idx]));
}

return bulkRemove(SAI_OBJECT_TYPE_INSEG_ENTRY, serializedObjectIds, mode, object_statuses);
}

sai_status_t RedisRemoteSaiInterface::bulkRemove(
_In_ uint32_t object_count,
_In_ const sai_fdb_entry_t *fdb_entry,
Expand Down Expand Up @@ -1486,6 +1504,25 @@ sai_status_t RedisRemoteSaiInterface::bulkSet(
return bulkSet(SAI_OBJECT_TYPE_NAT_ENTRY, serializedObjectIds, attr_list, mode, object_statuses);
}

sai_status_t RedisRemoteSaiInterface::bulkSet(
_In_ uint32_t object_count,
_In_ const sai_inseg_entry_t *inseg_entry,
_In_ const sai_attribute_t *attr_list,
_In_ sai_bulk_op_error_mode_t mode,
_Out_ sai_status_t *object_statuses)
{
SWSS_LOG_ENTER();

std::vector<std::string> serializedObjectIds;

for (uint32_t idx = 0; idx < object_count; idx++)
{
serializedObjectIds.emplace_back(sai_serialize_inseg_entry(inseg_entry[idx]));
}

return bulkSet(SAI_OBJECT_TYPE_INSEG_ENTRY, serializedObjectIds, attr_list, mode, object_statuses);
}

sai_status_t RedisRemoteSaiInterface::bulkSet(
_In_ uint32_t object_count,
_In_ const sai_fdb_entry_t *fdb_entry,
Expand Down Expand Up @@ -1714,6 +1751,45 @@ sai_status_t RedisRemoteSaiInterface::bulkCreate(
object_statuses);
}

sai_status_t RedisRemoteSaiInterface::bulkCreate(
_In_ uint32_t object_count,
_In_ const sai_inseg_entry_t* inseg_entry,
_In_ const uint32_t *attr_count,
_In_ const sai_attribute_t **attr_list,
_In_ sai_bulk_op_error_mode_t mode,
_Out_ sai_status_t *object_statuses)
{
SWSS_LOG_ENTER();

// TODO support mode

static PerformanceIntervalTimer timer("RedisRemoteSaiInterface::bulkCreate(inseg_entry)");

timer.start();

std::vector<std::string> serialized_object_ids;

// on create vid is put in db by syncd
for (uint32_t idx = 0; idx < object_count; idx++)
{
std::string str_object_id = sai_serialize_inseg_entry(inseg_entry[idx]);
serialized_object_ids.push_back(str_object_id);
}

auto status = bulkCreate(
SAI_OBJECT_TYPE_INSEG_ENTRY,
serialized_object_ids,
attr_count,
attr_list,
mode,
object_statuses);

timer.stop();

timer.inc(object_count);

return status;
}

sai_status_t RedisRemoteSaiInterface::bulkCreate(
_In_ uint32_t object_count,
Expand Down
3 changes: 3 additions & 0 deletions lib/src/Sai.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -505,6 +505,7 @@ sai_status_t Sai::bulkCreate( \

DECLARE_BULK_CREATE_ENTRY(ROUTE_ENTRY,route_entry)
DECLARE_BULK_CREATE_ENTRY(FDB_ENTRY,fdb_entry);
DECLARE_BULK_CREATE_ENTRY(INSEG_ENTRY,inseg_entry);
DECLARE_BULK_CREATE_ENTRY(NAT_ENTRY,nat_entry)


Expand All @@ -530,6 +531,7 @@ sai_status_t Sai::bulkRemove( \

DECLARE_BULK_REMOVE_ENTRY(ROUTE_ENTRY,route_entry)
DECLARE_BULK_REMOVE_ENTRY(FDB_ENTRY,fdb_entry);
DECLARE_BULK_REMOVE_ENTRY(INSEG_ENTRY,inseg_entry);
DECLARE_BULK_REMOVE_ENTRY(NAT_ENTRY,nat_entry)

// BULK SET
Expand All @@ -556,6 +558,7 @@ sai_status_t Sai::bulkSet( \

DECLARE_BULK_SET_ENTRY(ROUTE_ENTRY,route_entry);
DECLARE_BULK_SET_ENTRY(FDB_ENTRY,fdb_entry);
DECLARE_BULK_SET_ENTRY(INSEG_ENTRY,inseg_entry);
DECLARE_BULK_SET_ENTRY(NAT_ENTRY,nat_entry);

// NON QUAD API
Expand Down
12 changes: 12 additions & 0 deletions lib/src/SaiInterface.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,9 @@ sai_status_t SaiInterface::create(
case SAI_OBJECT_TYPE_NAT_ENTRY:
return create(&metaKey.objectkey.key.nat_entry, attr_count, attr_list);

case SAI_OBJECT_TYPE_INSEG_ENTRY:
return create(&metaKey.objectkey.key.inseg_entry, attr_count, attr_list);

default:

SWSS_LOG_ERROR("object type %s not implemented, FIXME", info->objecttypename);
Expand Down Expand Up @@ -81,6 +84,9 @@ sai_status_t SaiInterface::remove(
case SAI_OBJECT_TYPE_NAT_ENTRY:
return remove(&metaKey.objectkey.key.nat_entry);

case SAI_OBJECT_TYPE_INSEG_ENTRY:
return remove(&metaKey.objectkey.key.inseg_entry);

default:

SWSS_LOG_ERROR("object type %s not implemented, FIXME", info->objecttypename);
Expand Down Expand Up @@ -123,6 +129,9 @@ sai_status_t SaiInterface::set(
case SAI_OBJECT_TYPE_NAT_ENTRY:
return set(&metaKey.objectkey.key.nat_entry, attr);

case SAI_OBJECT_TYPE_INSEG_ENTRY:
return set(&metaKey.objectkey.key.inseg_entry, attr);

default:

SWSS_LOG_ERROR("object type %s not implemented, FIXME", info->objecttypename);
Expand Down Expand Up @@ -166,6 +175,9 @@ sai_status_t SaiInterface::get(
case SAI_OBJECT_TYPE_NAT_ENTRY:
return get(&metaKey.objectkey.key.nat_entry, attr_count, attr_list);

case SAI_OBJECT_TYPE_INSEG_ENTRY:
return get(&metaKey.objectkey.key.inseg_entry, attr_count, attr_list);

default:

SWSS_LOG_ERROR("object type %s not implemented, FIXME", info->objecttypename);
Expand Down
2 changes: 2 additions & 0 deletions lib/src/sai_redis_mpls.cpp
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
#include "sai_redis.h"

REDIS_GENERIC_QUAD_ENTRY(INSEG_ENTRY,inseg_entry);
REDIS_BULK_QUAD_ENTRY(INSEG_ENTRY,inseg_entry);

const sai_mpls_api_t redis_mpls_api = {

REDIS_GENERIC_QUAD_API(inseg_entry)
REDIS_BULK_QUAD_API(inseg_entry)
};
3 changes: 3 additions & 0 deletions lib/src/sai_redis_switch.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ static sai_status_t redis_switch_mdio_write(

REDIS_GENERIC_QUAD(SWITCH,switch);
REDIS_GENERIC_STATS(SWITCH,switch);
REDIS_GENERIC_QUAD(SWITCH_TUNNEL,switch_tunnel);

static sai_status_t redis_create_switch_uniq(
_Out_ sai_object_id_t *switch_id,
Expand All @@ -52,4 +53,6 @@ const sai_switch_api_t redis_switch_api = {

redis_switch_mdio_read,
redis_switch_mdio_write,

REDIS_GENERIC_QUAD_API(switch_tunnel)
};
45 changes: 45 additions & 0 deletions meta/DummySaiInterface.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -258,6 +258,20 @@ sai_status_t DummySaiInterface::bulkRemove(
return m_status;
}

sai_status_t DummySaiInterface::bulkRemove(
_In_ uint32_t object_count,
_In_ const sai_inseg_entry_t *inseg_entry,
_In_ sai_bulk_op_error_mode_t mode,
_Out_ sai_status_t *object_statuses)
{
SWSS_LOG_ENTER();

for (uint32_t idx = 0; idx < object_count; idx++)
object_statuses[idx] = m_status;

return m_status;
}

sai_status_t DummySaiInterface::bulkRemove(
_In_ uint32_t object_count,
_In_ const sai_fdb_entry_t *fdb_entry,
Expand Down Expand Up @@ -319,6 +333,21 @@ sai_status_t DummySaiInterface::bulkSet(
return m_status;
}

sai_status_t DummySaiInterface::bulkSet(
_In_ uint32_t object_count,
_In_ const sai_inseg_entry_t *inseg_entry,
_In_ const sai_attribute_t *attr_list,
_In_ sai_bulk_op_error_mode_t mode,
_Out_ sai_status_t *object_statuses)
{
SWSS_LOG_ENTER();

for (uint32_t idx = 0; idx < object_count; idx++)
object_statuses[idx] = m_status;

return m_status;
}

sai_status_t DummySaiInterface::bulkSet(
_In_ uint32_t object_count,
_In_ const sai_fdb_entry_t *fdb_entry,
Expand Down Expand Up @@ -384,6 +413,22 @@ sai_status_t DummySaiInterface::bulkCreate(
return m_status;
}

sai_status_t DummySaiInterface::bulkCreate(
_In_ uint32_t object_count,
_In_ const sai_inseg_entry_t *inseg_entry,
_In_ const uint32_t *attr_count,
_In_ const sai_attribute_t **attr_list,
_In_ sai_bulk_op_error_mode_t mode,
_Out_ sai_status_t *object_statuses)
{
SWSS_LOG_ENTER();

for (uint32_t idx = 0; idx < object_count; idx++)
object_statuses[idx] = m_status;

return m_status;
}

sai_status_t DummySaiInterface::bulkCreate(
_In_ uint32_t object_count,
_In_ const sai_nat_entry_t *nat_entry,
Expand Down
3 changes: 3 additions & 0 deletions meta/DummySaiInterface.h
Original file line number Diff line number Diff line change
Expand Up @@ -176,18 +176,21 @@ namespace saimeta
public: // bulk create ENTRY

SAIMETA_DUMMYSAIINTERFACE_DECLARE_BULK_CREATE_ENTRY(fdb_entry);
SAIMETA_DUMMYSAIINTERFACE_DECLARE_BULK_CREATE_ENTRY(inseg_entry);
SAIMETA_DUMMYSAIINTERFACE_DECLARE_BULK_CREATE_ENTRY(nat_entry);
SAIMETA_DUMMYSAIINTERFACE_DECLARE_BULK_CREATE_ENTRY(route_entry);

public: // bulk remove ENTRY

SAIMETA_DUMMYSAIINTERFACE_DECLARE_BULK_REMOVE_ENTRY(fdb_entry);
SAIMETA_DUMMYSAIINTERFACE_DECLARE_BULK_REMOVE_ENTRY(inseg_entry);
SAIMETA_DUMMYSAIINTERFACE_DECLARE_BULK_REMOVE_ENTRY(nat_entry);
SAIMETA_DUMMYSAIINTERFACE_DECLARE_BULK_REMOVE_ENTRY(route_entry);

public: // bulk set ENTRY

SAIMETA_DUMMYSAIINTERFACE_DECLARE_BULK_SET_ENTRY(fdb_entry);
SAIMETA_DUMMYSAIINTERFACE_DECLARE_BULK_SET_ENTRY(inseg_entry);
SAIMETA_DUMMYSAIINTERFACE_DECLARE_BULK_SET_ENTRY(nat_entry);
SAIMETA_DUMMYSAIINTERFACE_DECLARE_BULK_SET_ENTRY(route_entry);

Expand Down
Loading

0 comments on commit 0d3749d

Please sign in to comment.