diff --git a/ansible/roles/docker-compose/tasks/main.yml b/ansible/roles/docker-compose/tasks/main.yml
index 3845f4a..c5bb31a 100644
--- a/ansible/roles/docker-compose/tasks/main.yml
+++ b/ansible/roles/docker-compose/tasks/main.yml
@@ -1,5 +1,5 @@
 - name: Executable is present
   get_url:
-    url: https://github.com/docker/compose/releases/download/1.6.2/docker-compose-Linux-x86_64
+    url: https://github.com/docker/compose/releases/download/1.9.0/docker-compose-Linux-x86_64
     dest: /usr/local/bin/docker-compose
     mode: 0755
diff --git a/compose/docker-compose-auth-test.yml b/compose/docker-compose-auth-test.yml
index bffff03..4b12ef5 100644
--- a/compose/docker-compose-auth-test.yml
+++ b/compose/docker-compose-auth-test.yml
@@ -21,6 +21,8 @@
    - "8101:8101" # ssh
    - "6653:6653" # OF
    - "8181:8181" # UI
+  #environment:
+  #  ONOS_APPS: openflow,drivers,org.opencord.aaa,org.opencord.cord-config,org.onosproject.olt
   networks:
     authnet:
      ipv4_address: 172.25.0.200
diff --git a/compose/docker-compose-system-test.yml b/compose/docker-compose-system-test.yml
index 3689dc9..028cbcb 100644
--- a/compose/docker-compose-system-test.yml
+++ b/compose/docker-compose-system-test.yml
@@ -195,7 +195,7 @@
       "-v",
       "--consul=${DOCKER_HOST_IP}:8500",
       "--fluentd=fluentd:24224",
-      "--controller=${DOCKER_HOST_IP}:6633",
+      "--controller=${DOCKER_HOST_IP}:6653",
       "--grpc-endpoint=@voltha-grpc",
       "--instance-id-is-container-name",
       "-v"
diff --git a/docker/config/netcfg.json b/docker/config/netcfg.json
index f7d9d2a..69a5dbc 100644
--- a/docker/config/netcfg.json
+++ b/docker/config/netcfg.json
@@ -14,7 +14,7 @@
                 "driver" : "pmc-olt"
             },
             "accessDevice": {
-                "uplink": "129",
+                "uplink": "0",
                 "vlan": "1000"
             }
         }
diff --git a/ofagent/agent.py b/ofagent/agent.py
index a222480..d1a56f7 100644
--- a/ofagent/agent.py
+++ b/ofagent/agent.py
@@ -163,7 +163,7 @@
             return ports
 
     stub = MockRpc()
-    agents = [Agent('localhost:6633', 256 + i, stub).start() for i in range(n)]
+    agents = [Agent('localhost:6653', 256 + i, stub).start() for i in range(n)]
 
     def shutdown():
         [a.stop() for a in agents]
