configurable PPPoE flow per service
Change-Id: I71905b183faf700dd087f5bb001f502af27117ee
diff --git a/app/src/main/java/org/opencord/sadis/impl/SubscriberAndDeviceInformationConfig.java b/app/src/main/java/org/opencord/sadis/impl/SubscriberAndDeviceInformationConfig.java
index 958d8d7..5923204 100644
--- a/app/src/main/java/org/opencord/sadis/impl/SubscriberAndDeviceInformationConfig.java
+++ b/app/src/main/java/org/opencord/sadis/impl/SubscriberAndDeviceInformationConfig.java
@@ -78,6 +78,7 @@
* "configuredDacAddress" : string,
* "isDhcpRequired" : string,
* "isIgmpRequired" : string,
+ * "isPppoeRequired" : string,
* "serviceName" : string
* }
* ]
@@ -108,6 +109,7 @@
private static final String SERVICE_NAME = "serviceName";
private static final String IS_DHCP_REQ = "isDhcpRequired";
private static final String IS_IGMP_REQ = "isIgmpRequired";
+ private static final String IS_PPPOE_REQ = "isPppoeRequired";
private static final String MAC_ADDRESS = "configuredMacAddress";
public List<SubscriberAndDeviceInformation> getEntries() {
@@ -190,6 +192,7 @@
node.get(SERVICE_NAME).asText())
.setIsDhcpRequired(node.get(IS_DHCP_REQ) != null && node.get(IS_DHCP_REQ).asBoolean())
.setIsIgmpRequired(node.get(IS_IGMP_REQ) != null && node.get(IS_IGMP_REQ).asBoolean())
+ .setIsPppoeRequired(node.get(IS_PPPOE_REQ) != null && node.get(IS_PPPOE_REQ).asBoolean())
.setConfiguredMacAddress(node.get(MAC_ADDRESS) == null ? MacAddress.NONE.toString() :
node.get(MAC_ADDRESS).asText())
.build();
diff --git a/app/src/main/java/org/opencord/sadis/impl/UniTagInformationCodec.java b/app/src/main/java/org/opencord/sadis/impl/UniTagInformationCodec.java
index 9afbdcc..09060bb 100644
--- a/app/src/main/java/org/opencord/sadis/impl/UniTagInformationCodec.java
+++ b/app/src/main/java/org/opencord/sadis/impl/UniTagInformationCodec.java
@@ -45,6 +45,7 @@
private static final String MAC = "configuredMacAddress";
private static final String DHCP_REQ = "isDhcpRequired";
private static final String IGMP_REQ = "isIgmpRequired";
+ private static final String PPPOE_REQ = "isPppoeRequired";
private static final int NO_PCP = -1;
private static final int NO_TP = -1;
private static final String EMPTY_BP = "";
@@ -53,6 +54,7 @@
private static final String EMPTY_MAC = "";
private static final boolean DEFAULT_DHCP_REQ = false;
private static final boolean DEFAULT_IGMP_REQ = false;
+ private static final boolean DEFAULT_PPPOE_REQ = false;
@Override
public ObjectNode encode(UniTagInformation entry, CodecContext context) {
@@ -73,7 +75,8 @@
.put(MAC_LEARN, entry.getEnableMacLearning())
.put(MAC, entry.getConfiguredMacAddress())
.put(DHCP_REQ, entry.getIsDhcpRequired())
- .put(IGMP_REQ, entry.getIsIgmpRequired());
+ .put(IGMP_REQ, entry.getIsIgmpRequired())
+ .put(PPPOE_REQ, entry.getIsPppoeRequired());
}
@Override
@@ -117,7 +120,9 @@
.setIsDhcpRequired(json.get(DHCP_REQ) == null ? DEFAULT_DHCP_REQ :
json.get(DHCP_REQ).asBoolean())
.setIsIgmpRequired(json.get(IGMP_REQ) == null ? DEFAULT_IGMP_REQ :
- json.get(IGMP_REQ).asBoolean());
+ json.get(IGMP_REQ).asBoolean())
+ .setIsPppoeRequired(json.get(PPPOE_REQ) == null ? DEFAULT_PPPOE_REQ :
+ json.get(PPPOE_REQ).asBoolean());
log.info("Codec UniTagInformation Codec builder returning {}", tagInfoBuilder.build());
return tagInfoBuilder.build();
}