L2/L3 modification instruction bug fixes
- Fixed instanceOf with wrong type (ONOS-974) - Aligned #toString() format to be the same as other instructions Change-Id: I526c2ef8d92660e0b821a10f0cf87ee72a84cdf3
Showing
2 changed files
with
17 additions
and
13 deletions
... | @@ -304,13 +304,13 @@ public abstract class L2ModificationInstruction implements Instruction { | ... | @@ -304,13 +304,13 @@ public abstract class L2ModificationInstruction implements Instruction { |
304 | 304 | ||
305 | @Override | 305 | @Override |
306 | public String toString() { | 306 | public String toString() { |
307 | - return toStringHelper(type().toString()) | 307 | + return toStringHelper(subtype().toString()) |
308 | .add("mpls", mplsLabel.intValue()).toString(); | 308 | .add("mpls", mplsLabel.intValue()).toString(); |
309 | } | 309 | } |
310 | 310 | ||
311 | @Override | 311 | @Override |
312 | public int hashCode() { | 312 | public int hashCode() { |
313 | - return Objects.hash(mplsLabel); | 313 | + return Objects.hash(type(), subtype(), mplsLabel); |
314 | } | 314 | } |
315 | 315 | ||
316 | @Override | 316 | @Override |
... | @@ -330,7 +330,7 @@ public abstract class L2ModificationInstruction implements Instruction { | ... | @@ -330,7 +330,7 @@ public abstract class L2ModificationInstruction implements Instruction { |
330 | } | 330 | } |
331 | 331 | ||
332 | /** | 332 | /** |
333 | - * Represents a MPLS label modification. | 333 | + * Represents a MPLS TTL modification. |
334 | */ | 334 | */ |
335 | public static final class ModMplsTtlInstruction extends | 335 | public static final class ModMplsTtlInstruction extends |
336 | L2ModificationInstruction { | 336 | L2ModificationInstruction { |
... | @@ -345,12 +345,13 @@ public abstract class L2ModificationInstruction implements Instruction { | ... | @@ -345,12 +345,13 @@ public abstract class L2ModificationInstruction implements Instruction { |
345 | 345 | ||
346 | @Override | 346 | @Override |
347 | public String toString() { | 347 | public String toString() { |
348 | - return type().toString(); | 348 | + return toStringHelper(subtype().toString()) |
349 | + .toString(); | ||
349 | } | 350 | } |
350 | 351 | ||
351 | @Override | 352 | @Override |
352 | public int hashCode() { | 353 | public int hashCode() { |
353 | - return Objects.hash(type(), L2SubType.DEC_MPLS_TTL); | 354 | + return Objects.hash(type(), subtype()); |
354 | } | 355 | } |
355 | 356 | ||
356 | @Override | 357 | @Override |
... | @@ -358,9 +359,8 @@ public abstract class L2ModificationInstruction implements Instruction { | ... | @@ -358,9 +359,8 @@ public abstract class L2ModificationInstruction implements Instruction { |
358 | if (this == obj) { | 359 | if (this == obj) { |
359 | return true; | 360 | return true; |
360 | } | 361 | } |
361 | - if (obj instanceof ModMplsLabelInstruction) { | 362 | + if (obj instanceof ModMplsTtlInstruction) { |
362 | - ModMplsTtlInstruction that = (ModMplsTtlInstruction) obj; | 363 | + return true; |
363 | - return Objects.equals(this.type(), that.type()); | ||
364 | } | 364 | } |
365 | return false; | 365 | return false; |
366 | } | 366 | } | ... | ... |
... | @@ -119,6 +119,9 @@ public abstract class L3ModificationInstruction implements Instruction { | ... | @@ -119,6 +119,9 @@ public abstract class L3ModificationInstruction implements Instruction { |
119 | } | 119 | } |
120 | } | 120 | } |
121 | 121 | ||
122 | + /** | ||
123 | + * Represents a L3 TTL modification instruction. | ||
124 | + */ | ||
122 | public static final class ModTtlInstruction extends L3ModificationInstruction { | 125 | public static final class ModTtlInstruction extends L3ModificationInstruction { |
123 | 126 | ||
124 | private final L3SubType subtype; | 127 | private final L3SubType subtype; |
... | @@ -134,7 +137,8 @@ public abstract class L3ModificationInstruction implements Instruction { | ... | @@ -134,7 +137,8 @@ public abstract class L3ModificationInstruction implements Instruction { |
134 | 137 | ||
135 | @Override | 138 | @Override |
136 | public String toString() { | 139 | public String toString() { |
137 | - return subtype().toString(); | 140 | + return toStringHelper(subtype().toString()) |
141 | + .toString(); | ||
138 | } | 142 | } |
139 | 143 | ||
140 | @Override | 144 | @Override |
... | @@ -147,10 +151,10 @@ public abstract class L3ModificationInstruction implements Instruction { | ... | @@ -147,10 +151,10 @@ public abstract class L3ModificationInstruction implements Instruction { |
147 | if (this == obj) { | 151 | if (this == obj) { |
148 | return true; | 152 | return true; |
149 | } | 153 | } |
150 | - if (obj instanceof ModIPInstruction) { | 154 | + if (obj instanceof ModTtlInstruction) { |
151 | - ModIPInstruction that = (ModIPInstruction) obj; | 155 | + ModTtlInstruction that = (ModTtlInstruction) obj; |
152 | - return Objects.equals(this.type(), that.type()) && | 156 | + return Objects.equals(this.subtype(), that.subtype()) && |
153 | - Objects.equals(this.subtype(), that.subtype()); | 157 | + Objects.equals(this.type(), that.type()); |
154 | 158 | ||
155 | } | 159 | } |
156 | return false; | 160 | return false; | ... | ... |
-
Please register or login to post a comment