syntax = "proto3";

message Config {
    repeated Switch switch = 1;
    repeated Machine machine = 2;
};

message Switch {
    string name = 1;
    string control_address = 2;
    message SwitchPort {
        string name = 1;
    };
    repeated SwitchPort managed_port = 3;
    message Segment {
        enum Type {
            TYPE_INVALID = 0;
            TYPE_VLAN = 1;
        }
        Type segment_type = 1;
        int32 vlan_id = 2;
    };
    repeated Segment available_segment = 4;
};

message Machine {
    string name = 1;
    message Port {
        string name = 1;
    };
    repeated Port managed_port = 2;
};
