diff --git a/configuration/dhcp-relay.rst b/configuration/dhcp-relay.rst
index efebaa9..c9e68ff 100644
--- a/configuration/dhcp-relay.rst
+++ b/configuration/dhcp-relay.rst
@@ -2,20 +2,29 @@
 ==========
 
 .. tip::
-    We strongly recommend you to setup DHCP relay and configure the hosts to **obtain address via DHCP**.
-    See `Alternative: Configure static IP`_ if you want to statically configure IP address on each host.
+    We strongly recommend you to setup DHCP relay and configure the hosts to
+    **obtain address via DHCP**.
 
+    See `Alternative: Configure static IP`_ if you want to statically configure
+    IP address on each host.
 
 Overview
 --------
 The DHCP relay app used in Trellis is an L3 relay.
-That is, it support relaying DHCP packets from/to a server that's not in the same subnet of the client.
+
+That is, it support relaying DHCP packets from/to a server that's not in the
+same subnet of the client.
 
 Here's a list of features supported:
 
 - DHCPv4 and DHCPv6
-- DHCP server directly attached to fabric leaves, or indirectly connected via upstream router
-- DHCP client directly attached to fabric leaves, or indirectly connected via `LDRA (Light-weight DHCP Relay Agent) <https://tools.ietf.org/html/rfc6221>`_
+
+- DHCP server directly attached to fabric leaves, or indirectly connected via
+  upstream router
+
+- DHCP client directly attached to fabric leaves, or indirectly connected via
+  `LDRA (Light-weight DHCP Relay Agent) <https://tools.ietf.org/html/rfc6221>`_
+
 - Multiple DHCP servers for HA
 
 .. note::
@@ -30,8 +39,11 @@
 
 .. image:: ../images/config-dhcp.png
 
-In this case, the configuration involves first configuring the switch interface with the vlan/subnet the DHCP service is part of.
-For example, if I have a switch ``of:205`` with a DHCP server on port 24 on vlan 20, the port config looks like:
+In this case, the configuration involves first configuring the switch interface
+with the vlan/subnet the DHCP service is part of.
+
+For example, if I have a switch ``of:205`` with a DHCP server on port 24 on
+vlan 20, the port config looks like:
 
 .. code-block:: json
 
@@ -47,7 +59,8 @@
       }
     }
 
-A second part of the configuration for the DHCP relay app requires a json configuration under the key apps:
+A second part of the configuration for the DHCP relay app requires a json
+configuration under the key apps:
 
 .. code-block:: json
 
@@ -64,16 +77,24 @@
       }
     }
 
-Note that the dhcprelay app is configured with location of the DHCP server (the switch port to which it is connected to the fabric).
-It is also configured with the DHCP server IP, but it is no longer necessary to configure the MAC address of the server.
+Note that the dhcprelay app is configured with location of the DHCP server (the
+switch port to which it is connected to the fabric).
+
+It is also configured with the DHCP server IP, but it is no longer necessary to
+configure the MAC address of the server.
+
 ONOS will automatically learn the MAC and VLAN corresponding to the serverIP.
 
 
 Server reachable via external router
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-In this case, it is actually the external router that is directly connected to the fabric.
-This external router is already configured in the ports section of network-config (for vRouter functionality).
-For example, if the external router is connected to switch of:205 on port 1
+In this case, it is actually the external router that is directly connected to
+the fabric.
+
+This external router is already configured in the ports section of
+network-config (for vRouter functionality).
+
+For example, if the external router is connected to switch ``of:205`` on port 1
 
 .. code-block:: json
 
@@ -89,8 +110,12 @@
       }
     }
 
-As before the ``ips`` and ``mac`` configured on port 1, actually correspond to the addresses configured in Quagga.
-The app config in this case, includes an additional field necessary to inform the dhcp-relay app of the gatewayIP through which the DHCP server can be reached.
+As before the ``ips`` and ``mac`` configured on port 1, actually correspond to
+the addresses configured in Quagga.
+
+The app config in this case, includes an additional field necessary to inform
+the dhcp-relay app of the gatewayIP through which the DHCP server can be
+reached.
 
 .. code-block:: json
 
@@ -109,13 +134,15 @@
     }
 
 .. note::
-    Note that the dhcpserverConnectPoint should now be the switchport to which the external router is connected to the fabric.
+    Note that the ``dhcpserverConnectPoint`` should now be the switchport to
+    which the external router is connected to the fabric.
 
 Setup DHCP server
 -----------------
 
 Install DHCP server
 ^^^^^^^^^^^^^^^^^^^
