[ONOS-3464] Add arp_spa operation to provider of openflow
Change-Id: Iffb0d12bd53b292ef370fd12c0e9d693a215f5cb
Showing
2 changed files
with
9 additions
and
2 deletions
... | @@ -712,6 +712,10 @@ public class FlowEntryBuilder { | ... | @@ -712,6 +712,10 @@ public class FlowEntryBuilder { |
712 | mac = MacAddress.valueOf(match.get(MatchField.ARP_SHA).getLong()); | 712 | mac = MacAddress.valueOf(match.get(MatchField.ARP_SHA).getLong()); |
713 | builder.matchArpSha(mac); | 713 | builder.matchArpSha(mac); |
714 | break; | 714 | break; |
715 | + case ARP_SPA: | ||
716 | + ip = Ip4Address.valueOf(match.get(MatchField.ARP_SPA).getInt()); | ||
717 | + builder.matchArpSpa(ip); | ||
718 | + break; | ||
715 | case ARP_THA: | 719 | case ARP_THA: |
716 | mac = MacAddress.valueOf(match.get(MatchField.ARP_THA).getLong()); | 720 | mac = MacAddress.valueOf(match.get(MatchField.ARP_THA).getLong()); |
717 | builder.matchArpTha(mac); | 721 | builder.matchArpTha(mac); |
... | @@ -721,7 +725,6 @@ public class FlowEntryBuilder { | ... | @@ -721,7 +725,6 @@ public class FlowEntryBuilder { |
721 | builder.matchArpTpa(ip); | 725 | builder.matchArpTpa(ip); |
722 | break; | 726 | break; |
723 | case ARP_OP: | 727 | case ARP_OP: |
724 | - case ARP_SPA: | ||
725 | case MPLS_TC: | 728 | case MPLS_TC: |
726 | default: | 729 | default: |
727 | log.warn("Match type {} not yet implemented.", field.id); | 730 | log.warn("Match type {} not yet implemented.", field.id); | ... | ... |
... | @@ -424,6 +424,11 @@ public abstract class FlowModBuilder { | ... | @@ -424,6 +424,11 @@ public abstract class FlowModBuilder { |
424 | mBuilder.setExact(MatchField.ARP_SHA, | 424 | mBuilder.setExact(MatchField.ARP_SHA, |
425 | MacAddress.of(arpHaCriterion.mac().toLong())); | 425 | MacAddress.of(arpHaCriterion.mac().toLong())); |
426 | break; | 426 | break; |
427 | + case ARP_SPA: | ||
428 | + arpPaCriterion = (ArpPaCriterion) c; | ||
429 | + mBuilder.setExact(MatchField.ARP_SPA, | ||
430 | + IPv4Address.of(arpPaCriterion.ip().toInt())); | ||
431 | + break; | ||
427 | case ARP_THA: | 432 | case ARP_THA: |
428 | arpHaCriterion = (ArpHaCriterion) c; | 433 | arpHaCriterion = (ArpHaCriterion) c; |
429 | mBuilder.setExact(MatchField.ARP_THA, | 434 | mBuilder.setExact(MatchField.ARP_THA, |
... | @@ -435,7 +440,6 @@ public abstract class FlowModBuilder { | ... | @@ -435,7 +440,6 @@ public abstract class FlowModBuilder { |
435 | IPv4Address.of(arpPaCriterion.ip().toInt())); | 440 | IPv4Address.of(arpPaCriterion.ip().toInt())); |
436 | break; | 441 | break; |
437 | case ARP_OP: | 442 | case ARP_OP: |
438 | - case ARP_SPA: | ||
439 | case MPLS_TC: | 443 | case MPLS_TC: |
440 | case PBB_ISID: | 444 | case PBB_ISID: |
441 | default: | 445 | default: | ... | ... |
-
Please register or login to post a comment