syncd/ComparisonLogic.cpp (30 lines): - line 47: // TODO move outside switch ? since later could be in different ASIC_DB - line 55: * TODO: This needs to be refactored and solved in other way since asic - line 58: * TODO: This also can be optimized using metadata. - line 62: // TODO needs to be removed and done in generic - line 101: * TODO: If some object's will be removed like VLAN members then this - line 127: // TODO have a method to check for not processed objects - line 166: * TODO: For debug we will need to display differences - line 501: * TODO Revisit. - line 788: // TODO check is is oid object and throw as not translated - line 945: * TODO Find out better way to do this, copy operator ? - line 1121: * TODO: Set new VID if it doesn't exist in current view with NULL RID - line 1579: // TODO don't transfer oid attributes, we don't know how to handle this yet - line 1604: // TODO matched by ID (MATCHED state) should always be updatable - line 1608: // TODO SAI_SCHEDULER_GROUP_ATTR_SCHEDULER_PROFILE_ID is mandatory on create but also SET - line 1613: SWSS_LOG_ERROR("current attribute is mandatory on create, crate and set, and object MATCHED, FIXME %s %s:%s", - line 1679: * TODO Currently we will support limited default value types. - line 1688: // TODO default value for existing objects needs dependency tree - line 2003: * TODO: This is temporary VID, it's not available in current view so - line 2069: // TODO it could be not processed, or matched, since on matched we - line 2248: * TODO: We need to check create only attributes (hardware info), if - line 2265: // TODO this needs to be done in generic way for all - line 2323: * TODO: still sairedis metadata database have no idea about existing - line 2445: // TODO this case may require adjustment, if user will do a - line 2466: // TODO: there could be potential issue here, when user will remove - line 3100: * TODO what about remove? can they be removed first ? - line 3113: // TODO make generic list of root objects (or meta SAI for this) - line 3195: * TODO Revisit, since v1.0 - line 3212: * TODO we need dependency tree during sai discovery! but if we put those - line 3568: // TODO get object attributes - line 3709: // TODO convert those in common to use sai_common_api meta/Meta.cpp (26 lines): - line 13: // TODO add validation for all oids belong to the same switch - line 151: // TODO if metadata supports multiple switches - line 191: * TODO: later on we will have separate bases for each switch. This way - line 746: SWSS_LOG_ERROR("FIXME not implemented"); \ - line 1181: // TODO check multiple switches - line 1242: // TODO check multiple switches - line 1337: // FIXME: This macro returns on failure. - line 1370: // TODO check multiple switches - line 3202: // TODO FIX ME - line 3221: // TODO FIX ME - line 3420: // TODO check whether name is not used by other host interface - line 3860: * TODO Remove in future. Workaround for range type which in - line 4533: * TODO If object was created internally by switch (like bridge - line 4540: * TODO This concern all attributes not only conditionals - line 4810: * TODO We should snoop attributes retrieved from switch and put them to - line 5407: * TODO: There will be issue here, since we need to know which of those - line 5465: * TODO This is not good enough when object was created by switch - line 5473: * TODO Similar stuff is with SET, when we will set oid object on existing - line 5554: // TODO on post get on attribute, if snoop should we increase reference if not read_only ? - line 5572: // TODO move to metadata utils - line 5943: * TODO We need to get previous value and make deal with references, check - line 6248: // TODO on flush we need to respect switch id, and remove fdb entries only - line 6751: // TODO hardcoded types, must advance SAI repository commit to get metadata for this - line 6820: // TODO hardcoded types, must advance SAI repository commit to get metadata for this - line 6881: // TODO hardcoded types, must advance SAI repository commit to get metadata for this - line 6940: // TODO hardcoded types, must advance SAI repository commit to get metadata for this syncd/Syncd.cpp (24 lines): - line 170: // TODO to be moved to ASIC_DB - line 186: // TODO move to syncd object - line 189: m_processor->m_translator = m_translator; // TODO as param - line 2805: void Syncd::processFlexCounterGroupEvent( // TODO must be moved to go via ASIC channel queue - line 2862: void Syncd::processFlexCounterEvent( // TODO must be moved to go via ASIC channel queue - line 3251: * TODO: must be done per switch, and switch may not exists yet - line 3535: * TODO: there can be some issues with reference count - line 3543: * TODO lets add SAI metadata flag for that this will - line 4107: // TODO: how to check ASIC on ASIC DB key with NULL:NULL hash - line 4332: * TODO possible race condition - get notification when new view is - line 4465: * TODO: To make it stable, we also need to make stable redisGetAsicView - line 4642: // TODO: We can make LUA script for this which will be much faster. - line 4644: // TODO: Needs to be revisited if ASIC views will be across multiple redis - line 4682: // TODO check if those 2 maps are consistent - line 4699: // TODO for future we can have each switch in separate redis db index or even - line 4905: * TODO: remove the line when SAI vendor agrees fix on their end. - line 4938: * TODO: do we also need to pass any other attributes, like create only etc? - line 5015: // TODO support multiple notification handlers - line 5140: // TODO use m_handler->onSwitchShutdownRequest(switchVid); (but this should be per switch) - line 5238: // TODO mutex ? - line 5437: * TODO: if we add more switches then we need lane maps per switch. - line 5438: * TODO: we also need other way to check if this is first start - line 5443: * TODO we need to fix this, since when there will be queue, it will still think - line 5466: WarmRestartTable warmRestartTable("STATE_DB"); // TODO from config saiplayer/SaiPlayer.cpp (14 lines): - line 1229: // TODO currently we support only flush fdb entries with no attributes - line 1261: // TODO currently we support only flush fdb entries with no attributes - line 1334: * TODO: since SDK don't support bulk route api yet, we just use our - line 1337: * TODO: we need to get operation type from recording, currently is not - line 1358: SAI_BULK_OP_ERROR_MODE_IGNORE_ERROR, // TODO we need to get that from recording - line 1405: SAI_BULK_OP_ERROR_MODE_IGNORE_ERROR, // TODO we need to get that from recording - line 1498: SAI_BULK_OP_ERROR_MODE_IGNORE_ERROR, // TODO we need to get that from recording - line 1536: SAI_BULK_OP_ERROR_MODE_IGNORE_ERROR, // TODO we need to get that from recording - line 1579: SAI_BULK_OP_ERROR_MODE_IGNORE_ERROR, // TODO we need to get that from recording - line 1619: sai_bulk_op_error_mode_t mode = SAI_BULK_OP_ERROR_MODE_IGNORE_ERROR; // TODO we need to get that from recording - line 2254: sai_bulk_op_error_mode_t mode = SAI_BULK_OP_ERROR_MODE_IGNORE_ERROR; // TODO we need to get that from recording - line 2435: // TODO currently we expect bulk API except BULK_GET will always succeed in sync mode - line 2718: // TODO: implement SAI player support for query commands - line 2721: // TODO: implement SAI player support for counter polling commands lib/ClientSai.cpp (14 lines): - line 29: // TODO how to tell if current SAI is in init view or apply view ? - line 76: // TODO support context config - line 135: // TODO for connect, we may not need to actually call server, if we - line 141: // TODO support context - line 450: SWSS_LOG_ERROR("FIXME not implemented"); \ - line 945: // TODO on sai status overflow we should populate correct count on the list - line 947: SWSS_LOG_ERROR("TODO need to handle SAI_STATUS_BUFFER_OVERFLOW, FIXME"); - line 1081: // TODO: Fix me - line 1152: // TODO could be the same as getStats but put mode at first argument - line 1256: // TODO support mode - line 1304: // TODO support mode - line 1378: // TODO support mode, this will need to go as extra parameter and needs to - line 1447: // TODO support mode - line 1557: // TODO to pass switch_id for every notification we could add it to values lib/RedisRemoteSaiInterface.cpp (13 lines): - line 107: // TODO what will happen when we receive notification in init view mode ? - line 240: * TODO: should be moved inside to redis_generic_create - line 797: SWSS_LOG_ERROR("FIXME not implemented"); \ - line 1054: // TODO m_recorder->recordFlushFdbEntries(key, entry) - line 1453: // TODO: Fix me - line 1522: // TODO could be the same as getStats but put mode at first argument - line 1612: // TODO support mode, this will need to go as extra parameter and needs to - line 1810: // TODO support mode - line 1927: // TODO support mode - line 1971: // TODO support mode - line 2079: // TODO to pass switch_id for every notification we could add it to values - line 2093: // TODO record should also be under api mutex, all other apis are - line 2143: // TODO FIXME implement proper query for syncd, currently this is not an issue since swss is not using this API vslib/SwitchStateBase.cpp (12 lines): - line 52: // TODO populate m_hostif_info_map - need to be able to remove port after warm boot - line 1266: attr.value.u32 = 40 * 1000; // TODO from config - line 1796: * TODO Currently we don't have index in groups, so we don't know how to - line 1811: * TODO Currently we don't have index in groups, so we don't know how to - line 1826: * TODO Currently we don't have index in groups, so we don't know how to - line 1882: // TODO refresh - line 1890: // TODO update - line 2131: // TODO we need order as bridge ports, but we need bridge id! - line 2683: // TODO make generic - line 2685: // TODO currently when switch is initialized, there is no metadata yet - line 3527: // TODO In the future, when dynamic system port config (add/delete) is implemented, re-visit - line 4094: // TODO: Fix me proxylib/Proxy.cpp (9 lines): - line 22: // TODO handle diagnostic shell - line 101: // TODO call stop() - line 115: // TODO lock guard could be needed to wait for notifications destruction - line 232: // TODO will we need this thread at all?, maybe just resend notification as they - line 274: // TODO maybe not needed - line 315: // TODO implement bulk create/remove/set/get - line 410: * TODO: must be done per switch, and switch may not exists yet - line 486: * TODO: must be done per switch, and switch may not exists yet - line 1099: // TODO move to notification handler class lib/Recorder.h (9 lines): - line 97: // TODO to be private - line 119: // TODO to be private - line 131: // TODO to be private - line 145: // TODO to be private - line 156: // TODO to be private - line 192: // TODO to private - line 208: // TODO to private - line 265: // TODO move to private - line 319: // TODO move to private syncd/SaiSwitch.cpp (8 lines): - line 49: * TODO: When user will use sairedis we need to send discovered view - line 180: * TODO: We should have THROW here, but currently getting hardware info - line 323: SWSS_LOG_THROW("FIXME: lane port id differs: %s vs %s, port ids must be remapped", - line 524: SWSS_LOG_THROW("FIXME: %s RID differs: %s (asic) vs %s (redis), ids must be remapped v2r/r2v", - line 642: * TODO: Some vendors support removing of those objects then we - line 799: * TODO: Some of those objects could be removed, like vlan members etc, we - line 821: // TODO or just check here and remove directly form ASIC_VIEW ? - line 1113: // TODO should this remove rid,vid and object be as db op? lib/Recorder.cpp (8 lines): - line 427: // TODO currently empty since used in async mode, but we should log this in - line 437: // TODO currently empty since used in async mode, but we should log this in - line 468: // TODO currently empty since used in async mode, but we should log this in - line 498: // TODO currently empty since used in async mode, but we should log this in - line 510: // TODO revisit - line 531: // TODO currently empty since used in async mode, but we should log this in - line 572: // TODO currently empty since used in async mode, but we should log this in - line 603: // TODO currently empty since used in async mode, but we should log this in syncd/BestCandidateFinder.cpp (8 lines): - line 287: // TODO we should use HASH from all non OID attribute here to have - line 432: // TODO this could be helper method, since we will need this for router interface - line 2874: * TODO: For acl list/action this maybe wrong since one can be - line 2913: * TODO Default value also must depend on dependency tree ! - line 2958: * TODO: If this is executed on existing attribute then we need - line 3028: * TODO normally we need check default object type and value but - line 3038: // TODO double check that, to make it generic (check attr value type is oid) - line 3200: * TODO Currently order on the list matters, but we need to update this logic proxylib/Sai.cpp (7 lines): - line 79: // TODO options should be obtained from service method table - line 140: updateNotifications(attr_count, attr_list); // TODO should be per switch - line 478: entry.emplace_back("STATS_MODE", std::to_string(mode)); // TODO add serialize - line 563: // TODO: Fix me - line 754: SWSS_LOG_ERROR("FIXME not implemented"); \ - line 1132: // TODO use function from SAI metadata to populate those - line 1163: // TODO should be per switch, and we should know on which switch call notification vslib/VirtualSwitchSaiInterface.cpp (6 lines): - line 548: SWSS_LOG_ERROR("FIXME not implemented"); \ - line 617: auto status = ss->warm_boot_initialize_objects(); // TODO move to constructor - line 630: sai_status_t status = ss->initialize_default_objects(attr_count, attr_list); // TODO move to constructor - line 835: // TODO: We should generate this metadata for the virtual switch rather - line 905: // TODO: We should generate this metadata for the virtual switch rather - line 1133: // TODO: Fix me syncd/FlexCounter.cpp (6 lines): - line 193: // TODO: use if const expression when cpp17 is supported - line 512: // TODO: use if const expression when c++17 is supported - line 575: // TODO: use if const expression when cpp17 is supported - line 588: // TODO: use if const expression when cpp17 is supported - line 859: // TODO: use if const expression when c++17 is supported - line 1099: // TODO: use if const expression when cpp17 is supported saiasiccmp/View.cpp (5 lines): - line 129: json cold = j["COLDVIDS"].at("value"); // TODO depend on switch - line 153: json hidden = j["HIDDEN"].at("value"); // TODO depend on switch - line 175: // TODO use other views ? - line 198: // TODO consider saving oids when rid/vid match both views - line 413: // TODO translate oid attributes syncd/AsicView.cpp (5 lines): - line 72: // TODO we could use sai deserialize object meta key - line 334: * TODO: Not sure if this will have impact on some other object - line 557: * TODO: Set on object id should do release of links (currently done - line 647: * TODO: Create on object id attributes should bind references to - line 686: // TODO why we are doing deserialize here? meta key should be populated already syncd/Syncd.h (4 lines): - line 65: public: // TODO private - line 305: public: // TODO to private - line 427: public: // TODO to private - line 447: * TODO: Those are hard coded values for mlnx integration for v1.0.1 they need lib/ServerSai.cpp (4 lines): - line 563: SWSS_LOG_ERROR("FIXME not implemented"); \ - line 859: * TODO: must be done per switch, and switch may not exists yet - line 862: // TODO m_handler->updateNotificationsPointers(attr_count, attr_list); - line 2265: // TODO get stats on created object in init view mode could fail meta/DummySaiInterface.cpp (3 lines): - line 93: // TODO implement some dummy OID handling - line 232: SWSS_LOG_ERROR("FIXME not implemented"); \ - line 348: // TODO add recording syncd/AsicView.h (3 lines): - line 202: * TODO: Set on object id should do release of links (currently done - line 219: * TODO: Create on object id attributes should bind references to - line 273: // TODO convert to something like nonObjectIdMap syncd/SingleReiniter.cpp (3 lines): - line 238: m_handler->updateNotificationsPointers(attrCount, attrList); // TODO need per switch template static - line 936: // TODO later isoidattribute - line 1065: * TODO: Should this be done at start, before other operations? syncd/RedisClient.cpp (3 lines): - line 28: std::string fdbFlushLuaScript = swss::loadLuaScript("fdb_flush.lua"); // TODO script must be updated to version 2 - line 852: // TODO this must be per switch if we will have multiple switches, needs to be filtered by switch ID also - line 865: // TODO script must be updated to version 2 syncd/VirtualOidTranslator.cpp (3 lines): - line 119: sai_object_type_t object_type = m_vendorSai->objectTypeQuery(rid); // TODO move to std::function or wrapper class - line 136: vid = m_virtualObjectIdManager->allocateNewObjectId(object_type, switchVid); // TODO to std::function or separate object - line 219: * TODO: Many times we do switch for list of attributes to perform some lib/Sai.cpp (3 lines): - line 9: // TODO - simplify recorder - line 651: SWSS_LOG_ERROR("FIXME not implemented"); \ - line 786: // TODO we should use specific context, but we don't know which one since vslib/Sai.cpp (3 lines): - line 212: // TODO currently switch configuration will share signal and event queue - line 249: // TODO move to Context class - line 752: SWSS_LOG_ERROR("FIXME not implemented"); \ vslib/SwitchStateBase.h (3 lines): - line 203: protected: // TODO should be pure - line 530: public: // TODO move inside warm boot load state - line 729: public: // TODO private lib/ContextConfig.h (2 lines): - line 29: public: // TODO to private - line 39: std::string m_dbFlex; // TODO to be removed since only used to subscribe meta/SaiAttributeList.cpp (2 lines): - line 31: // TODO object type is not necessary, we can use get attr metadata from attr id name - line 68: // TODO object type is not necessary, we can use get attr metadata from attr id name vslib/SwitchMLNX2700.cpp (2 lines): - line 53: // TODO add type - line 421: // TODO add type syncd/tests.cpp (2 lines): - line 774: // TODO we need to add consumer producer test here to see - line 777: // TODO in async mode this api will always return success unittest/meta/TestLegacyOther.cpp (2 lines): - line 488: // TODO we need to support conditions here - line 519: // TODO this test should pass, we are doing query here for conditional saidiscovery/saidiscovery.cpp (2 lines): - line 24: // TODO split to multiple cpp - line 256: * TODO lists! syncd/SaiObj.h (2 lines): - line 118: // TODO should be private, and we should have some friends from AsicView class - line 134: public: // TODO to private vslib/SwitchBCM81724.cpp (2 lines): - line 253: return refresh_port_list(meta); // TODO should implement, override and call on init create_ports - line 273: // // TODO where is code that is doing refresh for those? lib/ClientServerSai.cpp (1 line): - line 541: SWSS_LOG_ERROR("FIXME not implemented"); \ syncd/TimerWatchdog.cpp (1 line): - line 152: SWSS_LOG_NOTICE("time span %ld ms for '%s'", span/1000, m_eventName.c_str()); // TODO remove this vslib/SwitchConfig.cpp (1 line): - line 88: * TODO: Temporarily set switchType to SAI_VS_SWITCH_TYPE_NVDA_MBF2H536C unittest/meta/TestLegacyFdbEntry.cpp (1 line): - line 281: // TODO check references ? syncd/NotificationQueue.h (1 line): - line 27: * TODO: move to config, also this limit only applies to fdb notifications vslib/SaiAttrWrap.h (1 line): - line 11: // TODO unify wrapper and add to common saiasiccmp/View.h (1 line): - line 24: // TODO support multiple switches lib/sairediscommon.h (1 line): - line 103: // TODO to be removed (used only for plugin register) lib/RedisChannel.cpp (1 line): - line 20: // TODO this connection info must be obtained from config vslib/saivs.h (1 line): - line 22: * TODO must support hardware info for multiple switches syncd/VirtualOidTranslator.h (1 line): - line 16: // TODO can be child class (redis translator etc) vslib/tests.cpp (1 line): - line 415: // TODO we need 10 cases, 10th where nothing was removed syncd/SaiDiscovery.cpp (1 line): - line 79: * TODO: This needs to be solved by sending discovered state to sairedis vslib/LaneMap.h (1 line): - line 12: // TODO port remove / create will need update this lane map vslib/RealObjectIdManager.h (1 line): - line 88: * TODO Would be better if we would have proper indexer class. syncd/NotificationProcessor.h (1 line): - line 155: public: // TODO to private proxylib/Proxy.h (1 line): - line 59: // TODO implement bulk apis unittest/vslib/TestSwitchMLNX2700.cpp (1 line): - line 230: // TODO move to utils syncd/NotificationProcessor.cpp (1 line): - line 188: * TODO We should notify orch agent here. And also this probably should syncd/VendorSai.cpp (1 line): - line 726: SWSS_LOG_ERROR("FIXME not implemented"); \ syncd/SaiSwitch.h (1 line): - line 335: * TODO later on we need to make this for all attributes. unittest/proxylib/TestSai.cpp (1 line): - line 14: // TODO fix join when tests will fail meta/ZeroMQSelectableChannel.cpp (1 line): - line 110: // TODO we should have loop here in case we get multiple events since vslib/VirtualSwitchSaiInterfaceFdb.cpp (1 line): - line 120: // TODO move some part to switch state vslib/FdbInfo.h (1 line): - line 73: public: // TODO make private meta/NotificationFdbEvent.cpp (1 line): - line 76: // TODO check attribute list unittest/syncd/TestSyncd.cpp (1 line): - line 208: // TODO inspect asic on warm boot vslib/SwitchStateBaseHostif.cpp (1 line): - line 786: // TODO this should be hosif_id or if index ? syncd/PortMapParser.cpp (1 line): - line 12: // TODO: introduce common config format for SONiC lib/sairedis.h (1 line): - line 280: * TODO: remove this attribute. vslib/ContextConfig.h (1 line): - line 24: public: // TODO to private vslib/FdbInfo.cpp (1 line): - line 66: // TODO move to meta serialize saiasiccmp/SaiSwitchAsic.cpp (1 line): - line 192: * TODO: Some vendors support removing of those objects then we unittest/vslib/TestSwitchBCM56850.cpp (1 line): - line 100: // TODO move to utils saisdkdump/saisdkdump.cpp (1 line): - line 15: // TODO split to multiple cpp unittest/vslib/TestSwitchNvdaMBF2H536C.cpp (1 line): - line 17: // TODO: Should the switch type be changed when new API is available? vslib/HostInterfaceInfo.h (1 line): - line 64: public: // TODO to private syncd/NotificationHandler.cpp (1 line): - line 83: // TODO use same Notification class from sairedis lib saiasiccmp/ViewCmp.cpp (1 line): - line 199: // TODO support multiple asic views (multiple switch) lib/VirtualObjectIdManager.cpp (1 line): - line 131: // TODO don't throw, those 2 functions should never throw vslib/SwitchStateBaseFdb.cpp (1 line): - line 87: updateLocalDB(data, fdb_event); // TODO we could move to send_fdb_event_notification and support flush vslib/SwitchState.h (1 line): - line 118: public: // TODO make private meta/MetaKeyHasher.cpp (1 line): - line 520: // TODO revisit - may depend on nat_type