+
 Modern DHCP servers should support relayed DHCP request.
 However, the way to configure them are probably different case to case.
 Here we use **isc-dhcp-server** on Ubuntu as an example.
@@ -128,6 +155,7 @@
 
 Configure DHCP Server
 ^^^^^^^^^^^^^^^^^^^^^
+
 Two configuration files are required by DHCP server.
 
 First, we need to specify which network interface the DHCP server should listen on.
@@ -141,7 +169,9 @@
 To do that, we need to modify ``/etc/dhcp/dhcpd.conf`` and add the following lines.
 
 Note that the subnet of ``eth1`` needs to be included.
-Otherwise, the DHCP server will not listen to the interface even though we have specified that in ``/etc/default/isc-dhcp-server``.
+
+Otherwise, the DHCP server will not listen to the interface even though we have
+specified that in ``/etc/default/isc-dhcp-server``.
 
 .. code-block:: text
 
@@ -188,6 +218,7 @@
 
 Testing
 -------
+
 The host should be able to obtain an IP address from the pool we specified.
 Try to run ``dhclient`` and see if the host can get an IP address.
 
@@ -206,19 +237,28 @@
     sudo dhclient -6 -P -r eth1   # for releasing prefix
 
 
-If something goes wrong, check ``/var/log/syslog`` for DHCP server log and run ``tcpdump`` on DHCP server to see if the DHCP packets from the host reach the server correctly.
-
+If something goes wrong, check ``/var/log/syslog`` for DHCP server log and run
+``tcpdump`` on DHCP server to see if the DHCP packets from the host reach the
+server correctly.
 
 Additional Features
 -------------------
 
 DHCP Relay store
 ^^^^^^^^^^^^^^^^
-DHCP relay application stores information from DHCP packet which processed by the app, administrator can use CLI command ``dhcp-relay`` to query these information.
+
+DHCP relay application stores information from DHCP packet which processed by
+the app, administrator can use CLI command ``dhcp-relay`` to query these
+information.
+
 The store provides these functionality:
 
-- Latest state of DHCP client (e.g. client location, last seen time, DHCP type...), for debugging purpose
-- For direct host, ONOS can find location and vlan from relay agent option, however, for indirect host, ONOS need to query last state from the store to find correct destination.
+- Latest state of DHCP client (e.g. client location, last seen time, DHCP
+  type...), for debugging purpose
+
+- For direct host, ONOS can find location and vlan from relay agent option,
+  however, for indirect host, ONOS need to query last state from the store to
+  find correct destination.
 
 
 DHCPv6 Relay counter
@@ -226,7 +266,9 @@
 There are two DHCPv6 packet counters which are Host basis counters and Global counters.
 
 Host basis counters count and record DHCPv6 packets received on this host.
-It can be displayed by ``dhcp-relay counter``. These counters can be reset by typing ``dhcp-relay counter reset``.
+
+It can be displayed by ``dhcp-relay counter``. These counters can be reset by
+typing ``dhcp-relay counter reset``.
 
 .. code-block:: console
 
@@ -249,7 +291,9 @@
     onos> dhcp-relay counter reset
 
 Global counters counts and records all DHCPv6 packets received in ONOS.
-It can be displayed by ``dhcp-relay-agg-counters``. These counters can be reset by typing ``dhcp-relay-agg-counters reset``.
+
+It can be displayed by ``dhcp-relay-agg-counters``. These counters can be reset
+by typing ``dhcp-relay-agg-counters reset``.
 
 .. code-block:: console
 
@@ -269,26 +313,47 @@
 Indirect client support
 ^^^^^^^^^^^^^^^^^^^^^^^
 DHCP relay can support hosts which do not directly connect to Trellis fabric.
-These hosts usually connected to another LDRA, the LDRA will forward DHCP packet to/from Trellis network.
 
-For **DHCPv4**, packets from the LDRA includes a valid DHCP relay agent option (option 82).
-DHCP Relay application checks relay agent option and determine the DHCP packet comes from direct or indirect host.
+These hosts usually connected to another LDRA, the LDRA will forward DHCP
+packet to/from Trellis network.
+
+For **DHCPv4**, packets from the LDRA includes a valid DHCP relay agent option
+(option 82).
+
+DHCP Relay application checks relay agent option and determine the DHCP packet
+comes from direct or indirect host.
 
 .. image:: ../images/config-dhcp-indirect.jpg
 
