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