Add some more match conditions to connectivity intent CLI commands

Change-Id: I429c34319e8f88bd8899bcee458dc3a60ffcce66
diff --git a/cli/src/main/java/org/onlab/onos/cli/net/ConnectivityIntentCommand.java b/cli/src/main/java/org/onlab/onos/cli/net/ConnectivityIntentCommand.java
index e4fc5aa..5c513e3 100644
--- a/cli/src/main/java/org/onlab/onos/cli/net/ConnectivityIntentCommand.java
+++ b/cli/src/main/java/org/onlab/onos/cli/net/ConnectivityIntentCommand.java
@@ -27,6 +27,7 @@
 import org.onlab.onos.net.intent.constraint.LambdaConstraint;
 import org.onlab.onos.net.resource.Bandwidth;
 import org.onlab.packet.Ethernet;
+import org.onlab.packet.IpPrefix;
 import org.onlab.packet.MacAddress;
 
 import static com.google.common.base.Strings.isNullOrEmpty;
@@ -48,6 +49,26 @@
             required = false, multiValued = false)
     private String ethTypeString = "";
 
+    @Option(name = "--ipProto", description = "IP Protocol",
+            required = false, multiValued = false)
+    private String ipProtoString = null;
+
+    @Option(name = "--ipSrc", description = "Source IP Address",
+            required = false, multiValued = false)
+    private String srcIpString = null;
+
+    @Option(name = "--ipDst", description = "Destination IP Address",
+            required = false, multiValued = false)
+    private String dstIpString = null;
+
+    @Option(name = "--tcpSrc", description = "Source TCP Port",
+            required = false, multiValued = false)
+    private String srcTcpString = null;
+
+    @Option(name = "--tcpDst", description = "Destination TCP Port",
+            required = false, multiValued = false)
+    private String dstTcpString = null;
+
     @Option(name = "-b", aliases = "--bandwidth", description = "Bandwidth",
             required = false, multiValued = false)
     private String bandwidthString = "";
@@ -79,6 +100,26 @@
             selectorBuilder.matchEthDst(MacAddress.valueOf(dstMacString));
         }
 
+        if (!isNullOrEmpty(ipProtoString)) {
+            selectorBuilder.matchIPProtocol((byte) Short.parseShort(ipProtoString));
+        }
+
+        if (!isNullOrEmpty(srcIpString)) {
+            selectorBuilder.matchIPSrc(IpPrefix.valueOf(srcIpString));
+        }
+
+        if (!isNullOrEmpty(dstIpString)) {
+            selectorBuilder.matchIPDst(IpPrefix.valueOf(dstIpString));
+        }
+
+        if (!isNullOrEmpty(srcTcpString)) {
+            selectorBuilder.matchTcpSrc((short) Integer.parseInt(srcTcpString));
+        }
+
+        if (!isNullOrEmpty(dstTcpString)) {
+            selectorBuilder.matchTcpSrc((short) Integer.parseInt(dstTcpString));
+        }
+
         return selectorBuilder.build();
     }