summaryrefslogtreecommitdiff
path: root/controller/schema.sql
diff options
context:
space:
mode:
authorAdam Ierymenko <adam.ierymenko@gmail.com>2015-04-15 15:12:09 -0700
committerAdam Ierymenko <adam.ierymenko@gmail.com>2015-04-15 15:12:09 -0700
commit6369c264e2b54f7eb65a9f0f071ef7599ec7b20a (patch)
treeb2570a21eb6d02040256d8a84855361da8c19e75 /controller/schema.sql
parent871473255b7b0c5ad6507f0fe62ca6998a41f678 (diff)
downloadinfinitytier-6369c264e2b54f7eb65a9f0f071ef7599ec7b20a.tar.gz
infinitytier-6369c264e2b54f7eb65a9f0f071ef7599ec7b20a.zip
Rename netconf to controller and NetworkConfigMaster to NetworkController for consistency.
Diffstat (limited to 'controller/schema.sql')
-rw-r--r--controller/schema.sql93
1 files changed, 93 insertions, 0 deletions
diff --git a/controller/schema.sql b/controller/schema.sql
new file mode 100644
index 00000000..f5981f1a
--- /dev/null
+++ b/controller/schema.sql
@@ -0,0 +1,93 @@
+CREATE TABLE Config (
+ k varchar(16) PRIMARY KEY NOT NULL,
+ v varchar(1024) NOT NULL
+);
+
+CREATE TABLE IpAssignment (
+ networkId char(16) NOT NULL,
+ nodeId char(10) NOT NULL,
+ ip blob(16) NOT NULL,
+ ipNetmaskBits integer NOT NULL DEFAULT(0),
+ ipVersion integer NOT NULL DEFAULT(4)
+);
+
+CREATE INDEX IpAssignment_networkId_ip ON IpAssignment (networkId, ip);
+
+CREATE INDEX IpAssignment_networkId_nodeId ON IpAssignment (networkId, nodeId);
+
+CREATE INDEX IpAssignment_networkId ON IpAssignment (networkId);
+
+CREATE TABLE IpAssignmentPool (
+ networkId char(16) NOT NULL,
+ ipNetwork blob(16) NOT NULL,
+ ipNetmaskBits integer NOT NULL,
+ ipVersion integer NOT NULL DEFAULT(4),
+ active integer NOT NULL DEFAULT(1)
+);
+
+CREATE INDEX IpAssignmentPool_networkId ON IpAssignmentPool (networkId);
+
+CREATE TABLE Member (
+ networkId char(16) NOT NULL,
+ nodeId char(10) NOT NULL,
+ cachedNetconf blob(4096),
+ cachedNetconfRevision integer NOT NULL DEFAULT(0),
+ clientReportedRevision integer NOT NULL DEFAULT(0),
+ authorized integer NOT NULL DEFAULT(0),
+ activeBridge integer NOT NULL DEFAULT(0)
+);
+
+CREATE INDEX Member_networkId ON Member (networkId);
+
+CREATE UNIQUE INDEX Member_networkId_nodeId ON Member (networkId, nodeId);
+
+CREATE TABLE MulticastRate (
+ networkId char(16) NOT NULL,
+ 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 Network (
+ id char(16) PRIMARY KEY NOT NULL,
+ name varchar(128) NOT NULL,
+ private integer NOT NULL DEFAULT(1),
+ enableBroadcast integer NOT NULL DEFAULT(1),
+ allowPassiveBridging integer NOT NULL DEFAULT(0),
+ v4AssignMode varchar(8) NOT NULL DEFAULT('none'),
+ v6AssignMode varchar(8) NOT NULL DEFAULT('none'),
+ multicastLimit integer NOT NULL DEFAULT(32),
+ creationTime integer NOT NULL DEFAULT(0),
+ revision integer NOT NULL DEFAULT(1)
+);
+
+CREATE TABLE Node (
+ id char(10) PRIMARY KEY NOT NULL,
+ identity varchar(4096) NOT NULL,
+ lastAt varchar(64),
+ lastSeen integer NOT NULL DEFAULT(0),
+ firstSeen integer NOT NULL DEFAULT(0)
+);
+
+CREATE TABLE Rule (
+ networkId char(16) NOT NULL,
+ nodeId char(10),
+ vlanId integer,
+ vlanPcp integer,
+ etherType integer,
+ macSource char(12),
+ macDest char(12),
+ ipSource varchar(64),
+ ipDest varchar(64),
+ ipTos integer,
+ ipProtocol integer,
+ ipSourcePort integer,
+ ipDestPort integer,
+ "action" varchar(4096) NOT NULL DEFAULT('accept')
+);
+
+CREATE INDEX Rule_networkId ON Rule (networkId); \ No newline at end of file