Remove dependency of ONU port status to query SADIS cache

Also, push IP address to ONU event when the PPPoE session is terminated

Change-Id: Ifbee5b3162ec411a3b88ab87c9a820ee84a838af
diff --git a/app/src/main/java/org/opencord/bng/impl/PppoeHandlerRelay.java b/app/src/main/java/org/opencord/bng/impl/PppoeHandlerRelay.java
index 237ecce..7b60f9e 100644
--- a/app/src/main/java/org/opencord/bng/impl/PppoeHandlerRelay.java
+++ b/app/src/main/java/org/opencord/bng/impl/PppoeHandlerRelay.java
@@ -33,7 +33,6 @@
 import org.onosproject.core.CoreService;
 import org.onosproject.event.AbstractListenerManager;
 import org.onosproject.net.ConnectPoint;
-import org.onosproject.net.Port;
 import org.onosproject.net.config.ConfigFactory;
 import org.onosproject.net.config.NetworkConfigEvent;
 import org.onosproject.net.config.NetworkConfigListener;
@@ -429,6 +428,8 @@
                 if (lcp.getCode() == GenericPpp.CODE_TERM_REQ) {
                     log.info("LCP Termination request from PPPoE server");
                     eventType = PppoeEvent.EventType.SESSION_TERMINATION;
+                    // When session termination push the correct IP in the event
+                    assignedIpAddress = attInfo.ipAddress();
                 }
                 break;
 
@@ -442,6 +443,8 @@
                         case PADT:
                             log.info("PADT received from PPPoE server");
                             eventType = PppoeEvent.EventType.SESSION_TERMINATION;
+                            // When session termination push the correct IP in the event
+                            assignedIpAddress = attInfo.ipAddress();
                             break;
                         default:
                     }
@@ -547,7 +550,8 @@
 
         var oltConnectPoints = oltDeviceIds.stream()
                 .flatMap(deviceId -> deviceService.getPorts(deviceId).stream())
-                .filter(Port::isEnabled)
+                // You could filter the enabled ports only, but this can create
+                // problems when ONU are disabled but subscriber is still auth.
                 .filter(port -> {
                     var portName = port.annotations().value("portName");
                     // FIXME: here we support a single UNI per ONU port