-ONOS uses circuit id option in relay agent option with specific format if DHCP packet comes without relay agent option, the format of circuit will be: ``ConnectPoint:VlanId``
-For example, the DHCP request/discover packet comes from ``of:000000000000001/1`` with ``VLAN 100``, the circuit ONOS put will be ``of:000000000000001/1:100`` and send DHCP packet to DHCP server.
-Indirect host won't put into host store. DHCP relay app will put IP address of indirect host to the route store, and use IP address of relay agent as next hop.
+ONOS uses circuit id option in relay agent option with specific format if DHCP
+packet comes without relay agent option, the format of circuit will be:
+``ConnectPoint:VlanId``
+
+For example, the DHCP request/discover packet comes from
+``of:000000000000001/1`` with ``VLAN 100``, the circuit ONOS put will be
+``of:000000000000001/1:100`` and send DHCP packet to DHCP server.
+
+Indirect host won't put into host store. DHCP relay app will put IP address of
+indirect host to the route store, and use IP address of relay agent as next
+hop.
 
 **DHCPv6** clients will be handled similar to DHCPv4.
-One major difference is that DHCPv6 supports ``RELAY-FORWARD`` message type and ``InterfaceId`` option natively, so we utilize those fields to encode information.
 
+One major difference is that DHCPv6 supports ``RELAY-FORWARD`` message type and
+``InterfaceId`` option natively, so we utilize those fields to encode
+information.
 
 Overwrite relay agent IP
 ^^^^^^^^^^^^^^^^^^^^^^^^
-The DHCP relay can overwrite the relay agent address (``giaddr`` in **DHCPv4**, ``link-addr`` in **DHCPv6**) in DHCP message for different device.
-If ``relayAgentIps`` is configured, the app will overwrite ``giaddr`` or ``link-addr`` before it forward the DHCP message to the server.
+
+The DHCP relay can overwrite the relay agent address (``giaddr`` in **DHCPv4**,
+``link-addr`` in **DHCPv6**) in DHCP message for different device.
+
+If ``relayAgentIps`` is configured, the app will overwrite ``giaddr`` or
+``link-addr`` before it forward the DHCP message to the server.
+
 Otherwise, it will retain the original relay agent IP.
+
 An example configuration is shown below:
 
 .. code-block:: json
@@ -318,8 +383,13 @@
 
 Configure multiple servers
 ^^^^^^^^^^^^^^^^^^^^^^^^^^
-DHCP server HA can be achieved by specifying additional server configuration objects.
-Client initiated packets like ``SOLICIT`` or ``REBIND`` shall be replicated and sent to all server objects.
+
+DHCP server HA can be achieved by specifying additional server configuration
+objects.
+
+Client initiated packets like ``SOLICIT`` or ``REBIND`` shall be replicated and
+sent to all server objects.
+
 Below is an example of multiple server configuration:
 
 .. code-block:: json
@@ -402,20 +472,28 @@
     }
 
 - ``dhcpServerConnectPoint``: represent the location of DHCP server
+
 - ``serverIps``: IP address of the DHCP server, contains at least one IP address of DHCP server.
   IP address can be IPv4 or IPv6 for different version of DHCP.
   Will use first address if multiple IPv4 or IPv6 address configured.
-- ``gatewayIps``: Optional. Should be configured if the DHCP server is not directly connected to the Trellis network
-  . It tells which gateway we need to send to reach the server.
+
+- ``gatewayIps``: Optional. Should be configured if the DHCP server is not
+  directly connected to the Trellis network. It tells which gateway we need to
+  send to reach the server.
 
 .. note::
-    - If ``indirect`` server configuration is not configured, the app will use ``default`` configuration for all cases.
+    - If ``indirect`` server configuration is not configured, the app will use
+      ``default`` configuration for all cases.
 
 
 Ignoring DHCP relay on a particular VLAN
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-In some cases, it may be necessary to avoid punting DHCP packets to the controller, and letting them be forwarded normally through the data plane.
-In such cases, the DHCP relay application can be configured to avoid punting DHCP packets on a particular VLAN on a particular switch.
+
+In some cases, it may be necessary to avoid punting DHCP packets to the
+controller, and letting them be forwarded normally through the data plane.
+
+In such cases, the DHCP relay application can be configured to avoid punting
+DHCP packets on a particular VLAN on a particular switch.
 
 .. code-block:: json
 
@@ -430,8 +508,8 @@
       }
     }
 
-In the example shown above, DHCP packets on vlan 24 are not punted to the controller from switches of:205 and of:206
-
+In the example shown above, DHCP packets on vlan 24 are not punted to the
+controller from switches of:205 and of:206
 
 DHCPv6 Prefix Delegation (PD) Pushing
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -439,8 +517,12 @@
 .. note::
     This feature requires both ``dhcprelay`` and ``fpm`` apps to be activated
 
