| // |
| // 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) {} |
| } |