diff --git a/apps/sdnip/src/main/java/org/onosproject/sdnip/bgp/BgpConstants.java b/apps/sdnip/src/main/java/org/onosproject/sdnip/bgp/BgpConstants.java
index 0cb74cf..1d7d4c5 100644
--- a/apps/sdnip/src/main/java/org/onosproject/sdnip/bgp/BgpConstants.java
+++ b/apps/sdnip/src/main/java/org/onosproject/sdnip/bgp/BgpConstants.java
@@ -227,6 +227,12 @@
             /** BGP UPDATE Attributes Type Code AS_PATH. */
             public static final int TYPE = 2;
 
+            /** BGP AS length. */
+            public static final int AS_LENGTH = 2;
+
+            /** BGP 4 Octet AS length (RFC 6793). */
+            public static final int AS_4OCTET_LENGTH = 4;
+
             /** BGP UPDATE AS_PATH Type: AS_SET. */
             public static final int AS_SET = 1;
 
diff --git a/apps/sdnip/src/main/java/org/onosproject/sdnip/bgp/BgpOpen.java b/apps/sdnip/src/main/java/org/onosproject/sdnip/bgp/BgpOpen.java
index 5b9ac25..31471a3 100644
--- a/apps/sdnip/src/main/java/org/onosproject/sdnip/bgp/BgpOpen.java
+++ b/apps/sdnip/src/main/java/org/onosproject/sdnip/bgp/BgpOpen.java
@@ -23,6 +23,7 @@
 import org.onosproject.sdnip.bgp.BgpConstants.Notifications.OpenMessageError;
 import org.onosproject.sdnip.bgp.BgpConstants.Open.Capabilities;
 import org.onosproject.sdnip.bgp.BgpConstants.Open.Capabilities.MultiprotocolExtensions;
+import org.onosproject.sdnip.bgp.BgpConstants.Open.Capabilities.As4Octet;
 import org.onosproject.sdnip.bgp.BgpMessage.BgpParseException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -334,8 +335,14 @@
                         throw new BgpParseException(errorMsg);
                     }
                     long as4Number = message.readUnsignedInt();
-                    // TODO: Implement support for 4-octet AS Numbers
+
+                    bgpSession.setRemoteAs4OctetCapability();
                     bgpSession.setRemoteAs4Octet(as4Number);
+
+                    // Copy remote 4-octet AS Number Capabilities and AS Number.
+                    // This is temporary setting until local AS number configuration is supported.
+                    bgpSession.setLocalAs4OctetCapability();
+                    bgpSession.setRemoteAs(as4Number);
                     log.debug("BGP RX OPEN Capability:  AS4 Number = {}",
                               as4Number);
                     break;
@@ -420,6 +427,15 @@
             message.writeByte(MultiprotocolExtensions.SAFI_MULTICAST);
         }
 
+        // 4 octet AS path capability
+        if (bgpSession.getLocalAs4OctetCapability()) {
+            message.writeByte(Capabilities.TYPE);               // Param type
+            message.writeByte(Capabilities.MIN_LENGTH +
+                              As4Octet.LENGTH);                 // Param len
+            message.writeByte(As4Octet.CODE);                   // Capab, code
+            message.writeByte(As4Octet.LENGTH);                 // Capab, len
+            message.writeInt((int) bgpSession.getLocalAs());
+        }
         return message;
     }
 }
diff --git a/apps/sdnip/src/main/java/org/onosproject/sdnip/bgp/BgpSession.java b/apps/sdnip/src/main/java/org/onosproject/sdnip/bgp/BgpSession.java
index 59d0385..52c6827 100644
--- a/apps/sdnip/src/main/java/org/onosproject/sdnip/bgp/BgpSession.java
+++ b/apps/sdnip/src/main/java/org/onosproject/sdnip/bgp/BgpSession.java
@@ -66,6 +66,7 @@
     private boolean remoteIpv4Multicast;        // Peer IPv4/MULTICAST AFI/SAFI
     private boolean remoteIpv6Unicast;          // Peer IPv6/UNICAST AFI/SAFI
     private boolean remoteIpv6Multicast;        // Peer IPv6/MULTICAST AFI/SAFI
+    private boolean remoteAs4OctetCapability;   // Peer 4 octet AS path capability
     //
     private SocketAddress localAddress;         // Local IP addr/port
     private Ip4Address localIp4Address;         // Local IPv4 address
@@ -77,6 +78,7 @@
     private boolean localIpv4Multicast;      // Local IPv4/MULTICAST AFI/SAFI
     private boolean localIpv6Unicast;        // Local IPv6/UNICAST AFI/SAFI
     private boolean localIpv6Multicast;      // Local IPv6/MULTICAST AFI/SAFI
+    private boolean localAs4OctetCapability;    // Local 4 octet AS path capability
     //
     private long localKeepaliveInterval;        // Keepalive interval
 
@@ -188,7 +190,7 @@
         // In the future the local AS number should be configured as part
         // of an explicit BGP peering configuration.
         //