-PD pushing allows IPv6 prefixes from DhcpRelay to be sent over the FPM connection to Quagga where they will be configured as a static route.
-Prior to PD Pushing, the FPM connection was only used by Quagga in one direction to push routes to FPM.  PD pushing is disabled by default in DHCP Relay and FPM.
+PD pushing allows IPv6 prefixes from DhcpRelay to be sent over the FPM
+connection to Quagga where they will be configured as a static route.
+
+Prior to PD Pushing, the FPM connection was only used by Quagga in one
+direction to push routes to FPM.  PD pushing is disabled by default in DHCP
+Relay and FPM.
 
 To enable in DHCP relay:
 
@@ -454,9 +536,16 @@
 
     onos> dhcp-fpm-routes
 
-When PD pushing is enabled in FPM, by default the next-hop to be used for all prefixes pushed to Quagga will be retrieved from the first interface with ``RUR`` in the name in ONOS.
-Next-hop may also be configured using FPM component config. This will override a ``RUR`` interface if present.
-If there is no interface with ``RUR`` in the name and the next-hop is not configured, no prefixes can be pushed to Quagga even if PD pushing is enabled. For DhcpRelay, only the IPv6 next-hop is needed.
+When PD pushing is enabled in FPM, by default the next-hop to be used for all
+prefixes pushed to Quagga will be retrieved from the first interface with
+``RUR`` in the name in ONOS.
+
+Next-hop may also be configured using FPM component config. This will override
+a ``RUR`` interface if present.
+
+If there is no interface with ``RUR`` in the name and the next-hop is not
+configured, no prefixes can be pushed to Quagga even if PD pushing is enabled.
+For DhcpRelay, only the IPv6 next-hop is needed.
 
 To enable in FPM:
 
@@ -482,12 +571,17 @@
 .. note::
     Quagga requires a patch to be able to receive Netlink Messages from FPM.
 
-
 Clean up expired address and PD prefix
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-DHCPv6 relay cleans up stale IP address and pd prefix based on timer whose default interval is 24 hours (24 * 3600 secs = 86400 secs).
-If the preferred life time of ip address or pd prefix exceeds 1/2 of poll interval, they will be removed from ONOS.
-The poll interval can be modified by ``cfg set org.onosproject.dhcprelay.DhcpRelayManager dhcpPollInterval <newVal>``
+
+DHCPv6 relay cleans up stale IP address and pd prefix based on timer whose
+default interval is 24 hours (24 * 3600 secs = 86400 secs).
+
+If the preferred life time of ip address or pd prefix exceeds 1/2 of poll
+interval, they will be removed from ONOS.
+
+The poll interval can be modified by ``cfg set
+org.onosproject.dhcprelay.DhcpRelayManager dhcpPollInterval <newVal>``
 
 .. code-block:: console
 
@@ -504,13 +598,15 @@
 
 Alternative: Configure static IP
 --------------------------------
-Although we strongly recommend to use `DHCP Relay`_ for IP assignment,
-it is also possible to statically configure the IP address and route on the host.
+
+Although we strongly recommend to use `DHCP Relay`_ for IP assignment, it is
+also possible to statically configure the IP address and route on the host.
 
 1. **Configure the IP address and subnet mask**
 
-   Make sure the IP address and the subnet mask on the fabric network interface of the host is consistent with
-   the information in the Network Configuration section. For example, you can run
+   Make sure the IP address and the subnet mask on the fabric network interface
+   of the host is consistent with the information in the Network Configuration
+   section. For example, you can run
 
    .. code-block:: console
 
@@ -518,8 +614,8 @@
 
 2. **Configure the default route**
 
-   Make sure you change the default route of the host to the interface IP of the leaf switch it connects to.
-   For example, you can run
+   Make sure you change the default route of the host to the interface IP of
+   the leaf switch it connects to.  For example, you can run
 
    .. code-block:: console
 
@@ -531,9 +627,13 @@
 
 3. **Trigger host learning**
 
-   We need to let ONOS learn the host in order to program corresponding flows and groups.
+   We need to let ONOS learn the host in order to program corresponding flows
+   and groups.
+
    This is automatically done as part of the DHCP process.
-   However, we need to manually triggers it by sending an ARP or ND packet if the host is configured to use static IP.
+
+   However, we need to manually triggers it by sending an ARP or ND packet if
+   the host is configured to use static IP.
 
    .. code-block:: console
 
@@ -543,7 +643,6 @@
 
        # ndsend ${HOST_IP} ${INTF}
 
-
 Reference
 ---------
 - https://www.cisco.com/c/en/us/support/docs/security/adaptive-security-appliance-asa-software/116265-configure-product-00.html
