diff --git a/VERSION b/VERSION
index 7bf4b6a..e30309f 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-2.4.6
+2.4.7
diff --git a/pyvoltha/adapters/iadapter.py b/pyvoltha/adapters/iadapter.py
index 6b8c66c..b3b906f 100644
--- a/pyvoltha/adapters/iadapter.py
+++ b/pyvoltha/adapters/iadapter.py
@@ -98,15 +98,6 @@
         log.debug('get_ofp_device_info_ends', device_id=device.id)
         return ofp_device_info
 
-    def get_ofp_port_info(self, device, port_no):
-        log.debug('get_ofp_port_info_start', device_id=device.id,
-                  port_no=port_no)
-        ofp_port_info = self.devices_handlers[device.id].get_ofp_port_info(
-            device, port_no)
-        log.debug('get_ofp_port_info_ends', device_id=device.id,
-                  port_no=port_no)
-        return ofp_port_info
-
     def adopt_device(self, device):
         log.debug('adopt_device', device_id=device.id)
         self.devices_handlers[device.id] = self.device_handler_class(self,
diff --git a/pyvoltha/adapters/interface.py b/pyvoltha/adapters/interface.py
index e5f8e00..647155a 100644
--- a/pyvoltha/adapters/interface.py
+++ b/pyvoltha/adapters/interface.py
@@ -271,17 +271,6 @@
         :return: Proto Message (TBD)
         """
 
-    def get_ofp_port_info(device, port_no):
-        """
-        Retrieve the port info. This includes the ofp_port. The existing ofp
-        structure can be used, or all the attributes get added to the Port
-        definitions or a new proto definition gets created.  This API will allow
-        the Core to create a LogicalPort associated with this device.
-        :param device: device
-        :param port_no: port number
-        :return: Proto Message (TBD)
-        """
-
     def process_inter_adapter_message(msg):
         """
         Called when the adapter receives a message that was sent to it directly
diff --git a/pyvoltha/adapters/kafka/adapter_request_facade.py b/pyvoltha/adapters/kafka/adapter_request_facade.py
index b0001fe..1d9b57f 100644
--- a/pyvoltha/adapters/kafka/adapter_request_facade.py
+++ b/pyvoltha/adapters/kafka/adapter_request_facade.py
@@ -130,22 +130,6 @@
             return False, Error(code=ErrorCode.INVALID_PARAMETERS,
                                 reason="device-invalid")
 
-    def get_ofp_port_info(self, device, port_no, **kwargs):
-        d = Device()
-        if device:
-            device.Unpack(d)
-        else:
-            return False, Error(code=ErrorCode.INVALID_PARAMETERS,
-                                reason="device-invalid")
-        p = IntType()
-        if port_no:
-            port_no.Unpack(p)
-        else:
-            return False, Error(code=ErrorCode.INVALID_PARAMETERS,
-                                reason="port-no-invalid")
-
-        return True, self.adapter.get_ofp_port_info(d, p.val)
-
     def reconcile_device(self, device, **kwargs):
         d = Device()
         if device:
diff --git a/requirements.txt b/requirements.txt
index 8232468..13e69b3 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -18,4 +18,4 @@
 structlog==19.2.0
 transitions==0.6.4
 txaioetcd==0.3.0
-voltha-protos==3.3.2
+voltha-protos==3.3.9