diff --git a/ofagent/main.py b/ofagent/main.py
index c1e531b..f2e8122 100755
--- a/ofagent/main.py
+++ b/ofagent/main.py
@@ -29,7 +29,7 @@
 defs = dict(
     config=os.environ.get('CONFIG', './ofagent.yml'),
     consul=os.environ.get('CONSUL', 'localhost:8500'),
-    controller=os.environ.get('CONTROLLER', 'localhost:6633'),
+    controller=os.environ.get('CONTROLLER', 'localhost:6653'),
     external_host_address=os.environ.get('EXTERNAL_HOST_ADDRESS',
                                          get_my_primary_local_ipv4()),
     grpc_endpoint=os.environ.get('GRPC_ENDPOINT', 'localhost:50055'),
diff --git a/voltha/adapters/maple_olt/README.md b/voltha/adapters/maple_olt/README.md
index d9b4aaa..c4991c7 100644
--- a/voltha/adapters/maple_olt/README.md
+++ b/voltha/adapters/maple_olt/README.md
@@ -144,5 +144,5 @@
 $ cd <LOCATION_OF_VOLTHA>
 $ sudo -s
 # . ./env.sh
-(venv-linux) # PYTHONPATH=$HOME/dev/voltha/voltha/adapters/tibit ./oftest/oft --test-dir=olt-oftest/ -i 1@enp1s0f0 -i 2@enp1s0f1 --port 6633 -V 1.3 -t "olt_port=1;onu_port=2;in_out_port=1;device_type='tibit'" olt-complex.TestScenario1SingleOnu
+(venv-linux) # PYTHONPATH=$HOME/dev/voltha/voltha/adapters/tibit ./oftest/oft --test-dir=olt-oftest/ -i 1@enp1s0f0 -i 2@enp1s0f1 --port 6653 -V 1.3 -t "olt_port=1;onu_port=2;in_out_port=1;device_type='tibit'" olt-complex.TestScenario1SingleOnu
 ```
diff --git a/voltha/adapters/tibit_olt/README.md b/voltha/adapters/tibit_olt/README.md
index d37856e..66d97a1 100644
--- a/voltha/adapters/tibit_olt/README.md
+++ b/voltha/adapters/tibit_olt/README.md
@@ -145,5 +145,5 @@
 $ cd <LOCATION_OF_VOLTHA>
 $ sudo -s
 # . ./env.sh
-(venv-linux) # PYTHONPATH=$HOME/cord/incubator/voltha/voltha/extensions/eoam ./oftest/oft --test-dir=olt-oftest/ -i 1@enp1s0f0 -i 2@enp1s0f1 --port 6633 -V 1.3 -t "olt_port=1;onu_port=2;in_out_port=1;device_type='tibit'" olt-complex.TestScenario1SingleOnu
+(venv-linux) # PYTHONPATH=$HOME/cord/incubator/voltha/voltha/extensions/eoam ./oftest/oft --test-dir=olt-oftest/ -i 1@enp1s0f0 -i 2@enp1s0f1 --port 6653 -V 1.3 -t "olt_port=1;onu_port=2;in_out_port=1;device_type='tibit'" olt-complex.TestScenario1SingleOnu
 ```
diff --git a/voltha/core/flow_decomposer.py b/voltha/core/flow_decomposer.py
index 27cf1ce..b8221b5 100644
--- a/voltha/core/flow_decomposer.py
+++ b/voltha/core/flow_decomposer.py
@@ -21,8 +21,13 @@
 from copy import copy, deepcopy
 from hashlib import md5
 
+import structlog
+
 from voltha.protos import openflow_13_pb2 as ofp
 
+log = structlog.get_logger()
+
+
 # aliases
 ofb_field = ofp.ofp_oxm_ofb_field
 action = ofp.ofp_action
@@ -439,7 +444,13 @@
         in_port_no = get_in_port(flow)
         out_port_no = get_out_port(flow)  # may be None
 
+        device_rules = {}  # accumulator
+
         route = self.get_route(in_port_no, out_port_no)
+        if route is None:
+            log.error('no-route', in_port_no=in_port_no,
+                      out_port_no=out_port_no, comment='ignoring flow')
+            return device_rules
 
         assert len(route) == 2
         ingress_hop, egress_hop = route
@@ -450,8 +461,6 @@
         def is_upstream():
             return not is_downstream()
 
-        device_rules = {}  # accumulator
-
         if out_port_no is not None and \
                         (out_port_no & 0x7fffffff) == ofp.OFPP_CONTROLLER:
 
diff --git a/voltha/core/logical_device_agent.py b/voltha/core/logical_device_agent.py
index 4e8eec4..e34f89b 100644
--- a/voltha/core/logical_device_agent.py
+++ b/voltha/core/logical_device_agent.py
@@ -692,7 +692,7 @@
                     return [route[0], None]
             raise Exception('not a single downstream route')
 
-        return self._routes[(ingress_port_no, egress_port_no)]
+        return self._routes.get((ingress_port_no, egress_port_no))
 
     def get_all_default_rules(self):
         self._assure_cached_tables_up_to_date()
