diff --git a/voltha/adapters/openolt/openolt_device.py b/voltha/adapters/openolt/openolt_device.py
index 0656b79..2b44547 100644
--- a/voltha/adapters/openolt/openolt_device.py
+++ b/voltha/adapters/openolt/openolt_device.py
@@ -129,11 +129,7 @@
         olt_indication = event.kwargs.get('ind', None)
 	self.log.debug("olt indication", olt_ind=olt_indication)
 
-        if not hasattr(olt_indication, 'mac') or \
-                not olt_indication.mac:
-            mac = '00:00:00:00:00:' + '{:02x}'.format(self.device_num)
-        else:
-            mac = olt_indication.mac
+        dpid = '00:00:' + self.ip_hex(self.host_and_port.split(":")[0])
 
         # Create logical OF device
         ld = LogicalDevice(
@@ -149,7 +145,7 @@
                 )
             )
         )
-        ld_initialized = self.adapter_agent.create_logical_device(ld, dpid=mac)
+        ld_initialized = self.adapter_agent.create_logical_device(ld, dpid=dpid)
         self.logical_device_id = ld_initialized.id
 
         # Update phys OF device
@@ -490,3 +486,14 @@
                     self.flow_mgr.add_flow(flow, is_down_stream)
                 except Exception as e:
                     self.log.exception('failed-to-install-flow', e=e, flow=flow)
+
+    # There has to be a better way to do this
+    def ip_hex(self, ip):
+        octets = ip.split(".")
+        hex_ip = []
+        for octet in octets:
+            octet_hex = hex(int(octet))
+            octet_hex = octet_hex.split('0x')[1]
+            octet_hex = octet_hex.rjust(2, '0')
+            hex_ip.append(octet_hex)
+        return ":".join(hex_ip)
diff --git a/voltha/adapters/openolt/protos/openolt.proto b/voltha/adapters/openolt/protos/openolt.proto
index 7041800..c9f6d98 100644
--- a/voltha/adapters/openolt/protos/openolt.proto
+++ b/voltha/adapters/openolt/protos/openolt.proto
@@ -63,10 +63,6 @@
 
 message OltIndication {
     string oper_state = 1;	// up, down
-    string mac = 2;
-    string serial_number = 3;
-    string manufacturer = 4;
-    string name = 5;
 }
 
 message IntfIndication {
