Committed by
Gerrit Code Review
[ONOS-3373] Add arp_tha operation to provider of openflow
Change-Id: I04449a15d8e34fea4faba3729b9b6998ec9b0a5c
Showing
2 changed files
with
11 additions
and
2 deletions
... | @@ -707,10 +707,13 @@ public class FlowEntryBuilder { | ... | @@ -707,10 +707,13 @@ public class FlowEntryBuilder { |
707 | long tunnelId = match.get(MatchField.TUNNEL_ID).getValue(); | 707 | long tunnelId = match.get(MatchField.TUNNEL_ID).getValue(); |
708 | builder.matchTunnelId(tunnelId); | 708 | builder.matchTunnelId(tunnelId); |
709 | break; | 709 | break; |
710 | + case ARP_THA: | ||
711 | + mac = MacAddress.valueOf(match.get(MatchField.ARP_THA).getLong()); | ||
712 | + builder.matchArpTha(mac); | ||
713 | + break; | ||
710 | case ARP_OP: | 714 | case ARP_OP: |
711 | case ARP_SHA: | 715 | case ARP_SHA: |
712 | case ARP_SPA: | 716 | case ARP_SPA: |
713 | - case ARP_THA: | ||
714 | case ARP_TPA: | 717 | case ARP_TPA: |
715 | case MPLS_TC: | 718 | case MPLS_TC: |
716 | default: | 719 | default: | ... | ... |
... | @@ -24,6 +24,7 @@ import org.onosproject.net.OchSignal; | ... | @@ -24,6 +24,7 @@ import org.onosproject.net.OchSignal; |
24 | import org.onosproject.net.driver.DriverService; | 24 | import org.onosproject.net.driver.DriverService; |
25 | import org.onosproject.net.flow.FlowRule; | 25 | import org.onosproject.net.flow.FlowRule; |
26 | import org.onosproject.net.flow.TrafficSelector; | 26 | import org.onosproject.net.flow.TrafficSelector; |
27 | +import org.onosproject.net.flow.criteria.ArpHaCriterion; | ||
27 | import org.onosproject.net.flow.criteria.Criterion; | 28 | import org.onosproject.net.flow.criteria.Criterion; |
28 | import org.onosproject.net.flow.criteria.EthCriterion; | 29 | import org.onosproject.net.flow.criteria.EthCriterion; |
29 | import org.onosproject.net.flow.criteria.EthTypeCriterion; | 30 | import org.onosproject.net.flow.criteria.EthTypeCriterion; |
... | @@ -178,6 +179,7 @@ public abstract class FlowModBuilder { | ... | @@ -178,6 +179,7 @@ public abstract class FlowModBuilder { |
178 | UdpPortCriterion udpPortCriterion; | 179 | UdpPortCriterion udpPortCriterion; |
179 | SctpPortCriterion sctpPortCriterion; | 180 | SctpPortCriterion sctpPortCriterion; |
180 | IPv6NDLinkLayerAddressCriterion llAddressCriterion; | 181 | IPv6NDLinkLayerAddressCriterion llAddressCriterion; |
182 | + ArpHaCriterion arpHaCriterion; | ||
181 | 183 | ||
182 | for (Criterion c : selector.criteria()) { | 184 | for (Criterion c : selector.criteria()) { |
183 | switch (c.type()) { | 185 | switch (c.type()) { |
... | @@ -415,10 +417,14 @@ public abstract class FlowModBuilder { | ... | @@ -415,10 +417,14 @@ public abstract class FlowModBuilder { |
415 | mplsBos.mplsBos() ? OFBooleanValue.TRUE | 417 | mplsBos.mplsBos() ? OFBooleanValue.TRUE |
416 | : OFBooleanValue.FALSE); | 418 | : OFBooleanValue.FALSE); |
417 | break; | 419 | break; |
420 | + case ARP_THA: | ||
421 | + arpHaCriterion = (ArpHaCriterion) c; | ||
422 | + mBuilder.setExact(MatchField.ARP_THA, | ||
423 | + MacAddress.of(arpHaCriterion.mac().toLong())); | ||
424 | + break; | ||
418 | case ARP_OP: | 425 | case ARP_OP: |
419 | case ARP_SHA: | 426 | case ARP_SHA: |
420 | case ARP_SPA: | 427 | case ARP_SPA: |
421 | - case ARP_THA: | ||
422 | case ARP_TPA: | 428 | case ARP_TPA: |
423 | case MPLS_TC: | 429 | case MPLS_TC: |
424 | case PBB_ISID: | 430 | case PBB_ISID: | ... | ... |
-
Please register or login to post a comment