blob: b4ee69b648d45c753f0bef44073afa97d6e4671a [file] [log] [blame]
//
// Copyright 2017 the original author or authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
syntax = "proto3";
import "bal_model_ids.proto";
import "bal_errno.proto";
import "bal_model_types.proto";
import "bal.proto";
enum BalAlarmIndStatus{
BAL_ALARM_IND_CLEARED = 0; //Alarm cleared
BAL_ALARM_IND_RAISED = 1; //Alarm raised
}
//ONU alarm info
message BalOnuAlarmInfo{
uint32 onu_id = 1; //onu id
BalSerialNumber serial_number = 2; //serial number of the ONU
BalAlarmIndStatus onu_alarm_status = 3; //status of the alarm raised by ONU
string onu_alarm_name = 4; //name of the alarm raised by ONU
}
//OLT alarm info
message BalOltAlarmInfo{
uint32 olt_no = 1; //olt number
uint32 deviceId = 2; //pon interface number of the corresponding OLT
BalAlarmIndStatus olt_alarm_status = 3; //status of the alarm raised by OLT
string olt_alarm_name = 4; //name of the alarm raised by OLT
}
//Alarms generated by the system
message BalAlarmInfo{
uint32 NoOfAlarmsPresent = 1; //number of alarms present in the BAL system currently
BalOnuAlarmInfo onuAlarmInfo = 2; //ONU alarm info
BalOltAlarmInfo oltAlarmInfo = 3; //OLT alarm info
}
//NNI statistics
message BalNniStatsInfo{
uint32 nni_rx_frames_64 = 1;
uint32 nni_rx_frames_65_127 = 2;
uint32 nni_rx_frames_128_255 = 3;
uint32 nni_rx_frames_256_511 = 4;
uint32 nni_rx_frames_512_1023 = 5;
uint32 nni_rx_frames_1024_1518 = 6;
uint32 nni_rx_frames_1519_2047 = 7;
uint32 nni_rx_frames_2048_4095 = 8;
uint32 nni_rx_frames_4096_9216 = 9;
uint32 nni_rx_frames_9217_16383 = 10;
uint32 nni_rx_frames = 11;
uint32 nni_rx_bytes = 12;
uint32 nni_rx_good_frames = 13;
uint32 nni_rx_unicast_frames = 14;
uint32 nni_rx_multicast_frames = 15;
uint32 nni_rx_broadcast_frames = 16;
uint32 nni_rx_fcs_errors = 17;
uint32 nni_rx_control_frames = 18;
uint32 nni_rx_pause_frames = 19;
uint32 nni_rx_pfc_frames = 20;
uint32 nni_rx_unsupported_opcode = 21;
uint32 nni_rx_unsupported_da = 22;
uint32 nni_rx_alignment_errors = 23;
uint32 nni_rx_length_out_of_range = 24;
uint32 nni_rx_code_errors = 25;
uint32 nni_rx_oversized_frames = 26;
uint32 nni_rx_jabber_frames = 27;
uint32 nni_rx_mtu_check_errors = 28;
uint32 nni_rx_promiscuous_frames = 29;
uint32 nni_rx_vlan_frames = 30;
uint32 nni_rx_double_vlan_frames = 31;
uint32 nni_rx_truncated_frames = 32;
uint32 nni_rx_undersize_frames = 33;
uint32 nni_rx_fragmented_frames = 34;
uint32 nni_rx_runt_frames = 35;
uint32 nni_tx_frames_64 = 36;
uint32 nni_tx_frames_65_127 = 37;
uint32 nni_tx_frames_128_255 = 38;
uint32 nni_tx_frames_256_511 = 39;
uint32 nni_tx_frames_512_1023 = 40;
uint32 nni_tx_frames_1024_1518 = 41;
uint32 nni_tx_frames_1519_2047 = 42;
uint32 nni_tx_frames_2048_4095 = 44;
uint32 nni_tx_frames_4096_9216 = 45;
uint32 nni_tx_frames_9217_16383 = 46;
uint32 nni_tx_frames = 47;
uint32 nni_tx_bytes = 48;
uint32 nni_tx_good_frames = 49;
uint32 nni_tx_unicast_frames = 50;
uint32 nni_tx_multicast_frames = 51;
uint32 nni_tx_broadcast_frames = 52;
uint32 nni_tx_pause_frames = 53;
uint32 nni_tx_pfc_frames = 54;
uint32 nni_tx_jabber_frames = 55;
uint32 nni_tx_fcs_errors = 56;
uint32 nni_tx_control_frames = 57;
uint32 nni_tx_oversize_frames = 58;
uint32 nni_tx_fragmented_frames = 59;
uint32 nni_tx_error_frames = 60;
uint32 nni_tx_vlan_frames = 61;
uint32 nni_tx_double_vlan_frames = 62;
uint32 nni_tx_runt_frames = 63;
uint32 nni_tx_underrun_frames = 64;
}
//PON statistics
message BalPonNiStatsInfo{
uint32 pon_ni_tx_packets = 1;
uint32 pon_ni_rx_omci = 2;
uint32 pon_ni_tx_omci = 3;
uint32 pon_ni_rx_xgem = 4;
uint32 pon_ni_tx_xgem = 5;
}
//Gem port based statistics
message BalPonGemStatsInfo{
uint32 pon_gem_rx_packets = 1;
uint32 pon_gem_rx_bytes = 2;
uint32 pon_gem_tx_packets = 3;
uint32 pon_gem_tx_bytes = 4;
}
//ONU statistics
message BalOnuStatsInfo{
uint32 onu_id = 1;
uint32 onu_rx_words = 2;
uint32 onu_rx_omci = 3;
uint32 onu_positive_drift = 4;
uint32 onu_negative_drift = 5;
}
enum BalIndStatsType{
BAL_IND_NNI_STATS = 0;
BAL_IND_PON_STATS = 1;
BAL_IND_PON_GEM_STATS = 2;
BAL_IND_ONU_STATS = 3;
}
message BalIndStatsInfo{
uint32 device_id = 1; //OLT number
uint32 pon_ni = 2; //pon interface number of the corresponding OLT
BalIndStatsType stats_type = 3; //type of statistics
BalNniStatsInfo nni_stats = 4; //nni statistics info
BalPonNiStatsInfo pon_ni_stats = 5; //pon based statistics
BalPonGemStatsInfo pon_gem_stats = 6; //gem port based statistics
BalOnuStatsInfo onu_stats = 7; //onu statistics
}
message BalOmciRespInfo{
bytes balOmciResp = 1; //response msg
uint32 pon_ni = 2; //pon interface number
uint32 onu_id = 3; //onu id
uint32 port_id = 4; //port id
uint32 crc_ok = 5; //crc status
}
message BalObjInd{
BalObjId objType = 1; //type of object for which the indications have been received
BalErrno status = 2; //status of the indication received from BAL utilities
string keyStr = 3; //key string containing additional data
oneof u {
BalSubscriberTerminalCfg onuDiscoveryInfo = 4; // ONU discovery info
bytes pktData = 5; //raw packet in case of object type is PACKET
}
}
message BalIndications{
oneof u {
BalObjInd balObjInfo = 1; //raw packet in case of object type is PACKET
BalAlarmInfo balAlarmInfo = 2; //alarm info from BAL
BalIndStatsInfo balStatsInfo = 3; //statistics info from BAL
BalOmciRespInfo balOmciRespInfo = 4; // OMCI response
}
string device_id = 5; //Deviced Id
}
service BalInd {
//Handling of bal indications from the device
rpc BalIndInfo(BalIndications) returns(BalErr) {}
}