ONOS-1756: Improve CLI auto completers
- Add more ICMP types and codes
- Add completer for --icmp6Type
- Add completer for --icmp6Code
- Add completer for --extHdr
It is a multiValued option.
For example, the following command will match an IPv6 packet with both fragment and routing extension header:
add-point-intent --ethType IPV6 --extHdr FRAG --extHdr ROUTING
NOTE: OVS 2.3.1 does not support OFPXMC_OFB_IPV6_EXTHDR match field yet.
- Change parameter of TrafficSelector.matchIPv6ExthdrFlags() from int to short since that field is 9 bits only
Change-Id: I55944399f3985f2cc09330a726f21983de273341
diff --git a/core/api/src/main/java/org/onosproject/net/flow/DefaultTrafficSelector.java b/core/api/src/main/java/org/onosproject/net/flow/DefaultTrafficSelector.java
index 96b5066..e887112 100644
--- a/core/api/src/main/java/org/onosproject/net/flow/DefaultTrafficSelector.java
+++ b/core/api/src/main/java/org/onosproject/net/flow/DefaultTrafficSelector.java
@@ -293,7 +293,7 @@
}
@Override
- public Builder matchIPv6ExthdrFlags(int exthdrFlags) {
+ public Builder matchIPv6ExthdrFlags(short exthdrFlags) {
return add(Criteria.matchIPv6ExthdrFlags(exthdrFlags));
}
diff --git a/core/api/src/main/java/org/onosproject/net/flow/TrafficSelector.java b/core/api/src/main/java/org/onosproject/net/flow/TrafficSelector.java
index 091846a..24c10d5 100644
--- a/core/api/src/main/java/org/onosproject/net/flow/TrafficSelector.java
+++ b/core/api/src/main/java/org/onosproject/net/flow/TrafficSelector.java
@@ -306,7 +306,7 @@
* @param exthdrFlags the IPv6 Extension Header pseudo-field fiags
* @return a selection builder
*/
- public Builder matchIPv6ExthdrFlags(int exthdrFlags);
+ public Builder matchIPv6ExthdrFlags(short exthdrFlags);
/**
* Matches an optical signal ID or lambda.
diff --git a/core/api/src/main/java/org/onosproject/net/flow/criteria/Criterion.java b/core/api/src/main/java/org/onosproject/net/flow/criteria/Criterion.java
index bbf2674..5712c90 100644
--- a/core/api/src/main/java/org/onosproject/net/flow/criteria/Criterion.java
+++ b/core/api/src/main/java/org/onosproject/net/flow/criteria/Criterion.java
@@ -145,27 +145,27 @@
*/
public enum IPv6ExthdrFlags {
/** "No next header" encountered. */
- NONEXT(1 << 0),
+ NONEXT((short) (1 << 0)),
/** Encrypted Sec Payload header present. */
- ESP(1 << 1),
+ ESP((short) (1 << 1)),
/** Authentication header present. */
- AUTH(1 << 2),
+ AUTH((short) (1 << 2)),
/** 1 or 2 dest headers present. */
- DEST(1 << 3),
+ DEST((short) (1 << 3)),
/** Fragment header present. */
- FRAG(1 << 4),
+ FRAG((short) (1 << 4)),
/** Router header present. */
- ROUTER(1 << 5),
+ ROUTER((short) (1 << 5)),
/** Hop-by-hop header present. */
- HOP(1 << 6),
+ HOP((short) (1 << 6)),
/** Unexpected repeats encountered. */
- UNREP(1 << 7),
+ UNREP((short) (1 << 7)),
/** Unexpected sequencing encountered. */
- UNSEQ(1 << 8);
+ UNSEQ((short) (1 << 8));
- private int value;
+ private short value;
- IPv6ExthdrFlags(int value) {
+ IPv6ExthdrFlags(short value) {
this.value = value;
}
@@ -174,7 +174,7 @@
*
* @return the value as an integer
*/
- public int getValue() {
+ public short getValue() {
return this.value;
}
}