You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
93 lines
3.0 KiB
93 lines
3.0 KiB
#define ZT_NETCONF_SCHEMA_SQL \ |
|
"CREATE TABLE Config (\n"\ |
|
" k varchar(16) PRIMARY KEY NOT NULL,\n"\ |
|
" v varchar(1024) NOT NULL\n"\ |
|
");\n"\ |
|
"\n"\ |
|
"CREATE TABLE IpAssignment (\n"\ |
|
" networkId char(16) NOT NULL,\n"\ |
|
" nodeId char(10) NOT NULL,\n"\ |
|
" ip varchar(64) NOT NULL,\n"\ |
|
" ipNetmaskBits integer(4) NOT NULL DEFAULT(0)\n"\ |
|
");\n"\ |
|
"\n"\ |
|
"CREATE UNIQUE INDEX IpAssignment_networkId_ip ON IpAssignment (networkId, ip);\n"\ |
|
"\n"\ |
|
"CREATE INDEX IpAssignment_networkId_nodeId ON IpAssignment (networkId, nodeId);\n"\ |
|
"\n"\ |
|
"CREATE INDEX IpAssignment_networkId ON IpAssignment (networkId);\n"\ |
|
"\n"\ |
|
"CREATE TABLE IpAssignmentPool (\n"\ |
|
" networkId char(16) NOT NULL,\n"\ |
|
" ipNetwork varchar(64) NOT NULL,\n"\ |
|
" ipNetmaskBits integer(4) NOT NULL,\n"\ |
|
" active integer(1) NOT NULL DEFAULT(1)\n"\ |
|
");\n"\ |
|
"\n"\ |
|
"CREATE INDEX IpAssignmentPool_networkId ON IpAssignmentPool (networkId);\n"\ |
|
"\n"\ |
|
"CREATE TABLE Member (\n"\ |
|
" networkId char(16) NOT NULL,\n"\ |
|
" nodeId char(10) NOT NULL,\n"\ |
|
" cachedNetconf blob(4096),\n"\ |
|
" cachedNetconfRevision integer(32),\n"\ |
|
" clientReportedRevision integer(32),\n"\ |
|
" authorized integer(1) NOT NULL DEFAULT(0),\n"\ |
|
" activeBridge integer(1) NOT NULL DEFAULT(0)\n"\ |
|
");\n"\ |
|
"\n"\ |
|
"CREATE INDEX Member_networkId ON Member (networkId);\n"\ |
|
"\n"\ |
|
"CREATE UNIQUE INDEX Member_networkId_nodeId ON Member (networkId, nodeId);\n"\ |
|
"\n"\ |
|
"CREATE TABLE MulticastRate (\n"\ |
|
" networkId char(16) NOT NULL,\n"\ |
|
" mgMac char(12) NOT NULL,\n"\ |
|
" mgAdi integer(8) NOT NULL DEFAULT(0),\n"\ |
|
" preload integer(16) NOT NULL,\n"\ |
|
" maxBalance integer(16) NOT NULL,\n"\ |
|
" accrual integer(16) NOT NULL\n"\ |
|
");\n"\ |
|
"\n"\ |
|
"CREATE INDEX MulticastRate_networkId ON MulticastRate (networkId);\n"\ |
|
"\n"\ |
|
"CREATE TABLE Network (\n"\ |
|
" id char(16) PRIMARY KEY NOT NULL,\n"\ |
|
" name varchar(128) NOT NULL,\n"\ |
|
" private integer(1) NOT NULL DEFAULT(1),\n"\ |
|
" enableBroadcast integer(1) NOT NULL DEFAULT(1),\n"\ |
|
" allowPassiveBridging integer(1) NOT NULL DEFAULT(0),\n"\ |
|
" v4AssignMode varchar(8) NOT NULL DEFAULT('none'),\n"\ |
|
" v6AssignMode varchar(8) NOT NULL DEFAULT('none'),\n"\ |
|
" multicastLimit integer(8) NOT NULL DEFAULT(32),\n"\ |
|
" creationTime integer(32) NOT NULL DEFAULT(0),\n"\ |
|
" revision integer(32) NOT NULL DEFAULT(0)\n"\ |
|
");\n"\ |
|
"\n"\ |
|
"CREATE TABLE Node (\n"\ |
|
" id char(10) PRIMARY KEY NOT NULL,\n"\ |
|
" identity varchar(4096) NOT NULL,\n"\ |
|
" lastAt varchar(64),\n"\ |
|
" lastSeen integer(32) NOT NULL DEFAULT(0),\n"\ |
|
" firstSeen integer(32) NOT NULL DEFAULT(0)\n"\ |
|
");\n"\ |
|
"\n"\ |
|
"CREATE TABLE Rule (\n"\ |
|
" networkId char(16) NOT NULL,\n"\ |
|
" nodeId char(10),\n"\ |
|
" vlanId integer(4),\n"\ |
|
" vlanPcp integer(4),\n"\ |
|
" etherType integer(8),\n"\ |
|
" macSource char(12),\n"\ |
|
" macDest char(12),\n"\ |
|
" ipSource varchar(64),\n"\ |
|
" ipDest varchar(64),\n"\ |
|
" ipTos integer(4),\n"\ |
|
" ipProtocol integer(4),\n"\ |
|
" ipSourcePort integer(8),\n"\ |
|
" ipDestPort integer(8),\n"\ |
|
" \"action\" varchar(4096) NOT NULL DEFAULT('accept')\n"\ |
|
");\n"\ |
|
"\n"\ |
|
"CREATE INDEX Rule_networkId ON Rule (networkId);\n"\ |
|
""
|
|
|