[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