commit | a331b1840ff4c6561b6255eb1dc6c636089a3475 | [log] [tgz] |
---|---|---|
author | BitOhenry <jiangrui1@huawei.com> | Mon Nov 23 08:39:37 2015 +0800 |
committer | BitOhenry <jiangrui1@huawei.com> | Mon Nov 23 08:41:33 2015 +0800 |
tree | 22846aa9f9bfa6404924b12ccb90236072a988ed | |
parent | 854eac1f96869054bf9327a23bcd35e1d75b3bac [diff] |
[ONOS-3414] Add arp_sha operation to provider of openflow Change-Id: I3c318ca1e52b6b6291026fc8fd54782cb521ee2b
diff --git a/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/impl/FlowEntryBuilder.java b/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/impl/FlowEntryBuilder.java index f4ab017..1354240 100644 --- a/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/impl/FlowEntryBuilder.java +++ b/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/impl/FlowEntryBuilder.java
@@ -707,12 +707,15 @@ long tunnelId = match.get(MatchField.TUNNEL_ID).getValue(); builder.matchTunnelId(tunnelId); break; + case ARP_SHA: + mac = MacAddress.valueOf(match.get(MatchField.ARP_SHA).getLong()); + builder.matchArpSha(mac); + break; case ARP_THA: mac = MacAddress.valueOf(match.get(MatchField.ARP_THA).getLong()); builder.matchArpTha(mac); break; case ARP_OP: - case ARP_SHA: case ARP_SPA: case ARP_TPA: case MPLS_TC:
diff --git a/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/impl/FlowModBuilder.java b/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/impl/FlowModBuilder.java index 2e5be65..c5de72a 100644 --- a/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/impl/FlowModBuilder.java +++ b/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/impl/FlowModBuilder.java
@@ -417,13 +417,17 @@ mplsBos.mplsBos() ? OFBooleanValue.TRUE : OFBooleanValue.FALSE); break; + case ARP_SHA: + arpHaCriterion = (ArpHaCriterion) c; + mBuilder.setExact(MatchField.ARP_SHA, + MacAddress.of(arpHaCriterion.mac().toLong())); + break; case ARP_THA: arpHaCriterion = (ArpHaCriterion) c; mBuilder.setExact(MatchField.ARP_THA, MacAddress.of(arpHaCriterion.mac().toLong())); break; case ARP_OP: - case ARP_SHA: case ARP_SPA: case ARP_TPA: case MPLS_TC: