summaryrefslogtreecommitdiff
path: root/controller
diff options
context:
space:
mode:
authorAdam Ierymenko <adam.ierymenko@gmail.com>2015-06-26 12:36:45 -0700
committerAdam Ierymenko <adam.ierymenko@gmail.com>2015-06-26 12:36:45 -0700
commit57c7992c785ab2f69fb2ddffd6f48bfebd96cab8 (patch)
treea3cf773ae17f9593c4787198bc17d9347ae9fe06 /controller
parentc287ae4d1d0cb6448e556dda2c5c98eee4898cfe (diff)
downloadinfinitytier-57c7992c785ab2f69fb2ddffd6f48bfebd96cab8.tar.gz
infinitytier-57c7992c785ab2f69fb2ddffd6f48bfebd96cab8.zip
GitHub issue #191 - kill intra-network multicast rate limits (which were not well supported or easily configurable anyway) -- this is really left over from the old collaborative multicast propagation algorithm. New algorithm (in for a while) has been sender-side replication in which sender "pays" all bandwidth, which intrinsically limits multicast.
Diffstat (limited to 'controller')
-rw-r--r--controller/SqliteNetworkController.cpp26
-rw-r--r--controller/SqliteNetworkController.hpp1
-rw-r--r--controller/schema.sql11
-rw-r--r--controller/schema.sql.c11
4 files changed, 4 insertions, 45 deletions
diff --git a/controller/SqliteNetworkController.cpp b/controller/SqliteNetworkController.cpp
index a1827a72..d77e06d8 100644
--- a/controller/SqliteNetworkController.cpp
+++ b/controller/SqliteNetworkController.cpp
@@ -155,7 +155,6 @@ SqliteNetworkController::SqliteNetworkController(const char *dbPath) :
||(sqlite3_prepare_v2(_db,"UPDATE Node SET lastAt = ?,lastSeen = ? WHERE id = ?",-1,&_sUpdateNode,(const char **)0) != SQLITE_OK)
||(sqlite3_prepare_v2(_db,"UPDATE Node SET lastSeen = ? WHERE id = ?",-1,&_sUpdateNode2,(const char **)0) != SQLITE_OK)
||(sqlite3_prepare_v2(_db,"SELECT etherType FROM Rule WHERE networkId = ? AND \"action\" = 'accept'",-1,&_sGetEtherTypesFromRuleTable,(const char **)0) != SQLITE_OK)
- ||(sqlite3_prepare_v2(_db,"SELECT mgMac,mgAdi,preload,maxBalance,accrual FROM MulticastRate WHERE networkId = ?",-1,&_sGetMulticastRates,(const char **)0) != SQLITE_OK)
||(sqlite3_prepare_v2(_db,"SELECT nodeId FROM Member WHERE networkId = ? AND activeBridge > 0 AND authorized > 0",-1,&_sGetActiveBridges,(const char **)0) != SQLITE_OK)
||(sqlite3_prepare_v2(_db,"SELECT ip,ipNetmaskBits FROM IpAssignment WHERE networkId = ? AND nodeId = ? AND ipVersion = ?",-1,&_sGetIpAssignmentsForNode,(const char **)0) != SQLITE_OK)
||(sqlite3_prepare_v2(_db,"SELECT ipNetwork,ipNetmaskBits FROM IpAssignmentPool WHERE networkId = ? AND ipVersion = ?",-1,&_sGetIpAssignmentPools,(const char **)0) != SQLITE_OK)
@@ -204,7 +203,6 @@ SqliteNetworkController::~SqliteNetworkController()
sqlite3_finalize(_sUpdateNode);
sqlite3_finalize(_sUpdateNode2);
sqlite3_finalize(_sGetEtherTypesFromRuleTable);
- sqlite3_finalize(_sGetMulticastRates);
sqlite3_finalize(_sGetActiveBridges);
sqlite3_finalize(_sGetIpAssignmentsForNode);
sqlite3_finalize(_sGetIpAssignmentPools);
@@ -403,26 +401,10 @@ NetworkController::ResultCode SqliteNetworkController::doNetworkConfigRequest(co
netconf[ZT_NETWORKCONFIG_DICT_KEY_ALLOWED_ETHERNET_TYPES] = allowedEtherTypesCsv;
}
- {
- std::string multicastRates;
- sqlite3_reset(_sGetMulticastRates);
- sqlite3_bind_text(_sGetMulticastRates,1,network.id,16,SQLITE_STATIC);
- while (sqlite3_step(_sGetMulticastRates) == SQLITE_ROW) {
- const char *mac = (const char *)sqlite3_column_text(_sGetMulticastRates,0);
- if ((mac)&&(strlen(mac) == 12)) {
- unsigned long adi = ((unsigned long)sqlite3_column_int64(_sGetMulticastRates,1)) & 0xffffffff;
- char tmp[256];
- Utils::snprintf(tmp,sizeof(tmp),"%s/%.4lx=%x,%x,%x\n",mac,adi,sqlite3_column_int(_sGetMulticastRates,2),sqlite3_column_int(_sGetMulticastRates,3),sqlite3_column_int(_sGetMulticastRates,4));
- multicastRates.append(tmp);
- }
- }
- if (multicastRates.length() > 0)
- netconf[ZT_NETWORKCONFIG_DICT_KEY_MULTICAST_RATES] = multicastRates;
- if (network.multicastLimit > 0) {
- char ml[16];
- Utils::snprintf(ml,sizeof(ml),"%lx",(unsigned long)network.multicastLimit);
- netconf[ZT_NETWORKCONFIG_DICT_KEY_MULTICAST_LIMIT] = ml;
- }
+ if (network.multicastLimit > 0) {
+ char ml[16];
+ Utils::snprintf(ml,sizeof(ml),"%lx",(unsigned long)network.multicastLimit);
+ netconf[ZT_NETWORKCONFIG_DICT_KEY_MULTICAST_LIMIT] = ml;
}
{
diff --git a/controller/SqliteNetworkController.hpp b/controller/SqliteNetworkController.hpp
index be2ca694..9cdbc404 100644
--- a/controller/SqliteNetworkController.hpp
+++ b/controller/SqliteNetworkController.hpp
@@ -99,7 +99,6 @@ private:
sqlite3_stmt *_sUpdateNode;
sqlite3_stmt *_sUpdateNode2;
sqlite3_stmt *_sGetEtherTypesFromRuleTable;
- sqlite3_stmt *_sGetMulticastRates;
sqlite3_stmt *_sGetActiveBridges;
sqlite3_stmt *_sGetIpAssignmentsForNode;
sqlite3_stmt *_sGetIpAssignmentPools;
diff --git a/controller/schema.sql b/controller/schema.sql
index 809c7161..d2261b2a 100644
--- a/controller/schema.sql
+++ b/controller/schema.sql
@@ -64,17 +64,6 @@ CREATE TABLE Member (
CREATE INDEX Member_networkId_activeBridge ON Member(networkId, activeBridge);
-CREATE TABLE MulticastRate (
- networkId char(16) NOT NULL REFERENCES Network(id) ON DELETE CASCADE,
- mgMac char(12) NOT NULL,
- mgAdi integer NOT NULL DEFAULT(0),
- preload integer NOT NULL,
- maxBalance integer NOT NULL,
- accrual integer NOT NULL
-);
-
-CREATE INDEX MulticastRate_networkId ON MulticastRate (networkId);
-
CREATE TABLE Relay (
networkId char(16) NOT NULL REFERENCES Network(id) ON DELETE CASCADE,
nodeId char(10) NOT NULL REFERENCES Node(id) ON DELETE CASCADE,
diff --git a/controller/schema.sql.c b/controller/schema.sql.c
index f1c66358..1157facc 100644
--- a/controller/schema.sql.c
+++ b/controller/schema.sql.c
@@ -65,17 +65,6 @@
"\n"\
"CREATE INDEX Member_networkId_activeBridge ON Member(networkId, activeBridge);\n"\
"\n"\
-"CREATE TABLE MulticastRate (\n"\
-" networkId char(16) NOT NULL REFERENCES Network(id) ON DELETE CASCADE,\n"\
-" mgMac char(12) NOT NULL,\n"\
-" mgAdi integer NOT NULL DEFAULT(0),\n"\
-" preload integer NOT NULL,\n"\
-" maxBalance integer NOT NULL,\n"\
-" accrual integer NOT NULL\n"\
-");\n"\
-"\n"\
-"CREATE INDEX MulticastRate_networkId ON MulticastRate (networkId);\n"\
-"\n"\
"CREATE TABLE Relay (\n"\
" networkId char(16) NOT NULL REFERENCES Network(id) ON DELETE CASCADE,\n"\
" nodeId char(10) NOT NULL REFERENCES Node(id) ON DELETE CASCADE,\n"\