Added CLI completion for IP protocol types.

Also modified IpProto and EthType field parsing to allow the user to supply
either a string value (e.g. "ICMP", "ARP") or the protocol number.

Change-Id: I8f19bebe53c2a7dbdc7570fdc08f979b2c0851cb
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 add9cd3..3b28bb0 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
@@ -15,6 +15,9 @@
  */
 package org.onlab.onos.cli.net;
 
+import static com.google.common.base.Strings.isNullOrEmpty;
+import static org.onlab.onos.net.flow.DefaultTrafficTreatment.builder;
+
 import java.util.LinkedList;
 import java.util.List;
 
@@ -29,13 +32,9 @@
 import org.onlab.onos.net.intent.constraint.LambdaConstraint;
 import org.onlab.onos.net.intent.constraint.LinkTypeConstraint;
 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;
-import static org.onlab.onos.net.flow.DefaultTrafficTreatment.builder;
-
 /**
  * Base class for command line operations for connectivity based intents.
  */
@@ -99,11 +98,10 @@
      */
     protected TrafficSelector buildTrafficSelector() {
         TrafficSelector.Builder selectorBuilder = DefaultTrafficSelector.builder();
-        Short ethType = Ethernet.TYPE_IPV4;
+        short ethType = EthType.IPV4.value();
 
         if (!isNullOrEmpty(ethTypeString)) {
-            EthType ethTypeParameter = EthType.valueOf(ethTypeString);
-            ethType = ethTypeParameter.value();
+            ethType = EthType.parseFromString(ethTypeString);
         }
         selectorBuilder.matchEthType(ethType);
 
@@ -116,7 +114,8 @@
         }
 
         if (!isNullOrEmpty(ipProtoString)) {
-            selectorBuilder.matchIPProtocol((byte) Short.parseShort(ipProtoString));
+            short ipProtoShort = IpProtocol.parseFromString(ipProtoString);
+            selectorBuilder.matchIPProtocol((byte) ipProtoShort);
         }
 
         if (!isNullOrEmpty(srcIpString)) {