pmcs message sequence completed
Change-Id: Iacf4a6f1371ec0f237e36d54e0630ac46b4f59be
diff --git a/voltha/adapters/microsemi_olt/microsemi_olt.py b/voltha/adapters/microsemi_olt/microsemi_olt.py
index 532915d..098140c 100644
--- a/voltha/adapters/microsemi_olt/microsemi_olt.py
+++ b/voltha/adapters/microsemi_olt/microsemi_olt.py
@@ -132,12 +132,19 @@
flows=flows, groups=groups)
def send_proxied_message(self, proxy_address, msg):
- log.info('send-proxied-message', proxy_address=proxy_address, msg=msg)
- # TODO make this more efficient
- omci_proxy = OMCIProxy(proxy_address=proxy_address,
- msg=msg)
- omci_proxy.run()
- del omci_proxy
+ if msg.opcode == "0x302a":
+ log.info('send-omci-proxied-message', proxy_address=proxy_address, msg=msg)
+ # TODO make this more efficient
+ omci_proxy = OMCIProxy(proxy_address=proxy_address,
+ msg=msg)
+ omci_proxy.run()
+ del omci_proxy
+
+ else:
+ log.info('send-proxied-message', proxy_address=proxy_address, msg=msg)
+ api_proxy = APIProxy(device.proxy_address,msg)
+ api_proxy.run()
+ del api_proxy
def receive_proxied_message(self, proxy_address, msg):
raise NotImplementedError()
diff --git a/voltha/adapters/pmcs_onu/pmcs_onu.py b/voltha/adapters/pmcs_onu/pmcs_onu.py
index f4e11e0..c9812e0 100644
--- a/voltha/adapters/pmcs_onu/pmcs_onu.py
+++ b/voltha/adapters/pmcs_onu/pmcs_onu.py
@@ -36,7 +36,11 @@
from voltha.extensions.omci.omci_entities import CircuitPack
from voltha.extensions.omci.omci_frame import OmciFrame
+<<<<<<< HEAD
from voltha.extensions.omci.omci_messages import OmciGet, OmciGetResponse
+=======
+from voltha.extensions.omci.omci_messages import OmciGet, OmciGetResponse, OmciCreate
+>>>>>>> pmcs message sequence completed
_ = third_party
log = structlog.get_logger()
@@ -213,6 +217,7 @@
def _initialize_onu(self, device):
# DO things to the ONU
+
# |###[ OmciFrame ]###
# | transaction_id= 1
# | message_type= 79
@@ -223,33 +228,12 @@
# | | entity_id = 0
# | omci_trailer= 40
- msg = OmciMibReset(entity_class=2, entity_id=0)
- response = yield send_proxied_message(message, device.proxy_address)
+ # OmciMibReset
+ msg = OmciMibReset(entity_class = 2, entity_id = 0)
+ response = yield self.adapter_agent.send_proxied_message(device.proxy_address, msg)
- if OmciMibResetResponse in response ...
-
- # ###[ PAS5211EventFrameReceived ]###
- # length = 48
- # port_type = 0
- # port_id = 0
- # management_frame= 1
- # classification_entity= 21
- # l3_offset = 32
- # l4_offset = 19
- # ignored = 24576
- # \frame \
- # |###[ OmciFrame ]###
- # | transaction_id= 1
- # | message_type= 47
- # | omci = 10
- # | \omci_message\
- # | |###[ OmciMibResetResponse ]###
- # | | entity_class= 2
- # | | entity_id = 0
- # | | success_code= 0
- # | omci_trailer= 40
- # |###[ Raw ]###
- # | load = "nz\x9d'"
+ if not OmciMibResetResponse in response:
+ pass
# ###[ PAS5211Dot3 ]###
# dst = 00:0c:d5:00:01:00
@@ -273,7 +257,14 @@
# load = '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
- # ###[ PAS5211Dot3 ]###
+
+ msg = PAS5211GetOnuAllocs()
+ response = yield self.adapter_agent.send_proxied_message(device.proxy_address, msg)
+
+ if not PAS5211GetOnuAllocsResponse in response:
+ pass
+
+ # ###[ PAS5211Dot3 ]###
# dst = 00:0c:d5:00:01:00
# src = 90:e2:ba:82:f9:77
# len = 30
@@ -294,6 +285,13 @@
# ###[ Raw ]###
# load = '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
+
+ msg = PAS5211GetSnInfo(serial_number=device.serial_number)
+ response = yield self.adapter_agent.send_proxied_message(device.proxy_address, msg)
+
+ if not PAS5211GetSnInfoResponse in response:
+ pass
+
# ###[ PAS5211Dot3 ]###
# dst = 00:0c:d5:00:01:00
# src = 90:e2:ba:82:f9:77
@@ -314,22 +312,226 @@
# nothing = 0
# ###[ Raw ]###
# load = '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
+
+ msg = PAS5211GetOnusRange()
+ response = yield self.adapter_agent.send_proxied_message(device.proxy_address, msg)
- # ###[ PAS5211MsgSendFrame ]###
- # length = 44
- # port_type = 0
- # port_id = 0
- # management_frame= 1
- # \frame \
- # |###[ OmciFrame ]###
- # | transaction_id= 2
- # | message_type= 72
- # | omci = 10
- # | \omci_message\
- # | |###[ OmciSet ]###
- # | | entity_class= 262
- # | | entity_id = 32769
- # | | attributes_mask= 32768
- # | | data = {'alloc_id': 1000}
- # | omci_trailer= 40
+ if not PAS5211GetOnusRangeResponse in response:
+ pass
+
+ # | ###[ OmciFrame ]###
+ # | transaction_id = 2
+ # | message_type = 72
+ # | omci = 10
+ # | \omci_message \
+ # | | ###[ OmciSet ]###
+ # | | entity_class = 262
+ # | | entity_id = 32769
+ # | | attributes_mask = 32768
+ # | | data = {'alloc_id': 1000}
+ # | omci_trailer = 40
+
+ # OmciSet
+ # TODO: maskdata
+ msg = OmciSet(entity_class = 262, entity_id = 32769, attributes_mask = 32768,
+ data=dict(
+ alloc_id = 1000
+ ))
+ response = yield self.adapter_agent.send_proxied_message(device.proxy_address, msg)
+
+ if not OmciSetResponse in response:
+ pass
+
+
+ # ###[ PAS5211MsgSendFrame ]###
+ # length = 44
+ # port_type = 0
+ # port_id = 0
+ # management_frame = 1
+ # \frame \
+ # | ###[ OmciFrame ]###
+ # | transaction_id = 3
+ # | message_type = 68
+ # | omci = 10
+ # | \omci_message \
+ # | | ###[ OmciCreate ]###
+ # | | entity_class = 45
+ # | | entity_id = 1
+ # | | data = {'max_age': 5120, 'hello_time': 512, 'priority': 32768, 'port_bridging_ind': 0,
+ # 'spanning_tree_ind': 0, 'unknown_mac_address_discard': 0, 'mac_learning_depth': 128,
+ # 'learning_ind': 0, 'forward_delay': 3840}
+ # | | ###[ Raw ]###
+ # | | load = '\x00\x00\x00\n\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
+ # | omci_trailer = 40
+
+
+ # OmciCreate
+ msg = OmciCreate(entity_class=45, entity_id=1,
+ data=dict(
+ max_age = 5120, hello_time = 512, priority = 32768,
+ port_bridging_ind = 0, spanning_tree_ind= 0, unknown_mac_address_discard= 0, mac_learning_depth=128
+ learning_ind= 0, forward_delay= 3840
+ ))
+ response = yield self.adapter_agent.send_proxied_message(device.proxy_address, msg)
+
+ if not OmciCreateResponse in response:
+ pass
+
+
+ # |###[ OmciFrame ]###
+ # | transaction_id= 4
+ # | message_type= 68
+ # | omci = 10
+ # | \omci_message\
+ # | |###[ OmciCreate ]###
+ # | | entity_class= 47
+ # | | entity_id = 0
+ # | | data = {'tp_pointer': 257, 'encapsulation_methods': 1, 'port_num': 0, 'port_priority': 10, 'tp_type': 1, 'port_path_cost': 100, 'port_spanning_tree_in': 0, 'lan_fcs_ind': 0, 'bridge_id_pointer': 1}
+ # | omci_trailer= 40
+
+ # OmciCreate
+ msg = OmciCreate(entity_class=47, entity_id=0,
+ data=dict(
+ tp_pointer= 257, encapsulation_methods = 1,
+ port_num = 0, port_priority = 10, tp_type = 1,
+ port_path_cost = 100, port_spanning_tree_in = 0,
+ lan_fcs_ind = 0, bridge_id_pointer = 1
+ ))
+ response = yield self.adapter_agent.send_proxied_message(device.proxy_address, msg)
+
+ if not OmciCreateResponse in response:
+ pass
+
+ # |###[ OmciFrame ]###
+ # | transaction_id= 5
+ # | message_type= 68
+ # | omci = 10
+ # | \omci_message\
+ # | |###[ OmciCreate ]###
+ # | | entity_class= 171
+ # | | entity_id = 0
+ # | | data = {'association_type': 2, 'associated_me_pointer': 257}
+ # | omci_trailer= 40
+
+ msg = OmciCreate(entity_class=171, entity_id=0,
+ data=dict(
+ association_type= 2, associated_me_pointer= 257
+ ))
+ response = yield self.adapter_agent.send_proxied_message(device.proxy_address, msg)
+
+ if not OmciCreateResponse in response:
+ pass
+
+ # |###[ OmciFrame ]###
+ # | transaction_id= 6
+ # | message_type= 72
+ # | omci = 10
+ # | \omci_message\
+ # | |###[ OmciSet ]###
+ # | | entity_class= 171
+ # | | entity_id = 0
+ # | | attributes_mask= 47616
+ # | | data = {'association_type': 2, 'input_tpid': 33024, 'associated_me_pointer': 257, 'downstream_mode': 0, 'output_tpid': 33024}
+ # | omci_trailer= 40
+
+ msg = OmciSet(entity_class = 171, entity_id = 0, attributes_mask = 47616,
+ data=dict(
+ association_type = 2, input_tpid = 33024, associated_me_pointer= 257,
+ downstream_mode= 0, output_tpid= 33024
+ ))
+
+ response = yield self.adapter_agent.send_proxied_message(device.proxy_address, msg)
+
+ if not OmciSetResponse in response:
+ pass
+
+ # |###[ OmciFrame ]###
+ # | transaction_id= 7
+ # | message_type= 68
+ # | omci = 10
+ # | \omci_message\
+ # | |###[ OmciCreate ]###
+ # | | entity_class= 130
+ # | | entity_id = 1
+ # | | data = {'tp_pointer': 65535, 'unmarked_frame_option': 1, 'interwork_tp_pointer_for_p_bit_priority_6': 65535, 'interwork_tp_pointer_for_p_bit_priority_7': 65535, 'interwork_tp_pointer_for_p_bit_priority_4': 65535, 'interwork_tp_pointer_for_p_bit_priority_5': 65535, 'interwork_tp_pointer_for_p_bit_priority_2': 65535, 'interwork_tp_pointer_for_p_bit_priority_3': 65535, 'interwork_tp_pointer_for_p_bit_priority_0': 65535, 'interwork_tp_pointer_for_p_bit_priority_1': 65535, 'tp_type': 0, 'default_p_bit_marking': 0}
+ # | omci_trailer= 40
+
+ msg = OmciCreate(entity_class=130, entity_id=1,
+ data=dict(
+ tp_pointer= 65535, unmarked_frame_option= 1, interwork_tp_pointer_for_p_bit_priority_6= 65535,
+ interwork_tp_pointer_for_p_bit_priority_7= 65535, interwork_tp_pointer_for_p_bit_priority_4= 65535,
+ interwork_tp_pointer_for_p_bit_priority_5= 65535, interwork_tp_pointer_for_p_bit_priority_2= 65535,
+ interwork_tp_pointer_for_p_bit_priority_3= 65535, interwork_tp_pointer_for_p_bit_priority_0: 65535,
+ interwork_tp_pointer_for_p_bit_priority_1= 65535, tp_type= 0, default_p_bit_marking= 0}
+ ))
+ response = yield self.adapter_agent.send_proxied_message(device.proxy_address, msg)
+
+ if not OmciCreateResponse in response:
+ pass
+
+ # |###[ OmciFrame ]###
+ # | transaction_id= 8
+ # | message_type= 68
+ # | omci = 10
+ # | \omci_message\
+ # | |###[ OmciCreate ]###
+ # | | entity_class= 130
+ # | | entity_id = 1
+ # | | data = {'tp_pointer': 1, 'encapsulation_methods': 1, 'port_num': 1, 'port_priority': 3, 'tp_type': 5, 'port_path_cost': 32, 'port_spanning_tree_in': 1, 'lan_fcs_ind': 0, 'bridge_id_pointer': 1}
+ # | omci_trailer= 40
+
+ msg = OmciCreate(entity_class=130, entity_id=1,
+ data=dict(
+ tp_pointer= 1, encapsulation_methods= 1, port_num= 1, port_priority= 3, tp_type= 5,
+ port_path_cost= 32, port_spanning_tree_in= 1, lan_fcs_ind= 0, bridge_id_pointer= 1
+ ))
+ response = yield self.adapter_agent.send_proxied_message(self, device.proxy_address, msg)
+
+ if not OmciCreateResponse in response:
+ pass
+
+ # |###[ OmciFrame ]###
+ # | transaction_id= 9
+ # | message_type= 68
+ # | omci = 10
+ # | \omci_message\
+ # | |###[ OmciCreate ]###
+ # | | entity_class= 268
+ # | | entity_id = 1
+ # | | data = {'priority_queue_pointer_downstream': 0, 'direction': 3, 'tcont_pointer': 32769, 'traffic_descriptor_profile_pointer': 0, 'traffic_management_pointer_upstream': 4, 'port_id': 1000}
+ # | omci_trailer= 40
+
+ msg = OmciCreate(entity_class=268, entity_id=1,
+ data=dict(
+ priority_queue_pointer_downstream= 0, direction= 3, tcont_pointer= 32769,
+ traffic_descriptor_profile_pointer= 0, traffic_management_pointer_upstream= 4,
+ port_id= 1000
+ ))
+ response = yield self.adapter_agent.send_proxied_message(device.proxy_address, msg)
+
+ if not OmciCreateResponse in response:
+ pass
+
+ # |###[ OmciFrame ]###
+ # | transaction_id= 10
+ # | message_type= 68
+ # | omci = 10
+ # | \omci_message\
+ # | |###[ OmciCreate ]###
+ # | | entity_class= 266
+ # | | entity_id = 1
+ # | | data = {'gem_port_network_ctp_pointer': 1, 'gal_profile_pointer': 0, 'service_profile_pointer': 1, 'interworking_option': 5, 'interworking_tp_pointer': 0}
+ # | omci_trailer= 40
+
+ msg = OmciCreate(entity_class=266, entity_id=1,
+ data=dict(
+ gem_port_network_ctp_pointer= 1, gal_profile_pointer= 0,
+ service_profile_pointer= 1, interworking_option= 5,
+ interworking_tp_pointer= 0
+ ))
+ response = yield self.adapter_agent.send_proxied_message(device.proxy_address, msg)
+
+ if not OmciCreateResponse in response:
+ pass
+
pass
\ No newline at end of file