-        this.localAs = remoteAs;
+        setLocalAs(remoteAs);
     }
 
     /**
@@ -330,6 +332,47 @@
     }
 
     /**
+     * Gets the BGP session remote 4 octet AS path capability.
+     *
+     * @return true when the BGP session remote has 4 octet AS path capability
+     */
+    public boolean getRemoteAs4OctetCapability() {
+        return remoteAs4OctetCapability;
+    }
+
+    /**
+     * Sets the BGP session remote 4 octet AS path capability.
+     */
+    void setRemoteAs4OctetCapability() {
+        this.remoteAs4OctetCapability = true;
+    }
+
+    /**
+     * Gets the BGP session local 4 octet AS path capability.
+     *
+     * @return true when the BGP session local has 4 octet AS path capability
+     */
+    public boolean getLocalAs4OctetCapability() {
+        return localAs4OctetCapability;
+    }
+
+    /**
+     * Sets the BGP session local 4 octet AS path capability.
+     */
+    void setLocalAs4OctetCapability() {
+        this.localAs4OctetCapability = true;
+    }
+
+    /**
+     * Gets the BGP session 4 octet AS path capability.
+     *
+     * @return true when the BGP session is 4 octet AS path capable
+     */
+    public boolean isAs4OctetCapable() {
+        return getRemoteAs4OctetCapability() && getLocalAs4OctetCapability();
+    }
+
+    /**
      * Gets the BGP session local address.
      *
      * @return the BGP session local address
@@ -366,6 +409,15 @@
     }
 
     /**
+     * Sets the BGP session local AS number.
+     *
+     * @param localAs the BGP session local AS number to set
+     */
+    public void setLocalAs(long localAs) {
+        this.localAs = localAs;
+    }
+
+    /**
      * Gets the BGP session local Holdtime.
      *
      * @return the BGP session local Holdtime
diff --git a/apps/sdnip/src/main/java/org/onosproject/sdnip/bgp/BgpUpdate.java b/apps/sdnip/src/main/java/org/onosproject/sdnip/bgp/BgpUpdate.java
index 67b47ef..f7bfa32 100644
--- a/apps/sdnip/src/main/java/org/onosproject/sdnip/bgp/BgpUpdate.java
+++ b/apps/sdnip/src/main/java/org/onosproject/sdnip/bgp/BgpUpdate.java
@@ -26,6 +26,7 @@
 import org.jboss.netty.channel.ChannelHandlerContext;
 import org.onlab.packet.Ip4Address;
 import org.onlab.packet.Ip4Prefix;
+import org.onosproject.sdnip.bgp.BgpConstants.Update.AsPath;
 import org.onosproject.sdnip.bgp.BgpConstants.Notifications.UpdateMessageError;
 import org.onosproject.sdnip.bgp.BgpMessage.BgpParseException;
 import org.slf4j.Logger;
@@ -610,17 +611,30 @@
                 throw new BgpParseException(errorMsg);
             }
 
+            // 4-octet AS number handling.
+            int asPathLen;
+            if (bgpSession.isAs4OctetCapable()) {
+                asPathLen = AsPath.AS_4OCTET_LENGTH;
+            } else {
+                asPathLen = AsPath.AS_LENGTH;
+            }
+
             // Parse the AS numbers
-            if (2 * pathSegmentLength > attrLen) {
+            if (asPathLen * pathSegmentLength > attrLen) {
                 // ERROR: Malformed AS_PATH
                 actionsBgpUpdateMalformedAsPath(bgpSession, ctx);
                 String errorMsg = "Malformed AS Path";
                 throw new BgpParseException(errorMsg);
             }
-            attrLen -= (2 * pathSegmentLength);
+            attrLen -= (asPathLen * pathSegmentLength);
             ArrayList<Long> segmentAsNumbers = new ArrayList<>();
             while (pathSegmentLength-- > 0) {
-                long asNumber = message.readUnsignedShort();
+                long asNumber;
+                if (asPathLen == AsPath.AS_4OCTET_LENGTH) {
+                    asNumber = message.readUnsignedInt();
+                } else {
+                    asNumber = message.readUnsignedShort();
+                }
                 segmentAsNumbers.add(asNumber);
             }
 
diff --git a/apps/sdnip/src/main/java/org/onosproject/sdnip/cli/BgpNeighborsListCommand.java b/apps/sdnip/src/main/java/org/onosproject/sdnip/cli/BgpNeighborsListCommand.java
index 1b628f4..7fc5278 100644
--- a/apps/sdnip/src/main/java/org/onosproject/sdnip/cli/BgpNeighborsListCommand.java
+++ b/apps/sdnip/src/main/java/org/onosproject/sdnip/cli/BgpNeighborsListCommand.java
@@ -48,6 +48,8 @@
         "  Local  router ID %s, IP %s, BGP version %d, Hold time %d";
     private static final String FORMAT_NEIGHBOR_LINE5 =
         "  Local  AFI/SAFI IPv4 Unicast %s Multicast %s, IPv6 Unicast %s Multicast %s";
+    private static final String FORMAT_NEIGHBOR_LINE6 =
+        "  4 Octet AS Capability: %s %s";
 
     @Override
     protected void execute() {
@@ -120,6 +122,11 @@
               bgpSession.getLocalIpv4Multicast() ? "YES" : "NO",
               bgpSession.getLocalIpv6Unicast() ? "YES" : "NO",
               bgpSession.getLocalIpv6Multicast() ? "YES" : "NO");
+        if (bgpSession.getLocalAs4OctetCapability() || bgpSession.getRemoteAs4OctetCapability()) {
+            print(FORMAT_NEIGHBOR_LINE6,
+                  bgpSession.getLocalAs4OctetCapability() ? "Advertised" : "",
+                  bgpSession.getRemoteAs4OctetCapability() ? "Received" : "");
+        }
     }
 
     /**
