Adding VLAN to PeerConnectivityManager

Change-Id: I695087c108dc4d9d2da61992019d8fa3d08c61c1
diff --git a/apps/routing/src/main/java/org/onosproject/routing/cli/AddSpeakerCommand.java b/apps/routing/src/main/java/org/onosproject/routing/cli/AddSpeakerCommand.java
index e414239..19ecc75 100644
--- a/apps/routing/src/main/java/org/onosproject/routing/cli/AddSpeakerCommand.java
+++ b/apps/routing/src/main/java/org/onosproject/routing/cli/AddSpeakerCommand.java
@@ -19,6 +19,7 @@
 import org.apache.karaf.shell.commands.Argument;
 import org.apache.karaf.shell.commands.Command;
 import org.onlab.packet.IpAddress;
+import org.onlab.packet.VlanId;
 import org.onosproject.cli.AbstractShellCommand;
 import org.onosproject.core.ApplicationId;
 import org.onosproject.core.CoreService;
@@ -40,12 +41,18 @@
     @Argument(index = 0, name = "name",
             description = "Name of the internal BGP speaker",
             required = true, multiValued = false)
-    String name = null;
+    private String name = null;
 
     @Argument(index = 1, name = "connectionPoint",
             description = "Interface to the BGP speaker",
             required = true, multiValued = false)
-    String connectionPoint = null;
+    private String connectionPoint = null;
+
+    @Argument(index = 2, name = "vlanId",
+            description = "VLAN Id of the internal BGP speaker",
+            required = false, multiValued = false)
+    private String vlanId = null;
+    private VlanId vlanIdObj = null;
 
     private static final String SPEAKER_ADD_SUCCESS = "Speaker Successfully Added.";
 
@@ -57,10 +64,18 @@
 
         BgpConfig config = configService.addConfig(appId, BgpConfig.class);
 
-        BgpConfig.BgpSpeakerConfig speaker = config.getSpeakerWithName(name);
-        if (speaker != null) {
-            log.debug("Speaker already exists: {}", name);
-            return;
+        if (name != null) {
+            BgpConfig.BgpSpeakerConfig speaker = config.getSpeakerWithName(name);
+            if (speaker != null) {
+                log.debug("Speaker already exists: {}", name);
+                return;
+            }
+        }
+
+        if (vlanId == null || vlanId.isEmpty()) {
+            vlanIdObj = VlanId.NONE;
+        } else {
+            vlanIdObj = VlanId.vlanId(Short.valueOf(vlanId));
         }
 
         addSpeakerToConf(config);
@@ -85,6 +100,7 @@
         ConnectPoint connectPoint = ConnectPoint.
                 deviceConnectPoint(connectionPoint);
         return new BgpConfig.BgpSpeakerConfig(Optional.ofNullable(name),
-                connectPoint, new HashSet<IpAddress>());
+            vlanIdObj,
+            connectPoint, new HashSet<IpAddress>());
     }
 }