diff --git a/apps/sdnip/src/main/java/org/onlab/onos/sdnip/RouteUpdate.java b/apps/sdnip/src/main/java/org/onlab/onos/sdnip/RouteUpdate.java
index 68e43dc..35e2eef 100644
--- a/apps/sdnip/src/main/java/org/onlab/onos/sdnip/RouteUpdate.java
+++ b/apps/sdnip/src/main/java/org/onlab/onos/sdnip/RouteUpdate.java
@@ -30,9 +30,10 @@
 
     /**
      * Specifies the type of a route update.
-     * <p/>
+     * <p>
      * Route updates can either provide updated information for a route, or
      * withdraw a previously updated route.
+     * </p>
      */
     public enum Type {
         /**
diff --git a/apps/sdnip/src/main/java/org/onlab/onos/sdnip/Router.java b/apps/sdnip/src/main/java/org/onlab/onos/sdnip/Router.java
index 79491c5..e4eafb5 100644
--- a/apps/sdnip/src/main/java/org/onlab/onos/sdnip/Router.java
+++ b/apps/sdnip/src/main/java/org/onlab/onos/sdnip/Router.java
@@ -439,11 +439,12 @@
 
     /**
      * Processes adding a route entry.
-     * <p/>
+     * <p>
      * Put new route entry into the radix tree. If there was an existing
      * next hop for this prefix, but the next hop was different, then execute
      * deleting old route entry. If the next hop is the SDN domain, we do not
      * handle it at the moment. Otherwise, execute adding a route.
+     * </p>
      *
      * @param routeEntry the route entry to add
      */
@@ -484,11 +485,12 @@
 
     /**
      * Executes adding a route entry.
-     * <p/>
+     * <p>
      * Find out the egress Interface and MAC address of next hop router for
      * this route entry. If the MAC address can not be found in ARP cache,
      * then this prefix will be put in routesWaitingOnArp queue. Otherwise,
      * new route intent will be created and installed.
+     * </p>
      *
      * @param routeEntry the route entry to add
      */
@@ -614,9 +616,10 @@
 
     /**
      * Executes deleting a route entry.
-     * <p/>
+     * <p>
      * Removes prefix from radix tree, and if successful, then try to delete
      * the related intent.
+     * </p>
      *
      * @param routeEntry the route entry to delete
      */
diff --git a/apps/sdnip/src/main/java/org/onlab/onos/sdnip/bgp/BgpRouteEntry.java b/apps/sdnip/src/main/java/org/onlab/onos/sdnip/bgp/BgpRouteEntry.java
index 21e8a88..8d48a27 100644
--- a/apps/sdnip/src/main/java/org/onlab/onos/sdnip/bgp/BgpRouteEntry.java
+++ b/apps/sdnip/src/main/java/org/onlab/onos/sdnip/bgp/BgpRouteEntry.java
@@ -114,9 +114,10 @@
 
     /**
      * Tests whether the route is originated from the local AS.
-     * <p/>
+     * <p>
      * The route is considered originated from the local AS if the AS Path
      * is empty or if it begins with an AS_SET.
+     * </p>
      *
      * @return true if the route is originated from the local AS, otherwise
      * false
@@ -134,9 +135,10 @@
 
     /**
      * Gets the BGP Neighbor AS number the route was received from.
-     * <p/>
+     * <p>
      * If the router is originated from the local AS, the return value is
      * zero (BGP_AS_0).
+     * </p>
      *
      * @return the BGP Neighbor AS number the route was received from.
      */
@@ -154,9 +156,10 @@
 
     /**
      * Tests whether the AS Path contains a loop.
-     * <p/>
+     * <p>
      * The test is done by comparing whether the AS Path contains the
      * local AS number.
+     * </p>
      *
      * @param localAsNumber the local AS number to compare against
      * @return true if the AS Path contains a loop, otherwise false
@@ -175,9 +178,10 @@
     /**
      * Compares this BGP route against another BGP route by using the
      * BGP Decision Process.
-     * <p/>
+     * <p>
      * NOTE: The comparison needs to be performed only on routes that have
      * same IP Prefix.
+     * </p>
      *
      * @param other the BGP route to compare against
      * @return true if this BGP route is better than the other BGP route
@@ -389,8 +393,9 @@
 
     /**
      * Compares whether two objects are equal.
-     * <p/>
+     * <p>
      * NOTE: The bgpSession field is excluded from the comparison.
+     * </p>
      *
      * @return true if the two objects are equal, otherwise false.
      */
@@ -422,8 +427,9 @@
 
     /**
      * Computes the hash code.
-     * <p/>
+     * <p>
      * NOTE: We return the base class hash code to avoid expensive computation
+     * </p>
      *
      * @return the object hash code
      */
diff --git a/apps/sdnip/src/main/java/org/onlab/onos/sdnip/bgp/BgpSession.java b/apps/sdnip/src/main/java/org/onlab/onos/sdnip/bgp/BgpSession.java
index a6f3329..4151ec3 100644
--- a/apps/sdnip/src/main/java/org/onlab/onos/sdnip/bgp/BgpSession.java
+++ b/apps/sdnip/src/main/java/org/onlab/onos/sdnip/bgp/BgpSession.java
@@ -215,11 +215,11 @@
 
     /**
      * Tests whether the session is closed.
-     * <p/>
+     * <p>
      * NOTE: We use this method to avoid the Netty's asynchronous closing
      * of a channel.
-     *
-     * @param return true if the session is closed
+     * </p>
+     * @return true if the session is closed
      */
     boolean isClosed() {
         return isClosed;
@@ -1641,7 +1641,7 @@
      * @param errorCode the BGP NOTIFICATION Error Code
      * @param errorSubcode the BGP NOTIFICATION Error Subcode if applicable,
      * otherwise BgpConstants.Notifications.ERROR_SUBCODE_UNSPECIFIC
-     * @param payload the BGP NOTIFICATION Data if applicable, otherwise null
+     * @param data the BGP NOTIFICATION Data if applicable, otherwise null
      * @return the message to transmit (BGP header included)
      */
     ChannelBuffer prepareBgpNotification(int errorCode, int errorSubcode,
diff --git a/apps/sdnip/src/main/java/org/onlab/onos/sdnip/config/BgpSpeaker.java b/apps/sdnip/src/main/java/org/onlab/onos/sdnip/config/BgpSpeaker.java
index 3835600..4e79672 100644
--- a/apps/sdnip/src/main/java/org/onlab/onos/sdnip/config/BgpSpeaker.java
+++ b/apps/sdnip/src/main/java/org/onlab/onos/sdnip/config/BgpSpeaker.java
@@ -29,15 +29,17 @@
 
 /**
  * Represents a BGP daemon in SDN network.
- * <p/>
+ * <p>
  * Each BGP speaker has a attachment point, which includes a switch DPID and a
  * switch port. Each BGP speaker has one MAC address and several IP addresses,
  * which are used to peer with BGP peers outside the SDN network. For each
  * peer outside the SDN network, we configure a different IP address to BGP
  * speaker inside the SDN network.
- * <p/>
+ * </p>
+ * <p>
  * Each BGP speaker has a name, which is a unique identifying String that is
  * used to reference this speaker in the configuration.
+ * </p>
  */
 public class BgpSpeaker {
     private final String name;
diff --git a/apps/sdnip/src/main/java/org/onlab/onos/sdnip/config/InterfaceAddress.java b/apps/sdnip/src/main/java/org/onlab/onos/sdnip/config/InterfaceAddress.java
index 588b03c..f50c85f 100644
--- a/apps/sdnip/src/main/java/org/onlab/onos/sdnip/config/InterfaceAddress.java
+++ b/apps/sdnip/src/main/java/org/onlab/onos/sdnip/config/InterfaceAddress.java
@@ -28,8 +28,9 @@
 /**
  * Represents an address of a {@link BgpSpeaker} configured on an
  * {@link Interface}.
- * <p/>
+ * <p>
  * Each InterfaceAddress includes the interface name and an IP address.
+ * </p>
  */
 public class InterfaceAddress {
     private final ConnectPoint connectPoint;
diff --git a/apps/sdnip/src/main/java/org/onlab/onos/sdnip/config/SdnIpConfigReader.java b/apps/sdnip/src/main/java/org/onlab/onos/sdnip/config/SdnIpConfigReader.java
index ff697e3..cde65c6 100644
--- a/apps/sdnip/src/main/java/org/onlab/onos/sdnip/config/SdnIpConfigReader.java
+++ b/apps/sdnip/src/main/java/org/onlab/onos/sdnip/config/SdnIpConfigReader.java
@@ -27,14 +27,12 @@
 
 import com.fasterxml.jackson.databind.ObjectMapper;
 
+// TODO: As a long term solution, a module providing general network configuration to ONOS nodes should be used.
+
 /**
- * SDN-IP Config Reader provides IConfigInfoService
- * by reading from an SDN-IP configuration file.
- * It must be enabled on the nodes within the cluster
+ * SDN-IP Config Reader provides IConfigInfoService by reading from an
+ * SDN-IP configuration file. It must be enabled on the nodes within the cluster
  * not running SDN-IP.
- * <p/>
- * TODO: As a long term solution, a module providing
- * general network configuration to ONOS nodes should be used.
  */
 public class SdnIpConfigReader implements SdnIpConfigService {
 
@@ -85,7 +83,7 @@
         }*/
     }
 
-    /**
+    /*
      * To find the Interface which has longest matchable IP prefix (sub-network
      *  prefix) to next hop IP address.
      *
