ZeroTierOne/controller/schema.sql

104 lines
2.7 KiB
MySQL
Raw Normal View History

2015-03-12 21:03:53 +00:00
CREATE TABLE Config (
k varchar(16) PRIMARY KEY NOT NULL,
v varchar(1024) NOT NULL
);
2015-03-12 21:03:53 +00:00
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)
2015-03-12 21:03:53 +00:00
);
CREATE INDEX IpAssignment_networkId_ip ON IpAssignment (networkId, ip);
2015-03-12 21:03:53 +00:00
CREATE INDEX IpAssignment_networkId_nodeId ON IpAssignment (networkId, nodeId);
2015-03-12 21:27:14 +00:00
CREATE INDEX IpAssignment_networkId ON IpAssignment (networkId);
2015-03-12 21:03:53 +00:00
CREATE TABLE IpAssignmentPool (
networkId char(16) NOT NULL,
ipNetwork blob(16) NOT NULL,
ipNetmaskBits integer NOT NULL,
2015-04-22 02:49:04 +00:00
ipVersion integer NOT NULL DEFAULT(4)
2015-03-12 21:03:53 +00:00
);
CREATE INDEX IpAssignmentPool_networkId ON IpAssignmentPool (networkId);
CREATE TABLE Member (
networkId char(16) NOT NULL,
nodeId char(10) NOT NULL,
authorized integer NOT NULL DEFAULT(0),
activeBridge integer NOT NULL DEFAULT(0)
2015-03-12 21:03:53 +00:00
);
2015-03-12 21:27:14 +00:00
CREATE INDEX Member_networkId ON Member (networkId);
CREATE INDEX Member_networkId_activeBridge ON Member(networkId, activeBridge);
2015-03-12 21:03:53 +00:00
CREATE UNIQUE INDEX Member_networkId_nodeId ON Member (networkId, nodeId);
2015-03-12 21:27:14 +00:00
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
2015-03-12 21:27:14 +00:00
);
CREATE INDEX MulticastRate_networkId ON MulticastRate (networkId);
2015-03-12 21:03:53 +00:00
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),
2015-03-12 21:03:53 +00:00
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)
);
2015-03-12 21:03:53 +00:00
CREATE TABLE Relay (
networkId char(16) NOT NULL,
nodeId char(10) NOT NULL,
2015-04-21 23:41:35 +00:00
phyAddress varchar(64) NOT NULL
);
2015-04-21 23:41:35 +00:00
CREATE INDEX Relay_networkId ON Relay (networkId);
CREATE UNIQUE INDEX Relay_networkId_nodeId ON Relay (networkId, nodeId);
2015-03-12 21:03:53 +00:00
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)
);
2015-03-12 21:03:53 +00:00
CREATE TABLE Rule (
networkId char(16) NOT NULL,
2015-04-22 01:08:33 +00:00
ruleId integer NOT NULL,
2015-03-12 21:03:53 +00:00
nodeId char(10),
vlanId integer,
vlanPcp integer,
etherType integer,
2015-03-12 21:03:53 +00:00
macSource char(12),
macDest char(12),
ipSource varchar(64),
ipDest varchar(64),
ipTos integer,
ipProtocol integer,
ipSourcePort integer,
ipDestPort integer,
flags integer,
invFlags integer,
2015-03-12 21:03:53 +00:00
"action" varchar(4096) NOT NULL DEFAULT('accept')
);
CREATE INDEX Rule_networkId ON Rule (networkId);