diff --git a/README.md b/README.md
index 6111801..111bd15 100644
--- a/README.md
+++ b/README.md
@@ -1,10 +1,61 @@
-PPPoEAgent : PPPoE Intermediate Agent application
-=================================================
+# PppoeAgent : PPPoE Intermediate Agent application
 
-### What is PPPoEAgent?
+## What is a PPPoE Intermediate Agent?
 As described in TR-101 Issue 2 - 3.9.2, the PPPoE Intermediate Agent supports the PPPoE access method and is a function placed on the Access Node in order to insert access loop identification.
 
 ### Description
-The PPPoE Intermediate Agent intercepts all upstream PPPoE discovery stage packets, i.e. the PADI, PADR and upstream PADT packets, but does not modify the source or destination MAC address of these PPPoE discovery packets.
-Upon receipt of a PADI or PADR packet sent by the PPPoE client, the Intermediate Agent adds a PPPoE TAG to the packet to be sent upstream. The TAG contains the identification of the access loop on which the PADI or PADR packet was received.
-If a PADI or PADR packet exceeds the Ethernet MTU after adding the access loop identification TAG, the Intermediate Agent must drop the packet, and issue the corresponding PADO or PADS response with a Generic-Error TAG to the sender.
\ No newline at end of file
+The PPPoE Agent intercepts all upstream PPPoED packets, i.e. the PADI, PADR and upstream PADT packets, but does not modify the source or destination MAC address of these PPPoE discovery packets.
+Upon receipt of a PADI or PADR packet sent by the PPPoE client, the Intermediate Agent adds a PPPoE TAG to the packet to be sent upstream. The TAG contains the identification of the access loop (circuit-id) on which the PADI or PADR packet was received.
+The circuit-id is generated following the format: "[OLT-SN] [SLOT]/[PON-PORT]:[ONU-SN]", i.e: 
+
+*EC1724000150 0/2:ALPHe3132051*
+
+If a PADI or PADR packet exceeds the Ethernet MTU after adding the access loop identification TAG, the Intermediate Agent must drop the packet, and issue the corresponding PADO or PADS response with a Generic-Error TAG to the sender.
+
+PPPoE agent keeps track of the client's connect point saving it along other information (i.e: MAC address, session-id, last received packet type and etc) in a storage available through the CLI "pppoe-users". With that at hand, the agent also intercepts the downstream PPPoED packets, such as PADO, PADS and PADT from server. These responses are processed and delivered to the connect point associated with the destination MAC address. If the destination MAC address is not known for PPPoE Agent, the packet is dropped.
+A
+## Component Configuration
+```sh
+ "org.opencord.pppoeagent.impl.PppoeAgent": {
+      "pppoeMaxMtu": 1500,
+      "enableCircuitIdValidation": true,
+      "packetProcessorThreads": 10
+  }
+ ```
+### Component Configuration Parameters
+##### pppoeMaxMtu
+The allowed MTU size (in bytes) for upstream packet forwarding. 
+##### enableCircuitIdValidation
+Flag to control the circuit-id validation mechanism: when configured as 'true' it checks if the Sadis "circuitId" field matches with the circuit-id generated by PPPoE Agent, if not the packet is dropped. 
+When Sadis "circuitId" is not set for the PPPoE client, the validation is not performed whatsoever.
+##### packetProcessorThreads
+Reference to create a thread pool with a fixed number of threads for packet processing.
+
+
+## PPPoE Configuration in org.opencord.olt app:
+
+In order to PPPoE Agent receive the packets, Onos has to trap the PPPoED frames. A way to obtain that is configuring Olt app to install PPPoED trap rules as it follows:
+
+```sh
+"org.opencord.olt.impl.OltFlowService": {
+      "enablePppoe": true
+  }
+```
+
+# How to install the PPPoE Intermediate Agent on Onos
+Since this app is not available on "voltha-onos" image, first it's necessary to generate the *.oar* file. To do it so, you can follow the steps below:
+
+-> Clone this repository 
+```sh
+git clone "https://gerrit.opencord.org/pppoeagent" && cd pppoeagent
+```
+-> Build it using Maven
+```sh
+mvn clean install
+```
+After these steps, the *.oar* file should be available at "pppoeagent/app/target/pppoeagent-app-1.0.0-SNAPSHOT.oar".
+
+Now you can upload and install the *.oar* in the Onos running instance using the [onos-app shell utility](https://gerrit.onosproject.org/plugins/gitiles/onos/+/refs/heads/onos-2.3/tools/package/runtime/bin/onos-app)
+
+Usage example: 
+"onos-app [ONOS_ADDRESS] install! [OAR_FILE_PATH]"
diff --git a/app/src/main/java/org/opencord/pppoeagent/impl/PppoeAgent.java b/app/src/main/java/org/opencord/pppoeagent/impl/PppoeAgent.java
index 67c71da..ab04ff0 100644
--- a/app/src/main/java/org/opencord/pppoeagent/impl/PppoeAgent.java
+++ b/app/src/main/java/org/opencord/pppoeagent/impl/PppoeAgent.java
@@ -183,7 +183,7 @@
 
     Set<ConnectPoint> pppoeConnectPoints;
     protected AtomicReference<ConnectPoint> pppoeServerConnectPoint = new AtomicReference<>();
-    protected boolean useOltUplink = false;
+    protected boolean useOltUplink = true;
 
     static ConsistentMap<MacAddress, PppoeSessionInfo> sessionsMap;
 
