Jonathan Hart

Add some more match conditions to connectivity intent CLI commands

Change-Id: I429c34319e8f88bd8899bcee458dc3a60ffcce66
...@@ -27,6 +27,7 @@ import org.onlab.onos.net.intent.constraint.BandwidthConstraint; ...@@ -27,6 +27,7 @@ import org.onlab.onos.net.intent.constraint.BandwidthConstraint;
27 import org.onlab.onos.net.intent.constraint.LambdaConstraint; 27 import org.onlab.onos.net.intent.constraint.LambdaConstraint;
28 import org.onlab.onos.net.resource.Bandwidth; 28 import org.onlab.onos.net.resource.Bandwidth;
29 import org.onlab.packet.Ethernet; 29 import org.onlab.packet.Ethernet;
30 +import org.onlab.packet.IpPrefix;
30 import org.onlab.packet.MacAddress; 31 import org.onlab.packet.MacAddress;
31 32
32 import static com.google.common.base.Strings.isNullOrEmpty; 33 import static com.google.common.base.Strings.isNullOrEmpty;
...@@ -48,6 +49,26 @@ public abstract class ConnectivityIntentCommand extends AbstractShellCommand { ...@@ -48,6 +49,26 @@ public abstract class ConnectivityIntentCommand extends AbstractShellCommand {
48 required = false, multiValued = false) 49 required = false, multiValued = false)
49 private String ethTypeString = ""; 50 private String ethTypeString = "";
50 51
52 + @Option(name = "--ipProto", description = "IP Protocol",
53 + required = false, multiValued = false)
54 + private String ipProtoString = null;
55 +
56 + @Option(name = "--ipSrc", description = "Source IP Address",
57 + required = false, multiValued = false)
58 + private String srcIpString = null;
59 +
60 + @Option(name = "--ipDst", description = "Destination IP Address",
61 + required = false, multiValued = false)
62 + private String dstIpString = null;
63 +
64 + @Option(name = "--tcpSrc", description = "Source TCP Port",
65 + required = false, multiValued = false)
66 + private String srcTcpString = null;
67 +
68 + @Option(name = "--tcpDst", description = "Destination TCP Port",
69 + required = false, multiValued = false)
70 + private String dstTcpString = null;
71 +
51 @Option(name = "-b", aliases = "--bandwidth", description = "Bandwidth", 72 @Option(name = "-b", aliases = "--bandwidth", description = "Bandwidth",
52 required = false, multiValued = false) 73 required = false, multiValued = false)
53 private String bandwidthString = ""; 74 private String bandwidthString = "";
...@@ -79,6 +100,26 @@ public abstract class ConnectivityIntentCommand extends AbstractShellCommand { ...@@ -79,6 +100,26 @@ public abstract class ConnectivityIntentCommand extends AbstractShellCommand {
79 selectorBuilder.matchEthDst(MacAddress.valueOf(dstMacString)); 100 selectorBuilder.matchEthDst(MacAddress.valueOf(dstMacString));
80 } 101 }
81 102
103 + if (!isNullOrEmpty(ipProtoString)) {
104 + selectorBuilder.matchIPProtocol((byte) Short.parseShort(ipProtoString));
105 + }
106 +
107 + if (!isNullOrEmpty(srcIpString)) {
108 + selectorBuilder.matchIPSrc(IpPrefix.valueOf(srcIpString));
109 + }
110 +
111 + if (!isNullOrEmpty(dstIpString)) {
112 + selectorBuilder.matchIPDst(IpPrefix.valueOf(dstIpString));
113 + }
114 +
115 + if (!isNullOrEmpty(srcTcpString)) {
116 + selectorBuilder.matchTcpSrc((short) Integer.parseInt(srcTcpString));
117 + }
118 +
119 + if (!isNullOrEmpty(dstTcpString)) {
120 + selectorBuilder.matchTcpSrc((short) Integer.parseInt(dstTcpString));
121 + }
122 +
82 return selectorBuilder.build(); 123 return selectorBuilder.build();
83 } 124 }
84 125
......