VOL-3202: Report UNI port capability as part of port-created RPC
Change-Id: I91a1ac60775fbe0ba1bbab287cb4c8bccc74df2e
diff --git a/python/adapters/brcm_openomci_onu/brcm_openomci_onu_handler.py b/python/adapters/brcm_openomci_onu/brcm_openomci_onu_handler.py
index 1eecd7a..4fe1546 100644
--- a/python/adapters/brcm_openomci_onu/brcm_openomci_onu_handler.py
+++ b/python/adapters/brcm_openomci_onu/brcm_openomci_onu_handler.py
@@ -19,56 +19,51 @@
"""
from __future__ import absolute_import
-import six
-import arrow
-import structlog
+
import json
import random
-
from collections import OrderedDict
-from twisted.internet import reactor
-from twisted.internet.defer import inlineCallbacks, returnValue
-
-from heartbeat import HeartBeat
-from pyvoltha.adapters.extensions.events.device_events.onu.onu_active_event import OnuActiveEvent
-from pyvoltha.adapters.extensions.events.device_events.onu.onu_disabled_event import OnuDisabledEvent
-from pyvoltha.adapters.extensions.events.device_events.onu.onu_deleted_event import OnuDeletedEvent
-from pyvoltha.adapters.extensions.events.kpi.onu.onu_pm_metrics import OnuPmMetrics
-from pyvoltha.adapters.extensions.events.kpi.onu.onu_omci_pm import OnuOmciPmMetrics
-from pyvoltha.adapters.extensions.events.adapter_events import AdapterEvents
-
+import arrow
import pyvoltha.common.openflow.utils as fd
-from pyvoltha.common.utils.registry import registry
-from pyvoltha.adapters.common.frameio.frameio import hexify
-from pyvoltha.common.utils.nethelpers import mac_str_to_tuple
-from pyvoltha.adapters.common.kvstore.twisted_etcd_store import TwistedEtcdStore
-from voltha_protos.logical_device_pb2 import LogicalPort
-from voltha_protos.common_pb2 import OperStatus, ConnectStatus, AdminState
-from voltha_protos.device_pb2 import Port
-from voltha_protos.openflow_13_pb2 import OFPXMC_OPENFLOW_BASIC, ofp_port, OFPPS_LIVE, OFPPS_LINK_DOWN, \
- OFPPF_FIBER, OFPPF_1GB_FD
-from voltha_protos.inter_container_pb2 import InterAdapterMessageType, \
- InterAdapterOmciMessage, PortCapability, InterAdapterTechProfileDownloadMessage, InterAdapterDeleteGemPortMessage, \
- InterAdapterDeleteTcontMessage
-from voltha_protos.openolt_pb2 import OnuIndication
-from pyvoltha.adapters.extensions.omci.onu_device_entry import OnuDeviceEvents, \
- OnuDeviceEntry, IN_SYNC_KEY
+import six
+import structlog
+from heartbeat import HeartBeat
+from omci.brcm_mcast_task import BrcmMcastTask
from omci.brcm_mib_download_task import BrcmMibDownloadTask
-from omci.brcm_tp_setup_task import BrcmTpSetupTask
from omci.brcm_tp_delete_task import BrcmTpDeleteTask
+from omci.brcm_tp_setup_task import BrcmTpSetupTask
from omci.brcm_uni_lock_task import BrcmUniLockTask
from omci.brcm_vlan_filter_task import BrcmVlanFilterTask
from onu_gem_port import OnuGemPort
from onu_tcont import OnuTCont
from pon_port import PonPort
-from omci.brcm_mcast_task import BrcmMcastTask
-from uni_port import UniPort, UniType
-from uni_port import RESERVED_TRANSPARENT_VLAN
-from pyvoltha.common.tech_profile.tech_profile import TechProfile
-from pyvoltha.adapters.extensions.omci.tasks.omci_test_request import OmciTestRequest
-from pyvoltha.adapters.extensions.omci.omci_entities import AniG, Tcont, MacBridgeServiceProfile
+from pyvoltha.adapters.common.frameio.frameio import hexify
+from pyvoltha.adapters.common.kvstore.twisted_etcd_store import TwistedEtcdStore
+from pyvoltha.adapters.extensions.events.adapter_events import AdapterEvents
+from pyvoltha.adapters.extensions.events.device_events.onu.onu_active_event import OnuActiveEvent
+from pyvoltha.adapters.extensions.events.device_events.onu.onu_deleted_event import OnuDeletedEvent
+from pyvoltha.adapters.extensions.events.device_events.onu.onu_disabled_event import OnuDisabledEvent
+from pyvoltha.adapters.extensions.events.kpi.onu.onu_omci_pm import OnuOmciPmMetrics
+from pyvoltha.adapters.extensions.events.kpi.onu.onu_pm_metrics import OnuPmMetrics
from pyvoltha.adapters.extensions.omci.omci_defs import EntityOperations, ReasonCodes
+from pyvoltha.adapters.extensions.omci.omci_entities import AniG, Tcont, MacBridgeServiceProfile
+from pyvoltha.adapters.extensions.omci.onu_device_entry import OnuDeviceEvents, \
+ OnuDeviceEntry, IN_SYNC_KEY
+from pyvoltha.adapters.extensions.omci.tasks.omci_test_request import OmciTestRequest
+from pyvoltha.common.tech_profile.tech_profile import TechProfile
+from pyvoltha.common.utils.registry import registry
+from twisted.internet import reactor
+from twisted.internet.defer import inlineCallbacks, returnValue
+from uni_port import RESERVED_TRANSPARENT_VLAN
+from uni_port import UniPort, UniType
+from voltha_protos.common_pb2 import OperStatus, ConnectStatus, AdminState
+from voltha_protos.device_pb2 import Port
+from voltha_protos.inter_container_pb2 import InterAdapterMessageType, \
+ InterAdapterOmciMessage, InterAdapterTechProfileDownloadMessage, InterAdapterDeleteGemPortMessage, \
+ InterAdapterDeleteTcontMessage
+from voltha_protos.openflow_13_pb2 import OFPXMC_OPENFLOW_BASIC
+from voltha_protos.openolt_pb2 import OnuIndication
from voltha_protos.voltha_pb2 import TestResponse
OP = EntityOperations
@@ -200,43 +195,6 @@
if self.omci_cc is not None:
self.omci_cc.receive_message(msg)
- def get_ofp_port_info(self, device, port_no):
- self.log.debug('get-ofp-port-info', port_no=port_no, device_id=device.id)
- cap = OFPPF_1GB_FD | OFPPF_FIBER
-
- hw_addr = mac_str_to_tuple('08:%02x:%02x:%02x:%02x:%02x' %
- ((device.parent_port_no >> 8 & 0xff),
- device.parent_port_no & 0xff,
- (port_no >> 16) & 0xff,
- (port_no >> 8) & 0xff,
- port_no & 0xff))
-
- uni_port = self.uni_port(int(port_no))
- name = device.serial_number + '-' + str(uni_port.mac_bridge_port_num)
- self.log.debug('ofp-port-name', port_no=port_no, name=name, uni_port=uni_port)
-
- ofstate = OFPPS_LINK_DOWN
- if uni_port.operstatus is OperStatus.ACTIVE:
- ofstate = OFPPS_LIVE
-
- return PortCapability(
- port=LogicalPort(
- ofp_port=ofp_port(
- name=name,
- hw_addr=hw_addr,
- config=0,
- state=ofstate,
- curr=cap,
- advertised=cap,
- peer=cap,
- curr_speed=OFPPF_1GB_FD,
- max_speed=OFPPF_1GB_FD
- ),
- device_id=device.id,
- device_port_no=port_no
- )
- )
-
# Called once when the adapter creates the device/onu instance
@inlineCallbacks
def activate(self, device):
@@ -1869,7 +1827,9 @@
self.log.debug('uni-port-inputs', uni_no=uni_no, uni_id=uni_id, uni_name=uni_name, uni_type=uni_type,
entity_id=entity_id, mac_bridge_port_num=mac_bridge_port_num, serial_number=device.serial_number)
- uni_port = UniPort.create(self, uni_name, uni_id, uni_no, uni_name, uni_type)
+ uni_port = UniPort.create(self, uni_name, uni_id, uni_no, uni_name,
+ device.parent_port_no, device.serial_number,
+ uni_type,)
uni_port.entity_id = entity_id
uni_port.enabled = True
uni_port.mac_bridge_port_num = mac_bridge_port_num