syntax = "proto2";
package nmsg;
option go_package = "github.com/farsightsec/go-nmsg;nmsg";

message Nmsg {
    repeated NmsgPayload    payloads = 1;
    repeated uint32         payload_crcs = 2;
    optional uint32         sequence = 3;
    optional uint64         sequence_id = 4;
}

message NmsgFragment {
    required uint32         id = 1;
    required uint32         current = 2;
    required uint32         last = 3;
    required bytes          fragment = 4;
    optional uint32         crc = 5;
}

message NmsgPayload {
    required uint32         vid = 1;
    required uint32         msgtype = 2;
    required int64          time_sec = 3;
    required fixed32        time_nsec = 4;
    optional bytes          payload = 5;
    optional uint32         source = 7;
    optional uint32         operator = 8;
    optional uint32         group = 9;
}
