SEBA-644 igmpproxy should forward IGMP to BNG on a per pod basis or
a per OLT basis.
- "igmpOnPodBasis" config property added. If true ongoing IGMP
messages are evaluated on PON basis; they are evaluated
OLT basis otherwise.
Change-Id: Ic931598deb99f3d09a5bc5d8117de0c56e92a039
diff --git a/src/main/java/org/opencord/igmpproxy/IgmpproxyConfig.java b/src/main/java/org/opencord/igmpproxy/IgmpproxyConfig.java
index 2e36a50..b59c2c1 100644
--- a/src/main/java/org/opencord/igmpproxy/IgmpproxyConfig.java
+++ b/src/main/java/org/opencord/igmpproxy/IgmpproxyConfig.java
@@ -38,6 +38,7 @@
private static final Boolean DEFAULT_CONNECT_POINT_MODE = true;
private static final Boolean DEFAULT_PIMSSM_INTERWORKING = false;
private static final Boolean DEFAULT_IGMP_PROVISIONING_SUPPORT = Boolean.FALSE;
+ private static final Boolean DEFAULT_IGMP_ON_POD_BASIS = Boolean.FALSE;
protected static final String CONNECT_POINT_MODE = "globalConnectPointMode";
protected static final String CONNECT_POINT = "globalConnectPoint";
@@ -55,7 +56,7 @@
private static final String PIMSSM_INTERWORKING = "pimSSmInterworking";
private static final String SOURCE_DEV_PORT = "sourceDeviceAndPort";
private static final String ENABLE_IGMP_PROVISIONING = "enableIgmpProvisioning";
-
+ private static final String IGMP_ON_POD_BASIS = "igmpOnPodBasis";
/**
* Gets the value of a string property, protecting for an empty
@@ -205,4 +206,12 @@
return Boolean.parseBoolean(getStringProperty(ENABLE_IGMP_PROVISIONING,
DEFAULT_IGMP_PROVISIONING_SUPPORT.toString()));
}
+
+ public boolean igmpOnPodBasis() {
+ if (object == null || object.path(IGMP_ON_POD_BASIS) == null) {
+ return DEFAULT_IGMP_ON_POD_BASIS;
+ }
+ return Boolean.parseBoolean(getStringProperty(IGMP_ON_POD_BASIS,
+ DEFAULT_IGMP_ON_POD_BASIS.toString()));
+ }
}